UNPKG

moh-common-lib

Version:

A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).

515 lines 67.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, Input, Output, EventEmitter, Optional, Self } from '@angular/core'; import { Base } from '../../models/base'; import { NgControl } from '@angular/forms'; /** * Interface for countries * @record */ export function CountryList() { } if (false) { /** @type {?} */ CountryList.prototype.countryCode; /** @type {?} */ CountryList.prototype.description; } /** @type {?} */ export var CANADA = 'CAN'; /** @type {?} */ export var UNITED_STATES = 'USA'; /** * Default list of countries * @type {?} */ export var COUNTRY_LIST = [ { countryCode: 'AFG', description: 'Afghanistan' }, { countryCode: 'ALA', description: 'Åland Islands' }, { countryCode: 'ALB', description: 'Albania' }, { countryCode: 'DZA', description: 'Algeria' }, { countryCode: 'ASM', description: 'American Samoa' }, { countryCode: 'AND', description: 'Andorra' }, { countryCode: 'AGO', description: 'Angola' }, { countryCode: 'AIA', description: 'Anguilla' }, { countryCode: 'ATA', description: 'Antarctica' }, { countryCode: 'ATG', description: 'Antigua and Barbuda' }, { countryCode: 'ARG', description: 'Argentina' }, { countryCode: 'ARM', description: 'Armenia' }, { countryCode: 'ABW', description: 'Aruba' }, { countryCode: 'AUS', description: 'Australia' }, { countryCode: 'AUT', description: 'Austria' }, { countryCode: 'AZE', description: 'Azerbaijan' }, { countryCode: 'BHS', description: 'Bahamas' }, { countryCode: 'BHR', description: 'Bahrain' }, { countryCode: 'BGD', description: 'Bangladesh' }, { countryCode: 'BRB', description: 'Barbados' }, { countryCode: 'BLR', description: 'Belarus' }, { countryCode: 'BEL', description: 'Belgium' }, { countryCode: 'BLZ', description: 'Belize' }, { countryCode: 'BEN', description: 'Benin' }, { countryCode: 'BMU', description: 'Bermuda' }, { countryCode: 'BTN', description: 'Bhutan' }, { countryCode: 'BOL', description: 'Bolivia, Plurinational State of' }, { countryCode: 'BES', description: 'Bonaire, Sint Eustatius and Saba' }, { countryCode: 'BIH', description: 'Bosnia and Herzegovina' }, { countryCode: 'BWA', description: 'Botswana' }, { countryCode: 'BVT', description: 'Bouvet Island' }, { countryCode: 'BRA', description: 'Brazil' }, { countryCode: 'IOT', description: 'British Indian Ocean Territory' }, { countryCode: 'BRN', description: 'Brunei Darussalam' }, { countryCode: 'BGR', description: 'Bulgaria' }, { countryCode: 'BFA', description: 'Burkina Faso' }, { countryCode: 'BDI', description: 'Burundi' }, { countryCode: 'KHM', description: 'Cambodia' }, { countryCode: 'CMR', description: 'Cameroon' }, { countryCode: 'CAN', description: 'Canada' }, { countryCode: 'CPV', description: 'Cape Verde' }, { countryCode: 'CYM', description: 'Cayman Islands' }, { countryCode: 'CAF', description: 'Central African Republic' }, { countryCode: 'TCD', description: 'Chad' }, { countryCode: 'CHL', description: 'Chile' }, { countryCode: 'CHN', description: 'China' }, { countryCode: 'CXR', description: 'Christmas Island' }, { countryCode: 'CCK', description: 'Cocos (Keeling) Islands' }, { countryCode: 'COL', description: 'Colombia' }, { countryCode: 'COM', description: 'Comoros' }, { countryCode: 'COG', description: 'Congo' }, { countryCode: 'COD', description: 'Congo, the Democratic Republic of the' }, { countryCode: 'COK', description: 'Cook Islands' }, { countryCode: 'CRI', description: 'Costa Rica' }, { countryCode: 'CIV', description: 'Côte d\'Ivoire' }, { countryCode: 'HRV', description: 'Croatia' }, { countryCode: 'CUB', description: 'Cuba' }, { countryCode: 'CUW', description: 'Curaçao' }, { countryCode: 'CYP', description: 'Cyprus' }, { countryCode: 'CZE', description: 'Czech Republic' }, { countryCode: 'DNK', description: 'Denmark' }, { countryCode: 'DJI', description: 'Djibouti' }, { countryCode: 'DMA', description: 'Dominica' }, { countryCode: 'DOM', description: 'Dominican Republic' }, { countryCode: 'ECU', description: 'Ecuador' }, { countryCode: 'EGY', description: 'Egypt' }, { countryCode: 'SLV', description: 'El Salvador' }, { countryCode: 'GNQ', description: 'Equatorial Guinea' }, { countryCode: 'ERI', description: 'Eritrea' }, { countryCode: 'EST', description: 'Estonia' }, { countryCode: 'ETH', description: 'Ethiopia' }, { countryCode: 'FLK', description: 'Falkland Islands (Malvinas)' }, { countryCode: 'FRO', description: 'Faroe Islands' }, { countryCode: 'FJI', description: 'Fiji' }, { countryCode: 'FIN', description: 'Finland' }, { countryCode: 'FRA', description: 'France' }, { countryCode: 'GUF', description: 'French Guiana' }, { countryCode: 'PYF', description: 'French Polynesia' }, { countryCode: 'ATF', description: 'French Southern Territories' }, { countryCode: 'GAB', description: 'Gabon' }, { countryCode: 'GMB', description: 'Gambia' }, { countryCode: 'GEO', description: 'Georgia' }, { countryCode: 'DEU', description: 'Germany' }, { countryCode: 'GHA', description: 'Ghana' }, { countryCode: 'GIB', description: 'Gibraltar' }, { countryCode: 'GRC', description: 'Greece' }, { countryCode: 'GRL', description: 'Greenland' }, { countryCode: 'GRD', description: 'Grenada' }, { countryCode: 'GLP', description: 'Guadeloupe' }, { countryCode: 'GUM', description: 'Guam' }, { countryCode: 'GTM', description: 'Guatemala' }, { countryCode: 'GGY', description: 'Guernsey' }, { countryCode: 'GIN', description: 'Guinea' }, { countryCode: 'GNB', description: 'Guinea-Bissau' }, { countryCode: 'GUY', description: 'Guyana' }, { countryCode: 'HTI', description: 'Haiti' }, { countryCode: 'HMD', description: 'Heard Island and McDonald Islands' }, { countryCode: 'VAT', description: 'Holy See (Vatican City State)' }, { countryCode: 'HND', description: 'Honduras' }, { countryCode: 'HKG', description: 'Hong Kong' }, { countryCode: 'HUN', description: 'Hungary' }, { countryCode: 'ISL', description: 'Iceland' }, { countryCode: 'IND', description: 'India' }, { countryCode: 'IDN', description: 'Indonesia' }, { countryCode: 'IRN', description: 'Iran, Islamic Republic of' }, { countryCode: 'IRQ', description: 'Iraq' }, { countryCode: 'IRL', description: 'Ireland' }, { countryCode: 'IMN', description: 'Isle of Man' }, { countryCode: 'ISR', description: 'Israel' }, { countryCode: 'ITA', description: 'Italy' }, { countryCode: 'JAM', description: 'Jamaica' }, { countryCode: 'JPN', description: 'Japan' }, { countryCode: 'JEY', description: 'Jersey' }, { countryCode: 'JOR', description: 'Jordan' }, { countryCode: 'KAZ', description: 'Kazakhstan' }, { countryCode: 'KEN', description: 'Kenya' }, { countryCode: 'KIR', description: 'Kiribati' }, { countryCode: 'PRK', description: 'Korea, Democratic People\'s Republic of' }, { countryCode: 'KOR', description: 'Korea, Republic of' }, { countryCode: 'KWT', description: 'Kuwait' }, { countryCode: 'KGZ', description: 'Kyrgyzstan' }, { countryCode: 'LAO', description: 'Lao People\'s Democratic Republic' }, { countryCode: 'LVA', description: 'Latvia' }, { countryCode: 'LBN', description: 'Lebanon' }, { countryCode: 'LSO', description: 'Lesotho' }, { countryCode: 'LBR', description: 'Liberia' }, { countryCode: 'LBY', description: 'Libya' }, { countryCode: 'LIE', description: 'Liechtenstein' }, { countryCode: 'LTU', description: 'Lithuania' }, { countryCode: 'LUX', description: 'Luxembourg' }, { countryCode: 'MAC', description: 'Macao' }, { countryCode: 'MKD', description: 'Macedonia, the former Yugoslav Republic of' }, { countryCode: 'MDG', description: 'Madagascar' }, { countryCode: 'MWI', description: 'Malawi' }, { countryCode: 'MYS', description: 'Malaysia' }, { countryCode: 'MDV', description: 'Maldives' }, { countryCode: 'MLI', description: 'Mali' }, { countryCode: 'MLT', description: 'Malta' }, { countryCode: 'MHL', description: 'Marshall Islands' }, { countryCode: 'MTQ', description: 'Martinique' }, { countryCode: 'MRT', description: 'Mauritania' }, { countryCode: 'MUS', description: 'Mauritius' }, { countryCode: 'MYT', description: 'Mayotte' }, { countryCode: 'MEX', description: 'Mexico' }, { countryCode: 'FSM', description: 'Micronesia, Federated States of' }, { countryCode: 'MDA', description: 'Moldova, Republic of' }, { countryCode: 'MCO', description: 'Monaco' }, { countryCode: 'MNG', description: 'Mongolia' }, { countryCode: 'MNE', description: 'Montenegro' }, { countryCode: 'MSR', description: 'Montserrat' }, { countryCode: 'MAR', description: 'Morocco' }, { countryCode: 'MOZ', description: 'Mozambique' }, { countryCode: 'MMR', description: 'Myanmar' }, { countryCode: 'NAM', description: 'Namibia' }, { countryCode: 'NRU', description: 'Nauru' }, { countryCode: 'NPL', description: 'Nepal' }, { countryCode: 'NLD', description: 'Netherlands' }, { countryCode: 'NCL', description: 'New Caledonia' }, { countryCode: 'NZL', description: 'New Zealand' }, { countryCode: 'NIC', description: 'Nicaragua' }, { countryCode: 'NER', description: 'Niger' }, { countryCode: 'NGA', description: 'Nigeria' }, { countryCode: 'NIU', description: 'Niue' }, { countryCode: 'NFK', description: 'Norfolk Island' }, { countryCode: 'MNP', description: 'Northern Mariana Islands' }, { countryCode: 'NOR', description: 'Norway' }, { countryCode: 'OMN', description: 'Oman' }, { countryCode: 'PAK', description: 'Pakistan' }, { countryCode: 'PLW', description: 'Palau' }, { countryCode: 'PSE', description: 'Palestinian Territory, Occupied' }, { countryCode: 'PAN', description: 'Panama' }, { countryCode: 'PNG', description: 'Papua New Guinea' }, { countryCode: 'PRY', description: 'Paraguay' }, { countryCode: 'PER', description: 'Peru' }, { countryCode: 'PHL', description: 'Philippines' }, { countryCode: 'PCN', description: 'Pitcairn' }, { countryCode: 'POL', description: 'Poland' }, { countryCode: 'PRT', description: 'Portugal' }, { countryCode: 'PRI', description: 'Puerto Rico' }, { countryCode: 'QAT', description: 'Qatar' }, { countryCode: 'REU', description: 'Réunion' }, { countryCode: 'ROU', description: 'Romania' }, { countryCode: 'RUS', description: 'Russian Federation' }, { countryCode: 'RWA', description: 'Rwanda' }, { countryCode: 'BLM', description: 'Saint Barthélemy' }, { countryCode: 'SHN', description: 'Saint Helena, Ascension and Tristan da Cunha' }, { countryCode: 'KNA', description: 'Saint Kitts and Nevis' }, { countryCode: 'LCA', description: 'Saint Lucia' }, { countryCode: 'MAF', description: 'Saint Martin (French part)' }, { countryCode: 'SPM', description: 'Saint Pierre and Miquelon' }, { countryCode: 'VCT', description: 'Saint Vincent and the Grenadines' }, { countryCode: 'WSM', description: 'Samoa' }, { countryCode: 'SMR', description: 'San Marino' }, { countryCode: 'STP', description: 'Sao Tome and Principe' }, { countryCode: 'SAU', description: 'Saudi Arabia' }, { countryCode: 'SEN', description: 'Senegal' }, { countryCode: 'SRB', description: 'Serbia' }, { countryCode: 'SYC', description: 'Seychelles' }, { countryCode: 'SLE', description: 'Sierra Leone' }, { countryCode: 'SGP', description: 'Singapore' }, { countryCode: 'SXM', description: 'Sint Maarten (Dutch part)' }, { countryCode: 'SVK', description: 'Slovakia' }, { countryCode: 'SVN', description: 'Slovenia' }, { countryCode: 'SLB', description: 'Solomon Islands' }, { countryCode: 'SOM', description: 'Somalia' }, { countryCode: 'ZAF', description: 'South Africa' }, { countryCode: 'SGS', description: 'South Georgia and the South Sandwich Islands' }, { countryCode: 'SSD', description: 'South Sudan' }, { countryCode: 'ESP', description: 'Spain' }, { countryCode: 'LKA', description: 'Sri Lanka' }, { countryCode: 'SDN', description: 'Sudan' }, { countryCode: 'SUR', description: 'Suriname' }, { countryCode: 'SJM', description: 'Svalbard and Jan Mayen' }, { countryCode: 'SWZ', description: 'Swaziland' }, { countryCode: 'SWE', description: 'Sweden' }, { countryCode: 'CHE', description: 'Switzerland' }, { countryCode: 'SYR', description: 'Syrian Arab Republic' }, { countryCode: 'TWN', description: 'Taiwan' }, { countryCode: 'TJK', description: 'Tajikistan' }, { countryCode: 'TZA', description: 'Tanzania, United Republic of' }, { countryCode: 'THA', description: 'Thailand' }, { countryCode: 'TLS', description: 'Timor-Leste' }, { countryCode: 'TGO', description: 'Togo' }, { countryCode: 'TKL', description: 'Tokelau' }, { countryCode: 'TON', description: 'Tonga' }, { countryCode: 'TTO', description: 'Trinidad and Tobago' }, { countryCode: 'TUN', description: 'Tunisia' }, { countryCode: 'TUR', description: 'Turkey' }, { countryCode: 'TKM', description: 'Turkmenistan' }, { countryCode: 'TCA', description: 'Turks and Caicos Islands' }, { countryCode: 'TUV', description: 'Tuvalu' }, { countryCode: 'UGA', description: 'Uganda' }, { countryCode: 'UKR', description: 'Ukraine' }, { countryCode: 'ARE', description: 'United Arab Emirates' }, { countryCode: 'GBR', description: 'United Kingdom' }, { countryCode: 'USA', description: 'United States' }, { countryCode: 'UMI', description: 'United States Minor Outlying Islands' }, { countryCode: 'URY', description: 'Uruguay' }, { countryCode: 'UZB', description: 'Uzbekistan' }, { countryCode: 'VUT', description: 'Vanuatu' }, { countryCode: 'VEN', description: 'Venezuela, Bolivarian Republic of' }, { countryCode: 'VNM', description: 'Viet Nam' }, { countryCode: 'VGB', description: 'Virgin Islands, British' }, { countryCode: 'VIR', description: 'Virgin Islands, U.S.' }, { countryCode: 'WLF', description: 'Wallis and Futuna' }, { countryCode: 'ESH', description: 'Western Sahara' }, { countryCode: 'YEM', description: 'Yemen' }, { countryCode: 'ZMB', description: 'Zambia' }, { countryCode: 'ZWE', description: 'Zimbabwe' } ]; /** * @param {?} countryCode * @return {?} */ export function getCountryDescription(countryCode) { /** @type {?} */ var countryObj = COUNTRY_LIST.find((/** * @param {?} val * @return {?} */ function (val) { return countryCode === val.countryCode; })); return countryObj ? countryObj.description : countryCode; } var CountryComponent = /** @class */ (function (_super) { tslib_1.__extends(CountryComponent, _super); function CountryComponent(controlDir) { var _this = _super.call(this) || this; _this.controlDir = controlDir; _this.label = 'Jurisdiction'; _this.countryList = COUNTRY_LIST; _this.labelforId = 'country_' + _this.objectId; _this.disabled = false; _this.required = false; _this.useDropDownList = true; _this.maxlen = '250'; _this.placeholder = 'Please select a jurisdiction'; _this.valueChange = new EventEmitter(); _this.blurEvent = new EventEmitter(); _this.country = ''; _this.defaultErrMsg = { required: 'is required.', invalidChar: 'must contain letters and may include special characters such as hyphens, periods, apostrophes and blank characters.', }; _this._onChange = (/** * @param {?} _ * @return {?} */ function (_) { }); _this._onTouched = (/** * @param {?} _ * @return {?} */ function (_) { }); if (controlDir) { controlDir.valueAccessor = _this; } return _this; } Object.defineProperty(CountryComponent.prototype, "value", { get: /** * @return {?} */ function () { return this.country; }, set: /** * @param {?} val * @return {?} */ function (val) { if (val) { this.country = val; } }, enumerable: true, configurable: true }); /** * @return {?} */ CountryComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.setErrorMsg(); }; /** * @param {?} value * @return {?} */ CountryComponent.prototype.onValueChange = /** * @param {?} value * @return {?} */ function (value) { if (value !== this.country) { this._onChange(value); this.valueChange.emit(value); this.country = value; } }; /** * @param {?} event * @return {?} */ CountryComponent.prototype.onBlurEvent = /** * @param {?} event * @return {?} */ function (event) { this._onTouched(event); this.blurEvent.emit(event); }; /** * @param {?} value * @return {?} */ CountryComponent.prototype.writeValue = /** * @param {?} value * @return {?} */ function (value) { if (value !== undefined) { this.country = value; } }; // Register change function // Register change function /** * @param {?} fn * @return {?} */ CountryComponent.prototype.registerOnChange = // Register change function /** * @param {?} fn * @return {?} */ function (fn) { this._onChange = fn; }; // Register touched function // Register touched function /** * @param {?} fn * @return {?} */ CountryComponent.prototype.registerOnTouched = // Register touched function /** * @param {?} fn * @return {?} */ function (fn) { this._onTouched = fn; }; /** * @param {?} isDisabled * @return {?} */ CountryComponent.prototype.setDisabledState = /** * @param {?} isDisabled * @return {?} */ function (isDisabled) { this.disabled = isDisabled; }; /** * @private * @return {?} */ CountryComponent.prototype.setErrorMsg = /** * @private * @return {?} */ function () { var _this = this; if (this.errorMessage) { Object.keys(this.errorMessage).map((/** * @param {?} x * @return {?} */ function (x) { return _this.defaultErrMsg[x] = _this.errorMessage[x]; })); } }; CountryComponent.decorators = [ { type: Component, args: [{ selector: 'common-country', template: "<label for=\"{{labelforId}}\" class=\"control-label\">{{label}}</label>\r\n<div *ngIf=\"useDropDownList; else NotDropDownList\">\r\n <ng-select [items]=\"countryList\"\r\n [ngModel]=\"country\"\r\n (ngModelChange)=\"onValueChange($event)\"\r\n (blur)=\"onBlurEvent($event)\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n labelForId=\"{{labelforId}}\"\r\n bindValue=\"countryCode\"\r\n [clearable]=\"false\"\r\n bindLabel=\"description\"\r\n placeholder=\"{{ placeholder }}\"></ng-select>\r\n</div>\r\n\r\n<!-- Error messages for input -->\r\n<common-error-container\r\n [displayError]=\"controlDir && !disabled && (controlDir.touched || controlDir.dirty) && controlDir?.errors\">\r\n <div *ngIf=\"controlDir?.errors?.required\">\r\n {{label}} {{defaultErrMsg.required}}\r\n </div>\r\n <div *ngIf=\"controlDir?.errors?.invalidChar\">\r\n {{label}} {{defaultErrMsg.invalidChar}}\r\n </div>\r\n</common-error-container>\r\n\r\n<ng-template #NotDropDownList>\r\n <input class=\"form-control\"\r\n spellcheck=\"false\"\r\n type=\"text\"\r\n id=\"{{labelforId}}\"\r\n [value]=\"country\"\r\n (change)=\"onValueChange($event.target.value)\"\r\n (blur)=\"onBlurEvent($event)\"\r\n [disabled]=\"disabled\"\r\n [attr.maxlength]=\"maxlen\"\r\n autocomplete=\"off\"/>\r\n</ng-template>\r\n" }] } ]; /** @nocollapse */ CountryComponent.ctorParameters = function () { return [ { type: NgControl, decorators: [{ type: Optional }, { type: Self }] } ]; }; CountryComponent.propDecorators = { label: [{ type: Input }], countryList: [{ type: Input }], labelforId: [{ type: Input }], disabled: [{ type: Input }], required: [{ type: Input }], useDropDownList: [{ type: Input }], maxlen: [{ type: Input }], errorMessage: [{ type: Input }], placeholder: [{ type: Input }], value: [{ type: Input }], valueChange: [{ type: Output }], blurEvent: [{ type: Output }] }; return CountryComponent; }(Base)); export { CountryComponent }; if (false) { /** @type {?} */ CountryComponent.prototype.label; /** @type {?} */ CountryComponent.prototype.countryList; /** @type {?} */ CountryComponent.prototype.labelforId; /** @type {?} */ CountryComponent.prototype.disabled; /** @type {?} */ CountryComponent.prototype.required; /** @type {?} */ CountryComponent.prototype.useDropDownList; /** @type {?} */ CountryComponent.prototype.maxlen; /** @type {?} */ CountryComponent.prototype.errorMessage; /** @type {?} */ CountryComponent.prototype.placeholder; /** @type {?} */ CountryComponent.prototype.valueChange; /** @type {?} */ CountryComponent.prototype.blurEvent; /** @type {?} */ CountryComponent.prototype.country; /** @type {?} */ CountryComponent.prototype.defaultErrMsg; /** @type {?} */ CountryComponent.prototype._onChange; /** @type {?} */ CountryComponent.prototype._onTouched; /** @type {?} */ CountryComponent.prototype.controlDir; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9tb2gtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2NvdW50cnkvY291bnRyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBd0IsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSWpFLGlDQUdDOzs7SUFGQyxrQ0FBb0I7O0lBQ3BCLGtDQUFvQjs7O0FBR3RCLE1BQU0sS0FBTyxNQUFNLEdBQUcsS0FBSzs7QUFDM0IsTUFBTSxLQUFPLGFBQWEsR0FBRyxLQUFLOzs7OztBQUdsQyxNQUFNLEtBQU8sWUFBWSxHQUFrQjtJQUN6QyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRTtJQUNsRCxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRTtJQUNwRCxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtJQUM5QyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtJQUM5QyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFO0lBQ3JELEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFO0lBQzlDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO0lBQzdDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO0lBQy9DLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFO0lBQ2pELEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUU7SUFDMUQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUU7SUFDaEQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUU7SUFDNUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUU7SUFDaEQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUU7SUFDakQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUU7SUFDakQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUU7SUFDL0MsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUU7SUFDN0MsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUU7SUFDNUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFB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RCxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLDZCQUE2QixFQUFFO0lBQ2xFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFO0lBQzVDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO0lBQzdDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFO0lBQzlDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFO0lBQzlDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFO0lBQzVDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO0lBQ2hELEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO0lBQzdDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO0lBQ2hELEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFO0lBQzlDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFO0lBQ2pELEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFO0lBQzNDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO0lBQ2hELEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO0lBQy9DLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO0lBQzdDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFO0lBQ3BELEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO0lBQzdDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFX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QUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUU7SUFDakQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUU7SUFDakQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUU7SUFDakQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUU7SUFDNUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUU7SUFDNUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUU7SUFDbEQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUU7SUFDcEQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUU7SUFDbEQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUU7SUFDaEQsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUU7SUFDNUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7SUFDOUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUU7SUFDM0MsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRTtJQUNyRCxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFO0lBQy9ELEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUs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SUFBSSxPQUFBLEtBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBNUMsQ0FBNEMsRUFBRSxDQUFDO1NBQ3pGO0lBQ0gsQ0FBQzs7Z0JBdEZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQiw4K0NBQXVDO2lCQUN4Qzs7OztnQkFqUjhCLFNBQVMsdUJBb1R4QixRQUFRLFlBQUksSUFBSTs7O3dCQWhDN0IsS0FBSzs4QkFDTCxLQUFLOzZCQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLO2tDQUNMLEtBQUs7eUJBQ0wsS0FBSzsrQkFDTCxLQUFLOzhCQUNMLEtBQUs7d0JBQ0wsS0FBSzs4QkFVTCxNQUFNOzRCQUNOLE1BQU07O0lBNkRULHVCQUFDO0NBQUEsQUF2RkQsQ0FJc0MsSUFBSSxHQW1GekM7U0FuRlksZ0JBQWdCOzs7SUFFM0IsaUNBQXdDOztJQUN4Qyx1Q0FBbUQ7O0lBQ25ELHNDQUF5RDs7SUFDekQsb0NBQW1DOztJQUNuQyxvQ0FBbUM7O0lBQ25DLDJDQUF5Qzs7SUFDekMsa0NBQWdDOztJQUNoQyx3Q0FBb0M7O0lBQ3BDLHVDQUE4RDs7SUFXOUQsdUNBQXlFOztJQUN6RSxxQ0FBaUU7O0lBRWpFLG1DQUFxQjs7SUFFckIseUNBR0U7O0lBRUYscUNBQTJCOztJQUMzQixzQ0FBNEI7O0lBRWYsc0NBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBTZWxmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Vycm9yLW1lc3NhZ2UuaW50ZXJmYWNlJztcclxuXHJcbi8qKiBJbnRlcmZhY2UgZm9yIGNvdW50cmllcyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlMaXN0IHtcclxuICBjb3VudHJ5Q29kZTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDQU5BREEgPSAnQ0FOJztcclxuZXhwb3J0IGNvbnN0IFVOSVRFRF9TVEFURVMgPSAnVVNBJztcclxuXHJcbi8qKiBEZWZhdWx0IGxpc3Qgb2YgY291bnRyaWVzICovXHJcbmV4cG9ydCBjb25zdCBDT1VOVFJZX0xJU1Q6IENvdW50cnlMaXN0W10gPSBbXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0FGRycsIGRlc2NyaXB0aW9uOiAnQWZnaGFuaXN0YW4nIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0FMQScsIGRlc2NyaXB0aW9uOiAnw4VsYW5kIElzbGFuZHMnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0FMQicsIGRlc2NyaXB0aW9uOiAnQWxiYW5pYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnRFpBJywgZGVzY3JpcHRpb246ICdBbGdlcmlhJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdBU00nLCBkZXNjcmlwdGlvbjogJ0FtZXJpY2FuIFNhbW9hJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdBTkQnLCBkZXNjcmlwdGlvbjogJ0FuZG9ycmEnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0FHTycsIGRlc2NyaXB0aW9uOiAnQW5nb2xhJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdBSUEnLCBkZXNjcmlwdGlvbjogJ0FuZ3VpbGxhJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdBVEEnLCBkZXNjcmlwdGlvbjogJ0FudGFyY3RpY2EnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0FURycsIGRlc2NyaXB0aW9uOiAnQW50aWd1YSBhbmQgQmFyYnVkYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQVJHJywgZGVzY3JpcHRpb246ICdBcmdlbnRpbmEnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0FSTScsIGRlc2NyaXB0aW9uOiAnQXJtZW5pYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQUJXJywgZGVzY3JpcHRpb246ICdBcnViYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQVVTJywgZGVzY3JpcHRpb246ICdBdXN0cmFsaWEnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0FVVCcsIGRlc2NyaXB0aW9uOiAnQXVzdHJpYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQVpFJywgZGVzY3JpcHRpb246ICdBemVyYmFpamFuJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdCSFMnLCBkZXNjcmlwdGlvbjogJ0JhaGFtYXMnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0JIUicsIGRlc2NyaXB0aW9uOiAnQmFocmFpbicgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQkdEJywgZGVzY3JpcHRpb246ICdCYW5nbGFkZXNoJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdCUkInLCBkZXNjcmlwdGlvbjogJ0JhcmJhZG9zJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdCTFInLCBkZXNjcmlwdGlvbjogJ0JlbGFydXMnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0JFTCcsIGRlc2NyaXB0aW9uOiAnQmVsZ2l1bScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQkxaJywgZGVzY3JpcHRpb246ICdCZWxpemUnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0JFTicsIGRlc2NyaXB0aW9uOiAnQmVuaW4nIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0JNVScsIGRlc2NyaXB0aW9uOiAnQmVybXVkYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQlROJywgZGVzY3JpcHRpb246ICdCaHV0YW4nIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0JPTCcsIGRlc2NyaXB0aW9uOiAnQm9saXZpYSwgUGx1cmluYXRpb25hbCBTdGF0ZSBvZicgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQkVTJywgZGVzY3JpcHRpb246ICdCb25haXJlLCBTaW50IEV1c3RhdGl1cyBhbmQgU2FiYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQklIJywgZGVzY3JpcHRpb246ICdCb3NuaWEgYW5kIEhlcnplZ292aW5hJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdCV0EnLCBkZXNjcmlwdGlvbjogJ0JvdHN3YW5hJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdCVlQnLCBkZXNjcmlwdGlvbjogJ0JvdXZldCBJc2xhbmQnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0JSQScsIGRlc2NyaXB0aW9uOiAnQnJhemlsJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdJT1QnLCBkZXNjcmlwdGlvbjogJ0JyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQlJOJywgZGVzY3JpcHRpb246ICdCcnVuZWkgRGFydXNzYWxhbScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQkdSJywgZGVzY3JpcHRpb246ICdCdWxnYXJpYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQkZBJywgZGVzY3JpcHRpb246ICdCdXJraW5hIEZhc28nIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0JESScsIGRlc2NyaXB0aW9uOiAnQnVydW5kaScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnS0hNJywgZGVzY3JpcHRpb246ICdDYW1ib2RpYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ01SJywgZGVzY3JpcHRpb246ICdDYW1lcm9vbicgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ0FOJywgZGVzY3JpcHRpb246ICdDYW5hZGEnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0NQVicsIGRlc2NyaXB0aW9uOiAnQ2FwZSBWZXJkZScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ1lNJywgZGVzY3JpcHRpb246ICdDYXltYW4gSXNsYW5kcycgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ0FGJywgZGVzY3JpcHRpb246ICdDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ1RDRCcsIGRlc2NyaXB0aW9uOiAnQ2hhZCcgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ0hMJywgZGVzY3JpcHRpb246ICdDaGlsZScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ0hOJywgZGVzY3JpcHRpb246ICdDaGluYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ1hSJywgZGVzY3JpcHRpb246ICdDaHJpc3RtYXMgSXNsYW5kJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdDQ0snLCBkZXNjcmlwdGlvbjogJ0NvY29zIChLZWVsaW5nKSBJc2xhbmRzJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdDT0wnLCBkZXNjcmlwdGlvbjogJ0NvbG9tYmlhJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdDT00nLCBkZXNjcmlwdGlvbjogJ0NvbW9yb3MnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0NPRycsIGRlc2NyaXB0aW9uOiAnQ29uZ28nIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0NPRCcsIGRlc2NyaXB0aW9uOiAnQ29uZ28sIHRoZSBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ09LJywgZGVzY3JpcHRpb246ICdDb29rIElzbGFuZHMnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0NSSScsIGRlc2NyaXB0aW9uOiAnQ29zdGEgUmljYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ0lWJywgZGVzY3JpcHRpb246ICdDw7R0ZSBkXFwnSXZvaXJlJyB9LFxyXG4gIHsgY291bnRyeUNvZGU6ICdIUlYnLCBkZXNjcmlwdGlvbjogJ0Nyb2F0aWEnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0NVQicsIGRlc2NyaXB0aW9uOiAnQ3ViYScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ1VXJywgZGVzY3JpcHRpb246ICdDdXJhw6dhbycgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnQ1lQJywgZGVzY3JpcHRpb246ICdDeXBydXMnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0NaRScsIGRlc2NyaXB0aW9uOiAnQ3plY2ggUmVwdWJsaWMnIH0sXHJcbiAgeyBjb3VudHJ5Q29kZTogJ0ROSycsIGRlc2NyaXB0aW9uOiAnRGVubWFyaycgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnREpJJywgZGVzY3JpcHRpb246ICdEamlib3V0aScgfSxcclxuICB7IGNvdW50cnlDb2RlOiAnRE1BJywgZGVzY3JpcHRpb24