sigesp 1.1.31-20241209 → 1.1.33-20241215

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,6 +35,10 @@ export class MAsignacionCargo extends MBasicModel {
35
35
  this.nominaEliminar = [];
36
36
  this.detallesOrganigrama = [];
37
37
  this.organigramaEliminar = [];
38
+ this.idUsuarioAsignacion = -1;
39
+ this.idUsuarioCese = -1;
40
+ this.fechaAsignacion = 0;
41
+ this.fechaCese = 0;
38
42
  if (e) {
39
43
  this.idEnterprise = +e.id_enterprise;
40
44
  this.idEmpresa = +e.id_empresa;
@@ -211,4 +215,4 @@ export class MCargosNominas extends MBasicModel {
211
215
  };
212
216
  }
213
217
  }
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUFzaWduYWNpb25DYXJnby5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZ2VzcC9zcmMvbGliL2NvcmUvbW9kZWxzL1NOTy9NQXNpZ25hY2lvbkNhcmdvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQW1DN0MsWUFBYSxDQUFtQjtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQW5DTCxpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0QixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLHNCQUFpQixHQUFTLENBQUMsQ0FBQztRQUM1QiwwQkFBcUIsR0FBUyxFQUFFLENBQUM7UUFDakMsZ0NBQTJCLEdBQVMsRUFBRSxDQUFDO1FBQ3ZDLFVBQUssR0FBUyxDQUFDLENBQUM7UUFDaEIsVUFBSyxHQUFTLENBQUMsQ0FBQztRQUNoQixVQUFLLEdBQVMsQ0FBQyxDQUFDO1FBQ2hCLFVBQUssR0FBUyxDQUFDLENBQUM7UUFDaEIsVUFBSyxHQUFTLENBQUMsQ0FBQztRQUNoQixxQkFBZ0IsR0FBUyxFQUFFLENBQUM7UUFDNUIsMkJBQXNCLEdBQVMsRUFBRSxDQUFDO1FBQ3JDLGVBQVUsR0FBUyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBUyxDQUFDLENBQUM7UUFDdkIscUJBQWdCLEdBQVMsRUFBRSxDQUFDO1FBQzVCLDJCQUFzQixHQUFTLEVBQUUsQ0FBQztRQUNsQyxtQkFBYyxHQUFTLENBQUMsQ0FBQztRQUN6Qix1QkFBa0IsR0FBUyxFQUFFLENBQUM7UUFDOUIsNkJBQXdCLEdBQVMsRUFBRSxDQUFDO1FBQ3BDLGdCQUFXLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLG9CQUFlLEdBQVMsRUFBRSxDQUFDO1FBQzNCLDBCQUFxQixHQUFTLEVBQUUsQ0FBQztR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QUFhLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ25DLFNBQVMsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNqQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7U0FDM0MsQ0FBQTtJQUNMLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBc2lnbmFjaW9uQ2FyZ28sIElDYXJnb05vbWluYSwgSUNhcmdvT3JnYW5pZ3JhbWEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL05vbWluYSc7XHJcbmltcG9ydCB7IE1CYXNpY01vZGVsIH0gZnJvbSAnLi4vYmFzaWMtbW9kZWwubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1Bc2lnbmFjaW9uQ2FyZ28gZXh0ZW5kcyBNQmFzaWNNb2RlbCB7XHJcbiAgICBwdWJsaWMgaWRFbnRlcnByaXNlOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgaWRBc2lnbmFjaW9uQ2FyZ286IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0FzaWduYWNpb25DYXJnbzogc3RyaW5nPScnOyBcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Bc2lnbmFjaW9uQ2FyZ286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZEVwMTogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFcDI6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRXAzOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVwNDogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFcDU6IG51bWJlcj0wO1x0XHJcbiAgICBwdWJsaWMgY29kaWdvRXN0cnVjdHVyYTogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkVzdHJ1Y3R1cmE6IHN0cmluZz0nJztcclxuXHRwdWJsaWMgY2xhc2VDYXJnbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkRGVkaWNhY2lvbjogbnVtYmVyPTA7XHRcclxuICAgIHB1YmxpYyBjb2RpZ29EZWRpY2FjaW9uOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uRGVkaWNhY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkVGlwb1BlcnNvbmFsOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29UaXBvUGVyc29uYWw6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvUGVyc29uYWw6IHN0cmluZz0nJztcdFxyXG4gICAgcHVibGljIGlkVGFidWxhZG9yOiBudW1iZXI9MDtcdFxyXG4gICAgcHVibGljIGNvZGlnb1RhYnVsYWRvcjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvblRhYnVsYWRvcjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb0dyYWRvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvUGFzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIHNhbGFyaW86IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvbXBlbnNhY2lvbjogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgdG90YWxDYXJnb3M6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIG51bWVyb0Nhcmdvc09jdXBhZG9zOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBkaXNwb25pYmlsaWRhZENhcmdvczogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZGV0YWxsZXNOb21pbmFzOiBNQ2FyZ29zTm9taW5hc1tdPVtdO1xyXG4gICAgcHVibGljIG5vbWluYUVsaW1pbmFyOiBudW1iZXJbXT1bXTtcclxuICAgIHB1YmxpYyBkZXRhbGxlc09yZ2FuaWdyYW1hOiBNQ2FyZ29Fc3RydWN0dXJhT3JnYW5pemF0aXZhW109W107XHJcbiAgICBwdWJsaWMgb3JnYW5pZ3JhbWFFbGltaW5hcjogbnVtYmVyW109W107XHJcblxyXG4gICAgY29uc3RydWN0b3IgKGU/OklBc2lnbmFjaW9uQ2FyZ28pe1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkQXNpZ25hY2lvbkNhcmdvPXBhcnNlSW50KGUuaWRfY2FycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Bc2lnbmFjaW9uQ2FyZ289ZS5jb2RjYXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQXNpZ25hY2lvbkNhcmdvPWUuZGVzY2FyO1xyXG4gICAgICAgICAgICB0aGlzLmlkRXAxPXBhcnNlSW50KGUuaWRfZXAxKTtcclxuICAgICAgICAgICAgdGhpcy5pZEVwMj1wYXJzZUludChlLmlkX2VwMik7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFcDM9cGFyc2VJbnQoZS5pZF9lcDMpO1xyXG4gICAgICAgICAgICB0aGlzLmlkRXA0PXBhcnNlSW50KGUuaWRfZXA0KTtcclxuICAgICAgICAgICAgdGhpcy5pZEVwNT1wYXJzZUludChlLmlkX2VwNSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvRXN0cnVjdHVyYT1lLmNvZGlnb19lc3RydWN0dXJhO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkVzdHJ1Y3R1cmE9ZS5kZW5vbWluYWNpb25fZXN0cnVjdHVyYTtcclxuICAgICAgICAgICAgdGhpcy5jbGFzZUNhcmdvPWUuY2xhY2FyO1xyXG4gICAgICAgICAgICB0aGlzLmlkRGVkaWNhY2lvbj1wYXJzZUludChlLmlkX2RlZGljYWNpb24pO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0RlZGljYWNpb249ZS5jb2RkZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRGVkaWNhY2lvbj1lLmRlbmRlZDtcclxuICAgICAgICAgICAgdGhpcy5pZFRpcG9QZXJzb25hbD1wYXJzZUludChlLmlkX3RpcG9wZXJzb25hbCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvVGlwb1BlcnNvbmFsPWUuY29kdGlwcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblRpcG9QZXJzb25hbD1lLmRlbnRpcHBlcjtcclxuICAgICAgICAgICAgdGhpcy5pZFRhYnVsYWRvcj1wYXJzZUludChlLmlkX3RhYnVsYWRvcik7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvVGFidWxhZG9yPWUuY29kdGFiO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblRhYnVsYWRvcj1lLmRlc3RhYjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29HcmFkbz1lLmNvZGdyYTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QYXNvPWUuY29kcGFzO1xyXG4gICAgICAgICAgICB0aGlzLnNhbGFyaW89cGFyc2VJbnQoZS5tb25zYWxncmEpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBlbnNhY2lvbj1wYXJzZUludChlLm1vbmNvbWdyYSk7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxDYXJnb3M9cGFyc2VJbnQoZS50b3RjYXIpO1xyXG4gICAgICAgICAgICB0aGlzLm51bWVyb0Nhcmdvc09jdXBhZG9zPXBhcnNlSW50KGUubnVtb2N1Y2FyKTtcclxuICAgICAgICAgICAgdGhpcy5kaXNwb25pYmlsaWRhZENhcmdvcz1wYXJzZUludChlLmRpc3BvbmliaWxpZGFkKTtcclxuICAgICAgICAgICAgaWYoZS5kZXRhbGxlc19ub21pbmEpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhbGxlc05vbWluYXM9ZS5kZXRhbGxlc19ub21pbmEubWFwKGU9PiBuZXcgTUNhcmdvc05vbWluYXMoZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGUuZGV0YWxsZXNfb3JnYW5pZ3JhbWEpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhbGxlc09yZ2FuaWdyYW1hPWUuZGV0YWxsZXNfb3JnYW5pZ3JhbWEubWFwKGU9PiBuZXcgTUNhcmdvRXN0cnVjdHVyYU9yZ2FuaXphdGl2YShlKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SUFzaWduYWNpb25DYXJnb3tcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbnRlcnByaXNlOnRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX2NhcnBlcjp0aGlzLmlkQXNpZ25hY2lvbkNhcmdvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGNhcjp0aGlzLmNvZGlnb0FzaWduYWNpb25DYXJnbyxcclxuICAgICAgICAgICAgZGVzY2FyOnRoaXMuZGVub21pbmFjaW9uQXNpZ25hY2lvbkNhcmdvLFxyXG4gICAgICAgICAgICBpZF9lcDE6dGhpcy5pZEVwMS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lcDI6dGhpcy5pZEVwMi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lcDM6dGhpcy5pZEVwMy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lcDQ6dGhpcy5pZEVwNC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lcDU6dGhpcy5pZEVwNS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjbGFjYXI6dGhpcy5jbGFzZUNhcmdvLFxyXG4gICAgICAgICAgICBpZF9kZWRpY2FjaW9uOnRoaXMuaWREZWRpY2FjaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3RpcG9wZXJzb25hbDp0aGlzLmlkVGlwb1BlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3RhYnVsYWRvcjp0aGlzLmlkVGFidWxhZG9yLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGdyYTp0aGlzLmNvZGlnb0dyYWRvLFxyXG4gICAgICAgICAgICBjb2RwYXM6dGhpcy5jb2RpZ29QYXNvLFxyXG4gICAgICAgICAgICB0b3RjYXI6dGhpcy50b3RhbENhcmdvcy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBudW1vY3VjYXI6dGhpcy5udW1lcm9DYXJnb3NPY3VwYWRvcy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBkZXRhbGxlc19ub21pbmE6IHRoaXMuZGV0YWxsZXNOb21pbmFzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5kYXRhSW50ZXJmYWNlKCk7IH0pLFxyXG4gICAgICAgICAgICBkZXRhbGxlc19vcmdhbmlncmFtYTp0aGlzLmRldGFsbGVzT3JnYW5pZ3JhbWEubWFwKGZ1bmN0aW9uIChlKXsgcmV0dXJuIGUuZGF0YUludGVyZmFjZSgpOyB9KSxcclxuICAgICAgICAgICAgZWxpbWluYXJfbm9taW5hOnRoaXMubm9taW5hRWxpbWluYXIsXHJcbiAgICAgICAgICAgIGVsaW1pbmFyX29yZ2FuaWdyYW1hOnRoaXMub3JnYW5pZ3JhbWFFbGltaW5hcixcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNQ2FyZ29Fc3RydWN0dXJhT3JnYW5pemF0aXZhIGV4dGVuZHMgTUJhc2ljTW9kZWwge1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRDYXJnb1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NhcmdvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvbkNhcmdvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZE9yZ2FuaWdyYW1hOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRHRDYXJnb0VzdHJ1Y3R1cmE6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29Fc3RydWN0dXJhT3JnYW5pemF0aXZhOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RydWN0dXJhT3JnYW5pemF0aXZhOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2dpZ29VbmlkYWRPcmdhbml6YXRpdmE6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvblVuaWRhZE9yZ2FuaXphdGl2YTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvRXN0cnVjdHVyYVByZXN1cHVlc3RhcmlhOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZENlbnRyb0Nvc3RvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0NlbnRyb0Nvc3RvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkbm9taW5hY2lvbkNlbnRyb0Nvc3RvOnN0cmluZz0nJztcclxuXHJcbiAgICBwdWJsaWMgbml2ZWw6IG51bWJlciA9MDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvciAoZTpJQ2FyZ29PcmdhbmlncmFtYT1udWxsKSB7IFxyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW1wcmVzYT1wYXJzZUludChlLmlkX2VtcHJlc2EpOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPXBhcnNlSW50KGUuaWRfZW50ZXJwcmlzZSk7ICAgIFxyXG4gICAgICAgICAgICB0aGlzLmlkQ2FyZ29QZXJzb25hbD1wYXJzZUludChlLmlkX2NhcnBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuaWRPcmdhbmlncmFtYT1wYXJzZUludChlLmlkX29yZ2FuaWdyYW1hKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Fc3RydWN0dXJhT3JnYW5pemF0aXZhPWUuY29kZXN0b3JnO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0NhcmdvPWUuY29kY2FyO1xyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uQ2FyZ289ZS5kZXNjYXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRXN0cnVjdHVyYU9yZ2FuaXphdGl2YT1lLmRlbmVzdG9yZzsgXHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJzb25hbD1wYXJzZUludChlLmlkX3BlcnNvbmFsKTsgIFxyXG4gICAgICAgICAgICB0aGlzLm5pdmVsPXBhcnNlSW50KGUubml2ZWwpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0VzdHJ1Y3R1cmFQcmVzdXB1ZXN0YXJpYT1lLmVzdHJ1Y3R1cmE7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ2VudHJvQ29zdG89ZS5jb2RjZW5jb3M7XHJcbiAgICAgICAgICAgIHRoaXMuZG5vbWluYWNpb25DZW50cm9Db3N0bz1lLmRlbm9taW5hY2lvbjtcclxuICAgICAgICAgICAgdGhpcy5pZER0Q2FyZ29Fc3RydWN0dXJhPXBhcnNlSW50KGUuaWRfZHQpOyAgICBcclxuICAgICAgICAgICAgdGhpcy5jb2dpZ29VbmlkYWRPcmdhbml6YXRpdmE9ZS5jb2R1bmlhZG07XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uVW5pZGFkT3JnYW5pemF0aXZhPWUuZGVudW5pYWRtOyAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRDZW50cm9Db3N0bz0rZS5pZF9jZW5jb3M7ICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9ICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJQ2FyZ29PcmdhbmlncmFtYSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTogdGhpcy5pZEVtcHJlc2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW50ZXJwcmlzZTogdGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY2FycGVyOnRoaXMuaWRDYXJnb1BlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX29yZ2FuaWdyYW1hOnRoaXMuaWRPcmdhbmlncmFtYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9kdDp0aGlzLmlkRHRDYXJnb0VzdHJ1Y3R1cmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfcGVyc29uYWw6dGhpcy5pZFBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NlbmNvczp0aGlzLmlkQ2VudHJvQ29zdG8udG9TdHJpbmcoKSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTUNhcmdvc05vbWluYXMgZXh0ZW5kcyBNQmFzaWNNb2RlbHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkTm9taW5hOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ2FyZ286bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvTm9taW5hOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uTm9taW5hOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZXN0YXR1czogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGlkRHROb21pbmE6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHBlcmlvZG9BY3R1YWxOb21pbmE6c3RyaW5nPScwMDEnO1xyXG4gICAgcHVibGljIGlkUGVyaW9kb0FjdHVhbDpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgbm9taW5hUmFjOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGRlc2NyaXBjaW9uUGVyaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgcHJlbm9taW5hOmJvb2xlYW49ZmFsc2U7XHJcbiAgICBwdWJsaWMgZWRpdGFibGVzOmJvb2xlYW49ZmFsc2U7XHJcbiAgICBwdWJsaWMgY2FsY3VsYWRhOmJvb2xlYW49ZmFsc2U7XHJcbiAgICBwdWJsaWMgaWRPcmdhbmlncmFtYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29Fc3RydWN0dXJhT3JnYW5pemF0aXZhOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RydWN0dXJhT3JnYW5pemF0aXZhOnN0cmluZz0nJztcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IgKGU6SUNhcmdvTm9taW5hPW51bGwpIHsgXHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7IFxyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0gK2UuaWRfZW50ZXJwcmlzZSAgIFxyXG4gICAgICAgICAgICB0aGlzLmlkTm9taW5hPXBhcnNlSW50KGUuaWRfbm9taW5hKTtcclxuICAgICAgICAgICAgdGhpcy5pZENhcmdvPXBhcnNlSW50KGUuaWRfY2FycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Ob21pbmE9ZS5jb2Rub207XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uTm9taW5hPWUuZGVubm9tO1xyXG4gICAgICAgICAgICB0aGlzLmlkRHROb21pbmE9cGFyc2VJbnQoZS5pZF9kdF9jYXJub20pO1xyXG4gICAgICAgICAgICB0aGlzLnBlcmlvZG9BY3R1YWxOb21pbmE9ZS5wZXJhY3Rub207XHJcbiAgICAgICAgICAgIChlLmNhbGN1bGFkbyk/IHRoaXMuY2FsY3VsYWRhPXBhcnNlSW50KGUuY2FsY3VsYWRvKT4wPyB0cnVlOmZhbHNlOnRoaXMuY2FsY3VsYWRhPWZhbHNlO1xyXG4gICAgICAgICAgICAoZS5wcmVub21pbmEpPyB0aGlzLnByZW5vbWluYT1wYXJzZUludChlLnByZW5vbWluYSk+MD8gdHJ1ZTpmYWxzZTp0aGlzLnByZW5vbWluYT1mYWxzZTsgICAgICBcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzPXRoaXMuY2FsY3VsYWRhID8gJ0NhbGN1bGFkYSc6IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuY2FsY3VsYWRhICYmIHRoaXMucHJlbm9taW5hID8gJ1ByZS1DYWxjdWxhZGEnOiAnU2luIENhbGN1bGFyJ1xyXG4gICAgICAgICAgICAgdGhpcy5lZGl0YWJsZXM9KHRoaXMuY2FsY3VsYWRhfHx0aGlzLnByZW5vbWluYSk/IGZhbHNlOnRydWU7IFxyXG4gICAgICAgICAgICAgdGhpcy5pZE9yZ2FuaWdyYW1hPStlLmlkX29yZ2FuaWdyYW1hOyAgXHJcbiAgICAgICAgICAgICB0aGlzLmNvZGlnb0VzdHJ1Y3R1cmFPcmdhbml6YXRpdmE9ZS5jb2Rlc3Rvcmc7ICBcclxuICAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRXN0cnVjdHVyYU9yZ2FuaXphdGl2YT1lLmRlbmVzdG9yZzsgIFxyXG5cclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklDYXJnb05vbWluYXtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbXByZXNhOiB0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lbnRlcnByaXNlOnRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX25vbWluYTogdGhpcy5pZE5vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jYXJwZXI6dGhpcy5pZENhcmdvLnRvU3RyaW5nKCksICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZF9kdF9jYXJub206IHRoaXMuaWREdE5vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgXHJcbn1cclxuXHJcbiJdfQ==
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUFzaWduYWNpb25DYXJnby5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZ2VzcC9zcmMvbGliL2NvcmUvbW9kZWxzL1NOTy9NQXNpZ25hY2lvbkNhcmdvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQXVDN0MsWUFBYSxDQUFtQjtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQXZDTCxpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0QixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLHNCQUFpQixHQUFTLENBQUMsQ0FBQztRQUM1QiwwQkFBcUIsR0FBUyxFQUFFLENBQUM7UUFDakMsZ0NBQTJCLEdBQVMsRUFBRSxDQUFDO1FBQ3ZDLFVBQUssR0FBUyxDQUFDLENBQUM7UUFDaEIsVUFBSyxHQUFTLENBQUMsQ0FBQztRQUNoQixVQUFLLEdBQVMsQ0FBQyxDQUFDO1FBQ2hCLFVBQUssR0FBUyxDQUFDLENBQUM7UUFDaEIsVUFBSyxHQUFTLENBQUMsQ0FBQztRQUNoQixxQkFBZ0IsR0FBUyxFQUFFLENBQUM7UUFDNUIsMkJBQXNCLEdBQVMsRUFBRSxDQUFDO1FBQ3JDLGVBQVUsR0FBUyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBUyxDQUFDLENBQUM7UUFDdkIscUJBQWdCLEdBQVMsRUFBRSxDQUFDO1FBQzVCLDJCQUFzQixHQUFTLEVBQUUsQ0FBQztRQUNsQyxtQkFBYyxHQUFTLENBQUMsQ0FBQztRQUN6Qix1QkFBa0IsR0FBUyxFQUFFLENBQUM7UUFDOUIsNkJBQXdCLEdBQVMsRUFBRSxDQUFDO1FBQ3BDLGdCQUFXLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLG9CQUFlLEdBQVMsRUFBRSxDQUFDO1FBQzNCLDBCQUFxQixHQUFTLEVBQUUsQ0FBQztRQUNqQyxnQkFBVyxHQUFTLEVBQUUsQ0FBQztRQUN2QixlQUFVLEdBQVMsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBUyxDQUFDLENBQUM7UUFDbEIsaUJBQVksR0FBUyxDQUFDLENBQUM7UUFDdkIsZ0JBQVcsR0FBUyxDQUFDLENBQUM7UUFDdEIseUJBQW9CLEdBQVMsQ0FBQyxDQUFDO1FBQy9CLHlCQUFvQixHQUFTLENBQUMsQ0FBQztRQUMvQixvQkFBZSxHQUFtQixFQUFFLENBQUM7UUFDckMsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFDNUIsd0JBQW1CLEdBQWlDLEVBQUUsQ0FBQztRQUN2RCx3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFDakMsd0JBQW1CLEdBQVEsQ0FBQyxDQUFDLENBQUM7UUFDOUIsa0JBQWEsR0FBUSxDQUFDLENBQUMsQ0FBQztRQUN4QixvQkFBZSxHQUFRLENBQUMsQ0FBQztRQUN6QixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBSXRCLElBQUksQ0FBQyxFQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7WUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLHFCQUFxQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDcEMsSUFBSSxDQUFDLDJCQUEyQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQzFDLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7WUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxDQUFDLHdCQUF3QixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxvQkFBb0IsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxvQkFBb0IsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3JELElBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBQztnQkFDakIsSUFBSSxDQUFDLGVBQWUsR0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekU7WUFDRCxJQUFHLENBQUMsQ0FBQyxvQkFBb0IsRUFBQztnQkFDdEIsSUFBSSxDQUFDLG1CQUFtQixHQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxJQUFJLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEc7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPO1lBQ0gsYUFBYSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQzFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUztZQUN6QixTQUFTLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzQyxNQUFNLEVBQUMsSUFBSSxDQUFDLHFCQUFxQjtZQUNqQyxNQUFNLEVBQUMsSUFBSSxDQUFDLDJCQUEyQjtZQUN2QyxNQUFNLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDNUIsTUFBTSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzVCLE1BQU0sRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUM1QixNQUFNLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDNUIsTUFBTSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzVCLE1BQU0sRUFBQyxJQUFJLENBQUMsVUFBVTtZQUN0QixhQUFhLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDMUMsZUFBZSxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFO1lBQzlDLFlBQVksRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUN4QyxNQUFNLEVBQUMsSUFBSSxDQUFDLFdBQVc7WUFDdkIsTUFBTSxFQUFDLElBQUksQ0FBQyxVQUFVO1lBQ3RCLE1BQU0sRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNsQyxTQUFTLEVBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRTtZQUM5QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckYsb0JBQW9CLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBRyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RixlQUFlLEVBQUMsSUFBSSxDQUFDLGNBQWM7WUFDbkMsb0JBQW9CLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtTQUNoRCxDQUFBO0lBQ0wsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFdBQVc7SUFvQnpELFlBQWEsSUFBb0IsSUFBSTtRQUNqQyxLQUFLLEVBQUUsQ0FBQztRQXBCTCxjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLG9CQUFlLEdBQVEsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFRLENBQUMsQ0FBQztRQUN2Qix3QkFBbUIsR0FBUSxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixpQ0FBNEIsR0FBUSxFQUFFLENBQUM7UUFDdkMsdUNBQWtDLEdBQVEsRUFBRSxDQUFDO1FBQzdDLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUNuQyxtQ0FBOEIsR0FBUSxFQUFFLENBQUM7UUFDekMsbUNBQThCLEdBQVEsRUFBRSxDQUFDO1FBQ3pDLGtCQUFhLEdBQVEsQ0FBQyxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztRQUM1QiwyQkFBc0IsR0FBUSxFQUFFLENBQUM7UUFFakMsVUFBSyxHQUFVLENBQUMsQ0FBQztRQUlwQixJQUFJLENBQUMsRUFBQztZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsNEJBQTRCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDL0IsSUFBSSxDQUFDLGtDQUFrQyxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsOEJBQThCLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUNqRCxJQUFJLENBQUMsaUJBQWlCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLENBQUMsc0JBQXNCLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsd0JBQXdCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxQyxJQUFJLENBQUMsOEJBQThCLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUduQzthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPO1lBQ0gsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3JDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMzQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDekMsY0FBYyxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQzVDLEtBQUssRUFBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO1lBQ3pDLFdBQVcsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUN0QyxTQUFTLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7U0FDMUMsQ0FBQTtJQUNMLENBQUM7Q0FFSjtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQW9CM0MsWUFBYSxJQUFlLElBQUk7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFwQkwsY0FBUyxHQUFTLENBQUMsQ0FBQztRQUNwQixhQUFRLEdBQVMsQ0FBQyxDQUFDO1FBQ25CLGlCQUFZLEdBQVMsQ0FBQyxDQUFDO1FBQ3ZCLFlBQU8sR0FBUSxDQUFDLENBQUM7UUFDakIsaUJBQVksR0FBUyxFQUFFLENBQUM7UUFDeEIsdUJBQWtCLEdBQVMsRUFBRSxDQUFDO1FBQzlCLFlBQU8sR0FBUyxFQUFFLENBQUM7UUFDbkIsZUFBVSxHQUFTLENBQUMsQ0FBQztRQUNyQix3QkFBbUIsR0FBUSxLQUFLLENBQUM7UUFDakMsb0JBQWUsR0FBUSxDQUFDLENBQUM7UUFDekIsY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQiw2QkFBd0IsR0FBUSxFQUFFLENBQUM7UUFDbkMsY0FBUyxHQUFTLEtBQUssQ0FBQztRQUN4QixjQUFTLEdBQVMsS0FBSyxDQUFDO1FBQ3hCLGNBQVMsR0FBUyxLQUFLLENBQUM7UUFDeEIsa0JBQWEsR0FBUSxDQUFDLENBQUM7UUFDdkIsaUNBQTRCLEdBQVEsRUFBRSxDQUFDO1FBQ3ZDLHVDQUFrQyxHQUFRLEVBQUUsQ0FBQztRQUloRCxJQUFJLENBQUMsRUFBQztZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQTtZQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsU0FBUyxHQUFDLEtBQUssQ0FBQztZQUN2RixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxLQUFLLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxTQUFTLEdBQUMsS0FBSyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFBLENBQUM7Z0JBQzdCLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUEsQ0FBQyxDQUFDLGNBQWMsQ0FBQTtZQUMvRSxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDO1lBQzVELElBQUksQ0FBQyxhQUFhLEdBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3JDLElBQUksQ0FBQyw0QkFBNEIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlDLElBQUksQ0FBQyxrQ0FBa0MsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBR3hEO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU87WUFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDckMsYUFBYSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQzFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUNuQyxTQUFTLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDakMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1NBQzNDLENBQUE7SUFDTCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXNpZ25hY2lvbkNhcmdvLCBJQ2FyZ29Ob21pbmEsIElDYXJnb09yZ2FuaWdyYW1hIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Ob21pbmEnO1xyXG5pbXBvcnQgeyBNQmFzaWNNb2RlbCB9IGZyb20gJy4uL2Jhc2ljLW1vZGVsLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNQXNpZ25hY2lvbkNhcmdvIGV4dGVuZHMgTUJhc2ljTW9kZWwge1xyXG4gICAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGlkQXNpZ25hY2lvbkNhcmdvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29Bc2lnbmFjaW9uQ2FyZ286IHN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uQXNpZ25hY2lvbkNhcmdvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRFcDE6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRXAyOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVwMzogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFcDQ6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRXA1OiBudW1iZXI9MDtcdFxyXG4gICAgcHVibGljIGNvZGlnb0VzdHJ1Y3R1cmE6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RydWN0dXJhOiBzdHJpbmc9Jyc7XHJcblx0cHVibGljIGNsYXNlQ2FyZ286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZERlZGljYWNpb246IG51bWJlcj0wO1x0XHJcbiAgICBwdWJsaWMgY29kaWdvRGVkaWNhY2lvbjogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkRlZGljYWNpb246IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZFRpcG9QZXJzb25hbDogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvVGlwb1BlcnNvbmFsOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb1BlcnNvbmFsOiBzdHJpbmc9Jyc7XHRcclxuICAgIHB1YmxpYyBpZFRhYnVsYWRvcjogbnVtYmVyPTA7XHRcclxuICAgIHB1YmxpYyBjb2RpZ29UYWJ1bGFkb3I6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25UYWJ1bGFkb3I6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29HcmFkbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1Bhc286IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBzYWxhcmlvOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb21wZW5zYWNpb246IG51bWJlcj0wO1xyXG4gICAgcHVibGljIHRvdGFsQ2FyZ29zOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBudW1lcm9DYXJnb3NPY3VwYWRvczogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZGlzcG9uaWJpbGlkYWRDYXJnb3M6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGRldGFsbGVzTm9taW5hczogTUNhcmdvc05vbWluYXNbXT1bXTtcclxuICAgIHB1YmxpYyBub21pbmFFbGltaW5hcjogbnVtYmVyW109W107XHJcbiAgICBwdWJsaWMgZGV0YWxsZXNPcmdhbmlncmFtYTogTUNhcmdvRXN0cnVjdHVyYU9yZ2FuaXphdGl2YVtdPVtdO1xyXG4gICAgcHVibGljIG9yZ2FuaWdyYW1hRWxpbWluYXI6IG51bWJlcltdPVtdO1xyXG4gICAgcHVibGljIGlkVXN1YXJpb0FzaWduYWNpb246bnVtYmVyPS0xO1xyXG4gICAgcHVibGljIGlkVXN1YXJpb0Nlc2U6bnVtYmVyPS0xO1xyXG4gICAgcHVibGljIGZlY2hhQXNpZ25hY2lvbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBmZWNoYUNlc2U6bnVtYmVyPTA7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yIChlPzpJQXNpZ25hY2lvbkNhcmdvKXtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVudGVycHJpc2U9K2UuaWRfZW50ZXJwcmlzZTsgIFxyXG4gICAgICAgICAgICB0aGlzLmlkRW1wcmVzYT0rZS5pZF9lbXByZXNhwqBcclxuICAgICAgICAgICAgdGhpcy5pZEFzaWduYWNpb25DYXJnbz1wYXJzZUludChlLmlkX2NhcnBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQXNpZ25hY2lvbkNhcmdvPWUuY29kY2FyO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkFzaWduYWNpb25DYXJnbz1lLmRlc2NhcjtcclxuICAgICAgICAgICAgdGhpcy5pZEVwMT1wYXJzZUludChlLmlkX2VwMSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFcDI9cGFyc2VJbnQoZS5pZF9lcDIpO1xyXG4gICAgICAgICAgICB0aGlzLmlkRXAzPXBhcnNlSW50KGUuaWRfZXAzKTtcclxuICAgICAgICAgICAgdGhpcy5pZEVwND1wYXJzZUludChlLmlkX2VwNCk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFcDU9cGFyc2VJbnQoZS5pZF9lcDUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0VzdHJ1Y3R1cmE9ZS5jb2RpZ29fZXN0cnVjdHVyYTtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Fc3RydWN0dXJhPWUuZGVub21pbmFjaW9uX2VzdHJ1Y3R1cmE7XHJcbiAgICAgICAgICAgIHRoaXMuY2xhc2VDYXJnbz1lLmNsYWNhcjtcclxuICAgICAgICAgICAgdGhpcy5pZERlZGljYWNpb249cGFyc2VJbnQoZS5pZF9kZWRpY2FjaW9uKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29EZWRpY2FjaW9uPWUuY29kZGVkO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkRlZGljYWNpb249ZS5kZW5kZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUaXBvUGVyc29uYWw9cGFyc2VJbnQoZS5pZF90aXBvcGVyc29uYWwpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1RpcG9QZXJzb25hbD1lLmNvZHRpcHBlcjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25UaXBvUGVyc29uYWw9ZS5kZW50aXBwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUYWJ1bGFkb3I9cGFyc2VJbnQoZS5pZF90YWJ1bGFkb3IpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1RhYnVsYWRvcj1lLmNvZHRhYjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25UYWJ1bGFkb3I9ZS5kZXN0YWI7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvR3JhZG89ZS5jb2RncmE7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGFzbz1lLmNvZHBhcztcclxuICAgICAgICAgICAgdGhpcy5zYWxhcmlvPXBhcnNlSW50KGUubW9uc2FsZ3JhKTtcclxuICAgICAgICAgICAgdGhpcy5jb21wZW5zYWNpb249cGFyc2VJbnQoZS5tb25jb21ncmEpO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsQ2FyZ29zPXBhcnNlSW50KGUudG90Y2FyKTtcclxuICAgICAgICAgICAgdGhpcy5udW1lcm9DYXJnb3NPY3VwYWRvcz1wYXJzZUludChlLm51bW9jdWNhcik7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzcG9uaWJpbGlkYWRDYXJnb3M9cGFyc2VJbnQoZS5kaXNwb25pYmlsaWRhZCk7XHJcbiAgICAgICAgICAgIGlmKGUuZGV0YWxsZXNfbm9taW5hKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGV0YWxsZXNOb21pbmFzPWUuZGV0YWxsZXNfbm9taW5hLm1hcChlPT4gbmV3IE1DYXJnb3NOb21pbmFzKGUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihlLmRldGFsbGVzX29yZ2FuaWdyYW1hKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGV0YWxsZXNPcmdhbmlncmFtYT1lLmRldGFsbGVzX29yZ2FuaWdyYW1hLm1hcChlPT4gbmV3IE1DYXJnb0VzdHJ1Y3R1cmFPcmdhbml6YXRpdmEoZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklBc2lnbmFjaW9uQ2FyZ297XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lbXByZXNhOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgICBpZF9jYXJwZXI6dGhpcy5pZEFzaWduYWNpb25DYXJnby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjb2RjYXI6dGhpcy5jb2RpZ29Bc2lnbmFjaW9uQ2FyZ28sXHJcbiAgICAgICAgICAgIGRlc2Nhcjp0aGlzLmRlbm9taW5hY2lvbkFzaWduYWNpb25DYXJnbyxcclxuICAgICAgICAgICAgaWRfZXAxOnRoaXMuaWRFcDEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZXAyOnRoaXMuaWRFcDIudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZXAzOnRoaXMuaWRFcDMudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZXA0OnRoaXMuaWRFcDQudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZXA1OnRoaXMuaWRFcDUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY2xhY2FyOnRoaXMuY2xhc2VDYXJnbyxcclxuICAgICAgICAgICAgaWRfZGVkaWNhY2lvbjp0aGlzLmlkRGVkaWNhY2lvbi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF90aXBvcGVyc29uYWw6dGhpcy5pZFRpcG9QZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF90YWJ1bGFkb3I6dGhpcy5pZFRhYnVsYWRvci50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjb2RncmE6dGhpcy5jb2RpZ29HcmFkbyxcclxuICAgICAgICAgICAgY29kcGFzOnRoaXMuY29kaWdvUGFzbyxcclxuICAgICAgICAgICAgdG90Y2FyOnRoaXMudG90YWxDYXJnb3MudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgbnVtb2N1Y2FyOnRoaXMubnVtZXJvQ2FyZ29zT2N1cGFkb3MudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgZGV0YWxsZXNfbm9taW5hOiB0aGlzLmRldGFsbGVzTm9taW5hcy5tYXAoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUuZGF0YUludGVyZmFjZSgpOyB9KSxcclxuICAgICAgICAgICAgZGV0YWxsZXNfb3JnYW5pZ3JhbWE6dGhpcy5kZXRhbGxlc09yZ2FuaWdyYW1hLm1hcChmdW5jdGlvbiAoZSl7IHJldHVybiBlLmRhdGFJbnRlcmZhY2UoKTsgfSksXHJcbiAgICAgICAgICAgIGVsaW1pbmFyX25vbWluYTp0aGlzLm5vbWluYUVsaW1pbmFyLFxyXG4gICAgICAgICAgICBlbGltaW5hcl9vcmdhbmlncmFtYTp0aGlzLm9yZ2FuaWdyYW1hRWxpbWluYXIsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTUNhcmdvRXN0cnVjdHVyYU9yZ2FuaXphdGl2YSBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbnRlcnByaXNlOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkQ2FyZ29QZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29DYXJnbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVzY3JpcGNpb25DYXJnbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRPcmdhbmlncmFtYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZER0Q2FyZ29Fc3RydWN0dXJhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvRXN0cnVjdHVyYU9yZ2FuaXphdGl2YTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uRXN0cnVjdHVyYU9yZ2FuaXphdGl2YTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29naWdvVW5pZGFkT3JnYW5pemF0aXZhOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25VbmlkYWRPcmdhbml6YXRpdmE6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb0VzdHJ1Y3R1cmFQcmVzdXB1ZXN0YXJpYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRDZW50cm9Db3N0bzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29DZW50cm9Db3N0bzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZG5vbWluYWNpb25DZW50cm9Db3N0bzpzdHJpbmc9Jyc7XHJcblxyXG4gICAgcHVibGljIG5pdmVsOiBudW1iZXIgPTA7XHJcblxyXG4gICAgY29uc3RydWN0b3IgKGU6SUNhcmdvT3JnYW5pZ3JhbWE9bnVsbCkgeyBcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9cGFyc2VJbnQoZS5pZF9lbXByZXNhKTsgIFxyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT1wYXJzZUludChlLmlkX2VudGVycHJpc2UpOyAgICBcclxuICAgICAgICAgICAgdGhpcy5pZENhcmdvUGVyc29uYWw9cGFyc2VJbnQoZS5pZF9jYXJwZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmlkT3JnYW5pZ3JhbWE9cGFyc2VJbnQoZS5pZF9vcmdhbmlncmFtYSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvRXN0cnVjdHVyYU9yZ2FuaXphdGl2YT1lLmNvZGVzdG9yZztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29DYXJnbz1lLmNvZGNhcjtcclxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwY2lvbkNhcmdvPWUuZGVzY2FyO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkVzdHJ1Y3R1cmFPcmdhbml6YXRpdmE9ZS5kZW5lc3Rvcmc7IFxyXG4gICAgICAgICAgICB0aGlzLmlkUGVyc29uYWw9cGFyc2VJbnQoZS5pZF9wZXJzb25hbCk7ICBcclxuICAgICAgICAgICAgdGhpcy5uaXZlbD1wYXJzZUludChlLm5pdmVsKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Fc3RydWN0dXJhUHJlc3VwdWVzdGFyaWE9ZS5lc3RydWN0dXJhO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0NlbnRyb0Nvc3RvPWUuY29kY2VuY29zO1xyXG4gICAgICAgICAgICB0aGlzLmRub21pbmFjaW9uQ2VudHJvQ29zdG89ZS5kZW5vbWluYWNpb247XHJcbiAgICAgICAgICAgIHRoaXMuaWREdENhcmdvRXN0cnVjdHVyYT1wYXJzZUludChlLmlkX2R0KTsgICAgXHJcbiAgICAgICAgICAgIHRoaXMuY29naWdvVW5pZGFkT3JnYW5pemF0aXZhPWUuY29kdW5pYWRtO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblVuaWRhZE9yZ2FuaXphdGl2YT1lLmRlbnVuaWFkbTsgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmlkQ2VudHJvQ29zdG89K2UuaWRfY2VuY29zOyAgICBcclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfSAgIFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SUNhcmdvT3JnYW5pZ3JhbWEge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6IHRoaXMuaWRFbXByZXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2VudGVycHJpc2U6IHRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NhcnBlcjp0aGlzLmlkQ2FyZ29QZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9vcmdhbmlncmFtYTp0aGlzLmlkT3JnYW5pZ3JhbWEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZHQ6dGhpcy5pZER0Q2FyZ29Fc3RydWN0dXJhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFsOnRoaXMuaWRQZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9jZW5jb3M6dGhpcy5pZENlbnRyb0Nvc3RvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1DYXJnb3NOb21pbmFzIGV4dGVuZHMgTUJhc2ljTW9kZWx7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZE5vbWluYTogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbnRlcnByaXNlOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZENhcmdvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb05vbWluYTogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbk5vbWluYTogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGVzdGF0dXM6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBpZER0Tm9taW5hOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBwZXJpb2RvQWN0dWFsTm9taW5hOnN0cmluZz0nMDAxJztcclxuICAgIHB1YmxpYyBpZFBlcmlvZG9BY3R1YWw6bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIG5vbWluYVJhYzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvblBlcmlvZG9Ob21pbmE6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIHByZW5vbWluYTpib29sZWFuPWZhbHNlO1xyXG4gICAgcHVibGljIGVkaXRhYmxlczpib29sZWFuPWZhbHNlO1xyXG4gICAgcHVibGljIGNhbGN1bGFkYTpib29sZWFuPWZhbHNlO1xyXG4gICAgcHVibGljIGlkT3JnYW5pZ3JhbWE6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvRXN0cnVjdHVyYU9yZ2FuaXphdGl2YTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uRXN0cnVjdHVyYU9yZ2FuaXphdGl2YTpzdHJpbmc9Jyc7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yIChlOklDYXJnb05vbWluYT1udWxsKSB7IFxyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW1wcmVzYT1wYXJzZUludChlLmlkX2VtcHJlc2EpOyBcclxuICAgICAgICAgICAgdGhpcy5pZEVudGVycHJpc2U9ICtlLmlkX2VudGVycHJpc2UgICBcclxuICAgICAgICAgICAgdGhpcy5pZE5vbWluYT1wYXJzZUludChlLmlkX25vbWluYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDYXJnbz1wYXJzZUludChlLmlkX2NhcnBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvTm9taW5hPWUuY29kbm9tO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbk5vbWluYT1lLmRlbm5vbTtcclxuICAgICAgICAgICAgdGhpcy5pZER0Tm9taW5hPXBhcnNlSW50KGUuaWRfZHRfY2Fybm9tKTtcclxuICAgICAgICAgICAgdGhpcy5wZXJpb2RvQWN0dWFsTm9taW5hPWUucGVyYWN0bm9tO1xyXG4gICAgICAgICAgICAoZS5jYWxjdWxhZG8pPyB0aGlzLmNhbGN1bGFkYT1wYXJzZUludChlLmNhbGN1bGFkbyk+MD8gdHJ1ZTpmYWxzZTp0aGlzLmNhbGN1bGFkYT1mYWxzZTtcclxuICAgICAgICAgICAgKGUucHJlbm9taW5hKT8gdGhpcy5wcmVub21pbmE9cGFyc2VJbnQoZS5wcmVub21pbmEpPjA/IHRydWU6ZmFsc2U6dGhpcy5wcmVub21pbmE9ZmFsc2U7ICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1cz10aGlzLmNhbGN1bGFkYSA/ICdDYWxjdWxhZGEnOiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLmNhbGN1bGFkYSAmJiB0aGlzLnByZW5vbWluYSA/ICdQcmUtQ2FsY3VsYWRhJzogJ1NpbiBDYWxjdWxhcidcclxuICAgICAgICAgICAgIHRoaXMuZWRpdGFibGVzPSh0aGlzLmNhbGN1bGFkYXx8dGhpcy5wcmVub21pbmEpPyBmYWxzZTp0cnVlOyBcclxuICAgICAgICAgICAgIHRoaXMuaWRPcmdhbmlncmFtYT0rZS5pZF9vcmdhbmlncmFtYTsgIFxyXG4gICAgICAgICAgICAgdGhpcy5jb2RpZ29Fc3RydWN0dXJhT3JnYW5pemF0aXZhPWUuY29kZXN0b3JnOyAgXHJcbiAgICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkVzdHJ1Y3R1cmFPcmdhbml6YXRpdmE9ZS5kZW5lc3Rvcmc7ICBcclxuXHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJQ2FyZ29Ob21pbmF7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTogdGhpcy5pZEVtcHJlc2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9ub21pbmE6IHRoaXMuaWROb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY2FycGVyOnRoaXMuaWRDYXJnby50b1N0cmluZygpLCAgICAgICAgICBcclxuICAgICAgICAgICAgaWRfZHRfY2Fybm9tOiB0aGlzLmlkRHROb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgIFxyXG59XHJcblxyXG4iXX0=