UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

286 lines (285 loc) 22.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * <p style="text-indent: 2em;"> * A model class representing a single <code>Phlox Application</code>. An <code>application</code> may also consist of its <code>settings</code> and * common <code>I18N</code>. An instance of this class is usually obtained from [[PhloxAppInfoService.getAppInfo]] which may load the info from backend * server to return the user configurations such as language settings, user preferences, etc. * </p> * * @author shiorin, tee4cute * @see [[PhloxAppInfoService]] */ export class PhloxAppInfo { /** * @param {?=} name * @param {?=} tagline * @param {?=} group * @param {?=} iconURL */ constructor(name = 'App Name', tagline = 'App Tagline', group, iconURL) { this.name = name; this.tagline = tagline; this.iconURL = iconURL; this.group = group; // Init default settings this.settings = { RIPPLE_EFFECT_DURATION: PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_DURATION, RIPPLE_EFFECT_WIDTH_RATIO: PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_WIDTH_RATIO, RIPPLE_EFFECT_HEIGHT_RATIO: PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_HEIGHT_RATIO, RIPPLE_EFFECT_REMOVE_DURATION: PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_REMOVE_DURATION, APP_SWITCHER_POPOVER_DELAY: PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY, WIZARD_HEADER_HEIGHT: PhloxAppInfo.DEFAULT_WIZARD_HEADER_HEIGHT, WIZARD_FOOTER_HEIGHT: PhloxAppInfo.DEFAULT_WIZARD_FOOTER_HEIGHT, OBJECT_ID_FIELD_NAME: PhloxAppInfo.DEFAULT_OBJECT_ID_FIELD_NAME, CONNECTION_TIMEOUT: PhloxAppInfo.DEFAULT_CONNECTION_TIMEOUT, UI_SYSTEM_CLOCK_INTERVAL: PhloxAppInfo.DEFAULT_UI_SYSTEM_CLOCK_INTERVAL, UI_ANIMATE_INTERVAL: PhloxAppInfo.DEFAULT_UI_ANIMATE_INTERVAL, MAX_NOTIFICATIONS: PhloxAppInfo.DEFAULT_MAX_NOTIFICATIONS, LANGUAGE_FIELD_NAME: PhloxAppInfo.DEFAULT_LANGUAGE_FIELD_NAME, PAGE_LOAD_TIMEOUT: PhloxAppInfo.DEFAULT_PAGE_LOAD_TIMEOUT, SYSTEM_YEAR_OFFSET: PhloxAppInfo.DEFAULT_SYSTEM_YEAR_OFFSET, DATE_PATTERN: PhloxAppInfo.DEFAULT_DATE_PATTERN, YEAR_OFFSET: PhloxAppInfo.DEFAULT_YEAR_OFFSET, TIMEZONE: PhloxAppInfo.DEFAULT_TIMEZONE, TIME_PATTERN: PhloxAppInfo.DEFAULT_TIME_PATTERN, DEFAULT_DATA_LANGUAGES: PhloxAppInfo.DEFAULT_DATA_LANGUAGES, COUNTRY_CODE: PhloxAppInfo.DEFAULT_COUNTRY_CODE, DEFAULT_TIME_OUT_LOGIN_USER_SESSION: PhloxAppInfo.DEFAULT_TIME_OUT_LOGIN_USER_SESSION }; // init default i18n this.i18n = { YES: 'Yes', NO: 'No', OK: 'OK', CANCEL: 'Cancel', CLOSE: 'Close', CONFIRM: 'Confirm', LANG: { EN: { iconURL: null, code: 'en', name: 'English' }, TH: { iconURL: null, code: 'th', name: 'Thailand' }, JP: { iconURL: null, code: 'ja', name: 'Japanese' }, KR: { iconURL: null, code: 'kr', name: 'Korean' } }, INVALID_DATA: 'Invalid Data' }; // default resources this.resources = { CROSS_ROUND_BTN: 'http://i249.photobucket.com/albums/gg202/sound_horizon/cross_circle.png' }; } /** * @return {?} */ getName() { return this.name; } /** * @param {?} name * @return {?} */ setName(name) { this.name = name; } /** * @return {?} */ getTagline() { return this.tagline; } /** * @param {?} tagline * @return {?} */ setTagline(tagline) { this.tagline = tagline; } /** * @return {?} */ getSettings() { return this.settings; } /** * @param {?} settings * @return {?} */ setSettings(settings) { this.settings = settings; } /** * @return {?} */ getIconURL() { return this.iconURL; } /** * @param {?} iconURL * @return {?} */ setIconURL(iconURL) { this.iconURL = iconURL; } /** * @return {?} */ getGroup() { return this.group; } /** * @param {?} group * @return {?} */ setGroup(group) { this.group = group; } /** * @return {?} */ getI18n() { return this.i18n; } /** * @param {?} i18n * @return {?} */ setI18n(i18n) { this.i18n = i18n; } /** * @return {?} */ getResources() { return this.resources; } /** * @param {?} resources * @return {?} */ setResources(resources) { this.resources = resources; } } PhloxAppInfo.DEFAULT_DATA_LANGUAGES = [ { iconURL: null, code: 'th', country: 'TH', label: 'Thailand', countryCode: '+66' }, { iconURL: null, code: 'en', country: 'EN', label: 'English', countryCode: '+44' }, { iconURL: null, code: 'ja', country: 'JP', label: 'Japanese', countryCode: '+81' }, { iconURL: null, code: 'kr', country: 'KR', label: 'Korean', countryCode: '+82' } ]; PhloxAppInfo.DEFAULT_COUNTRY_CODE = 'TH'; PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_DURATION = 1.5; PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_WIDTH_RATIO = 0.5; PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_HEIGHT_RATIO = 0.5; PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_REMOVE_DURATION = 0.8; PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY = 800; PhloxAppInfo.DEFAULT_WIZARD_HEADER_HEIGHT = 140; PhloxAppInfo.DEFAULT_WIZARD_FOOTER_HEIGHT = 140; PhloxAppInfo.DEFAULT_OBJECT_ID_FIELD_NAME = '_uuid'; PhloxAppInfo.DEFAULT_LANGUAGE_FIELD_NAME = '_lang'; PhloxAppInfo.DEFAULT_CONNECTION_TIMEOUT = 7000; PhloxAppInfo.DEFAULT_UI_SYSTEM_CLOCK_INTERVAL = 20; PhloxAppInfo.DEFAULT_UI_ANIMATE_INTERVAL = 600; PhloxAppInfo.DEFAULT_MAX_NOTIFICATIONS = 50; PhloxAppInfo.DEFAULT_PAGE_LOAD_TIMEOUT = 8000; PhloxAppInfo.DEFAULT_SYSTEM_YEAR_OFFSET = 543; PhloxAppInfo.DEFAULT_DATE_PATTERN = 'dd/MM/yyyy'; PhloxAppInfo.DEFAULT_TIME_PATTERN = 'HH:mm:ss'; PhloxAppInfo.DEFAULT_YEAR_OFFSET = 543; PhloxAppInfo.DEFAULT_TIMEZONE = 700; PhloxAppInfo.DEFAULT_DATA_DATE_TIME_PATTERN = 'yyyy-MM-dd HH:mm:ss'; PhloxAppInfo.DEFAULT_DATA_DATE_PATTERN = 'yyyy-MM-dd'; PhloxAppInfo.DEFAULT_DATA_TIME_PATTERN = 'HH:mm:ss'; PhloxAppInfo.DEFAULT_DATA_TIME_ZONE = 700; PhloxAppInfo.DEFAULT_TIME_OUT_LOGIN_USER_SESSION = 10000; function PhloxAppInfo_tsickle_Closure_declarations() { /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_LANGUAGES; /** @type {?} */ PhloxAppInfo.DEFAULT_COUNTRY_CODE; /** @type {?} */ PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_DURATION; /** @type {?} */ PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_WIDTH_RATIO; /** @type {?} */ PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_HEIGHT_RATIO; /** @type {?} */ PhloxAppInfo.DEFAULT_RIPPLE_EFFECT_REMOVE_DURATION; /** @type {?} */ PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY; /** @type {?} */ PhloxAppInfo.DEFAULT_WIZARD_HEADER_HEIGHT; /** @type {?} */ PhloxAppInfo.DEFAULT_WIZARD_FOOTER_HEIGHT; /** @type {?} */ PhloxAppInfo.DEFAULT_OBJECT_ID_FIELD_NAME; /** @type {?} */ PhloxAppInfo.DEFAULT_LANGUAGE_FIELD_NAME; /** @type {?} */ PhloxAppInfo.DEFAULT_CONNECTION_TIMEOUT; /** @type {?} */ PhloxAppInfo.DEFAULT_UI_SYSTEM_CLOCK_INTERVAL; /** @type {?} */ PhloxAppInfo.DEFAULT_UI_ANIMATE_INTERVAL; /** @type {?} */ PhloxAppInfo.DEFAULT_MAX_NOTIFICATIONS; /** @type {?} */ PhloxAppInfo.DEFAULT_PAGE_LOAD_TIMEOUT; /** @type {?} */ PhloxAppInfo.DEFAULT_SYSTEM_YEAR_OFFSET; /** @type {?} */ PhloxAppInfo.DEFAULT_DATE_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_TIME_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_YEAR_OFFSET; /** @type {?} */ PhloxAppInfo.DEFAULT_TIMEZONE; /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_DATE_TIME_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_DATE_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_TIME_PATTERN; /** @type {?} */ PhloxAppInfo.DEFAULT_DATA_TIME_ZONE; /** @type {?} */ PhloxAppInfo.DEFAULT_TIME_OUT_LOGIN_USER_SESSION; /** * An application name. * @type {?} */ PhloxAppInfo.prototype.name; /** * An application tagline. * @type {?} */ PhloxAppInfo.prototype.tagline; /** * An application icon url. * @type {?} */ PhloxAppInfo.prototype.iconURL; /** * An application group. * @type {?} */ PhloxAppInfo.prototype.group; /** * An application settings object. * @type {?} */ PhloxAppInfo.prototype.settings; /** * An application I18N object. * @type {?} */ PhloxAppInfo.prototype.i18n; /** * An application resources object. * @type {?} */ PhloxAppInfo.prototype.resources; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGhsb3hBcHBJbmZvLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvbW9kZWwvUGhsb3hBcHBJbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBWUEsTUFBTTs7Ozs7OztJQStESixZQUFZLE9BQWUsVUFBVSxFQUFFLFVBQWtCLGFBQWEsRUFBRSxLQUFhLEVBQUUsT0FBZTtRQUNwRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzs7UUFHbkIsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLHNCQUFzQixFQUFFLFlBQVksQ0FBQyw4QkFBOEI7WUFDbkUseUJBQXlCLEVBQUUsWUFBWSxDQUFDLGlDQUFpQztZQUN6RSwwQkFBMEIsRUFBRSxZQUFZLENBQUMsa0NBQWtDO1lBQzNFLDZCQUE2QixFQUFFLFlBQVksQ0FBQyxxQ0FBcUM7WUFDakYsMEJBQTBCLEVBQUUsWUFBWSxDQUFDLGtDQUFrQztZQUMzRSxvQkFBb0IsRUFBRSxZQUFZLENBQUMsNEJBQTRCO1lBQy9ELG9CQUFvQixFQUFFLFlBQVksQ0FBQyw0QkFBNEI7WUFDL0Qsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLDRCQUE0QjtZQUMvRCxrQkFBa0IsRUFBRSxZQUFZLENBQUMsMEJBQTBCO1lBQzNELHdCQUF3QixFQUFFLFlBQVksQ0FBQyxnQ0FBZ0M7WUFDdkUsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLDJCQUEyQjtZQUM3RCxpQkFBaUIsRUFBRSxZQUFZLENBQUMseUJBQXlCO1lBQ3pELG1CQUFtQixFQUFFLFlBQVksQ0FBQywyQkFBMkI7WUFDN0QsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLHlCQUF5QjtZQUN6RCxrQkFBa0IsRUFBRSxZ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LE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO0lBQ2xGLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO0lBQ25GLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO0NBQ2xGO29DQUNxRCxJQUFJOzhDQUNNLEdBQUc7aURBQ0EsR0FBRztrREFDRixHQUFHO3FEQUNBLEdBQUc7a0RBQ04sR0FBRzs0Q0FDVCxHQUFHOzRDQUNILEdBQUc7NENBQ0gsT0FBTzsyQ0FDUixPQUFPOzBDQUNSLElBQUk7Z0RBQ0UsRUFBRTsyQ0FDUCxHQUFHO3lDQUNMLEVBQUU7eUNBQ0YsSUFBSTswQ0FDSCxHQUFHO29DQUNULFlBQVk7b0NBQ1osVUFBVTttQ0FDWCxHQUFHO2dDQUNOLEdBQUc7OENBQ1cscUJBQXFCO3lDQUMxQixZQUFZO3lDQUNaLFVBQVU7c0NBQ2IsR0FBRzttREFDVSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGhsb3hNYWluTWVudUl0ZW0gfSBmcm9tICcuL1BobG94TWFpbk1lbnVJdGVtJztcblxuLyoqXG4gKiA8cCBzdHlsZT1cInRleHQtaW5kZW50OiAyZW07XCI+XG4gKiBBIG1vZGVsIGNsYXNzIHJlcHJlc2VudGluZyBhIHNpbmdsZSA8Y29kZT5QaGxveCBBcHBsaWNhdGlvbjwvY29kZT4uIEFuIDxjb2RlPmFwcGxpY2F0aW9uPC9jb2RlPiBtYXkgYWxzbyBjb25zaXN0IG9mIGl0cyA8Y29kZT5zZXR0aW5nczwvY29kZT4gYW5kXG4gKiBjb21tb24gPGNvZGU+STE4TjwvY29kZT4uIEFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgaXMgdXN1YWxseSBvYnRhaW5lZCBmcm9tIFtbUGhsb3hBcHBJbmZvU2VydmljZS5nZXRBcHBJbmZvXV0gd2hpY2ggbWF5IGxvYWQgdGhlIGluZm8gZnJvbSBiYWNrZW5kXG4gKiBzZXJ2ZXIgdG8gcmV0dXJuIHRoZSB1c2VyIGNvbmZpZ3VyYXRpb25zIHN1Y2ggYXMgbGFuZ3VhZ2Ugc2V0dGluZ3MsIHVzZXIgcHJlZmVyZW5jZXMsIGV0Yy5cbiAqIDwvcD5cbiAqXG4gKiBAYXV0aG9yIHNoaW9yaW4sIHRlZTRjdXRlXG4gKiBAc2VlIFtbUGhsb3hBcHBJbmZvU2VydmljZV1dXG4gKi9cbmV4cG9ydCBjbGFzcyBQaGxveEFwcEluZm8ge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9EQVRBX0xBTkdVQUdFUzogYW55W10gPSBbXG4gICAgeyBpY29uVVJMOiBudWxsLCBjb2RlOiAndGgnLCBjb3VudHJ5OiAnVEgnLCBsYWJlbDogJ1RoYWlsYW5kJywgY291bnRyeUNvZGU6ICcrNjYnIH0sXG4gICAgeyBpY29uVVJMOiBudWxsLCBjb2RlOiAnZW4nLCBjb3VudHJ5OiAnRU4nLCBsYWJlbDogJ0VuZ2xpc2gnLCBjb3VudHJ5Q29kZTogJys0NCcgfSxcbiAgICB7IGljb25VUkw6IG51bGwsIGNvZGU6ICdqYScsIGNvdW50cnk6ICdKUCcsIGxhYmVsOiAnSmFwYW5lc2UnLCBjb3VudHJ5Q29kZTogJys4MScgfSxcbiAgICB7IGljb25VUkw6IG51bGwsIGNvZGU6ICdrcicsIGNvdW50cnk6ICdLUicsIGxhYmVsOiAnS29yZWFuJywgY291bnRyeUNvZGU6ICcrODInIH1cbiAgXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0NPVU5UUllfQ09ERTogc3RyaW5nID0gJ1RIJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JJUFBMRV9FRkZFQ1RfRFVSQVRJT046IG51bWJlciA9IDEuNTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JJUFBMRV9FRkZFQ1RfV0lEVEhfUkFUSU86IG51bWJlciA9IDAuNTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JJUFBMRV9FRkZFQ1RfSEVJR0hUX1JBVElPOiBudW1iZXIgPSAwLjU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9SSVBQTEVfRUZGRUNUX1JFTU9WRV9EVVJBVElPTjogbnVtYmVyID0gMC44O1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQVBQX1NXSVRDSEVSX1BPUE9WRVJfREVMQVk6IG51bWJlciA9IDgwMDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1dJWkFSRF9IRUFERVJfSEVJR0hUOiBudW1iZXIgPSAxNDA7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9XSVpBUkRfRk9PVEVSX0hFSUdIVDogbnVtYmVyID0gMTQwO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfT0JKRUNUX0lEX0ZJRUxEX05BTUU6IHN0cmluZyA9ICdfdXVpZCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9MQU5HVUFHRV9GSUVMRF9OQU1FOiBzdHJpbmcgPSAnX2xhbmcnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQ09OTkVDVElPTl9USU1FT1VUOiBudW1iZXIgPSA3MDAwO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfVUlfU1lTVEVNX0NMT0NLX0lOVEVSVkFMOiBudW1iZXIgPSAyMDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1VJX0FOSU1BVEVfSU5URVJWQUw6IG51bWJlciA9IDYwMDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX01BWF9OT1RJRklDQVRJT05TOiBudW1iZXIgPSA1MDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BBR0VfTE9BRF9USU1FT1VUOiBudW1iZXIgPSA4MDAwO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfU1lTVEVNX1lFQVJfT0ZGU0VUOiBudW1iZXIgPSA1NDM7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9EQVRFX1BBVFRFUk46IHN0cmluZyA9ICdkZC9NTS95eXl5JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RJTUVfUEFUVEVSTjogc3RyaW5nID0gJ0hIOm1tOnNzJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1lFQVJfT0ZGU0VUOiBudW1iZXIgPSA1NDM7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9USU1FWk9ORTogbnVtYmVyID0gNzAwO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfREFUQV9EQVRFX1RJTUVfUEFUVEVSTjogc3RyaW5nID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfREFUQV9EQVRFX1BBVFRFUk46IHN0cmluZyA9ICd5eXl5LU1NLWRkJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0RBVEFfVElNRV9QQVRURVJOOiBzdHJpbmcgPSAnSEg6bW06c3MnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfREFUQV9USU1FX1pPTkU6IG51bWJlciA9IDcwMDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RJTUVfT1VUX0xPR0lOX1VTRVJfU0VTU0lPTjogbnVtYmVyID0gMTAwMDA7XG5cbiAgLyoqXG4gICAqIEFuIGFwcGxpY2F0aW9uIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogQW4gYXBwbGljYXRpb24gdGFnbGluZS5cbiAgICovXG4gIHB1YmxpYyB0YWdsaW5lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBhcHBsaWNhdGlvbiBpY29uIHVybC5cbiAgICovXG4gIHB1YmxpYyBpY29uVVJMOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBhcHBsaWNhdGlvbiBncm91cC5cbiAgICovXG4gIHB1YmxpYyBncm91cDogc3RyaW5nO1xuICAvKipcbiAgICogQW4gYXBwbGljYXRpb24gc2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHNldHRpbmdzOiBhbnk7XG4gIC8qKlxuICAgKiBBbiBhcHBsaWNhdGlvbiBJMThOIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBpMThuOiBhbnk7XG4gIC8qKlxuICAgKiBBbiBhcHBsaWNhdGlvbiByZXNvdXJjZXMgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHJlc291cmNlczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZyA9ICdBcHAgTmFtZScsIHRhZ2xpbmU6IHN0cmluZyA9ICdBcHAgVGFnbGluZScsIGdyb3VwOiBzdHJpbmcsIGljb25VUkw6IHN0cmluZykge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy50YWdsaW5lID0gdGFnbGluZTtcbiAgICB0aGlzLmljb25VUkwgPSBpY29uVVJMO1xuICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcblxuICAgIC8vIEluaXQgZGVmYXVsdCBzZXR0aW5nc1xuICAgIHRoaXMuc2V0dGluZ3MgPSB7XG4gICAgICBSSVBQTEVfRUZGRUNUX0RVUkFUSU9OOiBQaGxveEFwcEluZm8uREVGQVVMVF9SSVBQTEVfRUZGRUNUX0RVUkFUSU9OLFxuICAgICAgUklQUExFX0VGRkVDVF9XSURUSF9SQVRJTzogUGhsb3hBcHBJbmZvLkRFRkFVTFRfUklQUExFX0VGRkVDVF9XSURUSF9SQVRJTyxcbiAgICAgIFJJUFBMRV9FRkZFQ1RfSEVJR0hUX1JBVElPOiBQaGxveEFwcEluZm8uREVGQVVMVF9SSVBQTEVfRUZGRUNUX0hFSUdIVF9SQVRJTyxcbiAgICAgIFJJUFBMRV9FRkZFQ1RfUkVNT1ZFX0RVUkFUSU9OOiBQaGxveEFwcEluZm8uREVGQVVMVF9SSVBQTEVfRUZGRUNUX1JFTU9WRV9EVVJBVElPTixcbiAgICAgIEFQUF9TV0lUQ0hFUl9QT1BPVkVSX0RFTEFZOiBQaGxveEFwcEluZm8uREVGQVVMVF9BUFBfU1dJVENIRVJfUE9QT1ZFUl9ERUxBWSxcbiAgICAgIFdJWkFSRF9IRUFERVJfSEVJR0hUOiBQaGxveEFwcEluZm8uREVGQVVMVF9XSVpBUkRfSEVBREVSX0hFSUdIVCxcbiAgICAgIFdJWkFSRF9GT09URVJfSEVJR0hUOiBQaGxveEFwcEluZm8uREVGQVVMVF9XSVpBUkRfRk9PVEVSX0hFSUdIVCxcbiAgICAgIE9CSkVDVF9JRF9GSUVMRF9OQU1FOiBQaGxveEFwcEluZm8uREVGQVVMVF9PQkpFQ1RfSURfRklFTERfTkFNRSxcbiAgICAgIENPTk5FQ1RJT05fVElNRU9VVDogUGhsb3hBcHBJbmZvLkRFRkFVTFRfQ09OTkVDVElPTl9USU1FT1VULFxuICAgICAgVUlfU1lTVEVNX0NMT0NLX0lOVEVSVkFMOiBQaGxveEFwcEluZm8uREVGQVVMVF9VSV9TWVNURU1fQ0xPQ0tfSU5URVJWQUwsXG4gICAgICBVSV9BTklNQVRFX0lOVEVSVkFMOiBQaGxveEFwcEluZm8uREVGQVVMVF9VSV9BTklNQVRFX0lOVEVSVkFMLFxuICAgICAgTUFYX05PVElGSUNBVElPTlM6IFBobG94QXBwSW5mby5ERUZBVUxUX01BWF9OT1RJRklDQVRJT05TLFxuICAgICAgTEFOR1VBR0VfRklFTERfTkFNRTogUGhsb3hBcHBJbmZvLkRFRkFVTFRfTEFOR1VBR0VfRklFTERfTkFNRSxcbiAgICAgIFBBR0VfTE9BRF9USU1FT1VUOiBQaGxveEFwcEluZm8uREVGQVVMVF9QQUdFX0xPQURfVElNRU9VVCxcbiAgICAgIFNZU1RFTV9ZRUFSX09GRlNFVDogUGhsb3hBcHBJbmZvLkRFRkFVTFRfU1lTVEVNX1lFQVJfT0ZGU0VULFxuICAgICAgREFURV9QQVRURVJOOiBQaGxveEFwcEluZm8uREVGQVVMVF9EQVRFX1BBVFRFUk4sXG4gICAgICBZRUFSX09GRlNFVDogUGhsb3hBcHBJbmZvLkRFRkFVTFRfWUVBUl9PRkZTRVQsXG4gICAgICBUSU1FWk9ORTogUGhsb3hBcHBJbmZvLkRFRkFVTFRfVElNRVpPTkUsXG4gICAgICBUSU1FX1BBVFRFUk46IFBobG94QXBwSW5mby5ERUZBVUxUX1RJTUVfUEFUVEVSTixcbiAgICAgIERFRkFVTFRfREFUQV9MQU5HVUFHRVM6IFBobG94QXBwSW5mby5ERUZBVUxUX0RBVEFfTEFOR1VBR0VTLFxuICAgICAgQ09VTlRSWV9DT0RFOiBQaGxveEFwcEluZm8uREVGQVVMVF9DT1VOVFJZX0NPREUsXG4gICAgICBERUZBVUxUX1RJTUVfT1VUX0xPR0lOX1VTRVJfU0VTU0lPTjogUGhsb3hBcHBJbmZvLkRFRkFVTFRfVElNRV9PVVRfTE9HSU5fVVNFUl9TRVNTSU9OXG4gICAgfTtcblxuICAgIC8vIGluaXQgZGVmYXVsdCBpMThuXG4gICAgdGhpcy5pMThuID0ge1xuICAgICAgWUVTOiAnWWVzJyxcbiAgICAgIE5POiAnTm8nLFxuICAgICAgT0s6ICdPSycsXG4gICAgICBDQU5DRUw6ICdDYW5jZWwnLFxuICAgICAgQ0xPU0U6ICdDbG9zZScsXG4gICAgICBDT05GSVJNOiAnQ29uZmlybScsXG4gICAgICBMQU5HOiB7XG4gICAgICAgIEVOOiB7IGljb25VUkw6IG51bGwsIGNvZGU6ICdlbicsIG5hbWU6ICdFbmdsaXNoJyB9LFxuICAgICAgICBUSDogeyBpY29uVVJMOiBudWxsLCBjb2RlOiAndGgnLCBuYW1lOiAnVGhhaWxhbmQnIH0sXG4gICAgICAgIEpQOiB7IGljb25VUkw6IG51bGwsIGNvZGU6ICdqYScsIG5hbWU6ICdKYXBhbmVzZScgfSxcbiAgICAgICAgS1I6IHsgaWNvblVSTDogbnVsbCwgY29kZTogJ2tyJywgbmFtZTogJ0tvcmVhbicgfVxuICAgICAgfSxcbiAgICAgIElOVkFMSURfREFUQTogJ0ludmFsaWQgRGF0YSdcbiAgICB9O1xuXG4gICAgLy8gZGVmYXVsdCByZXNvdXJjZXNcbiAgICB0aGlzLnJlc291cmNlcyA9IHtcbiAgICAgIENST1NTX1JPVU5EX0JUTjogJ2h0dHA6Ly9pMjQ5LnBob3RvYnVja2V0LmNvbS9hbGJ1bXMvZ2cyMDIvc291bmRfaG9yaXpvbi9jcm9zc19jaXJjbGUucG5nJ1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXROYW1lKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFnbGluZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRhZ2xpbmU7XG4gIH1cblxuICBwdWJsaWMgc2V0VGFnbGluZSh0YWdsaW5lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRhZ2xpbmUgPSB0YWdsaW5lO1xuICB9XG5cbiAgcHVibGljIGdldFNldHRpbmdzKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgc2V0U2V0dGluZ3Moc2V0dGluZ3M6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBnZXRJY29uVVJMKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWNvblVSTDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJY29uVVJMKGljb25VUkw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaWNvblVSTCA9IGljb25VUkw7XG4gIH1cblxuICBwdWJsaWMgZ2V0R3JvdXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRHcm91cChncm91cDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ncm91cCA9IGdyb3VwO1xuICB9XG5cbiAgcHVibGljIGdldEkxOG4oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pMThuO1xuICB9XG5cbiAgcHVibGljIHNldEkxOG4oaTE4bjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pMThuID0gaTE4bjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSZXNvdXJjZXMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0UmVzb3VyY2VzKHJlc291cmNlczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZXMgPSByZXNvdXJjZXM7XG4gIH1cbn1cbiJdfQ==