UNPKG

ng-yunzai-mobile

Version:

1. 适配yunzai_uni_app_x

362 lines 22.5 kB
/** * @fileoverview added by tsickle * Generated from: devices/yiban.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; /* * @Author: cuihaonan * @Email: devcui@outlook.com * @Date: 2021-04-07 13:59:18 * @LastEditTime: 2021-06-08 15:10:01 * @LastEditors: cuihaonan * @Description: Basic description * @FilePath: /angular-mobile-npm-package/projects/ng-yunzai-mobile/devices/yiban.ts * @LICENSE: NONE */ import { BaseDevice } from "./base.device"; import { Inject, Injectable } from "@angular/core"; import { TokenService } from "../token/token.service"; import { HttpClient } from "@angular/common/http"; import { UserService } from "../user/user.service"; import { BASE_CLIENT } from "../client/base.client"; import { preloaderFinished } from "../auth/preloader"; import { Title } from "@angular/platform-browser"; import * as i0 from "@angular/core"; import * as i1 from "../token/token.service"; import * as i2 from "@angular/common/http"; import * as i3 from "../user/user.service"; import * as i4 from "@angular/platform-browser"; import * as i5 from "../client/base.client"; var Yiban = /** @class */ (function (_super) { tslib_1.__extends(Yiban, _super); function Yiban(tokenService, http, user, title, baseclient) { var _this = _super.call(this) || this; _this.tokenService = tokenService; _this.http = http; _this.user = user; _this.title = title; _this.baseclient = baseclient; return _this; } /** * @return {?} */ Yiban.prototype.auth = /** * @return {?} */ function () { var _this = this; return new Promise((/** * @param {?} resolve * @param {?} reject * @return {?} */ function (resolve, reject) { // 查看有无参数 /** @type {?} */ var params = window.location.href.split("?")[1]; if (params) { // 拿到参数键直对 /** @type {?} */ var kvs = params.split("&"); /** @type {?} */ var tokenInfo_1 = {}; // 查看有无token信息 kvs.forEach((/** * @param {?} k * @return {?} */ function (k) { if (k.includes("_token")) { tokenInfo_1["accessToken"] = k.split("=")[1]; tokenInfo_1["tokenType"] = "bearer"; } })); // 如果有token信息 if (tokenInfo_1.accessToken) { // 设置token信息 _this.tokenService.set(tokenInfo_1); // 请求user _this.http .get(_this.baseclient.gateway + "/auth/user") .subscribe((/** * @param {?} response * @return {?} */ function (response) { // 设置user _this.user.set(tslib_1.__assign({}, response.principal, { tenantId: response.tenantId })); // 加载结束 preloaderFinished(); resolve(true); })); } else { alert("无法获取到易班用户信息参数"); } } else { alert("无法获取到易班参数"); } })); }; /** * @param {?} iwindow * @return {?} */ Yiban.prototype.openWindow = /** * @param {?} iwindow * @return {?} */ function (iwindow) { window.open(iwindow.url); }; /** * @param {?} ititle * @return {?} */ Yiban.prototype.setTitle = /** * @param {?} ititle * @return {?} */ function (ititle) { this.title.setTitle(ititle.title); }; /** * @param {?} navigationBar * @return {?} */ Yiban.prototype.setNavigationBar = /** * @param {?} navigationBar * @return {?} */ function (navigationBar) { alert("易班暂不支持放置按钮,请在APP中使用此功能!"); }; /** * @param {?} ishare * @return {?} */ Yiban.prototype.share = /** * @param {?} ishare * @return {?} */ function (ishare) { alert("易班暂不支持分享,请在APP中使用此功能!"); }; /** * @return {?} */ Yiban.prototype.getToken = /** * @return {?} */ function () { return this.tokenService.get(); }; /** * @return {?} */ Yiban.prototype.scanCode = /** * @return {?} */ function () { alert("易班暂不支持扫码,请在APP中使用此功能!"); return undefined; }; /** * @return {?} */ Yiban.prototype.userLocation = /** * @return {?} */ function () { alert("易班暂不支持定位,请在APP中使用此功能!"); return undefined; }; /** * @param {?} bssids * @return {?} */ Yiban.prototype.validateInWifi = /** * @param {?} bssids * @return {?} */ function (bssids) { alert("易班暂不支持WIFI验证,请在APP中使用此功能!"); return undefined; }; /** * @return {?} */ Yiban.prototype.getWifiMac = /** * @return {?} */ function () { alert("易班暂不支持获取MAC地址,请在APP中使用此功能!"); return undefined; }; /** * @param {?} count * @return {?} */ Yiban.prototype.chooseContacts = /** * @param {?} count * @return {?} */ function (count) { alert("易班暂不支持获取联系人,请在APP中使用此功能!"); return undefined; }; /** * @param {?} targetUserId * @return {?} */ Yiban.prototype.contactDetails = /** * @param {?} targetUserId * @return {?} */ function (targetUserId) { alert("易班暂不支持查询联系人详细信息,请在APP中使用此功能!"); return undefined; }; /** * @param {?} count * @param {?} sourceType * @return {?} */ Yiban.prototype.uploadImage = /** * @param {?} count * @param {?} sourceType * @return {?} */ function (count, sourceType) { alert("易班暂不支持图片上传,请在APP中使用此功能!"); return undefined; }; /** * @param {?} url * @param {?} openType * @param {?} title * @param {?} id * @param {?} type * @return {?} */ Yiban.prototype.openReadWithTimer = /** * @param {?} url * @param {?} openType * @param {?} title * @param {?} id * @param {?} type * @return {?} */ function (url, openType, title, id, type) { alert("易班暂不支持读物时间统计,请在APP中使用此功能!"); return undefined; }; /** * @param {?} limitMinute * @return {?} */ Yiban.prototype.uploadMovie = /** * @param {?} limitMinute * @return {?} */ function (limitMinute) { alert("易班暂不支持视频上传,请在APP中使用此功能!"); return undefined; }; /** * @param {?} url * @param {?} title * @return {?} */ Yiban.prototype.fileBrowser = /** * @param {?} url * @param {?} title * @return {?} */ function (url, title) { alert("易班暂不支持此功能,请在APP中使用此功能!"); return undefined; }; /** * @param {?} ticket * @param {?} callback * @return {?} */ Yiban.prototype.startSearchBeacons = /** * @param {?} ticket * @param {?} callback * @return {?} */ function (ticket, callback) { throw new Error("Method not implemented."); }; /** * @param {?} callback * @return {?} */ Yiban.prototype.stopSearchBeacons = /** * @param {?} callback * @return {?} */ function (callback) { throw new Error("Method not implemented."); }; /** * @param {?} callback * @return {?} */ Yiban.prototype.onSearchBeacons = /** * @param {?} callback * @return {?} */ function (callback) { throw new Error("Method not implemented."); }; Yiban.decorators = [ { type: Injectable, args: [{ providedIn: "root", },] } ]; /** @nocollapse */ Yiban.ctorParameters = function () { return [ { type: TokenService }, { type: HttpClient }, { type: UserService }, { type: Title }, { type: undefined, decorators: [{ type: Inject, args: [BASE_CLIENT,] }] } ]; }; /** @nocollapse */ Yiban.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function Yiban_Factory() { return new Yiban(i0.ɵɵinject(i1.TokenService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.UserService), i0.ɵɵinject(i4.Title), i0.ɵɵinject(i5.BASE_CLIENT)); }, token: Yiban, providedIn: "root" }); return Yiban; }(BaseDevice)); export { Yiban }; if (false) { /** * @type {?} * @private */ Yiban.prototype.tokenService; /** * @type {?} * @private */ Yiban.prototype.http; /** * @type {?} * @private */ Yiban.prototype.user; /** * @type {?} * @private */ Yiban.prototype.title; /** * @type {?} * @private */ Yiban.prototype.baseclient; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWliYW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy15dW56YWktbW9iaWxlLyIsInNvdXJjZXMiOlsiZGV2aWNlcy95aWJhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBRWxEO0lBRzJCLGlDQUFVO0lBQ25DLGVBQ1UsWUFBMEIsRUFDMUIsSUFBZ0IsRUFDaEIsSUFBaUIsRUFDakIsS0FBWSxFQUNTLFVBQXNCO1FBTHJELFlBT0UsaUJBQU8sU0FDUjtRQVBTLGtCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1MsZ0JBQVUsR0FBVixVQUFVLENBQVk7O0lBR3JELENBQUM7Ozs7SUFFRCxvQkFBSTs7O0lBQUo7UUFBQSxpQkFvQ0M7UUFuQ0MsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQU0sVUFBQyxPQUFPLEVBQUUsTUFBTTs7O2dCQUVoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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QUNWLFdBQVc7Z0JBTVgsS0FBSztnREFXVCxNQUFNLFNBQUMsV0FBVzs7O2dCQWhDdkI7Q0FnS0MsQUF6SUQsQ0FHMkIsVUFBVSxHQXNJcEM7U0F0SVksS0FBSzs7Ozs7O0lBRWQsNkJBQWtDOzs7OztJQUNsQyxxQkFBd0I7Ozs7O0lBQ3hCLHFCQUF5Qjs7Ozs7SUFDekIsc0JBQW9COzs7OztJQUNwQiwyQkFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAQXV0aG9yOiBjdWloYW9uYW5cclxuICogQEVtYWlsOiBkZXZjdWlAb3V0bG9vay5jb21cclxuICogQERhdGU6IDIwMjEtMDQtMDcgMTM6NTk6MThcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNi0wOCAxNToxMDowMVxyXG4gKiBATGFzdEVkaXRvcnM6IGN1aWhhb25hblxyXG4gKiBARGVzY3JpcHRpb246IEJhc2ljIGRlc2NyaXB0aW9uXHJcbiAqIEBGaWxlUGF0aDogL2FuZ3VsYXItbW9iaWxlLW5wbS1wYWNrYWdlL3Byb2plY3RzL25nLXl1bnphaS1tb2JpbGUvZGV2aWNlcy95aWJhbi50c1xyXG4gKiBATElDRU5TRTogTk9ORVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEJhc2VEZXZpY2UgfSBmcm9tIFwiLi9iYXNlLmRldmljZVwiO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi4vdG9rZW4vdG9rZW4uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3VzZXIvdXNlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEJhc2VDbGllbnQsIEJBU0VfQ0xJRU5UIH0gZnJvbSBcIi4uL2NsaWVudC9iYXNlLmNsaWVudFwiO1xyXG5pbXBvcnQgeyBwcmVsb2FkZXJGaW5pc2hlZCB9IGZyb20gXCIuLi9hdXRoL3ByZWxvYWRlclwiO1xyXG5pbXBvcnQgeyBJdG9rZW4gfSBmcm9tIFwiLi4vYXV0aC9pdG9rZW5cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IElTaGFyZSwgSVRpdGxlLCBJV2luZG93LCBOYXZpZ2F0aW9uQmFyLCBVc2VyTG9jYXRpb24gfSBmcm9tIFwiLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZaWJhbiBleHRlbmRzIEJhc2VEZXZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRpdGxlOiBUaXRsZSxcclxuICAgIEBJbmplY3QoQkFTRV9DTElFTlQpIHByaXZhdGUgYmFzZWNsaWVudDogQmFzZUNsaWVudFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGF1dGgoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgLy8g5p+l55yL5pyJ5peg5Y+C5pWwXHJcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KFwiP1wiKVsxXTtcclxuICAgICAgaWYgKHBhcmFtcykge1xyXG4gICAgICAgIC8vIOaLv+WIsOWPguaVsOmUruebtOWvuVxyXG4gICAgICAgIGNvbnN0IGt2cyA9IHBhcmFtcy5zcGxpdChcIiZcIik7XHJcbiAgICAgICAgY29uc3QgdG9rZW5JbmZvOiBhbnkgPSB7fTtcclxuICAgICAgICAvLyDmn6XnnIvmnInml6B0b2tlbuS/oeaBr1xyXG4gICAgICAgIGt2cy5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgICAgICBpZiAoay5pbmNsdWRlcyhcIl90b2tlblwiKSkge1xyXG4gICAgICAgICAgICB0b2tlbkluZm9bXCJhY2Nlc3NUb2tlblwiXSA9IGsuc3BsaXQoXCI9XCIpWzFdO1xyXG4gICAgICAgICAgICB0b2tlbkluZm9bXCJ0b2tlblR5cGVcIl0gPSBcImJlYXJlclwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIOWmguaenOaciXRva2Vu5L+h5oGvXHJcbiAgICAgICAgaWYgKHRva2VuSW5mby5hY2Nlc3NUb2tlbikge1xyXG4gICAgICAgICAgLy8g6K6+572udG9rZW7kv6Hmga9cclxuICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldCh0b2tlbkluZm8pO1xyXG4gICAgICAgICAgLy8g6K+35rGCdXNlclxyXG4gICAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQoYCR7dGhpcy5iYXNlY2xpZW50LmdhdGV3YXl9L2F1dGgvdXNlcmApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAvLyDorr7nva51c2VyXHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyLnNldCh7IC4uLnJlc3BvbnNlLnByaW5jaXBhbCwgdGVuYW50SWQ6IHJlc3BvbnNlLnRlbmFudElkIH0pO1xyXG4gICAgICAgICAgICAgIC8vIOWKoOi9vee7k+adn1xyXG4gICAgICAgICAgICAgIHByZWxvYWRlckZpbmlzaGVkKCk7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGFsZXJ0KFwi5peg5rOV6I635Y+W5Yiw5piT54+t55So5oi35L+h5oGv5Y+C5pWwXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBhbGVydChcIuaXoOazleiOt+WPluWIsOaYk+ePreWPguaVsFwiKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuV2luZG93KGl3aW5kb3c6IElXaW5kb3cpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5vcGVuKGl3aW5kb3cudXJsKTtcclxuICB9XHJcblxyXG4gIHNldFRpdGxlKGl0aXRsZTogSVRpdGxlKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpdGxlLnNldFRpdGxlKGl0aXRsZS50aXRsZSk7XHJcbiAgfVxyXG5cclxuICBzZXROYXZpZ2F0aW9uQmFyKG5hdmlnYXRpb25CYXI6IE5hdmlnYXRpb25CYXIpOiB2b2lkIHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB5pS+572u5oyJ6ZKuLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgfVxyXG5cclxuICBzaGFyZShpc2hhcmU6IElTaGFyZSk6IHZvaWQge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHliIbkuqss6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICB9XHJcblxyXG4gIGdldFRva2VuKCk6IEl0b2tlbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b2tlblNlcnZpY2UuZ2V0KCk7XHJcbiAgfVxyXG5cclxuICBzY2FuQ29kZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHmiavnoIEs6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB1c2VyTG9jYXRpb24oKTogT2JzZXJ2YWJsZTxVc2VyTG9jYXRpb24+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB5a6a5L2NLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVJbldpZmkoYnNzaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIFXSUZJ6aqM6K+BLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2lmaU1hYygpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHojrflj5ZNQUPlnLDlnYAs6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBjaG9vc2VDb250YWN0cyhjb3VudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB6I635Y+W6IGU57O75Lq6LOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgY29udGFjdERldGFpbHModGFyZ2V0VXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHmn6Xor6LogZTns7vkurror6bnu4bkv6Hmga8s6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRJbWFnZShjb3VudDogbnVtYmVyLCBzb3VyY2VUeXBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHlm77niYfkuIrkvKAs6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBvcGVuUmVhZFdpdGhUaW1lcihcclxuICAgIHVybDogYW55LFxyXG4gICAgb3BlblR5cGU6IGFueSxcclxuICAgIHRpdGxlOiBhbnksXHJcbiAgICBpZDogYW55LFxyXG4gICAgdHlwZTogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB6K+754mp5pe26Ze057uf6K6hLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkTW92aWUobGltaXRNaW51dGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBhbGVydChcIuaYk+ePreaaguS4jeaUr+aMgeinhumikeS4iuS8oCzor7flnKhBUFDkuK3kvb/nlKjmraTlip/og70hXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGZpbGVCcm93c2VyKHVybDogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB5q2k5Yqf6IO9LOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRTZWFyY2hCZWFjb25zKHRpY2tldDogc3RyaW5nLCBjYWxsYmFjazogKGFyZ3Y6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XHJcbiAgfVxyXG4gIHN0b3BTZWFyY2hCZWFjb25zKGNhbGxiYWNrOiAoYXJndjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcclxuICB9XHJcbiAgb25TZWFyY2hCZWFjb25zKGNhbGxiYWNrOiAoYXJndjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcclxuICB9XHJcbn1cclxuIl19