@farris/bef
Advanced tools
Comparing version 0.0.12-20210428112135-dev to 0.0.12-20210705171250-dev
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@ecp-caf/caf-common"),require("date-fns"),require("rxjs"),require("rxjs/operators"),require("rxjs/operators/map"),require("@angular/core"),require("@farris/devkit"),require("@angular/common/http")):"function"==typeof define&&define.amd?define("@farris/bef",["exports","@ecp-caf/caf-common","date-fns","rxjs","rxjs/operators","rxjs/operators/map","@angular/core","@farris/devkit","@angular/common/http"],t):t((e.farris=e.farris||{},e.farris.bef={}),e.cafCommon,e.dateFns,e.rxjs,e.rxjs.operators,e.rxjs["operators/map"],e.ng.core,e.devkit,e.ng.common.http)}(this,function(e,t,n,I,l,s,i,S,a){"use strict";var b=(r.Added="Added",r.Modify="Modify",r.Deleted="Deleted",r);function r(){}var p=new i.InjectionToken("@farris/be BE_SERVER_URL"),u=new i.InjectionToken("@farris/be BE_SESSION_HANDLING_STRATEGY_TOKEN"),C=(o.getPropInfo=function(e,t){var r,n,o,i=S.FieldMetadataUtil.getNgFields(e);Object.keys(i).forEach(function(e){e===t&&(r="NgField",n=null,o=i[e])});var a=S.FieldMetadataUtil.getNgObjects(e);Object.keys(a).forEach(function(e){e===t&&(r="NgObject",n=a[e].type,o=a[e])});var s=S.FieldMetadataUtil.getNgList(e);Object.keys(s).forEach(function(e){e===t&&(r="NgList",n=s[e].type,o=s[e])});var p=S.FieldMetadataUtil.getNgDynamic(e);return Object.keys(p).forEach(function(e){e===t&&(r="NgDynamic",n=p[e].type,o=p[e])}),{propType:r,propEntityType:n,propMetadata:o}},o.getPrimaryKey=function(e){var t=S.FieldMetadataUtil.getPrimaryFieldMetadata(e);return t?t.dataField:""},o.isObjectProp=function(e,t){var r=!1,n=S.FieldMetadataUtil.getNgObjects(e);return Object.keys(n).forEach(function(e){e===t&&(r=!0)}),r},o.isDynamicProp=function(e,t){var r=!1,n=S.FieldMetadataUtil.getNgDynamic(e);return Object.keys(n).forEach(function(e){e===t&&(r=!0)}),r},o.appendInitialData=function(e,t){var r=Object.assign({},t);delete r.id,delete r.parentID,e.initialData=r},o);function o(){}var c=(h.prototype.build=function(e){var t=this;return this.changeDetail={ChangeType:b.Modify,ChangeInfo:{DataId:""}},e.forEach(function(e){t.buildChangeDetail(e)}),this.changeDetail},h.prototype.buildChangeDetail=function(l){var d=l.path.concat();this.changeDetail.ChangeInfo.DataId||(this.changeDetail.ChangeInfo.DataId=d[0].split(":")[1]);for(var f=this.changeDetail,g=this.entityType,e=function(e){var t=v.getChangeInfo(f),r=d[e],n=C.getPropInfo(g,r),o=n.propType,i=n.propEntityType,a=n.propMetadata.dataField||r;if("NgField"===o){if(r===C.getPrimaryKey(g))return"continue";if(l.type!==S.ModifyType.ValueChange)throw Error("简单类型的属性上不支持ValueChange类型之外的变更");t[a]=l.value,f=null}else if("NgObject"===o)if(d[e+1].split(":")[1],d[e+1].split(":")[0]){var s=t[a],p=d.slice(0,e+1);s=(y=v.entityCollection.getEntityByPath(p))?y.toJSON(!0):{},t[a]=s,g=f=null}else c=(c=t[a])||{ChangeType:b.Modify,ChangeInfo:{}},t[a]=c,f=c,g=i;else if("NgList"===o){f.ChangeInfo[a]||(f.ChangeInfo[a]=[]);var u=f.ChangeInfo[a];if(e!==d.length-1){var c,h=d[e+1].split(":")[1];return(c=u.find(function(e){return e.ChangeInfo.DataId===h}))||(c=v.createEmptyChangeDetail(b.Modify,h),u.push(c)),f=c,g=i,"continue"}l.type===S.ModifyType.Add||l.type===S.ModifyType.Insert||(l.type,S.ModifyType.Remove),g=f=null}else if("NgDynamic"===o){p=d.slice(0,e+1);var y=v.entityCollection.getEntityByPath(p);t[a]={ChangeType:b.Modify,ChangeInfo:y?y.toJSON(!0):{}},g=f=null}},v=this,t=1;t<d.length&&f;t+=2)e(t)},h.prototype.getChangeInfo=function(e){return e.hasOwnProperty("ChangeInfo")?e.ChangeInfo:e},h.prototype.createEmptyChangeDetail=function(e,t){return{ChangeType:e,ChangeInfo:{DataId:t}}},h);function h(e,t){this.entityType=e,this.entityCollection=t}var y=(d.prototype.handle=function(e,t,r){this.handleChangeDetails(e,t,r)},d.prototype.handleChangeDetails=function(n,o,e){var i=this;e&&e.forEach(function(e){var t=e.ChangeInfo.dataId||e.ChangeInfo.DataId,r=i.getEntityById(o,t);r&&i.handleChangeDetail(n,r,e)})},d.prototype.handleChangeDetail=function(u,c,e){var h=this;if(e&&c&&e.ChangeType===b.Modify){var y=e.ChangeInfo;Object.keys(y).forEach(function(e){var t=C.getPropInfo(u,e),r=t.propType,n=t.propEntityType;if("NgField"===r)c[e]=y[e];else if("NgObject"===r){var o=c[e];if(o.primaryKey){var i=y[e];o.load(i)}else{var a=y[e];h.handleChangeDetail(n,o,a)}}else if("NgList"===r){var s=c[e],p=y[e];h.handleChangeDetails(n,s,p)}})}},d.prototype.getEntityById=function(e,t){return(e instanceof S.EntityCollection?e.getEntityById(t):e.get(t))||null},d);function d(){}var f=(g.prototype.getUserSessionId=function(){return this.sessionService.getUserSessionId()},g.prototype.getCurrentSessionId=function(e){var t;if(this.sessionService)if(e&&e.hasOwnProperty("tabId")){var r=e.tabId;t=this.sessionService.getCurrentSeesionId(r)}else t=this.sessionService.getCurrentSeesionId();return t=t||this.getUserSessionId()},g.decorators=[{type:i.Injectable}],g.ctorParameters=function(){return[{type:t.SessionService,decorators:[{type:i.Optional}]}]},g);function g(e){this.sessionService=e}var v=(m.prototype.getItem=function(e){return this.getAllBeSessions()[e]},m.prototype.setItem=function(e,t){var r=this.getAllBeSessions();r[e]=t,this.setAllBeSessions(r)},m.prototype.removeItem=function(e){var t=this.getAllBeSessions();t[e]&&delete t[e],this.setAllBeSessions(t)},m.prototype.clear=function(e,t){!0===this.isInFramework()?this.removeItemsByFrmSessionId(e):this.removeItem(t)},m.prototype.removeItemsByFrmSessionId=function(t){var r=this.getAllBeSessions();Object.keys(r).forEach(function(e){!0===e.startsWith(t)&&delete r[e]}),this.setAllBeSessions(r)},m.prototype.getAllBeSessions=function(){var e=window.sessionStorage.getItem(this.sessionStorageKey);return e?JSON.parse(e):{}},m.prototype.setAllBeSessions=function(e){var t=JSON.stringify(e);window.sessionStorage.setItem(this.sessionStorageKey,t)},m.prototype.isInFramework=function(){var e=window.location.hash;return!!e&&-1!==e.indexOf("tabId=")},m);function m(){this.sessionStorageKey="BE_SESSION_ID"}var E=function(e,t){return(E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function x(e,t){function r(){this.constructor=e}E(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var B=function(){return(B=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function P(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function R(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(n=i.next()).done;)a.push(n.value)}catch(s){o={error:s}}finally{try{n&&!n.done&&(r=i["return"])&&r.call(i)}finally{if(o)throw o.error}}return a}function D(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(R(arguments[t]));return e}var q=(O.convertToHeaders=function(t){if(1==(t=t||new a.HttpHeaders)instanceof a.HttpHeaders)return t;if(0<Object.keys(t).length){var r=new a.HttpHeaders;Object.keys(t).forEach(function(e){r=r.append(e,t[e])}),t=r}else t=new a.HttpHeaders;return t},O.appendSessionId=function(e,t){return e.append("SessionId",t)},O.appendCafRuntimeCommonVariable=function(e,t){return e.append("X-CAF-Runtime-CommonVariable",t)},O.appendCafRuntimeContext=function(e,t){return e.append("X-CAF-Runtime-Context",t)},O.appendContextType=function(e,t){return t=t||"application/json",e.append("Content-Type",t)},O.appendRequireMessage=function(e,t){return void 0===t&&(t=!0),e.append("Bff-Require-Message",t.toString())},O.appendFuncInstId=function(e,t){return e.append("Func-Inst-Id",t)},O.toJson=function(r){if(!(r instanceof a.HttpHeaders))return null;var n={};return r.keys().forEach(function(e){var t=r.getAll(e);1<t.length?n[e]=t:n[e]=t[0]||""}),n},O);function O(){}var w=(M.buildParams=function(e){var t=new a.HttpParams;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r].toString();t=t.append(r,n)}return t},M);function M(){}var T=(j.hasRequestInfo=function(e){if(!e||!e.body)return!1;var t=e.body;return!(!t.requestInfo||!t.requestInfo.dataChange)||!!t.dataChange},j.hasRequestInfoWithR=function(e){if(!e||!e.body)return!1;var t=e.body;return!(!t.RequestInfo||!t.RequestInfo.dataChange)||!!t.dataChange},j.buildRequestInfo=function(e){return{dataChange:e.entityManager.buildAllEntityChangeDetails(),variableChange:e.variableManager.buildChangeDetail()}},j.buildBodyWithRequestInfo=function(e,t){if(e.RequestInfo||e.requestInfo)return e;var r=this.buildRequestInfo(t);return Object.assign({},e,{requestInfo:r})},j);function j(){}var A=(U.unWrapResponseInfo=function(e){if(!e)return e;if(!1===e.hasOwnProperty("returnValue"))return e.hasOwnProperty("result")&&e.hasOwnProperty("pagination")?e.result:e;var t=e.returnValue;return t&&t.hasOwnProperty("result")&&t.hasOwnProperty("pagination")?t.result:e.returnValue},U.isReported401Error=function(e){return 401===e.status},U.parseBackEndMessage=function(e){return e&&e.message&&Array.isArray(e.message)&&0<e.message.length?e.message:null},U.parseBackEndError=function(e){var t=e&&e.error;return t&&t.hasOwnProperty("extensionMessage")&&t.extensionMessage&&t.extensionMessage.hasOwnProperty("UIMsg")&&t.extensionMessage.UIMsg&&0<t.extensionMessage.UIMsg.length?JSON.parse(t.extensionMessage.UIMsg):null},U);function U(){}var H=(k.prototype.getService=function(){for(var e=window;!e.gspframeworkService&&e!==window.top&&this.isSameOrigin(e);)e=window.parent;return e.gspframeworkService&&e.gspframeworkService.rtf||{}},k.prototype.isSameOrigin=function(e){var t=window.location.host;try{if(e&&e.location&&"undefined"!=typeof e.location.host)return e.location.host===t}catch(r){return!1}return!1},Object.defineProperty(k.prototype,"params",{get:function(){return this.rtf&&this.rtf.hasOwnProperty("session")&&"function"==typeof this.rtf.session.getCommonVariable?this.rtf.session.getCommonVariable():null},enumerable:!0,configurable:!0}),Object.defineProperty(k.prototype,"httpService",{get:function(){return this.rtf&&this.rtf.hasOwnProperty("http")&&"function"==typeof this.rtf.http.request?this.rtf.http:null},enumerable:!0,configurable:!0}),k.prototype.request=function(e,t,r){return void 0===r&&(r={}),this.defaultHttpClient.request(e,t,r)},k.decorators=[{type:i.Injectable}],k.ctorParameters=function(){return[{type:a.HttpClient}]},k);function k(e){this.defaultHttpClient=e,this.httpClient=e,this.rtf=this.getService()}var V=(F.prototype.getFrmSessionId=function(e){return this.frmSessionService.getCurrentSessionId(e)},Object.defineProperty(F.prototype,"frmSessionId",{get:function(){return this.frmSessionService.getCurrentSessionId()},enumerable:!0,configurable:!0}),F.prototype.getFrameworkSessionId=function(e){return this.getFrmSessionId(e)},F.prototype.getSessionIdFromStorage=function(e){var t=this.getSessionStorageKey(e);return this.storageStrategy.getItem(t)},F);function F(e,t){this.storageStrategy=e,this.frmSessionService=t}var N,_=(x(L,N=V),L.prototype.getSessionId=function(){var e=this.getSessionIdFromStorage();return e?I.of(e):this.createSession()},L.prototype.setSessionId=function(e){var t=this.getSessionStorageKey();this.storageStrategy.setItem(t,e)},L.prototype.clearSessionId=function(){var e=this.getSessionStorageKey();this.storageStrategy.clear(this.frmSessionId,e)},L.prototype.extendRequestHeaders=function(e,t){var r=this.getFrameworkSessionId(t),n=this.getSessionIdFromStorage(t);return e=q.appendCafRuntimeCommonVariable(e,r),e=q.appendCafRuntimeContext(e,n),e=q.appendSessionId(e,n)},L.prototype.handleReponseHeaders=function(e){console.log(e)},L.prototype.createSession=function(){var t=this,e={responseType:"text"};return this.frmSessionId&&(e.headers=new a.HttpHeaders({SessionId:this.frmSessionId}),e.headers=e.headers.append("X-CAF-Runtime-CommonVariable",this.frmSessionId),e.headers=q.toJson(e.headers)),this.httpService.request("POST",this.beSessionUri,e).pipe(l.tap(function(e){t.setSessionId(e)}))},L.prototype.extendHttpHeader=function(){},L.prototype.getSessionStorageKey=function(e){return(e?this.getFrameworkSessionId(e):this.frmSessionId)+"_"+this.beSessionUri},L);function L(e,t,r,n){var o=N.call(this,e,t)||this;return o.beSessionUri=n,o.httpClient=r,o.httpService=new H(o.httpClient),o}var K,G=(x(J,K=V),J.prototype.getSessionId=function(){var e=this.getSessionStorageKey(),t=this.storageStrategy.getItem(e);return I.of(t)},J.prototype.setSessionId=function(e){var t=this.getSessionStorageKey();this.storageStrategy.setItem(t,e)},J.prototype.clearSessionId=function(){var e=this.getSessionStorageKey();this.storageStrategy.removeItem(e)},J.prototype.extendRequestHeaders=function(e,t){var r=this.getFrameworkSessionId(t),n=this.getSessionIdFromStorage(t),o=this.injector.get(S.AppContext,null);if(o){var i=o.ApplicationId;e=q.appendFuncInstId(e,i)}return e=q.appendCafRuntimeCommonVariable(e,r),n&&(e=q.appendCafRuntimeContext(e,n)),e},J.prototype.handleReponseHeaders=function(e){console.log(e)},J.prototype.getSessionStorageKey=function(e){return(e?this.getFrameworkSessionId(e):this.frmSessionId)+"_"+window.location.hash},J);function J(e,t,r,n){var o=K.call(this,e,t)||this;return o.beSessionUri=r,o.injector=n,o}var W=(z.prototype.create=function(e,t,r,n,o){var i=this.createStorageStrategy(),a=this.createBeSessionUri(r);return"UnifiedSession"===e?new G(i,t,a,o):new _(i,t,n,a)},z.prototype.createStorageStrategy=function(){return new v},z.prototype.createBeSessionUri=function(e){return e+"/service/createsession"},z.decorators=[{type:i.Injectable}],z);function z(){}var Q=(Object.defineProperty(Y.prototype,"token",{get:function(){return this.handlingStrategy.getFrameworkSessionId()},enumerable:!0,configurable:!0}),Y.prototype.getBeSessionId=function(){return this.handlingStrategy.getSessionId()},Y.prototype.setBeSessionId=function(e){this.handlingStrategy.setSessionId(e)},Y.prototype.clearBeSessionId=function(){this.handlingStrategy.clearSessionId()},Y.prototype.extendRequestHeaders=function(e,t){return this.handlingStrategy.extendRequestHeaders(e,t)},Y.prototype.handleResponseHeaders=function(e){return this.handlingStrategy.handleReponseHeaders(e)},Y.prototype.createBeSession=function(){return this.handlingStrategy.createSession()},Y.prototype.createHandlingStrategy=function(e,t,r,n){var o;return o=(o=e?e.get(u,null,i.InjectFlags.Optional):"SeparatedSession")||"SeparatedSession",(new W).create(o,r,n,t,e)},Y.decorators=[{type:i.Injectable}],Y.ctorParameters=function(){return[{type:a.HttpClient},{type:String},{type:f},{type:i.Injector}]},Y);function Y(e,t,r,n){this.handlingStrategy=this.createHandlingStrategy(n,e,r,t)}var X,Z="@farris/bef NG_VARIABLE",$=S.makePropDecorator(Z,function(e){return e}),ee=(x(te,X=S.Repository),Object.defineProperty(te.prototype,"restService",{get:function(){return this.dataService.restService},enumerable:!0,configurable:!0}),Object.defineProperty(te.prototype,"changeBuilder",{get:function(){return this.entityManager.changeBuilder},enumerable:!0,configurable:!0}),Object.defineProperty(te.prototype,"changeHandler",{get:function(){return this.entityManager.changeHandler},enumerable:!0,configurable:!0}),te.prototype.getList=function(){return this.dataService.getList(null,null,null,null)},te.prototype.getById=function(e){return this.dataService.getById(e)},te.prototype.updateById=function(e){return this.dataService.updateById(e)},te.prototype.create=function(e){return this.dataService.create(e)},te.prototype.append=function(e){return this.dataService.append(e)},te.prototype.appendByPath=function(e){return this.dataService.appendByPath(e)},te.prototype.removeById=function(e,t){return this.dataService.removeById(e,t)},te.prototype.removeByIds=function(e,t){return this.dataService.removeByIds(e,t)},te.prototype.removeByPath=function(e,t){return this.dataService.removeByPath(e,t)},te.prototype.updateChangesById=function(e){return this.dataService.updateChangesById(e)},te.prototype.updateChangesByPath=function(e,t){throw new Error("Not Implement")},te.prototype.updateAllChanges=function(){return this.dataService.updateAllChanges()},te.prototype.applyChanges=function(){return this.dataService.applyChanges()},te.prototype.updateDataAndVariableChanges=function(){var e={FilterConditions:[],SortConditions:[],IsUsePagination:!0,Pagination:{PageIndex:1,PageSize:1,PageCount:0,TotalCount:0}},t=JSON.stringify(e),r=this.restService.buildRequestInfo();if(this.isEmptyRequestInfo(r))return I.of(null);var n=this.restService.baseUri+"/extension/query?entityFilter="+t,o={body:r};return this.restService.invoke(n,"PUT",null,o,!1,!0,!0)},te.prototype.applyChangesById=function(e){return this.dataService.applyChangesById(e)},te.prototype.cancelChanges=function(e){return this.dataService.cancelChanges(e)},te.prototype.clearAllEntityChanges=function(){return this.entityManager.clearAllEntityChanges()},te.prototype.getDataChangeDetails=function(){return this.entityManager.buildAllEntityChangeDetails()},te.prototype.handleDataChangeDetails=function(e){return this.entityManager.handleDataChangeDetails(e)},te.prototype.getVariableChangeDetail=function(){return this.variableManager.buildChangeDetail()},te.prototype.handleVariableChangeDetail=function(e){this.variableManager.handleChangeDetail(e)},te.prototype.isEmptyRequestInfo=function(e){return!e||(!e.dataChange||e.dataChange.length<1)&&(!e.variableChange||Object.keys(e.variableChange).length<1)},te.decorators=[{type:i.Injectable}],te.ctorParameters=function(){return[]},te);function te(){return X.call(this)||this}var re,ne=(x(oe,re=S.EntityManager),oe.prototype.buildAllEntityChangeDetails=function(){var r=this,n=[];return this.entityCollection.getAllEntities().forEach(function(e){if(0!==e.changes.length){var t=r.changeBuilder.build(e.changes);t&&t.ChangeInfo&&t.ChangeInfo.DataId&&n.push(t)}}),n},oe.prototype.buildEntityChangeDetailById=function(e){var t=this.entityCollection.getEntityById(e);return 0===t.changes.length?null:this.changeBuilder.build(t.changes)},oe.prototype.handleDataChangeDetails=function(e){this.changeHandler.handle(this.entityType,this.entityCollection,e)},oe.prototype.reset=function(){this.entityCollection.clear()},oe);function oe(e){var t=re.call(this,e)||this;return t.changeBuilder=new c(t.entityCollection.entityType,t.entityCollection),t.changeHandler=new y,t}var ie=(ae.createEmpty=function(e,t){var r={ChangeType:e,ChangeInfo:{}};return t&&(r.ChangeInfo.DataId=t),r},ae.getChangeInfo=function(e){return!0===this.isChangeDetail(e)?e.ChangeInfo:e},ae.isChangeDetail=function(e){var t=Object.keys(e);return 2===t.length&&-1<t.indexOf("ChangeType")&&-1<t.indexOf("ChangeInfo")},ae);function ae(){}var se=(pe.prototype.handleChangeDetail=function(e){},pe.prototype.buildChangeDetail=function(){var i=this,a=ie.createEmpty(b.Modify);return this.ngVariableMap.forEach(function(e,t){var r=e.mapping,n=i.getValueFromUIState(r),o=i.innerValueMap.get(t);!1===i.isValueEqual(n,o)&&(i.innerValueMap.set(t,n),i.appendToChangeInfo(a,t,n))}),0===Object.keys(a.ChangeInfo).length?null:a},pe.prototype.reset=function(){this.innerValueMap.clear()},pe.prototype.appendToChangeInfo=function(e,t,r){if(!0===this.isUdtVariable(r)){var n=ie.createEmpty(b.Modify);n.ChangeInfo=r,e.ChangeInfo[t]=n}else e.ChangeInfo[t]=r},pe.prototype.getValueFromUIState=function(e){var t=this.getRootUIState(),r=e.split(".").reduce(function(e,t){return e?e[t]:null},t);return r instanceof Date?n.format(r,"yyyy-MM-dd HH:mm:ss"):r},pe.prototype.getRootUIState=function(){var e=this.appContext.frameContextManager.getRootFrameContext();if(this.injector){var t=this.injector.get(S.FrameContext,null);t&&(e=t.getVirtualRootFrameContext()||e)}if(e)return e.uiState},pe.prototype.isValueEqual=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},pe.prototype.isUdtVariable=function(e){return e&&e.constructor&&"[object Object]"===e.toString()&&e.constructor.prototype.hasOwnProperty("isPrototypeOf")},pe.prototype.setValueToUIState=function(e,t){},pe.ctorParameters=function(){return[{type:S.AppContext},{type:undefined},{type:i.Injector,decorators:[{type:i.Optional}]}]},pe);function pe(e,t,r){var n=this;this.appContext=e,this.ngVariables=t,this.injector=r,this.ngVariableMap=new Map,this.innerValueMap=new Map,Object.keys(t).forEach(function(e){n.ngVariableMap.set(e,t[e])})}var ue=(ce.buildRequestInfo=function(e){return{dataChange:e.entityManager.buildAllEntityChangeDetails(),variableChange:e.variableManager.buildChangeDetail()}},ce);function ce(){}var he=(ye.convertToPathArray=function(e,t){var n=this,r=S.BindingPathConverter.toBindingPathArray(e),o=[],i=t.list.currentItem;return o.push(i.primaryKeyValue),r.forEach(function(e){var t=S.PropertyUtil.getPropertyByName(i.properties,e);if(t.type!==S.BindingPropertyType.List)throw new Error(t.name+"不是子表对应的属性");var r=i[e];i=r.currentItem,o.push(n.trimTrailingS(e)),o.push(i.primaryKeyValue)}),o},ye.convertToPathUrl=function(e,t){var r=this.convertToPathArray(e,t);return r.pop(),"/"+r.join("/")},ye.convertToObjectCodes=function(e,t){for(var r=this.convertToPathArray(e,t),n=r.length,o=[],i=1;i<n;i+=2)o.push(r[i]);return o},ye.convertToDataIdsForUpdate=function(e,t){for(var r=this.convertToPathArray(e,t),n=r.length,o=[],i=0;i<n;i+=2)o.push(r[i]);return o},ye.convertToDataIdsForAdd=function(e,t){var r=this.convertToDataIdsForUpdate(e,t);return r.pop(),r},ye.convertPathToUrl=function(e){for(var t=e.split("/"),r=t.length-1;0<r;r--)t[r]&&t[r].endsWith("s")&&(t[r]=t[r].substr(0,t[r].length-1).toLowerCase());return t.join("/")},ye.trimTrailingS=function(e){return e.substr(0,e.length-1)},ye.convertPathsToNodeCodes=function(e){var t=[];return!e||e.length<1||e.filter(function(e){return!!e&&-1===e.indexOf(":")}).forEach(function(e){t.push(e)}),t},ye.convertPathsToIds=function(e){var t=[];return!e||e.length<1||e.filter(function(e){return!!e&&-1!==e.indexOf(":")}).forEach(function(e){t.push(e.split(":")[1])}),t},ye);function ye(){}var le=(Object.defineProperty(de.prototype,"restProxy",{get:function(){return this.repository.restService.proxy},enumerable:!0,configurable:!0}),de.prototype.getList=function(e,t,r,n){var p=this;0!==r&&(r=r||this.repository.entityCollection.pageSize,n=n||this.repository.entityCollection.pageIndex);var o=this.buildEntityFilter(e,t,r,n),i=this.restService.buildRequestInfo();return this.restProxy.extendQuery(o,i).pipe(l.map(function(e){var t=e.returnValue,r=t.result,n=[];r.forEach(function(e){var t=p.repository.buildEntity(e);C.appendInitialData(t,e),n.push(t)});var o=t.pagination;if(o&&0<Object.keys(o).length){var i=o.pageSize,a=o.pageIndex,s=o.totalCount;p.repository.entityCollection.updatePaginationInfoByPath("/",{pageIndex:a,pageSize:i,totalCount:s})}else p.repository.entityCollection.updatePaginationInfoByPath("/",{pageIndex:1,pageSize:0,totalCount:n.length});return p.repository.entityCollection.loadEntities(n),n}))},de.prototype.filter=function(e,t,r,n){var p=this;0!==r&&(r=r||this.repository.entityCollection.pageSize,n=n||this.repository.entityCollection.pageIndex);var o=this.buildEntityFilter(e,t,r,n),i=this.restService.buildRequestInfo();return this.restProxy.filter(o,i).pipe(l.map(function(e){var t=e.returnValue,r=t.result,n=[];r.forEach(function(e){var t=p.repository.buildEntity(e);C.appendInitialData(t,e),n.push(t)});var o=t.pagination;if(o&&0<Object.keys(o).length){var i=o.pageSize,a=o.pageIndex,s=o.totalCount;p.repository.entityCollection.updatePaginationInfoByPath("/",{pageIndex:a,pageSize:i,totalCount:s})}else p.repository.entityCollection.updatePaginationInfoByPath("/",{pageIndex:1,pageSize:0,totalCount:n.length});return p.repository.entityCollection.loadEntities(n),n}))},de.prototype.buildEntityFilter=function(e,t,r,n){return e||t||r||n?(e&&0<e.length&&(e[e.length-1].Relation=0),{FilterConditions:e,SortConditions:t,IsUsePagination:0!==r,Pagination:{PageIndex:n,PageSize:r,PageCount:0,TotalCount:0}}):null},de.prototype.getById=function(e){var n=this,t=this.restService.buildRequestInfo();return this.restService.extendRetrieve(e,t).pipe(l.map(function(e){var t=e.returnValue,r=n.repository.buildEntity(t);return n.repository.entityCollection.loadEntities([r]),r}))},de.prototype.getPagedById=function(o){var i=this,e=this.restService.buildRequestInfo(),t=this.repository.entityCollection.getPaginationConfigByPath("/"),r=this.buildChildPagination(t),n=this.buildRetrieveParam(r);return this.restService.serviceRetrieve(o,n,e).pipe(l.map(function(e){var t=e.dataResult,r=e.paginations;i.updatePagination(r);var n=i.repository.entityCollection.getEntityById(o);return i.reloadEntityData(n,t),n}))},de.prototype.queryChild=function(s,e,t,r,n){var p=this,o=this.restService.buildRequestInfo(),u=he.convertPathsToNodeCodes(s),i=u.map(function(e){return e.substring(0,e.length-1)}),a=he.convertPathsToIds(s),c=B({nodeCodes:i,ids:a,pagination:{pageIndex:e,pageSize:t}},o),h=u[u.length-1];return h=h.substring(0,h.length-1),this.restService.queryChild(c).pipe(l.map(function(e){console.log(e);var t=e.returnValue;if(!t)return null;var r=t.result,n=void 0===r?[]:r,o=t.pagination,i=void 0===o?{}:o,a=[];n.forEach(function(e){var t=new(S.FieldMetadataUtil.getNgList(p.repository.entityType)[u[u.length-1]].type)(e);C.appendInitialData(t,e),a.push(t)}),u=u.map(function(e){return e.charAt(0).toLocaleLowerCase()+e.substr(1)}),p.repository.entityCollection.resetEntities(s,a),p.repository.entityCollection.setPaginationConfigByPath("/"+h,i)}))},de.prototype.buildChildPagination=function(r){var n={};return Object.keys(r).forEach(function(e){var t=r[e];"object"==typeof t&&(n[e]=t)}),n},de.prototype.updatePagination=function(t){var r=this;t&&Object.keys(t).forEach(function(e){r.repository.entityCollection.setPaginationConfigByPath("/"+e,t[e])})},de.prototype.buildRetrieveParam=function(n){var e={};if(n&&0<Object.keys(n).length){var o=[];Object.keys(n).forEach(function(e){var t=n[e],r={};r[e]={pagination:{pageSize:t.pageSize||0,pageIndex:1}},o.push(r)}),e.filters=o}return e},de.prototype.editById=function(n){var o=this;if(!this.repository.entityCollection.getEntityById(n))return I.of(null);var e=ue.buildRequestInfo(this.repository);return this.restProxy.edit(n,e).pipe(l.map(function(e){var t=e.returnValue.data,r=o.repository.entityCollection.getEntityById(n);return r&&t&&o.reloadEntityData(r,t),r}))},de.prototype.updateById=function(n){var o=this;if(!this.repository.entityCollection.getEntityById(n))return I.of(null);var e=this.restService.buildRequestInfo();return this.restService.extendRetrieve(n,e).pipe(l.map(function(e){var t=e.returnValue,r=o.repository.entityCollection.getEntityById(n);return o.reloadEntityData(r,t),r}))},de.prototype.reloadEntityData=function(e,t){e&&(this.appContext.changeDetectionController.detach(),e.load(t),e.changes.splice(0,e.changes.length),this.appContext.changeDetectionController.reattach())},de.prototype.create=function(e){var n=this,t=this.restService.buildRequestInfo();return this.restService.create(e,t).pipe(l.map(function(e){var t=e.returnValue,r=n.repository.buildEntity(t);return C.appendInitialData(r,t),n.repository.entityCollection.loadEntities([r]),r}))},de.prototype.append=function(e){var n=this,t=this.restService.buildRequestInfo();return this.restService.create(e,t).pipe(l.map(function(e){var t=e.returnValue,r=n.repository.buildEntity(t);return n.repository.entityCollection.addEntity(r),r}))},de.prototype.insert=function(n,e){var o=this,t=this.buildRequestInfo();return this.restProxy.create(e,t).pipe(l.map(function(e){var t=e.returnValue,r=o.repository.buildEntity(t);return o.repository.entityCollection.insertEntity(r,n),r}))},de.prototype.appendByPath=function(r){var n=this,e=this.restService.buildRequestInfo();return this.restService.createByPath(r,e).pipe(l.map(function(e){var t=e.returnValue;return n.repository.entityManager.appendEntityByPath(r,t,t)}))},de.prototype.insertByPath=function(r,n){var o=this,e=this.buildRequestInfo();return this.restProxy.createByPath(r,e).pipe(l.map(function(e){var t=e.returnValue;return o.repository.entityManager.insertEntityByPath(r,t,t,n)}))},de.prototype.removeById=function(e,t){var r=this;t=t===undefined||t;var n=ue.buildRequestInfo(this.repository);return t?this.restProxy.deleteAndSave(e,n).pipe(l.switchMap(function(){return r.repository.entityCollection.removeEntityById(e),I.of(!0)})):this.restService.extendDelete(e,n).pipe(l.switchMap(function(){return r.repository.entityCollection.removeEntityById(e),r.repository.dataChangeHistory.addChange({dataId:e,changeType:S.DataChangeType.Delete}),I.of(!0)}))},de.prototype.removeAndSaveById=function(e){var t=this,r=ue.buildRequestInfo(this.repository);return this.restProxy.deleteAndSave(e,r).pipe(l.switchMap(function(){return t.repository.entityCollection.removeEntityById(e),I.of(!0)}))},de.prototype.removeByIds=function(r,e){var n=this;e=e===undefined||e;var t=this.restService.buildRequestInfo();return this.restService.extendBatchDelete(r,t).pipe(l.switchMap(function(){if(e)return n.applyChangesByIdArray(r).pipe(l.tap(function(e){e&&n.repository.entityCollection.removeEntities(function(e){return n.checkEntityValueExists(e,r)})}));if(n.repository.entityCollection.removeEntities(function(e){return n.checkEntityValueExists(e,r)}),r&&0<r.length){var t=[];r.forEach(function(e){t.push({dataId:e,changeType:S.DataChangeType.Delete})}),n.repository.dataChangeHistory.addChanges(t)}return I.of(!0)}))},de.prototype.checkEntityValueExists=function(e,t){for(var r=!1,n=0;n<t.length;n++)if(e.primaryValue===t[n]){r=!0;break}return r},de.prototype.removeByPath=function(e,t){var r=this,n=this.restService.buildRequestInfo();return this.restService.extendDeletByPath(e,t,n).pipe(l.map(function(){return r.repository.entityManager.removeEntityByPath(e,t),r.repository.dataChangeHistory.addChange({fpath:e,dataId:t,changeType:S.DataChangeType.Delete}),!0}))},de.prototype.batchRemoveByPath=function(t,r){var n=this,e=this.restService.buildRequestInfo();return this.restService.batchDeleteByPath(t,r,e).pipe(l.map(function(){var e=r.split(",");return 0<e.length&&e.forEach(function(e){n.repository.entityManager.removeEntityByPath(t,e),n.repository.dataChangeHistory.addChange({fPath:t,dataId:e,changeType:S.DataChangeType.Delete})}),!0}))},de.prototype.updateChangesById=function(e){var t=this,r=this.repository.entityCollection.getEntityById(e);if(!r.changes)return I.of(!0);if(0===r.changes.length)return I.of(!0);var n=this.repository.entityManager.buildEntityChangeDetailById(e),o=this.restService.buildRequestInfo();return this.restService.update(n,o).pipe(l.tap(function(){t.repository.entityManager.clearEntityChangesById(e)}),l.map(function(){return!0}))},de.prototype.updateChangesByPath=function(e,t){throw new Error("Not Implement")},de.prototype.updateAllChanges=function(){var r=this,n=[],e=this.repository.entityCollection.toArray();return 0===e.length?I.of(!0):(e.forEach(function(e){var t=r.updateChangesById(e.primaryValue);n.push(t)}),I.zip.apply(void 0,D(n)).pipe(l.map(function(){return!0})))},de.prototype.applyChanges=function(){var e=this,t=this.restService.buildRequestInfo();return this.restService.save(t).pipe(l.tap(function(){e.repository.entityManager.clearAllEntityChanges(),e.repository.dataChangeHistory.clear()}),l.map(function(){return!0}))},de.prototype.applyChangesByIdArray=function(e){var t=this,r=this.restService.buildRequestInfo();return this.restService.save(r).pipe(l.tap(function(){t.repository.entityManager.clearEntityChangesByArray(e),t.repository.dataChangeHistory.clearByIds(e)}),l.map(function(){return!0}))},de.prototype.applyChangesById=function(e){var t=this,r=this.restService.buildRequestInfo();return this.restService.save(r).pipe(l.tap(function(){t.repository.entityManager.clearEntityChangesById(e),t.repository.dataChangeHistory.clearByIds([e])}),l.map(function(){return!0}))},de.prototype.cancelChanges=function(e){var t=this;return this.restService.cancel(e).pipe(l.tap(function(){t.repository.entityManager.clearAllEntityChanges(),t.repository.dataChangeHistory.clear()}),l.map(function(){return!0}))},de.prototype.batchAppendByPath=function(o,e){var i=this,t=this.buildRequestInfo();return this.restProxy.batchAppendByPath(o,e,t).pipe(l.map(function(e){var t=e.returnValue,r=i.repository.entityManager.createEntitiesByPath(o,t),n=o.split("/").filter(function(e){return e});return i.repository.entityManager.appendEntitiesByPath(n,r),r}))},de.prototype.buildRequestInfo=function(){return{dataChange:this.repository.entityManager.buildAllEntityChangeDetails(),variableChange:this.repository.variableManager.buildChangeDetail()}},de);function de(e,t){this.injector=e,this.repository=t;var r=e.get(f),n=e.get(a.HttpClient),o=e.get(p)+"/"+this.repository.apiUri,i=e.get(S.EventBus);this.restService=new qe(n,o,r,this.repository,i),this.appContext=e.get(S.AppContext)}var fe=(ge.handleMessage=function(e,t){var r={ns:t.get(S.NAMESPACE,null),appContext:t.get(S.AppContext,null)},n=this.buildBackEndMessages(e),o=new S.BackEndMessage.Message(n,r),i=t.get(S.BACK_END_MESSAGE_HANDLER_TOKEN,null);i&&i.handle(o)},ge.isBackEndMessageHandlerExist=function(e){return!!e.get(S.BACK_END_MESSAGE_HANDLER_TOKEN,null)},ge.getFormlessMessages=function(e){return(this.buildBackEndMessages(e)||[]).filter(function(e){return!e.location||!e.location.columns||e.location.columns.length<1||!e.location.nodeCode})},ge.buildBackEndMessages=function(e){if(!e||e.length<1||!Array.isArray(e))return null;var r=[];return e.forEach(function(e){var t={level:e.level,message:e.message};e.hasOwnProperty("location")&&e.location&&(t.location={nodeCode:e.location.nodeCode,rows:e.location.dataIds,columns:e.location.columnNames}),r.push(t)}),r},ge);function ge(){}var ve=(Ie.prototype.onResponse=function(e,t){e&&e.innerDataChange&&!0!==t&&this.context.handleDataChangeDetails(e.innerDataChange);var r=A.parseBackEndMessage(e);return fe.handleMessage(r,this.context.getInjector()),this.context.clearAllEntityChanges(),e&&e.hasOwnProperty("returnValue")?e.returnValue:e},Ie.prototype.onError=function(e,t,r){var n,o,i=this.context.appContext.getFormAppContext(),a=i.ApplicationId,s=window.DEVKIT_LOADING_SERVICE,p=A.parseBackEndError(e);if(fe.handleMessage(p,this.context.getInjector()),s&&s instanceof Array&&0<s.length)try{for(var u=P(s),c=u.next();!c.done;c=u.next()){var h=c.value;"function"==typeof h.clearAll&&h.clearAll()}}catch(v){n={error:v}}finally{try{c&&!c.done&&(o=u["return"])&&o.call(u)}finally{if(n)throw n.error}}if(t)return I.throwError(e);var y=this.context.restService.eventBus,l=window[a]||{};if(!y||!l.isExceptionHandlerExist)return I.throwError(e);if(A.isReported401Error(e))return I.throwError(e);var d=A.parseBackEndError(e),f=fe.getFormlessMessages(d),g=f&&0<f.length||!1;return e&&e.error&&e.error.extensionMessage&&fe.isBackEndMessageHandlerExist(this.context.getInjector())&&!g||y.post("Exception","","onException",e,i),r?I.of(null):I.EMPTY},Ie.prototype.extendHeaders=function(t,r){var n=this;return this.context.restService.sessionService.getBeSessionId().pipe(l.switchMap(function(e){return t=n.context.restService.sessionService.extendRequestHeaders(t,r),I.of(t)}))},Ie.prototype.extendUrl=function(e,t){if(!t)return e;for(var r in t)if(t.hasOwnProperty(r)){var n=JSON.stringify(t[r]);e=-1===e.indexOf("?")?e+"?"+r+"="+n:e+"&"+r+"="+n}return e},Ie.prototype.extendBody=function(t){var r=this;return!t||"object"!=typeof t||Object.keys(t).length<1||(Object.keys(t).forEach(function(e){"requestInfo"===e&&(t.requestInfo=r.context.restService.buildRequestInfo())}),1===Object.keys(t).length&&(t=Object.values(t)[0])),t},Ie.prototype.parseHeaders=function(e){var t="BEFSessionID";e.headers&&e.headers.has(t)&&this.context.restService.sessionService.setBeSessionId(e.headers.get(t))},Ie);function Ie(e){this.context=e}var Se,be=(x(Ce,Se=ee),Object.defineProperty(Ce.prototype,"proxy",{get:function(){return this.befProxy},set:function(e){this.befProxy=e,this.befProxy.setProxyExtend(new ve(this))},enumerable:!0,configurable:!0}),Ce.prototype.getEntities=function(e,t,r,n){return this.dataService.getList(e,t,r,n)},Ce.prototype.filter=function(e,t,r,n){return void 0===e&&(e=[]),void 0===t&&(t=[]),this.dataService.filter(e,t,r,n)},Ce.prototype.getPagedById=function(e){return this.dataService.getPagedById(e)},Ce.prototype.queryChild=function(e,t,r,n,o){return this.dataService.queryChild(e,t,r,n,o)},Ce.prototype.getEntityById=function(e){return this.dataService.getById(e)},Ce.prototype.updateEntityById=function(e){return this.dataService.updateById(e)},Ce.prototype.editEntityById=function(e){return this.dataService.editById(e)},Ce.prototype.createEntity=function(e){return this.dataService.create(e)},Ce.prototype.appendEntity=function(e){return this.dataService.append(e)},Ce.prototype.insert=function(e,t){return this.dataService.insert(e,t)},Ce.prototype.insertByPath=function(e,t){return this.dataService.insertByPath(e,t)},Ce.prototype.appendEntityByPath=function(e){return this.dataService.appendByPath(e)},Ce.prototype.removeEntityById=function(e,t){return this.dataService.removeById(e,t)},Ce.prototype.removeEntityAndSaveById=function(e){return this.dataService.removeAndSaveById(e)},Ce.prototype.removeEntityByPath=function(e,t){return this.dataService.removeByPath(e,t)},Ce.prototype.batchRemoveByPath=function(e,t){return this.dataService.batchRemoveByPath(e,t)},Ce.prototype.saveEntityById=function(e){return this.dataService.applyChangesById(e)},Ce.prototype.saveEntities=function(){return this.dataService.applyChanges()},Ce.prototype.cancelEntityChanges=function(){return this.dataService.cancelChanges()},Ce.prototype.batchAppendByPath=function(e,t){return this.dataService.batchAppendByPath(e,t)},Ce.prototype.reset=function(){this.entityManager.reset(),this.variableManager.reset(),this.restService.sessionService.clearBeSessionId()},Ce.prototype.getInjector=function(){return this.injector},Ce.decorators=[{type:i.Injectable}],Ce.ctorParameters=function(){return[{type:i.Injector}]},Ce);function Ce(e){var t=Se.call(this)||this;t.injector=e,t.entityManager=new ne(t.entityCollection),t.appContext=t.injector.get(S.AppContext);var r=S.MetadataUtil.getPropsMetadatasByName(t.constructor,Z);return t.variableManager=new se(t.appContext,r,t.injector),t.dataService=new le(t.injector,t),t.serverUri=e.get(p),t}var me=(Ee.prototype.extendUri=function(e){return this.serverUri+"/"+e},Ee.decorators=[{type:i.Injectable}],Ee.ctorParameters=function(){return[{type:String,decorators:[{type:i.Inject,args:[p]}]}]},Ee);function Ee(e){this.serverUri=e}var xe="DELETE",Be="PUT",Pe="POST",Re=(De.prototype.setBaseUri=function(e){this.baseUri=e},De.prototype.setProxyExtend=function(e){this.proxyExtend=e},De.prototype.query=function(e){var t=this.baseUri;return e&&(t=t+"?entityFilter="+JSON.stringify(e)),this.request(t,"GET")},De.prototype.extendQuery=function(e,t){var r=this.baseUri+"/extension/query";if(e){var n=JSON.stringify(e);r=r+"?entityFilter="+(n=S.encodeUrl(n))}var o=t,i=this.addBodyToOptions({},o);return this.request(r,Be,null,i,!1)},De.prototype.filter=function(e,t){var r=this.baseUri+"/extension/filter",n={requestInfo:t};e&&(n={entityFilter:e,requestInfo:t});var o=this.addBodyToOptions({},n);return this.request(r,Pe,null,o,!1)},De.prototype.retrieve=function(e){var t=this.baseUri+"/"+e;return this.request(t,"GET")},De.prototype.serviceRetrieve=function(e,t,r){var n=this.baseUri+"/service/retrieve/"+e,o={body:{retrieveParam:t,requestInfo:r}};return this.request(n,Be,null,o)},De.prototype.queryChild=function(e){var t=this.baseUri+"/service/querychild",r={body:e};return this.request(t,Be,null,r)},De.prototype.extendRetrieve=function(e,t){var r=this.baseUri+"/extension/retrieve/"+e,n=t,o=this.addBodyToOptions({},n);return this.request(r,Be,null,o)},De.prototype.edit=function(e,t){var r=this.baseUri+"/service/edit/"+e,n=t,o=this.addBodyToOptions({},n);return this.request(r,Be,null,o)},De.prototype.create=function(e,t){var r={defaultValue:e,requestInfo:t},n=this.addBodyToOptions({},r);return this.request(this.baseUri,Pe,null,n)},De.prototype.createByPath=function(e,t){var r=he.convertPathToUrl(e),n=""+this.baseUri+r,o=t,i=this.addBodyToOptions({},o);return this.request(n,Pe,null,i)},De.prototype.update=function(e,t){var r={changeDetail:e,requestInfo:t},n=this.addBodyToOptions({},r);return this.request(this.baseUri,"PATCH",null,n)},De.prototype.save=function(e){var t=e,r=this.addBodyToOptions({},t);return this.request(this.baseUri,Be,null,r)},De.prototype["delete"]=function(e){var t=this.baseUri+"/"+e;return this.request(t,xe)},De.prototype.deleteAndSave=function(e,t){var r=this.baseUri+"/service/delete/"+e,n=t,o=this.addBodyToOptions({},n);return this.request(r,Be,null,o)},De.prototype.extendDelete=function(e,t){var r=this.baseUri+"/extension/delete/"+e,n=t,o=this.addBodyToOptions({},n);return this.request(r,Be,null,o)},De.prototype.deletByPath=function(e,t){var r=he.convertPathToUrl(e),n=""+this.baseUri+r+"/"+t;return this.request(n,xe)},De.prototype.extendDeletByPath=function(e,t,r){var n=he.convertPathToUrl(e),o=this.baseUri+"/extension"+n+"/"+t,i=r,a=this.addBodyToOptions({},i);return this.request(o,Be,null,a)},De.prototype.batchDeleteByPath=function(e,t,r){var n=he.convertPathToUrl(e);if(n.split("/").length<3)throw Error("根据path删除实体数据出错了。传入的path["+e+"]格式不对");var o=this.baseUri+"/extension"+n+"/batch",i={ids:t.split(","),requestInfo:r},a=this.addBodyToOptions({},i);return this.request(o,Be,null,a)},De.prototype.batchDelete=function(e){var t={ids:e.join(",")};return this.request(this.baseUri,xe,t)},De.prototype.extendBatchDelete=function(e,t){var r=this.baseUri+"/extension/batchdelete",n={ids:e.join(",")},o=t,i=this.addBodyToOptions({},o);return this.request(r,Be,n,i)},De.prototype.cancel=function(e){var t=this.baseUri+"/service/cancel";return this.request(t,Pe,null,null,!1,!1,!1,e)},De.prototype.batchAppendByPath=function(e,t,r){var n=he.convertPathToUrl(e),o=""+this.baseUri+n+"/batch",i={requestInfo:r,retrieveDefaultParam:{defaultValues:t}},a=this.addBodyToOptions({},i);return this.request(o,Pe,null,a)},De.prototype.request=function(t,r,e,n,o,i,a,s){var p=this;n=n||{},void 0!==o&&"boolean"==typeof o||(o=!1),void 0!==i&&"boolean"==typeof i||(i=!1),e&&(n.params=e),n.headers=q.convertToHeaders(n.headers);var u=this.hasRequestInfo(n);return n&&n.body&&n.body.hasOwnProperty("RequestInfo")&&(n.body.requestInfo=n.body.RequestInfo,delete n.body.RequestInfo),this.proxyExtend.extendHeaders(n.headers,s).pipe(l.switchMap(function(e){return n.headers=q.toJson(e),n.observe="response",p.httpService.request(r,t,n)}),l.tap(function(e){return p.proxyExtend.parseHeaders(e)}),l.map(function(e){return e.body}),l.map(function(e){return u?(p.proxyExtend.onResponse(e,a),e):p.unWrapResponseInfo(e)}),l.catchError(function(e){return p.proxyExtend.onError(e,o,i)}))},De.prototype.invoke=function(t,r,n){var o=this;return n.params&&(t=this.proxyExtend.extendUrl(t,n.params),n.params=null),n.body&&(n.body=this.proxyExtend.extendBody(n.body)),n.headers=q.convertToHeaders(n.headers),this.proxyExtend.extendHeaders(n.headers).pipe(l.switchMap(function(e){return n.headers=q.toJson(e),n.observe="response",o.httpService.request(r,t,n).pipe(l.tap(function(e){return o.proxyExtend.parseHeaders(e)}),l.map(function(e){return e.body}),l.map(function(e){return o.proxyExtend.onResponse(e)}),l.catchError(function(e){return o.proxyExtend.onError(e,!1,!1)}))}))},De.prototype.addBodyToOptions=function(e,t){return e=e||{},Object.assign(e,{body:t})},De.prototype.buildParams=function(e){return w.buildParams(e)},De.prototype.hasRequestInfo=function(e){return T.hasRequestInfo(e)||T.hasRequestInfoWithR(e)},De.prototype.unWrapResponseInfo=function(e){return A.unWrapResponseInfo(e)},De.decorators=[{type:i.Injectable}],De.ctorParameters=function(){return[{type:a.HttpClient},{type:me}]},De);function De(e,t){this.httpClient=e,this.uriService=t,this.httpService=new H(this.httpClient)}var qe=(Object.defineProperty(Oe.prototype,"proxy",{get:function(){return this.repository.proxy?this.repository.proxy:this.createBefProxy()},enumerable:!0,configurable:!0}),Oe.prototype.createBefProxy=function(){var e=this.repository.serverUri,t=new me(e),r=new Re(this.httpClient,t);r.setBaseUri(this.baseUri);var n=new ve(this.repository);return r.setProxyExtend(n),r},Oe.prototype.query=function(e){return this.proxy.query(e)},Oe.prototype.extendQuery=function(e,t){return this.proxy.extendQuery(e,t)},Oe.prototype.serviceRetrieve=function(e,t,r){return this.proxy.serviceRetrieve(e,t,r)},Oe.prototype.queryChild=function(e){return this.proxy.queryChild(e)},Oe.prototype.retrieve=function(e){return this.proxy.retrieve(e)},Oe.prototype.extendRetrieve=function(e,t){return this.proxy.extendRetrieve(e,t)},Oe.prototype.create=function(e,t){return this.proxy.create(e,t)},Oe.prototype.createByPath=function(e,t){return this.proxy.createByPath(e,t)},Oe.prototype.update=function(e,t){return this.proxy.update(e,t)},Oe.prototype.save=function(e){return this.proxy.save(e)},Oe.prototype["delete"]=function(e){return this.proxy["delete"](e)},Oe.prototype.extendDelete=function(e,t){return this.proxy.extendDelete(e,t)},Oe.prototype.deletByPath=function(e,t){return this.proxy.deletByPath(e,t)},Oe.prototype.extendDeletByPath=function(e,t,r){return this.proxy.extendDeletByPath(e,t,r)},Oe.prototype.batchDeleteByPath=function(e,t,r){return this.proxy.batchDeleteByPath(e,t,r)},Oe.prototype.batchDelete=function(e){return this.proxy.batchDelete(e)},Oe.prototype.extendBatchDelete=function(e,t){return this.proxy.extendBatchDelete(e,t)},Oe.prototype.cancel=function(e){return this.proxy.cancel(e)},Oe.prototype.request=function(e,t,r,n,o,i,a){return this.innerRequest(e,t,r,n,o,i,a,!1)},Oe.prototype.invoke=function(e,t,r,n,o,i,a){if(n&&n.body&&n.body.RequestInfo)throw new Error("请使用requestInfo提交变更");return this.innerRequest(e,t,r,n,o,i,a,!0)},Oe.prototype.innerRequest=function(t,r,e,n,o,i,a,s){var p=this;n=n||{};var u="BEFSessionID";void 0!==o&&"boolean"==typeof o||(o=!1),void 0!==i&&"boolean"==typeof i||(i=!1),void 0!==s&&"boolean"==typeof s||(s=!1);var c=s?this.existRequestInfo:this.hasRequestInfo;e&&(n.params=e);var h=c(n),y=q.convertToHeaders(n.headers);return this.sessionService.getBeSessionId().pipe(l.switchMap(function(e){return y=p.sessionService.extendRequestHeaders(y),n.headers=q.toJson(y),n.observe="response",p.httpService.request(r,t,n)}),l.tap(function(e){e.headers&&e.headers.has(u)&&p.sessionService.setBeSessionId(e.headers.get(u))}),l.map(function(e){return e.body}),l.map(function(e){var t=A.parseBackEndMessage(e);return fe.handleMessage(t,p.repository.getInjector()),p.handleReponseInfo(e,h,a)}),l.catchError(function(e){var t=A.parseBackEndError(e);return fe.handleMessage(t,p.repository.getInjector()),p.handleErrors(e,o,i)}))},Oe.prototype.handleReponseInfo=function(e,t,r){return t?(e&&e.innerDataChange&&!0!==r&&this.repository.handleDataChangeDetails(e.innerDataChange),this.repository.clearAllEntityChanges(),e):this.unWrapResponseInfo(e)},Oe.prototype.handleErrors=function(e,t,r){if(this.clearLoading(),t)return I.throwError(e);var n=this.repository.appContext.getFormAppContext(),o=n.ApplicationId,i=!!(window[o]||{}).isExceptionHandlerExist;if(this.eventBus&&i){if(A.isReported401Error(e))return I.throwError(e);var a=A.parseBackEndError(e),s=fe.getFormlessMessages(a),p=s&&0<s.length||!1;return e&&e.error&&e.error.extensionMessage&&fe.isBackEndMessageHandlerExist(this.repository.getInjector())&&!p||this.eventBus.post("Exception","","onException",e,n),r?I.of(null):I.EMPTY}return I.throwError(e)},Oe.prototype.clearLoading=function(){var e,t;if(!1!==(window.DEVKIT_LOADING_SERVICE&&window.DEVKIT_LOADING_SERVICE instanceof Array&&0<window.DEVKIT_LOADING_SERVICE.length||!1)){var r=window.DEVKIT_LOADING_SERVICE;try{for(var n=P(r),o=n.next();!o.done;o=n.next()){var i=o.value;"function"==typeof i.clearAll&&i.clearAll()}}catch(a){e={error:a}}finally{try{o&&!o.done&&(t=n["return"])&&t.call(n)}finally{if(e)throw e.error}}}},Oe.prototype.unWrapResponseInfo=function(e){return A.unWrapResponseInfo(e)},Oe.prototype.hasRequestInfo=function(e){return T.hasRequestInfoWithR(e)},Oe.prototype.existRequestInfo=function(e){return T.hasRequestInfo(e)},Oe.prototype.buildParams=function(e){return w.buildParams(e)},Oe.prototype.buildBodyWithRequestInfo=function(e){return T.buildBodyWithRequestInfo(e,this.repository)},Oe.prototype.buildRequestInfo=function(){return T.buildRequestInfo(this.repository)},Oe.decorators=[{type:i.Injectable}],Oe.ctorParameters=function(){return[{type:a.HttpClient},{type:String},{type:f},{type:be},{type:S.EventBus}]},Oe);function Oe(e,t,r,n,o){this.httpClient=e,this.httpService=new H(this.httpClient),this.baseUri=t;var i=n.getInjector();this.sessionService=new Q(e,t,r,i),this.repository=n,this.eventBus=o}var we=(Me.prototype.getData=function(e,t){var r=e.split(".")[0],n=e.split(".")[1];return t=t||{},!0===this.ifEnableExtendLoadMethod(e)?this.extendGetHelpData(n,r,t):this.getHelpData(n,r,t)},Me.prototype.saveUserSettings=function(e){return this.befRepository.restService.invoke("/api/runtime/bcc/v1.0/datagrid/settings","POST",null,{body:e},!1)},Me.prototype.getUserSettings=function(e){var t="/api/runtime/bcc/v1.0/datagrid/settings/"+e;return this.befRepository.restService.invoke(t,"GET",null,null,!1)},Me.prototype.ifEnableExtendLoadMethod=function(e){if(this.context&&this.context.hasOwnProperty("enableExtendLoadMethod"))return this.context.enableExtendLoadMethod;var t=!1;if(this.frameContext){var r=e+"@"+this.frameContext.repository.apiUri;t=this.frameContext.getParam(r)}return t},Me.prototype.getHelpData=function(e,t,r){var n=this,o=this.befRepository.restService.baseUri+"/elementhelps/"+e;return this.befRepository.updateDataAndVariableChanges().pipe(l.switchMap(function(){return n.befRepository.restService.invoke(o,"GET",{nodeCode:t,queryParam:JSON.stringify(r)},null,!1)}))},Me.prototype.extendGetHelpData=function(e,t,r){var n=this.befRepository.restService.baseUri+"/extension/elementhelps",o={body:{labelId:e,nodeCode:t,queryParam:r,requestInfo:this.befRepository.restService.buildRequestInfo()}};return this.befRepository.restService.invoke(n,"PUT",null,o,!1,!0,!0).pipe(l.map(function(e){return e&&e.returnValue||null}))},Me.prototype.convert2TreeDataWithPathCode=function(n,t,r){var o=this;void 0===t&&(t=1),void 0===r&&(r="01");var e=n.filter(function(e){return e.layer===t&&e.pathcode===r});if(1<t&&(e=n.filter(function(e){return e.layer===t&&e.pathcode.substr(0,2*(t-1))===r})),e.length){var i=e.map(function(e){return{data:e,children:[]}});return i.forEach(function(e){var t,r=o.convert2TreeDataWithPathCode(n,e.data.layer+1,e.data.pathcode);(t=e.children).push.apply(t,D(r))}),i}},Me.decorators=[{type:i.Injectable}],Me.ctorParameters=function(){return[{type:S.Repository},{type:S.FrameContext,decorators:[{type:i.Optional}]}]},Me);function Me(e,t){this.frameContext=t,this.befRepository=e}var Te=(je.prototype.createSession=function(e){var t=this.sessionService.getUserSessionId();return t?this.befRepository.restService.invoke(e,"POST",null,{headers:new a.HttpHeaders({SessionId:t}),responseType:"text"},!1).pipe(l.switchMap(function(e){return I.of({status:!0,payload:e})})):I.of({status:!1,payload:"用户登录信息已过期,请重新登录"})},je.prototype.getData=function(e,t){var r=this,n={};t.condition&&(n=t.condition),"/"===e[e.length-1]&&(e=e.substr(0,e.length-1));var o=e+"/extension/query",i=e+"/service/createsession";if(n){var a=JSON.stringify(n);o=o+"?entityFilter="+a}return this.createSession(i).pipe(l.switchMap(function(e){if(e.status)return e.payload,r.befRepository.restService.invoke(o,"PUT",null,{},!1);throw new Error(e.payload)}),s.map(function(e){var t=e.returnValue,r={items:t.result};return t.pagination?Object.assign({},r,{total:t.pagination.totalCount,pageInfo:{pageSize:t.pagination.pageSize,pageIndex:t.pagination.pageIndex,enablePager:!0}}):r}))},je.decorators=[{type:i.Injectable}],je.ctorParameters=function(){return[{type:S.Repository},{type:f}]},je);function je(e,t){this.sessionService=t,this.befRepository=e}var Ae=(Ue.isExistUnsaveData=function(e){var t=!1;if(!e||!e.entityCollection)throw"Current Object is null or it's entityCollection is null.";var r=e.entityCollection.toArray();if(e.dataChangeHistory.isChanged())return!0;for(var n=0;n<r.length;n++)if(0<r[n].changes.length){t=!0;break}return t},Ue);function Ue(){}var He=(ke.prototype.toString=function(){return this.url},ke);function ke(e,t){void 0===t&&(t=null);var r=this;this.url=e,this.paths=t,this.paths&&Object.keys(t).forEach(function(e){-1!==r.url.indexOf("{"+e+"}")&&(r.url=r.url.replace("{"+e+"}",""+t[e]))})}var Ve=(Fe.prototype.getData=function(e,t,r){void 0===t&&(t={}),void 0===r&&(r="GET");var n=new a.HttpHeaders({"content-type":"application/json"});return"get"!==r.toLowerCase()?this.befRest.restService.invoke(e,r,null,{headers:n,body:t}):this.befRest.restService.invoke(e,r,t,{headers:n})},Fe.decorators=[{type:i.Injectable}],Fe.ctorParameters=function(){return[{type:S.Repository}]},Fe);function Fe(e){this.befRest=e}var Ne=(_e.prototype.getData=function(e,t,r){void 0===t&&(t={}),void 0===r&&(r="GET");var n=new a.HttpHeaders({"content-type":"application/json"});return this.befRest.restService.invoke(e,r,t,{headers:n})},_e.decorators=[{type:i.Injectable}],_e.ctorParameters=function(){return[{type:S.Repository}]},_e);function _e(e){this.befRest=e}e.VERSION="ver.",e.ChangeDetailType=b,e.BE_SERVER_URI_TOKEN=p,e.BE_SESSION_HANDLING_STRATEGY_TOKEN=u,e.BefChangeBuilder=c,e.BefChangeHandler=y,e.BefSessionService=Q,e.BefRestService=qe,e.BefProxy=Re,e.BefLookupRestService=we,e.BefLookupDefaultService=Te,e.BefRepository=be,e.FrameworkSessionService=f,e.NG_VARIABLE=Z,e.NgVariable=$,e.BefRepositoryUtil=Ae,e.BefDataPathUtil=he,e.UriService=me,e.Uri=He,e.DefaultComboHttpService=Ve,e.DefaultDynamiControlGroupHttpService=Ne,e.ɵa=ee,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@ecp-caf/caf-common"),require("date-fns"),require("rxjs"),require("rxjs/operators"),require("rxjs/operators/map"),require("@angular/core"),require("@farris/devkit"),require("@angular/common/http")):"function"==typeof define&&define.amd?define("@farris/bef",["exports","@ecp-caf/caf-common","date-fns","rxjs","rxjs/operators","rxjs/operators/map","@angular/core","@farris/devkit","@angular/common/http"],t):t((e.farris=e.farris||{},e.farris.bef={}),e.cafCommon,e.dateFns,e.rxjs,e.rxjs.operators,e.rxjs["operators/map"],e.ng.core,e.devkit,e.ng.common.http)}(this,function(e,t,n,I,l,s,i,S,a){"use strict";var b=(r.Added="Added",r.Modify="Modify",r.Deleted="Deleted",r);function r(){}var p=new i.InjectionToken("@farris/be BE_SERVER_URL"),u=new i.InjectionToken("@farris/be BE_SESSION_HANDLING_STRATEGY_TOKEN"),C=(o.getPropInfo=function(e,t){var r,n,o,i=S.FieldMetadataUtil.getNgFields(e);Object.keys(i).forEach(function(e){e===t&&(r="NgField",n=null,o=i[e])});var a=S.FieldMetadataUtil.getNgObjects(e);Object.keys(a).forEach(function(e){e===t&&(r="NgObject",n=a[e].type,o=a[e])});var s=S.FieldMetadataUtil.getNgList(e);Object.keys(s).forEach(function(e){e===t&&(r="NgList",n=s[e].type,o=s[e])});var p=S.FieldMetadataUtil.getNgDynamic(e);return Object.keys(p).forEach(function(e){e===t&&(r="NgDynamic",n=p[e].type,o=p[e])}),{propType:r,propEntityType:n,propMetadata:o}},o.getPrimaryKey=function(e){var t=S.FieldMetadataUtil.getPrimaryFieldMetadata(e);return t?t.dataField:""},o.isObjectProp=function(e,t){var r=!1,n=S.FieldMetadataUtil.getNgObjects(e);return Object.keys(n).forEach(function(e){e===t&&(r=!0)}),r},o.isDynamicProp=function(e,t){var r=!1,n=S.FieldMetadataUtil.getNgDynamic(e);return Object.keys(n).forEach(function(e){e===t&&(r=!0)}),r},o.appendInitialData=function(e,t){var r=Object.assign({},t);delete r.id,delete r.parentID,e.initialData=r},o);function o(){}var c=(h.prototype.build=function(e){var t=this;return this.changeDetail={ChangeType:b.Modify,ChangeInfo:{DataId:""}},e.forEach(function(e){t.buildChangeDetail(e)}),this.changeDetail},h.prototype.buildChangeDetail=function(l){var d=l.path.concat();this.changeDetail.ChangeInfo.DataId||(this.changeDetail.ChangeInfo.DataId=d[0].split(":")[1]);for(var f=this.changeDetail,g=this.entityType,e=function(e){var t=v.getChangeInfo(f),r=d[e],n=C.getPropInfo(g,r),o=n.propType,i=n.propEntityType,a=n.propMetadata.dataField||r;if("NgField"===o){if(r===C.getPrimaryKey(g))return"continue";if(l.type!==S.ModifyType.ValueChange)throw Error("简单类型的属性上不支持ValueChange类型之外的变更");t[a]=l.value,f=null}else if("NgObject"===o)if(d[e+1].split(":")[1],d[e+1].split(":")[0]){var s=t[a],p=d.slice(0,e+1);s=(y=v.entityCollection.getEntityByPath(p))?y.toJSON(!0):{},t[a]=s,g=f=null}else c=(c=t[a])||{ChangeType:b.Modify,ChangeInfo:{}},t[a]=c,f=c,g=i;else if("NgList"===o){f.ChangeInfo[a]||(f.ChangeInfo[a]=[]);var u=f.ChangeInfo[a];if(e!==d.length-1){var c,h=d[e+1].split(":")[1];return(c=u.find(function(e){return e.ChangeInfo.DataId===h}))||(c=v.createEmptyChangeDetail(b.Modify,h),u.push(c)),f=c,g=i,"continue"}l.type===S.ModifyType.Add||l.type===S.ModifyType.Insert||(l.type,S.ModifyType.Remove),g=f=null}else if("NgDynamic"===o){p=d.slice(0,e+1);var y=v.entityCollection.getEntityByPath(p);t[a]={ChangeType:b.Modify,ChangeInfo:y?y.toJSON(!0):{}},g=f=null}},v=this,t=1;t<d.length&&f;t+=2)e(t)},h.prototype.getChangeInfo=function(e){return e.hasOwnProperty("ChangeInfo")?e.ChangeInfo:e},h.prototype.createEmptyChangeDetail=function(e,t){return{ChangeType:e,ChangeInfo:{DataId:t}}},h);function h(e,t){this.entityType=e,this.entityCollection=t}var y=(d.prototype.handle=function(e,t,r){this.handleChangeDetails(e,t,r)},d.prototype.handleChangeDetails=function(n,o,e){var i=this;e&&e.forEach(function(e){var t=e.ChangeInfo.dataId||e.ChangeInfo.DataId,r=i.getEntityById(o,t);r&&i.handleChangeDetail(n,r,e)})},d.prototype.handleChangeDetail=function(u,c,e){var h=this;if(e&&c&&e.ChangeType===b.Modify){var y=e.ChangeInfo;Object.keys(y).forEach(function(e){var t=C.getPropInfo(u,e),r=t.propType,n=t.propEntityType;if("NgField"===r)c[e]=y[e];else if("NgObject"===r){var o=c[e];if(o.primaryKey){var i=y[e];o.load(i)}else{var a=y[e];h.handleChangeDetail(n,o,a)}}else if("NgList"===r){var s=c[e],p=y[e];h.handleChangeDetails(n,s,p)}})}},d.prototype.getEntityById=function(e,t){return(e instanceof S.EntityCollection?e.getEntityById(t):e.get(t))||null},d);function d(){}var f=(g.prototype.getUserSessionId=function(){return this.sessionService.getUserSessionId()},g.prototype.getCurrentSessionId=function(e){var t;if(this.sessionService)if(e&&e.hasOwnProperty("tabId")){var r=e.tabId;t=this.sessionService.getCurrentSeesionId(r)}else t=this.sessionService.getCurrentSeesionId();return t=t||this.getUserSessionId()},g.decorators=[{type:i.Injectable}],g.ctorParameters=function(){return[{type:t.SessionService,decorators:[{type:i.Optional}]}]},g);function g(e){this.sessionService=e}var v=(m.prototype.getItem=function(e){return this.getAllBeSessions()[e]},m.prototype.setItem=function(e,t){var r=this.getAllBeSessions();r[e]=t,this.setAllBeSessions(r)},m.prototype.removeItem=function(e){var t=this.getAllBeSessions();t[e]&&delete t[e],this.setAllBeSessions(t)},m.prototype.clear=function(e,t){!0===this.isInFramework()?this.removeItemsByFrmSessionId(e):this.removeItem(t)},m.prototype.removeItemsByFrmSessionId=function(t){var r=this.getAllBeSessions();Object.keys(r).forEach(function(e){!0===e.startsWith(t)&&delete r[e]}),this.setAllBeSessions(r)},m.prototype.getAllBeSessions=function(){var e=window.sessionStorage.getItem(this.sessionStorageKey);return e?JSON.parse(e):{}},m.prototype.setAllBeSessions=function(e){var t=JSON.stringify(e);window.sessionStorage.setItem(this.sessionStorageKey,t)},m.prototype.isInFramework=function(){var e=window.location.hash;return!!e&&-1!==e.indexOf("tabId=")},m);function m(){this.sessionStorageKey="BE_SESSION_ID"}var E=function(e,t){return(E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function x(e,t){function r(){this.constructor=e}E(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var B=function(){return(B=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function P(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function R(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(n=i.next()).done;)a.push(n.value)}catch(s){o={error:s}}finally{try{n&&!n.done&&(r=i["return"])&&r.call(i)}finally{if(o)throw o.error}}return a}function D(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(R(arguments[t]));return e}var q=(O.convertToHeaders=function(t){if(1==(t=t||new a.HttpHeaders)instanceof a.HttpHeaders)return t;if(0<Object.keys(t).length){var r=new a.HttpHeaders;Object.keys(t).forEach(function(e){r=r.append(e,t[e])}),t=r}else t=new a.HttpHeaders;return t},O.appendSessionId=function(e,t){return e.append("SessionId",t)},O.appendCafRuntimeCommonVariable=function(e,t){return e.append("X-CAF-Runtime-CommonVariable",t)},O.appendCafRuntimeContext=function(e,t){return e.append("X-CAF-Runtime-Context",t)},O.appendContextType=function(e,t){return t=t||"application/json",e.append("Content-Type",t)},O.appendRequireMessage=function(e,t){return void 0===t&&(t=!0),e.append("Bff-Require-Message",t.toString())},O.appendFuncInstId=function(e,t){return e.append("Func-Inst-Id",t)},O.toJson=function(r){if(!(r instanceof a.HttpHeaders))return null;var n={};return r.keys().forEach(function(e){var t=r.getAll(e);1<t.length?n[e]=t:n[e]=t[0]||""}),n},O);function O(){}var w=(M.buildParams=function(e){var t=new a.HttpParams;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r].toString();t=t.append(r,n)}return t},M);function M(){}var T=(j.hasRequestInfo=function(e){if(!e||!e.body)return!1;var t=e.body;return!(!t.requestInfo||!t.requestInfo.dataChange)||!!t.dataChange},j.hasRequestInfoWithR=function(e){if(!e||!e.body)return!1;var t=e.body;return!(!t.RequestInfo||!t.RequestInfo.dataChange)||!!t.dataChange},j.buildRequestInfo=function(e){return{dataChange:e.entityManager.buildAllEntityChangeDetails(),variableChange:e.variableManager.buildChangeDetail()}},j.buildBodyWithRequestInfo=function(e,t){if(e.RequestInfo||e.requestInfo)return e;var r=this.buildRequestInfo(t);return Object.assign({},e,{requestInfo:r})},j);function j(){}var A=(U.unWrapResponseInfo=function(e){if(!e)return e;if(!1===e.hasOwnProperty("returnValue"))return e.hasOwnProperty("result")&&e.hasOwnProperty("pagination")?e.result:e;var t=e.returnValue;return t&&t.hasOwnProperty("result")&&t.hasOwnProperty("pagination")?t.result:e.returnValue},U.isReported401Error=function(e){return 401===e.status},U.parseBackEndMessage=function(e){return e&&e.message&&Array.isArray(e.message)&&0<e.message.length?e.message:null},U.parseBackEndError=function(e){var t=e&&e.error;return t&&t.hasOwnProperty("extensionMessage")&&t.extensionMessage&&t.extensionMessage.hasOwnProperty("UIMsg")&&t.extensionMessage.UIMsg&&0<t.extensionMessage.UIMsg.length?JSON.parse(t.extensionMessage.UIMsg):null},U);function U(){}var V=(H.prototype.getService=function(){for(var e=window;!e.gspframeworkService&&e!==window.top&&this.isSameOrigin(e);)e=window.parent;return e.gspframeworkService&&e.gspframeworkService.rtf||{}},H.prototype.isSameOrigin=function(e){var t=window.location.host;try{if(e&&e.location&&"undefined"!=typeof e.location.host)return e.location.host===t}catch(r){return!1}return!1},Object.defineProperty(H.prototype,"params",{get:function(){return this.rtf&&this.rtf.hasOwnProperty("session")&&"function"==typeof this.rtf.session.getCommonVariable?this.rtf.session.getCommonVariable():null},enumerable:!0,configurable:!0}),Object.defineProperty(H.prototype,"httpService",{get:function(){return this.rtf&&this.rtf.hasOwnProperty("http")&&"function"==typeof this.rtf.http.request?this.rtf.http:null},enumerable:!0,configurable:!0}),H.prototype.request=function(e,t,r){return void 0===r&&(r={}),this.defaultHttpClient.request(e,t,r)},H.decorators=[{type:i.Injectable}],H.ctorParameters=function(){return[{type:a.HttpClient}]},H);function H(e){this.defaultHttpClient=e,this.httpClient=e,this.rtf=this.getService()}var k=(F.prototype.getFrmSessionId=function(e){return this.frmSessionService.getCurrentSessionId(e)},Object.defineProperty(F.prototype,"frmSessionId",{get:function(){return this.frmSessionService.getCurrentSessionId()},enumerable:!0,configurable:!0}),F.prototype.getFrameworkSessionId=function(e){return this.getFrmSessionId(e)},F.prototype.getSessionIdFromStorage=function(e){var t=this.getSessionStorageKey(e);return this.storageStrategy.getItem(t)},F);function F(e,t){this.storageStrategy=e,this.frmSessionService=t}var N,_=(x(L,N=k),L.prototype.getSessionId=function(){var e=this.getSessionIdFromStorage();return e?I.of(e):this.createSession()},L.prototype.setSessionId=function(e){var t=this.getSessionStorageKey();this.storageStrategy.setItem(t,e)},L.prototype.clearSessionId=function(){var e=this.getSessionStorageKey();this.storageStrategy.clear(this.frmSessionId,e)},L.prototype.extendRequestHeaders=function(e,t){var r=this.getFrameworkSessionId(t),n=this.getSessionIdFromStorage(t);return e=q.appendCafRuntimeCommonVariable(e,r),e=q.appendCafRuntimeContext(e,n),e=q.appendSessionId(e,n)},L.prototype.handleReponseHeaders=function(e){console.log(e)},L.prototype.createSession=function(){var t=this,e={responseType:"text"};return this.frmSessionId&&(e.headers=new a.HttpHeaders({SessionId:this.frmSessionId}),e.headers=e.headers.append("X-CAF-Runtime-CommonVariable",this.frmSessionId),e.headers=q.toJson(e.headers)),this.httpService.request("POST",this.beSessionUri,e).pipe(l.tap(function(e){t.setSessionId(e)}))},L.prototype.extendHttpHeader=function(){},L.prototype.getSessionStorageKey=function(e){return(e?this.getFrameworkSessionId(e):this.frmSessionId)+"_"+this.beSessionUri},L);function L(e,t,r,n){var o=N.call(this,e,t)||this;return o.beSessionUri=n,o.httpClient=r,o.httpService=new V(o.httpClient),o}var K,G=(x(J,K=k),J.prototype.getSessionId=function(){var e=this.getSessionStorageKey(),t=this.storageStrategy.getItem(e);return I.of(t)},J.prototype.setSessionId=function(e){var t=this.getSessionStorageKey();this.storageStrategy.setItem(t,e)},J.prototype.clearSessionId=function(){var e=this.getSessionStorageKey();this.storageStrategy.removeItem(e)},J.prototype.extendRequestHeaders=function(e,t){var r=this.getFrameworkSessionId(t),n=this.getSessionIdFromStorage(t),o=this.injector.get(S.AppContext,null);if(o){var i=o.ApplicationId;e=q.appendFuncInstId(e,i)}return e=q.appendCafRuntimeCommonVariable(e,r),n&&(e=q.appendCafRuntimeContext(e,n)),e},J.prototype.handleReponseHeaders=function(e){console.log(e)},J.prototype.getSessionStorageKey=function(e){return(e?this.getFrameworkSessionId(e):this.frmSessionId)+"_"+window.location.hash},J);function J(e,t,r,n){var o=K.call(this,e,t)||this;return o.beSessionUri=r,o.injector=n,o}var W=(z.prototype.create=function(e,t,r,n,o){var i=this.createStorageStrategy(),a=this.createBeSessionUri(r);return"UnifiedSession"===e?new G(i,t,a,o):new _(i,t,n,a)},z.prototype.createStorageStrategy=function(){return new v},z.prototype.createBeSessionUri=function(e){return e+"/service/createsession"},z.decorators=[{type:i.Injectable}],z);function z(){}var Q=(Object.defineProperty(Y.prototype,"token",{get:function(){return this.handlingStrategy.getFrameworkSessionId()},enumerable:!0,configurable:!0}),Y.prototype.getBeSessionId=function(){return this.handlingStrategy.getSessionId()},Y.prototype.setBeSessionId=function(e){this.handlingStrategy.setSessionId(e)},Y.prototype.clearBeSessionId=function(){this.handlingStrategy.clearSessionId()},Y.prototype.extendRequestHeaders=function(e,t){return this.handlingStrategy.extendRequestHeaders(e,t)},Y.prototype.handleResponseHeaders=function(e){return this.handlingStrategy.handleReponseHeaders(e)},Y.prototype.createBeSession=function(){return this.handlingStrategy.createSession()},Y.prototype.createHandlingStrategy=function(e,t,r,n){var o;return o=(o=e?e.get(u,null,i.InjectFlags.Optional):"SeparatedSession")||"SeparatedSession",(new W).create(o,r,n,t,e)},Y.decorators=[{type:i.Injectable}],Y.ctorParameters=function(){return[{type:a.HttpClient},{type:String},{type:f},{type:i.Injector}]},Y);function Y(e,t,r,n){this.handlingStrategy=this.createHandlingStrategy(n,e,r,t)}var X,Z="@farris/bef NG_VARIABLE",$=S.makePropDecorator(Z,function(e){return e}),ee=(x(te,X=S.Repository),Object.defineProperty(te.prototype,"restService",{get:function(){return this.dataService.restService},enumerable:!0,configurable:!0}),Object.defineProperty(te.prototype,"changeBuilder",{get:function(){return this.entityManager.changeBuilder},enumerable:!0,configurable:!0}),Object.defineProperty(te.prototype,"changeHandler",{get:function(){return this.entityManager.changeHandler},enumerable:!0,configurable:!0}),te.prototype.getList=function(){return this.dataService.getList(null,null,null,null)},te.prototype.getById=function(e){return this.dataService.getById(e)},te.prototype.updateById=function(e){return this.dataService.updateById(e)},te.prototype.create=function(e){return this.dataService.create(e)},te.prototype.append=function(e){return this.dataService.append(e)},te.prototype.appendByPath=function(e){return this.dataService.appendByPath(e)},te.prototype.removeById=function(e,t){return this.dataService.removeById(e,t)},te.prototype.removeByIds=function(e,t){return this.dataService.removeByIds(e,t)},te.prototype.removeByPath=function(e,t){return this.dataService.removeByPath(e,t)},te.prototype.updateChangesById=function(e){return this.dataService.updateChangesById(e)},te.prototype.updateChangesByPath=function(e,t){throw new Error("Not Implement")},te.prototype.updateAllChanges=function(){return this.dataService.updateAllChanges()},te.prototype.applyChanges=function(){return this.dataService.applyChanges()},te.prototype.updateDataAndVariableChanges=function(){var e={FilterConditions:[],SortConditions:[],IsUsePagination:!0,Pagination:{PageIndex:1,PageSize:1,PageCount:0,TotalCount:0}},t=JSON.stringify(e),r=this.restService.buildRequestInfo();if(this.isEmptyRequestInfo(r))return I.of(null);var n=this.restService.baseUri+"/extension/query?entityFilter="+t,o={body:r};return this.restService.invoke(n,"PUT",null,o,!1,!0,!0)},te.prototype.applyChangesById=function(e){return this.dataService.applyChangesById(e)},te.prototype.cancelChanges=function(e){return this.dataService.cancelChanges(e)},te.prototype.clearAllEntityChanges=function(){return this.entityManager.clearAllEntityChanges()},te.prototype.getDataChangeDetails=function(){return this.entityManager.buildAllEntityChangeDetails()},te.prototype.handleDataChangeDetails=function(e){return this.entityManager.handleDataChangeDetails(e)},te.prototype.getVariableChangeDetail=function(){return this.variableManager.buildChangeDetail()},te.prototype.handleVariableChangeDetail=function(e){this.variableManager.handleChangeDetail(e)},te.prototype.isEmptyRequestInfo=function(e){return!e||(!e.dataChange||e.dataChange.length<1)&&(!e.variableChange||Object.keys(e.variableChange).length<1)},te.decorators=[{type:i.Injectable}],te.ctorParameters=function(){return[]},te);function te(){return X.call(this)||this}var re,ne=(x(oe,re=S.EntityManager),oe.prototype.buildAllEntityChangeDetails=function(){var r=this,n=[];return this.entityCollection.getAllEntities().forEach(function(e){if(0!==e.changes.length){var t=r.changeBuilder.build(e.changes);t&&t.ChangeInfo&&t.ChangeInfo.DataId&&n.push(t)}}),n},oe.prototype.buildEntityChangeDetailById=function(e){var t=this.entityCollection.getEntityById(e);return 0===t.changes.length?null:this.changeBuilder.build(t.changes)},oe.prototype.handleDataChangeDetails=function(e){this.changeHandler.handle(this.entityType,this.entityCollection,e)},oe.prototype.reset=function(){this.entityCollection.clear()},oe);function oe(e){var t=re.call(this,e)||this;return t.changeBuilder=new c(t.entityCollection.entityType,t.entityCollection),t.changeHandler=new y,t}var ie=(ae.createEmpty=function(e,t){var r={ChangeType:e,ChangeInfo:{}};return t&&(r.ChangeInfo.DataId=t),r},ae.getChangeInfo=function(e){return!0===this.isChangeDetail(e)?e.ChangeInfo:e},ae.isChangeDetail=function(e){var t=Object.keys(e);return 2===t.length&&-1<t.indexOf("ChangeType")&&-1<t.indexOf("ChangeInfo")},ae);function ae(){}var se=(pe.prototype.handleChangeDetail=function(e){var o=this,i=e.ChangeInfo;Object.keys(i).forEach(function(e){var t=o.ngVariableMap.get(e);if(t){var r=t.mapping,n=i[e];o.innerValueMap.get(e)!==n&&(o.setValueToUIState(r,n),o.innerValueMap.set(e,n))}})},pe.prototype.buildChangeDetail=function(){var i=this,a=ie.createEmpty(b.Modify);return this.ngVariableMap.forEach(function(e,t){var r=e.mapping,n=i.getValueFromUIState(r),o=i.innerValueMap.get(t);!1===i.isValueEqual(n,o)&&(i.innerValueMap.set(t,n),i.appendToChangeInfo(a,t,n))}),0===Object.keys(a.ChangeInfo).length?null:a},pe.prototype.reset=function(){this.innerValueMap.clear()},pe.prototype.appendToChangeInfo=function(e,t,r){if(!0===this.isUdtVariable(r)){var n=ie.createEmpty(b.Modify);n.ChangeInfo=r,e.ChangeInfo[t]=n}else e.ChangeInfo[t]=r},pe.prototype.getValueFromUIState=function(e){var t=this.getRootUIState(),r=e.split(".").reduce(function(e,t){return e?e[t]:null},t);return r instanceof Date?n.format(r,"yyyy-MM-dd HH:mm:ss"):r},pe.prototype.getRootUIState=function(){var e=this.appContext.frameContextManager.getRootFrameContext();if(this.injector){var t=this.injector.get(S.FrameContext,null);t&&(e=t.getVirtualRootFrameContext()||e)}if(e)return e.uiState},pe.prototype.isValueEqual=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},pe.prototype.isUdtVariable=function(e){return e&&e.constructor&&"[object Object]"===e.toString()&&e.constructor.prototype.hasOwnProperty("isPrototypeOf")},pe.prototype.setValueToUIState=function(e,t){this.getRootUIState()[e]=t},pe.ctorParameters=function(){return[{type:S.AppContext},{type:undefined},{type:i.Injector,decorators:[{type:i.Optional}]}]},pe);function pe(e,t,r){var n=this;this.appContext=e,this.ngVariables=t,this.injector=r,this.ngVariableMap=new Map,this.innerValueMap=new Map,Object.keys(t).forEach(function(e){n.ngVariableMap.set(e,t[e])})}var ue=(ce.buildRequestInfo=function(e){return{dataChange:e.entityManager.buildAllEntityChangeDetails(),variableChange:e.variableManager.buildChangeDetail()}},ce);function ce(){}var he=(ye.convertToPathArray=function(e,t){var n=this,r=S.BindingPathConverter.toBindingPathArray(e),o=[],i=t.list.currentItem;return o.push(i.primaryKeyValue),r.forEach(function(e){var t=S.PropertyUtil.getPropertyByName(i.properties,e);if(t.type!==S.BindingPropertyType.List)throw new Error(t.name+"不是子表对应的属性");var r=i[e];i=r.currentItem,o.push(n.trimTrailingS(e)),o.push(i.primaryKeyValue)}),o},ye.convertToPathUrl=function(e,t){var r=this.convertToPathArray(e,t);return r.pop(),"/"+r.join("/")},ye.convertToObjectCodes=function(e,t){for(var r=this.convertToPathArray(e,t),n=r.length,o=[],i=1;i<n;i+=2)o.push(r[i]);return o},ye.convertToDataIdsForUpdate=function(e,t){for(var r=this.convertToPathArray(e,t),n=r.length,o=[],i=0;i<n;i+=2)o.push(r[i]);return o},ye.convertToDataIdsForAdd=function(e,t){var r=this.convertToDataIdsForUpdate(e,t);return r.pop(),r},ye.convertPathToUrl=function(e){for(var t=e.split("/"),r=t.length-1;0<r;r--)t[r]&&t[r].endsWith("s")&&(t[r]=t[r].substr(0,t[r].length-1).toLowerCase());return t.join("/")},ye.trimTrailingS=function(e){return e.substr(0,e.length-1)},ye.convertPathsToNodeCodes=function(e){var t=[];return!e||e.length<1||e.filter(function(e){return!!e&&-1===e.indexOf(":")}).forEach(function(e){t.push(e)}),t},ye.convertPathsToIds=function(e){var t=[];return!e||e.length<1||e.filter(function(e){return!!e&&-1!==e.indexOf(":")}).forEach(function(e){t.push(e.split(":")[1])}),t},ye);function ye(){}var le=(Object.defineProperty(de.prototype,"restProxy",{get:function(){return this.repository.restService.proxy},enumerable:!0,configurable:!0}),de.prototype.getList=function(e,t,r,n){var p=this;0!==r&&(r=r||this.repository.entityCollection.pageSize,n=n||this.repository.entityCollection.pageIndex);var o=this.buildEntityFilter(e,t,r,n),i=this.restService.buildRequestInfo();return this.restProxy.extendQuery(o,i).pipe(l.map(function(e){var t=e.returnValue,r=t.result,n=[];r.forEach(function(e){var t=p.repository.buildEntity(e);C.appendInitialData(t,e),n.push(t)});var o=t.pagination;if(o&&0<Object.keys(o).length){var i=o.pageSize,a=o.pageIndex,s=o.totalCount;p.repository.entityCollection.updatePaginationInfoByPath("/",{pageIndex:a,pageSize:i,totalCount:s})}else p.repository.entityCollection.updatePaginationInfoByPath("/",{pageIndex:1,pageSize:0,totalCount:n.length});return p.repository.entityCollection.loadEntities(n),n}))},de.prototype.filter=function(e,t,r,n){var p=this;0!==r&&(r=r||this.repository.entityCollection.pageSize,n=n||this.repository.entityCollection.pageIndex);var o=this.buildEntityFilter(e,t,r,n),i=this.restService.buildRequestInfo();return this.restProxy.filter(o,i).pipe(l.map(function(e){var t=e.returnValue,r=t.result,n=[];r.forEach(function(e){var t=p.repository.buildEntity(e);C.appendInitialData(t,e),n.push(t)});var o=t.pagination;if(o&&0<Object.keys(o).length){var i=o.pageSize,a=o.pageIndex,s=o.totalCount;p.repository.entityCollection.updatePaginationInfoByPath("/",{pageIndex:a,pageSize:i,totalCount:s})}else p.repository.entityCollection.updatePaginationInfoByPath("/",{pageIndex:1,pageSize:0,totalCount:n.length});return p.repository.entityCollection.loadEntities(n),n}))},de.prototype.buildEntityFilter=function(e,t,r,n){return e||t||r||n?(e&&0<e.length&&(e[e.length-1].Relation=0),{FilterConditions:e,SortConditions:t,IsUsePagination:0!==r,Pagination:{PageIndex:n,PageSize:r,PageCount:0,TotalCount:0}}):null},de.prototype.getById=function(e){var n=this,t=this.restService.buildRequestInfo();return this.restService.extendRetrieve(e,t).pipe(l.map(function(e){var t=e.returnValue,r=n.repository.buildEntity(t);return n.repository.entityCollection.loadEntities([r]),r}))},de.prototype.getPagedById=function(o){var i=this,e=this.restService.buildRequestInfo(),t=this.repository.entityCollection.getPaginationConfigByPath("/"),r=this.buildChildPagination(t),n=this.buildRetrieveParam(r);return this.restService.serviceRetrieve(o,n,e).pipe(l.map(function(e){var t=e.dataResult,r=e.paginations;i.updatePagination(r);var n=i.repository.entityCollection.getEntityById(o);return i.reloadEntityData(n,t),n}))},de.prototype.queryChild=function(s,e,t,r,n){var p=this,o=this.restService.buildRequestInfo(),u=he.convertPathsToNodeCodes(s),i=u.map(function(e){return e.substring(0,e.length-1)}),a=he.convertPathsToIds(s),c=B({nodeCodes:i,ids:a,pagination:{pageIndex:e,pageSize:t}},o),h=u[u.length-1];return h=h.substring(0,h.length-1),this.restService.queryChild(c).pipe(l.map(function(e){console.log(e);var t=e.returnValue;if(!t)return null;var r=t.result,n=void 0===r?[]:r,o=t.pagination,i=void 0===o?{}:o,a=[];n.forEach(function(e){var t=new(S.FieldMetadataUtil.getNgList(p.repository.entityType)[u[u.length-1]].type)(e);C.appendInitialData(t,e),a.push(t)}),u=u.map(function(e){return e.charAt(0).toLocaleLowerCase()+e.substr(1)}),p.repository.entityCollection.resetEntities(s,a),p.repository.entityCollection.setPaginationConfigByPath("/"+h,i)}))},de.prototype.buildChildPagination=function(r){var n={};return Object.keys(r).forEach(function(e){var t=r[e];"object"==typeof t&&(n[e]=t)}),n},de.prototype.updatePagination=function(t){var r=this;t&&Object.keys(t).forEach(function(e){r.repository.entityCollection.setPaginationConfigByPath("/"+e,t[e])})},de.prototype.buildRetrieveParam=function(n){var e={};if(n&&0<Object.keys(n).length){var o=[];Object.keys(n).forEach(function(e){var t=n[e],r={};r[e]={pagination:{pageSize:t.pageSize||0,pageIndex:1}},o.push(r)}),e.filters=o}return e},de.prototype.editById=function(n){var o=this;if(!this.repository.entityCollection.getEntityById(n))return I.of(null);var e=ue.buildRequestInfo(this.repository);return this.restProxy.edit(n,e).pipe(l.map(function(e){var t=e.returnValue.data,r=o.repository.entityCollection.getEntityById(n);return r&&t&&o.reloadEntityData(r,t),r}))},de.prototype.updateById=function(n){var o=this;if(!this.repository.entityCollection.getEntityById(n))return I.of(null);var e=this.restService.buildRequestInfo();return this.restService.extendRetrieve(n,e).pipe(l.map(function(e){var t=e.returnValue,r=o.repository.entityCollection.getEntityById(n);return o.reloadEntityData(r,t),r}))},de.prototype.reloadEntityData=function(e,t){e&&(this.appContext.changeDetectionController.detach(),e.load(t),e.changes.splice(0,e.changes.length),this.appContext.changeDetectionController.reattach())},de.prototype.create=function(e){var n=this,t=this.restService.buildRequestInfo();return this.restService.create(e,t).pipe(l.map(function(e){var t=e.returnValue,r=n.repository.buildEntity(t);return C.appendInitialData(r,t),n.repository.entityCollection.loadEntities([r]),r}))},de.prototype.append=function(e){var n=this,t=this.restService.buildRequestInfo();return this.restService.create(e,t).pipe(l.map(function(e){var t=e.returnValue,r=n.repository.buildEntity(t);return n.repository.entityCollection.addEntity(r),r}))},de.prototype.insert=function(n,e){var o=this,t=this.buildRequestInfo();return this.restProxy.create(e,t).pipe(l.map(function(e){var t=e.returnValue,r=o.repository.buildEntity(t);return o.repository.entityCollection.insertEntity(r,n),r}))},de.prototype.appendByPath=function(r){var n=this,e=this.restService.buildRequestInfo();return this.restService.createByPath(r,e).pipe(l.map(function(e){var t=e.returnValue;return n.repository.entityManager.appendEntityByPath(r,t,t)}))},de.prototype.insertByPath=function(r,n){var o=this,e=this.buildRequestInfo();return this.restProxy.createByPath(r,e).pipe(l.map(function(e){var t=e.returnValue;return o.repository.entityManager.insertEntityByPath(r,t,t,n)}))},de.prototype.removeById=function(e,t){var r=this;t=t===undefined||t;var n=ue.buildRequestInfo(this.repository);return t?this.restProxy.deleteAndSave(e,n).pipe(l.switchMap(function(){return r.repository.entityCollection.removeEntityById(e),I.of(!0)})):this.restService.extendDelete(e,n).pipe(l.switchMap(function(){return r.repository.entityCollection.removeEntityById(e),r.repository.dataChangeHistory.addChange({dataId:e,changeType:S.DataChangeType.Delete}),I.of(!0)}))},de.prototype.removeAndSaveById=function(e){var t=this,r=ue.buildRequestInfo(this.repository);return this.restProxy.deleteAndSave(e,r).pipe(l.switchMap(function(){return t.repository.entityCollection.removeEntityById(e),I.of(!0)}))},de.prototype.removeByIds=function(r,e){var n=this;e=e===undefined||e;var t=this.restService.buildRequestInfo();return this.restService.extendBatchDelete(r,t).pipe(l.switchMap(function(){if(e)return n.applyChangesByIdArray(r).pipe(l.tap(function(e){e&&n.repository.entityCollection.removeEntities(function(e){return n.checkEntityValueExists(e,r)})}));if(n.repository.entityCollection.removeEntities(function(e){return n.checkEntityValueExists(e,r)}),r&&0<r.length){var t=[];r.forEach(function(e){t.push({dataId:e,changeType:S.DataChangeType.Delete})}),n.repository.dataChangeHistory.addChanges(t)}return I.of(!0)}))},de.prototype.checkEntityValueExists=function(e,t){for(var r=!1,n=0;n<t.length;n++)if(e.primaryValue===t[n]){r=!0;break}return r},de.prototype.removeByPath=function(e,t){var r=this,n=this.restService.buildRequestInfo();return this.restService.extendDeletByPath(e,t,n).pipe(l.map(function(){return r.repository.entityManager.removeEntityByPath(e,t),r.repository.dataChangeHistory.addChange({fpath:e,dataId:t,changeType:S.DataChangeType.Delete}),!0}))},de.prototype.batchRemoveByPath=function(t,r){var n=this,e=this.restService.buildRequestInfo();return this.restService.batchDeleteByPath(t,r,e).pipe(l.map(function(){var e=r.split(",");return 0<e.length&&e.forEach(function(e){n.repository.entityManager.removeEntityByPath(t,e),n.repository.dataChangeHistory.addChange({fPath:t,dataId:e,changeType:S.DataChangeType.Delete})}),!0}))},de.prototype.updateChangesById=function(e){var t=this,r=this.repository.entityCollection.getEntityById(e);if(!r.changes)return I.of(!0);if(0===r.changes.length)return I.of(!0);var n=this.repository.entityManager.buildEntityChangeDetailById(e),o=this.restService.buildRequestInfo();return this.restService.update(n,o).pipe(l.tap(function(){t.repository.entityManager.clearEntityChangesById(e)}),l.map(function(){return!0}))},de.prototype.updateChangesByPath=function(e,t){throw new Error("Not Implement")},de.prototype.updateAllChanges=function(){var r=this,n=[],e=this.repository.entityCollection.toArray();return 0===e.length?I.of(!0):(e.forEach(function(e){var t=r.updateChangesById(e.primaryValue);n.push(t)}),I.zip.apply(void 0,D(n)).pipe(l.map(function(){return!0})))},de.prototype.applyChanges=function(){var e=this,t=this.restService.buildRequestInfo();return this.restService.save(t).pipe(l.tap(function(){e.repository.entityManager.clearAllEntityChanges(),e.repository.dataChangeHistory.clear()}),l.map(function(){return!0}))},de.prototype.applyChangesByIdArray=function(e){var t=this,r=this.restService.buildRequestInfo();return this.restService.save(r).pipe(l.tap(function(){t.repository.entityManager.clearEntityChangesByArray(e),t.repository.dataChangeHistory.clearByIds(e)}),l.map(function(){return!0}))},de.prototype.applyChangesById=function(e){var t=this,r=this.restService.buildRequestInfo();return this.restService.save(r).pipe(l.tap(function(){t.repository.entityManager.clearEntityChangesById(e),t.repository.dataChangeHistory.clearByIds([e])}),l.map(function(){return!0}))},de.prototype.cancelChanges=function(e){var t=this;return this.restService.cancel(e).pipe(l.tap(function(){t.repository.entityManager.clearAllEntityChanges(),t.repository.dataChangeHistory.clear()}),l.map(function(){return!0}))},de.prototype.batchAppendByPath=function(o,e){var i=this,t=this.buildRequestInfo();return this.restProxy.batchAppendByPath(o,e,t).pipe(l.map(function(e){var t=e.returnValue,r=i.repository.entityManager.createEntitiesByPath(o,t),n=o.split("/").filter(function(e){return e});return i.repository.entityManager.appendEntitiesByPath(n,r),r}))},de.prototype.buildRequestInfo=function(){return{dataChange:this.repository.entityManager.buildAllEntityChangeDetails(),variableChange:this.repository.variableManager.buildChangeDetail()}},de);function de(e,t){this.injector=e,this.repository=t;var r=e.get(f),n=e.get(a.HttpClient),o=e.get(p)+"/"+this.repository.apiUri,i=e.get(S.EventBus);this.restService=new qe(n,o,r,this.repository,i),this.appContext=e.get(S.AppContext)}var fe=(ge.handleMessage=function(e,t){var r={ns:t.get(S.NAMESPACE,null),appContext:t.get(S.AppContext,null)},n=this.buildBackEndMessages(e),o=new S.BackEndMessage.Message(n,r),i=t.get(S.BACK_END_MESSAGE_HANDLER_TOKEN,null);i&&i.handle(o)},ge.isBackEndMessageHandlerExist=function(e){return!!e.get(S.BACK_END_MESSAGE_HANDLER_TOKEN,null)},ge.getFormlessMessages=function(e){return(this.buildBackEndMessages(e)||[]).filter(function(e){return!e.location||!e.location.columns||e.location.columns.length<1||!e.location.nodeCode})},ge.buildBackEndMessages=function(e){if(!e||e.length<1||!Array.isArray(e))return null;var r=[];return e.forEach(function(e){var t={level:e.level,message:e.message};e.hasOwnProperty("location")&&e.location&&(t.location={nodeCode:e.location.nodeCode,rows:e.location.dataIds,columns:e.location.columnNames}),r.push(t)}),r},ge);function ge(){}var ve=(Ie.prototype.onResponse=function(e,t){e&&e.innerDataChange&&!0!==t&&this.context.handleDataChangeDetails(e.innerDataChange),e&&e.innerVariableChange&&this.context.handleVariableChangeDetail(e.innerVariableChange);var r=A.parseBackEndMessage(e);return fe.handleMessage(r,this.context.getInjector()),this.context.clearAllEntityChanges(),e&&e.hasOwnProperty("returnValue")?e.returnValue:e},Ie.prototype.onError=function(e,t,r){var n,o,i=this.context.appContext.getFormAppContext(),a=i.ApplicationId,s=window.DEVKIT_LOADING_SERVICE,p=A.parseBackEndError(e);if(fe.handleMessage(p,this.context.getInjector()),s&&s instanceof Array&&0<s.length)try{for(var u=P(s),c=u.next();!c.done;c=u.next()){var h=c.value;"function"==typeof h.clearAll&&h.clearAll()}}catch(v){n={error:v}}finally{try{c&&!c.done&&(o=u["return"])&&o.call(u)}finally{if(n)throw n.error}}if(t)return I.throwError(e);var y=this.context.restService.eventBus,l=window[a]||{};if(!y||!l.isExceptionHandlerExist)return I.throwError(e);if(A.isReported401Error(e))return I.throwError(e);var d=A.parseBackEndError(e),f=fe.getFormlessMessages(d),g=f&&0<f.length||!1;return e&&e.error&&e.error.extensionMessage&&fe.isBackEndMessageHandlerExist(this.context.getInjector())&&!g||y.post("Exception","","onException",e,i),r?I.of(null):I.EMPTY},Ie.prototype.extendHeaders=function(t,r){var n=this;return this.context.restService.sessionService.getBeSessionId().pipe(l.switchMap(function(e){return t=n.context.restService.sessionService.extendRequestHeaders(t,r),I.of(t)}))},Ie.prototype.extendUrl=function(e,t){if(!t)return e;for(var r in t)if(t.hasOwnProperty(r)){var n=JSON.stringify(t[r]);e=-1===e.indexOf("?")?e+"?"+r+"="+n:e+"&"+r+"="+n}return e},Ie.prototype.extendBody=function(t){var r=this;return!t||"object"!=typeof t||Object.keys(t).length<1||(Object.keys(t).forEach(function(e){"requestInfo"===e&&(t.requestInfo=r.context.restService.buildRequestInfo())}),1===Object.keys(t).length&&(t=Object.values(t)[0])),t},Ie.prototype.parseHeaders=function(e){var t="BEFSessionID";e.headers&&e.headers.has(t)&&this.context.restService.sessionService.setBeSessionId(e.headers.get(t))},Ie);function Ie(e){this.context=e}var Se,be=(x(Ce,Se=ee),Object.defineProperty(Ce.prototype,"proxy",{get:function(){return this.befProxy},set:function(e){this.befProxy=e,this.befProxy.setProxyExtend(new ve(this))},enumerable:!0,configurable:!0}),Ce.prototype.getEntities=function(e,t,r,n){return this.dataService.getList(e,t,r,n)},Ce.prototype.filter=function(e,t,r,n){return void 0===e&&(e=[]),void 0===t&&(t=[]),this.dataService.filter(e,t,r,n)},Ce.prototype.getPagedById=function(e){return this.dataService.getPagedById(e)},Ce.prototype.queryChild=function(e,t,r,n,o){return this.dataService.queryChild(e,t,r,n,o)},Ce.prototype.getEntityById=function(e){return this.dataService.getById(e)},Ce.prototype.updateEntityById=function(e){return this.dataService.updateById(e)},Ce.prototype.editEntityById=function(e){return this.dataService.editById(e)},Ce.prototype.createEntity=function(e){return this.dataService.create(e)},Ce.prototype.appendEntity=function(e){return this.dataService.append(e)},Ce.prototype.insert=function(e,t){return this.dataService.insert(e,t)},Ce.prototype.insertByPath=function(e,t){return this.dataService.insertByPath(e,t)},Ce.prototype.appendEntityByPath=function(e){return this.dataService.appendByPath(e)},Ce.prototype.removeEntityById=function(e,t){return this.dataService.removeById(e,t)},Ce.prototype.removeEntityAndSaveById=function(e){return this.dataService.removeAndSaveById(e)},Ce.prototype.removeEntityByPath=function(e,t){return this.dataService.removeByPath(e,t)},Ce.prototype.batchRemoveByPath=function(e,t){return this.dataService.batchRemoveByPath(e,t)},Ce.prototype.saveEntityById=function(e){return this.dataService.applyChangesById(e)},Ce.prototype.saveEntities=function(){return this.dataService.applyChanges()},Ce.prototype.cancelEntityChanges=function(){return this.dataService.cancelChanges()},Ce.prototype.batchAppendByPath=function(e,t){return this.dataService.batchAppendByPath(e,t)},Ce.prototype.reset=function(){this.entityManager.reset(),this.variableManager.reset(),this.restService.sessionService.clearBeSessionId()},Ce.prototype.getInjector=function(){return this.injector},Ce.decorators=[{type:i.Injectable}],Ce.ctorParameters=function(){return[{type:i.Injector}]},Ce);function Ce(e){var t=Se.call(this)||this;t.injector=e,t.entityManager=new ne(t.entityCollection),t.appContext=t.injector.get(S.AppContext);var r=S.MetadataUtil.getPropsMetadatasByName(t.constructor,Z);return t.variableManager=new se(t.appContext,r,t.injector),t.dataService=new le(t.injector,t),t.serverUri=e.get(p),t}var me=(Ee.prototype.extendUri=function(e){return this.serverUri+"/"+e},Ee.decorators=[{type:i.Injectable}],Ee.ctorParameters=function(){return[{type:String,decorators:[{type:i.Inject,args:[p]}]}]},Ee);function Ee(e){this.serverUri=e}var xe="DELETE",Be="PUT",Pe="POST",Re=(De.prototype.setBaseUri=function(e){this.baseUri=e},De.prototype.setProxyExtend=function(e){this.proxyExtend=e},De.prototype.query=function(e){var t=this.baseUri;return e&&(t=t+"?entityFilter="+JSON.stringify(e)),this.request(t,"GET")},De.prototype.extendQuery=function(e,t){var r=this.baseUri+"/extension/query";if(e){var n=JSON.stringify(e);r=r+"?entityFilter="+(n=S.encodeUrl(n))}var o=t,i=this.addBodyToOptions({},o);return this.request(r,Be,null,i,!1)},De.prototype.filter=function(e,t){var r=this.baseUri+"/extension/filter",n={requestInfo:t};e&&(n={entityFilter:e,requestInfo:t});var o=this.addBodyToOptions({},n);return this.request(r,Pe,null,o,!1)},De.prototype.retrieve=function(e){var t=this.baseUri+"/"+e;return this.request(t,"GET")},De.prototype.serviceRetrieve=function(e,t,r){var n=this.baseUri+"/service/retrieve/"+e,o={body:{retrieveParam:t,requestInfo:r}};return this.request(n,Be,null,o)},De.prototype.queryChild=function(e){var t=this.baseUri+"/service/querychild",r={body:e};return this.request(t,Be,null,r)},De.prototype.extendRetrieve=function(e,t){var r=this.baseUri+"/extension/retrieve/"+e,n=t,o=this.addBodyToOptions({},n);return this.request(r,Be,null,o)},De.prototype.edit=function(e,t){var r=this.baseUri+"/service/edit/"+e,n=t,o=this.addBodyToOptions({},n);return this.request(r,Be,null,o)},De.prototype.create=function(e,t){var r={defaultValue:e,requestInfo:t},n=this.addBodyToOptions({},r);return this.request(this.baseUri,Pe,null,n)},De.prototype.createByPath=function(e,t){var r=he.convertPathToUrl(e),n=""+this.baseUri+r,o=t,i=this.addBodyToOptions({},o);return this.request(n,Pe,null,i)},De.prototype.update=function(e,t){var r={changeDetail:e,requestInfo:t},n=this.addBodyToOptions({},r);return this.request(this.baseUri,"PATCH",null,n)},De.prototype.save=function(e){var t=e,r=this.addBodyToOptions({},t);return this.request(this.baseUri,Be,null,r)},De.prototype["delete"]=function(e){var t=this.baseUri+"/"+e;return this.request(t,xe)},De.prototype.deleteAndSave=function(e,t){var r=this.baseUri+"/service/delete/"+e,n=t,o=this.addBodyToOptions({},n);return this.request(r,Be,null,o)},De.prototype.extendDelete=function(e,t){var r=this.baseUri+"/extension/delete/"+e,n=t,o=this.addBodyToOptions({},n);return this.request(r,Be,null,o)},De.prototype.deletByPath=function(e,t){var r=he.convertPathToUrl(e),n=""+this.baseUri+r+"/"+t;return this.request(n,xe)},De.prototype.extendDeletByPath=function(e,t,r){var n=he.convertPathToUrl(e),o=this.baseUri+"/extension"+n+"/"+t,i=r,a=this.addBodyToOptions({},i);return this.request(o,Be,null,a)},De.prototype.batchDeleteByPath=function(e,t,r){var n=he.convertPathToUrl(e);if(n.split("/").length<3)throw Error("根据path删除实体数据出错了。传入的path["+e+"]格式不对");var o=this.baseUri+"/extension"+n+"/batch",i={ids:t.split(","),requestInfo:r},a=this.addBodyToOptions({},i);return this.request(o,Be,null,a)},De.prototype.batchDelete=function(e){var t={ids:e.join(",")};return this.request(this.baseUri,xe,t)},De.prototype.extendBatchDelete=function(e,t){var r=this.baseUri+"/extension/batchdelete",n={ids:e.join(",")},o=t,i=this.addBodyToOptions({},o);return this.request(r,Be,n,i)},De.prototype.cancel=function(e){var t=this.baseUri+"/service/cancel";return this.request(t,Pe,null,null,!1,!1,!1,e)},De.prototype.batchAppendByPath=function(e,t,r){var n=he.convertPathToUrl(e),o=""+this.baseUri+n+"/batch",i={requestInfo:r,retrieveDefaultParam:{defaultValues:t}},a=this.addBodyToOptions({},i);return this.request(o,Pe,null,a)},De.prototype.request=function(t,r,e,n,o,i,a,s){var p=this;n=n||{},void 0!==o&&"boolean"==typeof o||(o=!1),void 0!==i&&"boolean"==typeof i||(i=!1),e&&(n.params=e),n.headers=q.convertToHeaders(n.headers);var u=this.hasRequestInfo(n);return n&&n.body&&n.body.hasOwnProperty("RequestInfo")&&(n.body.requestInfo=n.body.RequestInfo,delete n.body.RequestInfo),this.proxyExtend.extendHeaders(n.headers,s).pipe(l.switchMap(function(e){return n.headers=q.toJson(e),n.observe="response",p.httpService.request(r,t,n)}),l.tap(function(e){return p.proxyExtend.parseHeaders(e)}),l.map(function(e){return e.body}),l.map(function(e){return u?(p.proxyExtend.onResponse(e,a),e):p.unWrapResponseInfo(e)}),l.catchError(function(e){return p.proxyExtend.onError(e,o,i)}))},De.prototype.invoke=function(t,r,n){var o=this;return n.params&&(t=this.proxyExtend.extendUrl(t,n.params),n.params=null),n.body&&(n.body=this.proxyExtend.extendBody(n.body)),n.headers=q.convertToHeaders(n.headers),this.proxyExtend.extendHeaders(n.headers).pipe(l.switchMap(function(e){return n.headers=q.toJson(e),n.observe="response",o.httpService.request(r,t,n).pipe(l.tap(function(e){return o.proxyExtend.parseHeaders(e)}),l.map(function(e){return e.body}),l.map(function(e){return o.proxyExtend.onResponse(e)}),l.catchError(function(e){return o.proxyExtend.onError(e,!1,!1)}))}))},De.prototype.addBodyToOptions=function(e,t){return e=e||{},Object.assign(e,{body:t})},De.prototype.buildParams=function(e){return w.buildParams(e)},De.prototype.hasRequestInfo=function(e){return T.hasRequestInfo(e)||T.hasRequestInfoWithR(e)},De.prototype.unWrapResponseInfo=function(e){return A.unWrapResponseInfo(e)},De.decorators=[{type:i.Injectable}],De.ctorParameters=function(){return[{type:a.HttpClient},{type:me}]},De);function De(e,t){this.httpClient=e,this.uriService=t,this.httpService=new V(this.httpClient)}var qe=(Object.defineProperty(Oe.prototype,"proxy",{get:function(){return this.repository.proxy?this.repository.proxy:this.createBefProxy()},enumerable:!0,configurable:!0}),Oe.prototype.createBefProxy=function(){var e=this.repository.serverUri,t=new me(e),r=new Re(this.httpClient,t);r.setBaseUri(this.baseUri);var n=new ve(this.repository);return r.setProxyExtend(n),r},Oe.prototype.query=function(e){return this.proxy.query(e)},Oe.prototype.extendQuery=function(e,t){return this.proxy.extendQuery(e,t)},Oe.prototype.serviceRetrieve=function(e,t,r){return this.proxy.serviceRetrieve(e,t,r)},Oe.prototype.queryChild=function(e){return this.proxy.queryChild(e)},Oe.prototype.retrieve=function(e){return this.proxy.retrieve(e)},Oe.prototype.extendRetrieve=function(e,t){return this.proxy.extendRetrieve(e,t)},Oe.prototype.create=function(e,t){return this.proxy.create(e,t)},Oe.prototype.createByPath=function(e,t){return this.proxy.createByPath(e,t)},Oe.prototype.update=function(e,t){return this.proxy.update(e,t)},Oe.prototype.save=function(e){return this.proxy.save(e)},Oe.prototype["delete"]=function(e){return this.proxy["delete"](e)},Oe.prototype.extendDelete=function(e,t){return this.proxy.extendDelete(e,t)},Oe.prototype.deletByPath=function(e,t){return this.proxy.deletByPath(e,t)},Oe.prototype.extendDeletByPath=function(e,t,r){return this.proxy.extendDeletByPath(e,t,r)},Oe.prototype.batchDeleteByPath=function(e,t,r){return this.proxy.batchDeleteByPath(e,t,r)},Oe.prototype.batchDelete=function(e){return this.proxy.batchDelete(e)},Oe.prototype.extendBatchDelete=function(e,t){return this.proxy.extendBatchDelete(e,t)},Oe.prototype.cancel=function(e){return this.proxy.cancel(e)},Oe.prototype.request=function(e,t,r,n,o,i,a){return this.innerRequest(e,t,r,n,o,i,a,!1)},Oe.prototype.invoke=function(e,t,r,n,o,i,a){if(n&&n.body&&n.body.RequestInfo)throw new Error("请使用requestInfo提交变更");return this.innerRequest(e,t,r,n,o,i,a,!0)},Oe.prototype.innerRequest=function(t,r,e,n,o,i,a,s){var p=this;n=n||{};var u="BEFSessionID";void 0!==o&&"boolean"==typeof o||(o=!1),void 0!==i&&"boolean"==typeof i||(i=!1),void 0!==s&&"boolean"==typeof s||(s=!1);var c=s?this.existRequestInfo:this.hasRequestInfo;e&&(n.params=e);var h=c(n),y=q.convertToHeaders(n.headers);return this.sessionService.getBeSessionId().pipe(l.switchMap(function(e){return y=p.sessionService.extendRequestHeaders(y),n.headers=q.toJson(y),n.observe="response",p.httpService.request(r,t,n)}),l.tap(function(e){e.headers&&e.headers.has(u)&&p.sessionService.setBeSessionId(e.headers.get(u))}),l.map(function(e){return e.body}),l.map(function(e){var t=A.parseBackEndMessage(e);return fe.handleMessage(t,p.repository.getInjector()),p.handleReponseInfo(e,h,a)}),l.catchError(function(e){var t=A.parseBackEndError(e);return fe.handleMessage(t,p.repository.getInjector()),p.handleErrors(e,o,i)}))},Oe.prototype.handleReponseInfo=function(e,t,r){return t?(e&&e.innerDataChange&&!0!==r&&this.repository.handleDataChangeDetails(e.innerDataChange),e&&e.innerVariableChange&&this.repository.handleVariableChangeDetail(e.innerVariableChange),this.repository.clearAllEntityChanges(),e):this.unWrapResponseInfo(e)},Oe.prototype.handleErrors=function(e,t,r){if(this.clearLoading(),t)return I.throwError(e);var n=this.repository.appContext.getFormAppContext(),o=n.ApplicationId,i=!!(window[o]||{}).isExceptionHandlerExist;if(this.eventBus&&i){if(A.isReported401Error(e))return I.throwError(e);var a=A.parseBackEndError(e),s=fe.getFormlessMessages(a),p=s&&0<s.length||!1;return e&&e.error&&e.error.extensionMessage&&fe.isBackEndMessageHandlerExist(this.repository.getInjector())&&!p||this.eventBus.post("Exception","","onException",e,n),r?I.of(null):I.EMPTY}return I.throwError(e)},Oe.prototype.clearLoading=function(){var e,t;if(!1!==(window.DEVKIT_LOADING_SERVICE&&window.DEVKIT_LOADING_SERVICE instanceof Array&&0<window.DEVKIT_LOADING_SERVICE.length||!1)){var r=window.DEVKIT_LOADING_SERVICE;try{for(var n=P(r),o=n.next();!o.done;o=n.next()){var i=o.value;"function"==typeof i.clearAll&&i.clearAll()}}catch(a){e={error:a}}finally{try{o&&!o.done&&(t=n["return"])&&t.call(n)}finally{if(e)throw e.error}}}},Oe.prototype.unWrapResponseInfo=function(e){return A.unWrapResponseInfo(e)},Oe.prototype.hasRequestInfo=function(e){return T.hasRequestInfoWithR(e)},Oe.prototype.existRequestInfo=function(e){return T.hasRequestInfo(e)},Oe.prototype.buildParams=function(e){return w.buildParams(e)},Oe.prototype.buildBodyWithRequestInfo=function(e){return T.buildBodyWithRequestInfo(e,this.repository)},Oe.prototype.buildRequestInfo=function(){return T.buildRequestInfo(this.repository)},Oe.decorators=[{type:i.Injectable}],Oe.ctorParameters=function(){return[{type:a.HttpClient},{type:String},{type:f},{type:be},{type:S.EventBus}]},Oe);function Oe(e,t,r,n,o){this.httpClient=e,this.httpService=new V(this.httpClient),this.baseUri=t;var i=n.getInjector();this.sessionService=new Q(e,t,r,i),this.repository=n,this.eventBus=o}var we=(Me.prototype.getData=function(e,t){var r=e.split(".")[0],n=e.split(".")[1];return t=t||{},!0===this.ifEnableExtendLoadMethod(e)?this.extendGetHelpData(n,r,t):this.getHelpData(n,r,t)},Me.prototype.saveUserSettings=function(e){return this.befRepository.restService.invoke("/api/runtime/bcc/v1.0/datagrid/settings","POST",null,{body:e},!1)},Me.prototype.getUserSettings=function(e){var t="/api/runtime/bcc/v1.0/datagrid/settings/"+e;return this.befRepository.restService.invoke(t,"GET",null,null,!1)},Me.prototype.ifEnableExtendLoadMethod=function(e){if(this.context&&this.context.hasOwnProperty("enableExtendLoadMethod"))return this.context.enableExtendLoadMethod;var t=!1;if(this.frameContext){var r=e+"@"+this.frameContext.repository.apiUri;t=this.frameContext.getParam(r)}return t},Me.prototype.getHelpData=function(e,t,r){var n=this,o=this.befRepository.restService.baseUri+"/elementhelps/"+e;return this.befRepository.updateDataAndVariableChanges().pipe(l.switchMap(function(){return n.befRepository.restService.invoke(o,"GET",{nodeCode:t,queryParam:JSON.stringify(r)},null,!1)}))},Me.prototype.extendGetHelpData=function(e,t,r){var n=this.befRepository.restService.baseUri+"/extension/elementhelps",o={body:{labelId:e,nodeCode:t,queryParam:r,requestInfo:this.befRepository.restService.buildRequestInfo()}};return this.befRepository.restService.invoke(n,"PUT",null,o,!1,!0,!0).pipe(l.map(function(e){return e&&e.returnValue||null}))},Me.prototype.convert2TreeDataWithPathCode=function(n,t,r){var o=this;void 0===t&&(t=1),void 0===r&&(r="01");var e=n.filter(function(e){return e.layer===t&&e.pathcode===r});if(1<t&&(e=n.filter(function(e){return e.layer===t&&e.pathcode.substr(0,2*(t-1))===r})),e.length){var i=e.map(function(e){return{data:e,children:[]}});return i.forEach(function(e){var t,r=o.convert2TreeDataWithPathCode(n,e.data.layer+1,e.data.pathcode);(t=e.children).push.apply(t,D(r))}),i}},Me.decorators=[{type:i.Injectable}],Me.ctorParameters=function(){return[{type:S.Repository},{type:S.FrameContext,decorators:[{type:i.Optional}]}]},Me);function Me(e,t){this.frameContext=t,this.befRepository=e}var Te=(je.prototype.createSession=function(e){var t=this.sessionService.getUserSessionId();return t?this.befRepository.restService.invoke(e,"POST",null,{headers:new a.HttpHeaders({SessionId:t}),responseType:"text"},!1).pipe(l.switchMap(function(e){return I.of({status:!0,payload:e})})):I.of({status:!1,payload:"用户登录信息已过期,请重新登录"})},je.prototype.getData=function(e,t){var r=this,n={};t.condition&&(n=t.condition),"/"===e[e.length-1]&&(e=e.substr(0,e.length-1));var o=e+"/extension/query",i=e+"/service/createsession";if(n){var a=JSON.stringify(n);o=o+"?entityFilter="+a}return this.createSession(i).pipe(l.switchMap(function(e){if(e.status)return e.payload,r.befRepository.restService.invoke(o,"PUT",null,{},!1);throw new Error(e.payload)}),s.map(function(e){var t=e.returnValue,r={items:t.result};return t.pagination?Object.assign({},r,{total:t.pagination.totalCount,pageInfo:{pageSize:t.pagination.pageSize,pageIndex:t.pagination.pageIndex,enablePager:!0}}):r}))},je.decorators=[{type:i.Injectable}],je.ctorParameters=function(){return[{type:S.Repository},{type:f}]},je);function je(e,t){this.sessionService=t,this.befRepository=e}var Ae=(Ue.isExistUnsaveData=function(e){var t=!1;if(!e||!e.entityCollection)throw"Current Object is null or it's entityCollection is null.";var r=e.entityCollection.toArray();if(e.dataChangeHistory.isChanged())return!0;for(var n=0;n<r.length;n++)if(0<r[n].changes.length){t=!0;break}return t},Ue);function Ue(){}var Ve=(He.prototype.toString=function(){return this.url},He);function He(e,t){void 0===t&&(t=null);var r=this;this.url=e,this.paths=t,this.paths&&Object.keys(t).forEach(function(e){-1!==r.url.indexOf("{"+e+"}")&&(r.url=r.url.replace("{"+e+"}",""+t[e]))})}var ke=(Fe.prototype.getData=function(e,t,r){void 0===t&&(t={}),void 0===r&&(r="GET");var n=new a.HttpHeaders({"content-type":"application/json"});return"get"!==r.toLowerCase()?this.befRest.restService.invoke(e,r,null,{headers:n,body:t}):this.befRest.restService.invoke(e,r,t,{headers:n})},Fe.decorators=[{type:i.Injectable}],Fe.ctorParameters=function(){return[{type:S.Repository}]},Fe);function Fe(e){this.befRest=e}var Ne=(_e.prototype.getData=function(e,t,r){void 0===t&&(t={}),void 0===r&&(r="GET");var n=new a.HttpHeaders({"content-type":"application/json"});return this.befRest.restService.invoke(e,r,t,{headers:n})},_e.decorators=[{type:i.Injectable}],_e.ctorParameters=function(){return[{type:S.Repository}]},_e);function _e(e){this.befRest=e}e.VERSION="ver.",e.ChangeDetailType=b,e.BE_SERVER_URI_TOKEN=p,e.BE_SESSION_HANDLING_STRATEGY_TOKEN=u,e.BefChangeBuilder=c,e.BefChangeHandler=y,e.BefSessionService=Q,e.BefRestService=qe,e.BefProxy=Re,e.BefLookupRestService=we,e.BefLookupDefaultService=Te,e.BefRepository=be,e.FrameworkSessionService=f,e.NG_VARIABLE=Z,e.NgVariable=$,e.BefRepositoryUtil=Ae,e.BefDataPathUtil=he,e.UriService=me,e.Uri=Ve,e.DefaultComboHttpService=ke,e.DefaultDynamiControlGroupHttpService=Ne,e.ɵa=ee,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=farris-bef.umd.min.js.map |
@@ -28,2 +28,5 @@ /** | ||
} | ||
if (response && response.innerVariableChange) { | ||
this.context.handleVariableChangeDetail(response.innerVariableChange); | ||
} | ||
/** @type {?} */ | ||
@@ -184,2 +187,2 @@ const messages = ResponseInfoUtil.parseBackEndMessage(response); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3Byb3h5X2V4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmYXJyaXMvYmVmLyIsInNvdXJjZXMiOlsibGliL2JlZl9wcm94eV9leHRlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLGNBQWM7Ozs7SUFDekIsWUFBb0IsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7SUFBSSxDQUFDOzs7Ozs7O0lBTWhELFVBQVUsQ0FBQyxRQUFzQixFQUFFLGFBQXVCO1FBQy9ELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxlQUFlLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtZQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNoRTs7Y0FDSyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1FBQy9ELGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3RELE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQztTQUM3QjthQUFNO1lBQ0wsT0FBTyxRQUFRLENBQUM7U0FDakI7SUFDSCxDQUFDOzs7Ozs7OztJQU9NLE9B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O1lBQ2xDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7OztJQUNNLFlBQVksQ0FBQyxRQUFhOztjQUN6QixZQUFZLEdBQUcsY0FBYztRQUNuQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1NBQzVGO0lBQ0gsQ0FBQztDQUNGOzs7Ozs7SUE1SGEsaUNBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhyb3dFcnJvciwgT2JzZXJ2YWJsZSwgb2YsIEVNUFRZIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJ0BmYXJyaXMvZGV2a2l0JztcclxuaW1wb3J0IHsgSVByb3h5RXh0ZW5kLCBSZXNwb25zZUluZm8gfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgQmVmUmVwb3NpdG9yeSB9IGZyb20gJy4vYmVmX3JlcG9zaXRvcnknO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBSZXNwb25zZUluZm9VdGlsIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IEJhY2tFbmRNZXNzYWdlVXRpbCB9IGZyb20gJy4vdXRpbHMvYmFja19lbmRfbWVzc2FnZS51dGlsJztcclxuXHJcbi8vIHRzbGludDpkaXNhYmxlOiBtYXgtbGluZS1sZW5ndGggdHNsaW50OmRpc2FibGU6IG5vLXN0cmluZy1saXRlcmFsXHJcbmV4cG9ydCBjbGFzcyBCZWZQcm94eUV4dGVuZCBpbXBsZW1lbnRzIElQcm94eUV4dGVuZCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250ZXh0OiBCZWZSZXBvc2l0b3J5PEVudGl0eT4pIHsgfVxyXG4gIC8qKlxyXG4gICAqIOivt+axgue7k+aenOi/lOWbnlxyXG4gICAqIEBwYXJhbSByZXNwb25zZSByZXNwb25zZVxyXG4gICAqIEBwYXJhbSBpZ25vcmVDaGFuZ2VzIOW/veeVpeWPmOabtFxyXG4gICAqL1xyXG4gIHB1YmxpYyBvblJlc3BvbnNlKHJlc3BvbnNlOiBSZXNwb25zZUluZm8sIGlnbm9yZUNoYW5nZXM/OiBib29sZWFuKSB7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaW5uZXJEYXRhQ2hhbmdlICYmIGlnbm9yZUNoYW5nZXMgIT09IHRydWUpIHtcclxuICAgICAgdGhpcy5jb250ZXh0LmhhbmRsZURhdGFDaGFuZ2VEZXRhaWxzKHJlc3BvbnNlLmlubmVyRGF0YUNoYW5nZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBtZXNzYWdlcyA9IFJlc3BvbnNlSW5mb1V0aWwucGFyc2VCYWNrRW5kTWVzc2FnZShyZXNwb25zZSk7XHJcbiAgICBCYWNrRW5kTWVzc2FnZVV0aWwuaGFuZGxlTWVzc2FnZShtZXNzYWdlcywgdGhpcy5jb250ZXh0LmdldEluamVjdG9yKCkpO1xyXG4gICAgdGhpcy5jb250ZXh0LmNsZWFyQWxsRW50aXR5Q2hhbmdlcygpO1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLmhhc093blByb3BlcnR5KCdyZXR1cm5WYWx1ZScpKSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXR1cm5WYWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICog5Y+R55Sf6ZSZ6K+vXHJcbiAgICogQHBhcmFtIGVycm9yIGVycm9yXHJcbiAgICogQHBhcmFtIHNlbGZIYW5kRXJyb3Ig6Ieq5a6a5LmJ6ZSZ6K+v5aSE55CGXHJcbiAgICogQHBhcmFtIGlnbm9yZUVycm9yIOW/veeVpemUmeivr1xyXG4gICAqL1xyXG4gIHB1YmxpYyBvbkVycm9yKGVycm9yOiBhbnksIHNlbGZIYW5kRXJyb3I6IGJvb2xlYW4sIGlnbm9yZUVycm9yOiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGZvcm1BcHBDb250ZXh0ID0gdGhpcy5jb250ZXh0LmFwcENvbnRleHQuZ2V0Rm9ybUFwcENvbnRleHQoKTtcclxuICAgIGNvbnN0IGFwcGxpY2F0aW9uSWQgPSBmb3JtQXBwQ29udGV4dC5BcHBsaWNhdGlvbklkO1xyXG4gICAgY29uc3QgbG9hZGluZ1NlcnZpY2VzID0gd2luZG93WydERVZLSVRfTE9BRElOR19TRVJWSUNFJ107XHJcbiAgICBjb25zdCBtZXNzYWdlcyA9IFJlc3BvbnNlSW5mb1V0aWwucGFyc2VCYWNrRW5kRXJyb3IoZXJyb3IpO1xyXG4gICAgQmFja0VuZE1lc3NhZ2VVdGlsLmhhbmRsZU1lc3NhZ2UobWVzc2FnZXMsIHRoaXMuY29udGV4dC5nZXRJbmplY3RvcigpKTtcclxuICAgIGlmIChsb2FkaW5nU2VydmljZXMgJiYgbG9hZGluZ1NlcnZpY2VzIGluc3RhbmNlb2YgQXJyYXkgJiYgbG9hZGluZ1NlcnZpY2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZm9yIChjb25zdCBsb2FkaW5nU2VydmljZSBvZiBsb2FkaW5nU2VydmljZXMpIHtcclxuICAgICAgICBpZiAodHlwZW9mIChsb2FkaW5nU2VydmljZS5jbGVhckFsbCkgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgIGxvYWRpbmdTZXJ2aWNlLmNsZWFyQWxsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCEhc2VsZkhhbmRFcnJvcikge1xyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBldmVudEJ1cyA9IHRoaXMuY29udGV4dC5yZXN0U2VydmljZS5ldmVudEJ1cztcclxuICAgICAgY29uc3QgYXBwbGljYXRpb25Db250ZXh0OiBhbnkgPSB3aW5kb3dbYXBwbGljYXRpb25JZF0gfHwge307XHJcbiAgICAgIGNvbnN0IGlzRXhjZXB0aW9uSGFuZGxlckV4aXN0ID0gISFhcHBsaWNhdGlvbkNvbnRleHQuaXNFeGNlcHRpb25IYW5kbGVyRXhpc3Q7XHJcblxyXG4gICAgICBpZiAoISFldmVudEJ1cyAmJiBpc0V4Y2VwdGlvbkhhbmRsZXJFeGlzdCkge1xyXG4gICAgICAgIGlmIChSZXNwb25zZUluZm9VdGlsLmlzUmVwb3J0ZWQ0MDFFcnJvcihlcnJvcikpIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBSZXNwb25zZUluZm9VdGlsLnBhcnNlQmFja0VuZEVycm9yKGVycm9yKTtcclxuICAgICAgICBjb25zdCBiaXpNZXNzYWdlcyA9IEJhY2tFbmRNZXNzYWdlVXRpbC5nZXRGb3JtbGVzc01lc3NhZ2VzKG1lc3NhZ2VzKTtcclxuICAgICAgICBjb25zdCBpc0V4aXN0Rm9ybWxlc3NNZXNzYWdlID0gYml6TWVzc2FnZXMgJiYgYml6TWVzc2FnZXMubGVuZ3RoID4gMCB8fCBmYWxzZTtcclxuICAgICAgICBpZiAoIShlcnJvciAmJiBlcnJvci5lcnJvciAmJiBlcnJvci5lcnJvci5leHRlbnNpb25NZXNzYWdlICYmIEJhY2tFbmRNZXNzYWdlVXRpbC5pc0JhY2tFbmRNZXNzYWdlSGFuZGxlckV4aXN0KHRoaXMuY29udGV4dC5nZXRJbmplY3RvcigpKSAmJiAhaXNFeGlzdEZvcm1sZXNzTWVzc2FnZSkpIHtcclxuICAgICAgICAgIGV2ZW50QnVzLnBvc3QoJ0V4Y2VwdGlvbicsICcnLCAnb25FeGNlcHRpb24nLCBlcnJvciwgZm9ybUFwcENvbnRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaWdub3JlRXJyb3IpIHtcclxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICog5omp5bGVaHR0cCBoZWFkZXJzXHJcbiAgICogQHBhcmFtIGhlYWRlcnMgaGVhZGVyc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBleHRlbmRIZWFkZXJzKGhlYWRlcnM6IEh0dHBIZWFkZXJzLCBydW50aW1lQ29udGV4dD86IGFueSk6IE9ic2VydmFibGU8eyBbcHJvcE5hbWU6IHN0cmluZ106IGFueSB9PiB7XHJcbiAgICBjb25zdCAkZ2V0U2Vzc2lvbklkID0gdGhpcy5jb250ZXh0LnJlc3RTZXJ2aWNlLnNlc3Npb25TZXJ2aWNlLmdldEJlU2Vzc2lvbklkKCk7XHJcbiAgICByZXR1cm4gJGdldFNlc3Npb25JZC5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoc2Vzc2lvbklkID0+IHtcclxuICAgICAgICBoZWFkZXJzID0gdGhpcy5jb250ZXh0LnJlc3RTZXJ2aWNlLnNlc3Npb25TZXJ2aWNlLmV4dGVuZFJlcXVlc3RIZWFkZXJzKGhlYWRlcnMsIHJ1bnRpbWVDb250ZXh0KTtcclxuICAgICAgICByZXR1cm4gb2YoaGVhZGVycyk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiDmianlsZXor7fmsYLlj4LmlbBcclxuICAgKiBAcGFyYW0gcGFyYW1zIOWPguaVsFxyXG4gICAqL1xyXG4gIHB1YmxpYyBleHRlbmRVcmwodXJsOiBzdHJpbmcsIHBhcmFtczogeyBbcHJvcE5hbWU6IHN0cmluZ106IGFueSB9KTogc3RyaW5nIHtcclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIHJldHVybiB1cmw7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBwYXJhbXMpIHtcclxuICAgICAgaWYgKHBhcmFtcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBKU09OLnN0cmluZ2lmeShwYXJhbXNba2V5XSk7XHJcbiAgICAgICAgaWYgKHVybC5pbmRleE9mKCc/JykgPT09IC0xKSB7XHJcbiAgICAgICAgICB1cmwgPSBgJHt1cmx9PyR7a2V5fT0ke3ZhbHVlfWA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHVybCA9IGAke3VybH0mJHtrZXl9PSR7dmFsdWV9YDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOaJqeWxleivt+axguS9k1xyXG4gICAqIEBwYXJhbSBib2R5IGJvZHlcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kQm9keShib2R5KTogeyBbcHJvcE5hbWU6IHN0cmluZ106IGFueSB9IHtcclxuICAgIGlmICghYm9keSB8fCB0eXBlb2YgYm9keSAhPT0gJ29iamVjdCcgfHwgT2JqZWN0LmtleXMoYm9keSkubGVuZ3RoIDwgMSkge1xyXG4gICAgICByZXR1cm4gYm9keTtcclxuICAgIH1cclxuICAgIE9iamVjdC5rZXlzKGJvZHkpLmZvckVhY2gobmFtZSA9PiB7XHJcbiAgICAgIGlmIChuYW1lID09PSAncmVxdWVzdEluZm8nKSB7XHJcbiAgICAgICAgYm9keVsncmVxdWVzdEluZm8nXSA9IHRoaXMuY29udGV4dC5yZXN0U2VydmljZS5idWlsZFJlcXVlc3RJbmZvKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8g5YW85a65SueJiOWQjuerr2JvZHnlj6rmnInkuIDkuKprZXnml7Zib2R55Y+q5LygdmFsdWXnmoTmg4XlhrVcclxuICAgIGlmIChPYmplY3Qua2V5cyhib2R5KS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgYm9keSA9IE9iamVjdC52YWx1ZXMoYm9keSlbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYm9keTtcclxuICB9XHJcbiAgcHVibGljIHBhcnNlSGVhZGVycyhyZXNwb25zZTogYW55KSB7XHJcbiAgICBjb25zdCBzZXNzaW9uSWRLZXkgPSAnQkVGU2Vzc2lvbklEJztcclxuICAgIGlmIChyZXNwb25zZS5oZWFkZXJzICYmIHJlc3BvbnNlLmhlYWRlcnMuaGFzKHNlc3Npb25JZEtleSkpIHtcclxuICAgICAgdGhpcy5jb250ZXh0LnJlc3RTZXJ2aWNlLnNlc3Npb25TZXJ2aWNlLnNldEJlU2Vzc2lvbklkKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KHNlc3Npb25JZEtleSkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3Byb3h5X2V4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmYXJyaXMvYmVmLyIsInNvdXJjZXMiOlsibGliL2JlZl9wcm94eV9leHRlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLGNBQWM7Ozs7SUFDekIsWUFBb0IsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7SUFBSSxDQUFDOzs7Ozs7O0lBTWhELFVBQVUsQ0FBQyxRQUFzQixFQUFFLGFBQXVCO1FBQy9ELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxlQUFlLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtZQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNoRTtRQUNELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3ZFOztjQUNLLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7UUFDL0Qsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3JDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxjQUFj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RUFBRSxDQUFDO2FBQ25FO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDSCxtQ0FBbUM7UUFDbkMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0I7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7O0lBQ00sWUFBWSxDQUFDLFFBQWE7O2NBQ3pCLFlBQVksR0FBRyxjQUFjO1FBQ25DLElBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDNUY7SUFDSCxDQUFDO0NBQ0Y7Ozs7OztJQS9IYSxpQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aHJvd0Vycm9yLCBPYnNlcnZhYmxlLCBvZiwgRU1QVFkgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnQGZhcnJpcy9kZXZraXQnO1xyXG5pbXBvcnQgeyBJUHJveHlFeHRlbmQsIFJlc3BvbnNlSW5mbyB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBCZWZSZXBvc2l0b3J5IH0gZnJvbSAnLi9iZWZfcmVwb3NpdG9yeSc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cFBhcmFtcywgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFJlc3BvbnNlSW5mb1V0aWwgfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHsgQmFja0VuZE1lc3NhZ2VVdGlsIH0gZnJvbSAnLi91dGlscy9iYWNrX2VuZF9tZXNzYWdlLnV0aWwnO1xyXG5cclxuLy8gdHNsaW50OmRpc2FibGU6IG1heC1saW5lLWxlbmd0aCB0c2xpbnQ6ZGlzYWJsZTogbm8tc3RyaW5nLWxpdGVyYWxcclxuZXhwb3J0IGNsYXNzIEJlZlByb3h5RXh0ZW5kIGltcGxlbWVudHMgSVByb3h5RXh0ZW5kIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHQ6IEJlZlJlcG9zaXRvcnk8RW50aXR5PikgeyB9XHJcbiAgLyoqXHJcbiAgICog6K+35rGC57uT5p6c6L+U5ZueXHJcbiAgICogQHBhcmFtIHJlc3BvbnNlIHJlc3BvbnNlXHJcbiAgICogQHBhcmFtIGlnbm9yZUNoYW5nZXMg5b+955Wl5Y+Y5pu0XHJcbiAgICovXHJcbiAgcHVibGljIG9uUmVzcG9uc2UocmVzcG9uc2U6IFJlc3BvbnNlSW5mbywgaWdub3JlQ2hhbmdlcz86IGJvb2xlYW4pIHtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5pbm5lckRhdGFDaGFuZ2UgJiYgaWdub3JlQ2hhbmdlcyAhPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmNvbnRleHQuaGFuZGxlRGF0YUNoYW5nZURldGFpbHMocmVzcG9uc2UuaW5uZXJEYXRhQ2hhbmdlKTtcclxuICAgIH1cclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5pbm5lclZhcmlhYmxlQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dC5oYW5kbGVWYXJpYWJsZUNoYW5nZURldGFpbChyZXNwb25zZS5pbm5lclZhcmlhYmxlQ2hhbmdlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1lc3NhZ2VzID0gUmVzcG9uc2VJbmZvVXRpbC5wYXJzZUJhY2tFbmRNZXNzYWdlKHJlc3BvbnNlKTtcclxuICAgIEJhY2tFbmRNZXNzYWdlVXRpbC5oYW5kbGVNZXNzYWdlKG1lc3NhZ2VzLCB0aGlzLmNvbnRleHQuZ2V0SW5qZWN0b3IoKSk7XHJcbiAgICB0aGlzLmNvbnRleHQuY2xlYXJBbGxFbnRpdHlDaGFuZ2VzKCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaGFzT3duUHJvcGVydHkoJ3JldHVyblZhbHVlJykpIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlLnJldHVyblZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiDlj5HnlJ/plJnor69cclxuICAgKiBAcGFyYW0gZXJyb3IgZXJyb3JcclxuICAgKiBAcGFyYW0gc2VsZkhhbmRFcnJvciDoh6rlrprkuYnplJnor6/lpITnkIZcclxuICAgKiBAcGFyYW0gaWdub3JlRXJyb3Ig5b+955Wl6ZSZ6K+vXHJcbiAgICovXHJcbiAgcHVibGljIG9uRXJyb3IoZXJyb3I6IGFueSwgc2VsZkhhbmRFcnJvcjogYm9vbGVhbiwgaWdub3JlRXJyb3I6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgZm9ybUFwcENvbnRleHQgPSB0aGlzLmNvbnRleHQuYXBwQ29udGV4dC5nZXRGb3JtQXBwQ29udGV4dCgpO1xyXG4gICAgY29uc3QgYXBwbGljYXRpb25JZCA9IGZvcm1BcHBDb250ZXh0LkFwcGxpY2F0aW9uSWQ7XHJcbiAgICBjb25zdCBsb2FkaW5nU2VydmljZXMgPSB3aW5kb3dbJ0RFVktJVF9MT0FESU5HX1NFUlZJQ0UnXTtcclxuICAgIGNvbnN0IG1lc3NhZ2VzID0gUmVzcG9uc2VJbmZvVXRpbC5wYXJzZUJhY2tFbmRFcnJvcihlcnJvcik7XHJcbiAgICBCYWNrRW5kTWVzc2FnZVV0aWwuaGFuZGxlTWVzc2FnZShtZXNzYWdlcywgdGhpcy5jb250ZXh0LmdldEluamVjdG9yKCkpO1xyXG4gICAgaWYgKGxvYWRpbmdTZXJ2aWNlcyAmJiBsb2FkaW5nU2VydmljZXMgaW5zdGFuY2VvZiBBcnJheSAmJiBsb2FkaW5nU2VydmljZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGxvYWRpbmdTZXJ2aWNlIG9mIGxvYWRpbmdTZXJ2aWNlcykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgKGxvYWRpbmdTZXJ2aWNlLmNsZWFyQWxsKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgbG9hZGluZ1NlcnZpY2UuY2xlYXJBbGwoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoISFzZWxmSGFuZEVycm9yKSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGV2ZW50QnVzID0gdGhpcy5jb250ZXh0LnJlc3RTZXJ2aWNlLmV2ZW50QnVzO1xyXG4gICAgICBjb25zdCBhcHBsaWNhdGlvbkNvbnRleHQ6IGFueSA9IHdpbmRvd1thcHBsaWNhdGlvbklkXSB8fCB7fTtcclxuICAgICAgY29uc3QgaXNFeGNlcHRpb25IYW5kbGVyRXhpc3QgPSAhIWFwcGxpY2F0aW9uQ29udGV4dC5pc0V4Y2VwdGlvbkhhbmRsZXJFeGlzdDtcclxuXHJcbiAgICAgIGlmICghIWV2ZW50QnVzICYmIGlzRXhjZXB0aW9uSGFuZGxlckV4aXN0KSB7XHJcbiAgICAgICAgaWYgKFJlc3BvbnNlSW5mb1V0aWwuaXNSZXBvcnRlZDQwMUVycm9yKGVycm9yKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBtZXNzYWdlcyA9IFJlc3BvbnNlSW5mb1V0aWwucGFyc2VCYWNrRW5kRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIGNvbnN0IGJpek1lc3NhZ2VzID0gQmFja0VuZE1lc3NhZ2VVdGlsLmdldEZvcm1sZXNzTWVzc2FnZXMobWVzc2FnZXMpO1xyXG4gICAgICAgIGNvbnN0IGlzRXhpc3RGb3JtbGVzc01lc3NhZ2UgPSBiaXpNZXNzYWdlcyAmJiBiaXpNZXNzYWdlcy5sZW5ndGggPiAwIHx8IGZhbHNlO1xyXG4gICAgICAgIGlmICghKGVycm9yICYmIGVycm9yLmVycm9yICYmIGVycm9yLmVycm9yLmV4dGVuc2lvbk1lc3NhZ2UgJiYgQmFja0VuZE1lc3NhZ2VVdGlsLmlzQmFja0VuZE1lc3NhZ2VIYW5kbGVyRXhpc3QodGhpcy5jb250ZXh0LmdldEluamVjdG9yKCkpICYmICFpc0V4aXN0Rm9ybWxlc3NNZXNzYWdlKSkge1xyXG4gICAgICAgICAgZXZlbnRCdXMucG9zdCgnRXhjZXB0aW9uJywgJycsICdvbkV4Y2VwdGlvbicsIGVycm9yLCBmb3JtQXBwQ29udGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpZ25vcmVFcnJvcikge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiDmianlsZVodHRwIGhlYWRlcnNcclxuICAgKiBAcGFyYW0gaGVhZGVycyBoZWFkZXJzXHJcbiAgICovXHJcbiAgcHVibGljIGV4dGVuZEhlYWRlcnMoaGVhZGVyczogSHR0cEhlYWRlcnMsIHJ1bnRpbWVDb250ZXh0PzogYW55KTogT2JzZXJ2YWJsZTx7IFtwcm9wTmFtZTogc3RyaW5nXTogYW55IH0+IHtcclxuICAgIGNvbnN0ICRnZXRTZXNzaW9uSWQgPSB0aGlzLmNvbnRleHQucmVzdFNlcnZpY2Uuc2Vzc2lvblNlcnZpY2UuZ2V0QmVTZXNzaW9uSWQoKTtcclxuICAgIHJldHVybiAkZ2V0U2Vzc2lvbklkLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcChzZXNzaW9uSWQgPT4ge1xyXG4gICAgICAgIGhlYWRlcnMgPSB0aGlzLmNvbnRleHQucmVzdFNlcnZpY2Uuc2Vzc2lvblNlcnZpY2UuZXh0ZW5kUmVxdWVzdEhlYWRlcnMoaGVhZGVycywgcnVudGltZUNvbnRleHQpO1xyXG4gICAgICAgIHJldHVybiBvZihoZWFkZXJzKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOaJqeWxleivt+axguWPguaVsFxyXG4gICAqIEBwYXJhbSBwYXJhbXMg5Y+C5pWwXHJcbiAgICovXHJcbiAgcHVibGljIGV4dGVuZFVybCh1cmw6IHN0cmluZywgcGFyYW1zOiB7IFtwcm9wTmFtZTogc3RyaW5nXTogYW55IH0pOiBzdHJpbmcge1xyXG4gICAgaWYgKCFwYXJhbXMpIHtcclxuICAgICAgcmV0dXJuIHVybDtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3Qga2V5IGluIHBhcmFtcykge1xyXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IEpTT04uc3RyaW5naWZ5KHBhcmFtc1trZXldKTtcclxuICAgICAgICBpZiAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcclxuICAgICAgICAgIHVybCA9IGAke3VybH0/JHtrZXl9PSR7dmFsdWV9YDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdXJsID0gYCR7dXJsfSYke2tleX09JHt2YWx1ZX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVybDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICog5omp5bGV6K+35rGC5L2TXHJcbiAgICogQHBhcmFtIGJvZHkgYm9keVxyXG4gICAqL1xyXG4gIHB1YmxpYyBleHRlbmRCb2R5KGJvZHkpOiB7IFtwcm9wTmFtZTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgaWYgKCFib2R5IHx8IHR5cGVvZiBib2R5ICE9PSAnb2JqZWN0JyB8fCBPYmplY3Qua2V5cyhib2R5KS5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHJldHVybiBib2R5O1xyXG4gICAgfVxyXG4gICAgT2JqZWN0LmtleXMoYm9keSkuZm9yRWFjaChuYW1lID0+IHtcclxuICAgICAgaWYgKG5hbWUgPT09ICdyZXF1ZXN0SW5mbycpIHtcclxuICAgICAgICBib2R5WydyZXF1ZXN0SW5mbyddID0gdGhpcy5jb250ZXh0LnJlc3RTZXJ2aWNlLmJ1aWxkUmVxdWVzdEluZm8oKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyDlhbzlrrlK54mI5ZCO56uvYm9keeWPquacieS4gOS4qmtleeaXtmJvZHnlj6rkvKB2YWx1ZeeahOaDheWGtVxyXG4gICAgaWYgKE9iamVjdC5rZXlzKGJvZHkpLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBib2R5ID0gT2JqZWN0LnZhbHVlcyhib2R5KVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiBib2R5O1xyXG4gIH1cclxuICBwdWJsaWMgcGFyc2VIZWFkZXJzKHJlc3BvbnNlOiBhbnkpIHtcclxuICAgIGNvbnN0IHNlc3Npb25JZEtleSA9ICdCRUZTZXNzaW9uSUQnO1xyXG4gICAgaWYgKHJlc3BvbnNlLmhlYWRlcnMgJiYgcmVzcG9uc2UuaGVhZGVycy5oYXMoc2Vzc2lvbklkS2V5KSkge1xyXG4gICAgICB0aGlzLmNvbnRleHQucmVzdFNlcnZpY2Uuc2Vzc2lvblNlcnZpY2Uuc2V0QmVTZXNzaW9uSWQocmVzcG9uc2UuaGVhZGVycy5nZXQoc2Vzc2lvbklkS2V5KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== |
@@ -398,2 +398,5 @@ /** | ||
} | ||
if (result && result.innerVariableChange) { | ||
this.repository.handleVariableChangeDetail(result.innerVariableChange); | ||
} | ||
this.repository.clearAllEntityChanges(); | ||
@@ -577,2 +580,2 @@ return result; | ||
export { BefRestService }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3Jlc3Rfc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmYXJyaXMvYmVmLyIsInNvdXJjZXMiOlsibGliL2JlZl9yZXN0X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFPQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQTJCLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFjLFVBQVUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQVUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7TUFFN0QsR0FBRyxHQUFHLEtBQUs7O01BQ1gsTUFBTSxHQUFHLFFBQVE7O01BQ2pCLEdBQUcsR0FBRyxLQUFLOztNQUNYLElBQUksR0FBRyxNQUFNOztNQUNiLEtBQUssR0FBRyxPQUFPOzs7OztBQU1yQixNQUNNLGNBQWM7Ozs7Ozs7OztJQStCbEIsWUFDRSxVQUFzQixFQUFFLE9BQWUsRUFDdkMsaUJBQTBDLEVBQzFDLFVBQWlDLEVBQ2pDLFFBQW1CO1FBRW5CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDOztjQUNqQixRQUFRLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRTtRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksaUJBQWlCLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDOzs7Ozs7SUFRRCxJQUFXLEtBQUs7UUFDZCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1NBQzlCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7Ozs7OztJQUtPLGNBQWM7O2NBQ2QsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUzs7Y0FDckMsVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQzs7Y0FDdEMsWUFBWSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO1FBQzlELFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztjQUNoQyxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsRCxZQUFZLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Ozs7Ozs7OztJQVdNLEtBQUssQ0FBQyxZQUFrQjtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Ozs7Ozs7O0lBTU0sV0FBVyxDQUFDLFlBQWlCLEVBQUUsV0FBd0I7UUFDNUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7Ozs7Ozs7SUFNTSxlQUFlLENBQUMsRUFBVSxFQUFFLGFBQWtCLEVBQUUsV0FBd0I7UUFDN0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Ozs7OztJQUtNLFVBQVUsQ0FBQyxNQUFXO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7OztJQUtNLFFBQVEsQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQzs7Ozs7Ozs7SUFNTSxjQUFjLENBQUMsRUFBVSxFQUFFLFdBQXdCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7Ozs7O0lBTU0sTUFBTSxDQUFDLFlBQWtCLEVBQUUsV0FBeUI7UUFDekQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7Ozs7SUFNTSxZQUFZLENBQUMsS0FBYSxFQUFFLFdBQXlCO1FBQzFELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Ozs7Ozs7O0lBTUQsTUFBTSxDQUFDLFlBQTBCLEVBQUUsV0FBeUI7UUFDMUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7OztJQU1NLElBQUksQ0FBQyxXQUF5QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Ozs7Ozs7SUFNTSxNQUFNLENBQUMsRUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Ozs7Ozs7O0lBTU0sWUFBWSxDQUFDLEVBQVUsRUFBRSxXQUF3QjtRQUN0RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDOzs7Ozs7OztJQU1NLFdBQVcsQ0FBQyxLQUFhLEVBQUUsRUFBVTtRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7Ozs7Ozs7SUFNTSxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsRUFBVSxFQUFFLFdBQXdCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlELENBQUM7Ozs7Ozs7SUFDTSxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLFdBQXdCO1FBQzNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Ozs7Ozs7SUFLTSxXQUFXLENBQUMsR0FBYTtRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Ozs7Ozs7O0lBTU0saUJBQWlCLENBQUMsR0FBYSxFQUFFLFdBQXdCO1FBQzlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7Ozs7OztJQU9NLE1BQU0sQ0FBQyxPQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lBV00sT0FBTyxDQUNaLEdBQVcsRUFBRSxNQUFjLEVBQUUsTUFBWSxFQUFFLE9BQWEsRUFDeEQsYUFBdUIsRUFBRSxXQUFxQixFQUFFLGFBQXVCO1FBRXZFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0csQ0FBQzs7Ozs7Ozs7Ozs7OztJQWFNLE1BQU0sQ0FBQyxHQUFXLEVBQUUsTUFBYyxFQUFFLE1BQVksRUFBRSxPQUFhLEVBQ3BFLGFBQXVCLEVBQUUsV0FBcUIsRUFBRSxhQUF1QjtRQUN2RSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3ZELE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUFLTyxZQUFZLENBQ2xCLEdBQVcsRUFBRSxNQUFjLEVBQUUsTUFBWSxFQUFFLE9BQWEsRUFDeEQsYUFBdUIsRUFBRSxXQUFxQixFQUFFLGFBQXVCLEVBQ3ZFLGdDQUEwQztRQUUxQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQzs7Y0FDbEIsZUFBZSxHQUFHLGNBQWM7UUFFdEMsV0FBVztRQUNYLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLFdBQVcsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ2xGLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDdkI7UUFFRCxhQUFhO1FBQ2IsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDOUUsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUVELHFCQUFxQjtRQUNyQixJQUFJLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxLQUFLLFdBQVcsSUFBSSxPQUFPLENBQUMsZ0NBQWdDLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDeEgsZ0NBQWdDLEdBQUcsS0FBSyxDQUFDO1NBQzFDOztjQUNLLHNCQUFzQixHQUFHLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjO1FBRTdHLFNBQVM7UUFDVCxJQUFJLE1BQU0sRUFBRTtZQUNWLCtDQUErQztZQUMvQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUN6Qjs7O2NBR0ssY0FBYyxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQzs7WUFDbEQsT0FBTyxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRTlELG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUM5QyxTQUFTOzs7O1FBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7WUFDOUIsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUQsT0FBTyxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELE9BQU8sQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4RCxDQUFDLEVBQUMsRUFDRixHQUFHOzs7O1FBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQzdELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7YUFDM0U7UUFDSCxDQUFDLEVBQUMsRUFDRixHQUFHOzs7O1FBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUMsRUFDckMsR0FBRzs7OztRQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7O2tCQUNaLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7WUFDN0Qsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDMUUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN2RSxDQUFDLEVBQUMsRUFDRixVQUFVOzs7O1FBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTs7a0JBQ2xCLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7WUFDMUQsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDMUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Ozs7Ozs7O0lBS00saUJBQWlCLENBQUMsTUFBVyxFQUFFLGNBQXVCLEVBQUUsYUFBc0I7UUFDbkYsSUFBSSxjQUFjLEVBQUU7WUFDbEIsMkJBQTJCO1lBQzNCLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IsVUFBVTtZQUNWLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxlQUFlLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDakU7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDeEMsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNO1lBQ0wsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQixzQkFBc0I7WUFDdEIsa0JBQWtCO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQzs7Ozs7Ozs7SUFLTSxZQUFZLENBQUMsS0FBVSxFQUFFLGFBQXNCLEVBQUUsV0FBb0I7UUFDMUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRTtZQUNuQixPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjthQUFNOztrQkFDQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUU7O2tCQUMvRCxhQUFhLEdBQUcsY0FBYyxDQUFDLGFBQWE7O2tCQUM1QyxrQkFBa0IsR0FBUSxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRTs7a0JBQ3JELHVCQUF1QixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUI7WUFDNUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSx1QkFBdUIsRUFBRTtnQkFDOUMsSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDOUMsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzFCOztzQkFDSyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDOztzQkFDcEQsV0FBVyxHQUFHLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQzs7c0JBQzlELHNCQUFzQixHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLO2dCQUM3RSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUU7b0JBQ3hLLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztpQkFDM0U7Z0JBQ0QsSUFBSSxXQUFXLEVBQUU7b0JBQ2YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2pCO3FCQUFNO29CQUNMLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDMUI7U0FDRjtJQUNILENBQUM7Ozs7Ozs7O0lBU08sWUFBWTs7Y0FDWixlQUFlLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDO1lBQ3RELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEtBQUs7WUFDakQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLO1FBRXRELElBQUksZUFBZSxLQUFLLEtBQUssRUFBRTtZQUM3QixPQUFPO1NBQ1I7O2NBRUssZUFBZSxHQUFVLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztRQUMvRCxLQUFLLE1BQU0sT0FBTyxJQUFJLGVBQWUsRUFBRTtZQUNyQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssVUFBVSxFQUFFO2dCQUM1QyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDcEI7U0FDRjtJQUNILENBQUM7Ozs7Ozs7SUFLTyxrQkFBa0IsQ0FBQyxNQUFXO1FBQ3BDLE9BQU8sZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7Ozs7OztJQUtPLGNBQWMsQ0FBQyxPQUFZO1FBQ2pDLE9BQU8sZUFBZSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7Ozs7Ozs7SUFJTyxnQkFBZ0IsQ0FBQyxPQUFZO1FBQ25DLE9BQU8sZUFBZSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7O0lBTU8sV0FBVyxDQUFDLE1BQVc7UUFDN0IsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7Ozs7SUFNTSx3QkFBd0IsQ0FBQyxJQUFTO1FBQ3ZDLE9BQU8sZUFBZSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7Ozs7SUFLTSxnQkFBZ0I7UUFDckIsT0FBTyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELENBQUM7OztZQXJiRixVQUFVOzs7O1lBekJGLFVBQVU7O1lBTVYsdUJBQXVCO1lBRHZCLGFBQWE7WUFGTCxRQUFROzs7Ozs7O0lBeUJ2QixvQ0FBMEM7Ozs7OztJQUsxQyxvQ0FBK0I7Ozs7O0lBQy9CLHFDQUFpQzs7Ozs7SUFLakMsd0NBQXlDOzs7OztJQUt6QyxpQ0FBdUI7Ozs7O0lBS3ZCLGtDQUEwQjs7QUFtYTVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBBdXRob3I6IFdpdHRcclxuICogQERhdGU6IDIwMTktMDItMjMgMTM6NTc6NDdcclxuICogQExhc3QgTW9kaWZpZWQgYnk6IGFhbGl6endlbGxcclxuICogQExhc3QgTW9kaWZpZWQgdGltZTogMjAxOS0wOS0yNCAxNDoxMDo0MFxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IsIG9mLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIG1hcCwgY2F0Y2hFcnJvciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFbnRpdHksIEV2ZW50QnVzIH0gZnJvbSAnQGZhcnJpcy9kZXZraXQnO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVyVXRpbCwgSHR0cFBhcmFtVXRpbCwgUmVxdWVzdEluZm9VdGlsLCBSZXNwb25zZUluZm9VdGlsIH0gZnJvbSAnLi91dGlscy9pbmRleCc7XHJcbmltcG9ydCB7IEJlZlJlcG9zaXRvcnkgfSBmcm9tICcuL2JlZl9yZXBvc2l0b3J5JztcclxuaW1wb3J0IHsgRnJhbWV3b3JrU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL2ZyYW1ld29ya19zZXNzaW9uX3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWZTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi9pbmRleCc7XHJcbmltcG9ydCB7IENoYW5nZURldGFpbCwgUmVxdWVzdEluZm8sIFJlc3BvbnNlSW5mbyB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBCZWZQcm94eSB9IGZyb20gJy4vYmVmX3Byb3h5JztcclxuaW1wb3J0IHsgVXJpU2VydmljZSB9IGZyb20gJy4vdXJpX3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWZQcm94eUV4dGVuZCB9IGZyb20gJy4vYmVmX3Byb3h5X2V4dGVuZCc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwX3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYWNrRW5kTWVzc2FnZVV0aWwgfSBmcm9tICcuL3V0aWxzL2JhY2tfZW5kX21lc3NhZ2UudXRpbCc7XHJcblxyXG5jb25zdCBHRVQgPSAnR0VUJztcclxuY29uc3QgREVMRVRFID0gJ0RFTEVURSc7XHJcbmNvbnN0IFBVVCA9ICdQVVQnO1xyXG5jb25zdCBQT1NUID0gJ1BPU1QnO1xyXG5jb25zdCBQQVRDSCA9ICdQQVRDSCc7XHJcblxyXG4vKipcclxuICogQkVG5Y+W5pWw5pyN5YqhXHJcbiAqIOivpeacjeWKoeeUsUJlZlJlcG9zaXRvcnnlrp7kvovljJbvvIzkuI3lgZrms6jlhaXvvIzmr4/kuKpCZWZSZXBvc2l0b3J55oul5pyJ5LiA5LiqQmVmUmVzdFNlcnZpY2Xlrp7kvovjgIJcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuY2xhc3MgQmVmUmVzdFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHJlcG9zaXRvcnk6IEJlZlJlcG9zaXRvcnk8RW50aXR5PjtcclxuXHJcbiAgLyoqXHJcbiAgICogaHR0cENsaWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudDtcclxuICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZTtcclxuXHJcbiAgLyoqXHJcbiAgICog5Lya6K+d5pyN5YqhXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25TZXJ2aWNlOiBCZWZTZXNzaW9uU2VydmljZTtcclxuXHJcbiAgLyoqXHJcbiAgICog5o6l5Y+j5qC5VXJpXHJcbiAgICovXHJcbiAgcHVibGljIGJhc2VVcmk6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICog5LqL5Lu25oC757q/XHJcbiAgICovXHJcbiAgcHVibGljIGV2ZW50QnVzOiBFdmVudEJ1cztcclxuXHJcbiAgLyoqXHJcbiAgICog5p6E6YCg5Ye95pWwXHJcbiAgICogQHBhcmFtIGh0dHBDbGllbnQgaHR0cOacjeWKoVxyXG4gICAqIEBwYXJhbSBzZXJ2ZXJVcmkg5bqU55So5pyN5Yqh5Zmo5Zyw5Z2AXHJcbiAgICogQHBhcmFtIGJlVXJpIEJFIEFQSeWcsOWdgFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgaHR0cENsaWVudDogSHR0cENsaWVudCwgYmFzZVVyaTogc3RyaW5nLFxyXG4gICAgZnJtU2Vzc2lvblNlcnZpY2U6IEZyYW1ld29ya1Nlc3Npb25TZXJ2aWNlLFxyXG4gICAgcmVwb3NpdG9yeTogQmVmUmVwb3NpdG9yeTxFbnRpdHk+LFxyXG4gICAgZXZlbnRCdXM/OiBFdmVudEJ1c1xyXG4gICkge1xyXG4gICAgdGhpcy5odHRwQ2xpZW50ID0gaHR0cENsaWVudDtcclxuICAgIHRoaXMuaHR0cFNlcnZpY2UgPSBuZXcgSHR0cFNlcnZpY2UodGhpcy5odHRwQ2xpZW50KTtcclxuICAgIHRoaXMuYmFzZVVyaSA9IGJhc2VVcmk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IHJlcG9zaXRvcnkuZ2V0SW5qZWN0b3IoKTtcclxuICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UgPSBuZXcgQmVmU2Vzc2lvblNlcnZpY2UoaHR0cENsaWVudCwgYmFzZVVyaSwgZnJtU2Vzc2lvblNlcnZpY2UsIGluamVjdG9yKTtcclxuICAgIHRoaXMucmVwb3NpdG9yeSA9IHJlcG9zaXRvcnk7XHJcbiAgICB0aGlzLmV2ZW50QnVzID0gZXZlbnRCdXM7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiDku6PnkIbnm7jlhbNcclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+WQmVm5Luj55CGXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBwcm94eSgpOiBCZWZQcm94eSB7XHJcbiAgICBpZiAoISF0aGlzLnJlcG9zaXRvcnkucHJveHkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVwb3NpdG9yeS5wcm94eTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUJlZlByb3h5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDliJvlu7pCZWbku6PnkIZcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUJlZlByb3h5KCkge1xyXG4gICAgY29uc3Qgc2VydmVyVXJpID0gdGhpcy5yZXBvc2l0b3J5LnNlcnZlclVyaTtcclxuICAgIGNvbnN0IHVyaVNlcnZpY2UgPSBuZXcgVXJpU2VydmljZShzZXJ2ZXJVcmkpO1xyXG4gICAgY29uc3QgZGVmYXVsdFByb3h5ID0gbmV3IEJlZlByb3h5KHRoaXMuaHR0cENsaWVudCwgdXJpU2VydmljZSk7XHJcbiAgICBkZWZhdWx0UHJveHkuc2V0QmFzZVVyaSh0aGlzLmJhc2VVcmkpO1xyXG4gICAgY29uc3QgZXh0ZW5kID0gbmV3IEJlZlByb3h5RXh0ZW5kKHRoaXMucmVwb3NpdG9yeSk7XHJcbiAgICBkZWZhdWx0UHJveHkuc2V0UHJveHlFeHRlbmQoZXh0ZW5kKTtcclxuICAgIHJldHVybiBkZWZhdWx0UHJveHk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG5cclxuICAvLyAjcmVnaW9uIOWfuuacrENSVUTmlrnms5VcclxuXHJcbiAgLyoqXHJcbiAgICog5bey5bqf5byD77yM6K+35L2/55SocmVwb3NpdG9yeS5wcm94eeWvueW6lOaWueazleS7o+abv1xyXG4gICAqIEBkZXByZWNhdGVkXHJcbiAgICovXHJcbiAgcHVibGljIHF1ZXJ5KGVudGl0eUZpbHRlcj86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5xdWVyeShlbnRpdHlGaWx0ZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5bey5bqf5byD77yM6K+35L2/55SocmVwb3NpdG9yeS5wcm94eeWvueW6lOaWueazleS7o+abv1xyXG4gICAqIEBkZXByZWNhdGVkXHJcbiAgICovXHJcbiAgcHVibGljIGV4dGVuZFF1ZXJ5KGVudGl0eUZpbHRlcjogYW55LCByZXF1ZXN0SW5mbzogUmVxdWVzdEluZm8pOiBPYnNlcnZhYmxlPFJlc3BvbnNlSW5mbz4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJveHkuZXh0ZW5kUXVlcnkoZW50aXR5RmlsdGVyLCByZXF1ZXN0SW5mbyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOWIhumhteafpeivouWQhOS7juihqOaVsOaNrlxyXG4gICAqIEBwYXJhbSBpZCDkuLvooahpZFxyXG4gICAqIEBwYXJhbSByZXRyaWV2ZVBhcmFtIOWPguaVsFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXJ2aWNlUmV0cmlldmUoaWQ6IHN0cmluZywgcmV0cmlldmVQYXJhbTogYW55LCByZXF1ZXN0SW5mbzogUmVxdWVzdEluZm8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJveHkuc2VydmljZVJldHJpZXZlKGlkLCByZXRyaWV2ZVBhcmFtLCByZXF1ZXN0SW5mbyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOWIhumhteafpeivouS7juihqC/ku47ku47ooajmlbDmja5cclxuICAgKiBAcGFyYW0gcGFyYW1zIOafpeivouWPguaVsFxyXG4gICAqL1xyXG4gIHB1YmxpYyBxdWVyeUNoaWxkKHBhcmFtczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5xdWVyeUNoaWxkKHBhcmFtcyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXRyaWV2ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LnJldHJpZXZlKGlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBleHRlbmRSZXRyaWV2ZShpZDogc3RyaW5nLCByZXF1ZXN0SW5mbzogUmVxdWVzdEluZm8pOiBPYnNlcnZhYmxlPFJlc3BvbnNlSW5mbz4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJveHkuZXh0ZW5kUmV0cmlldmUoaWQsIHJlcXVlc3RJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjcmVhdGUoZGVmYXVsdFZhbHVlPzogYW55LCByZXF1ZXN0SW5mbz86IFJlcXVlc3RJbmZvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmNyZWF0ZShkZWZhdWx0VmFsdWUsIHJlcXVlc3RJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjcmVhdGVCeVBhdGgoZnBhdGg6IHN0cmluZywgcmVxdWVzdEluZm8/OiBSZXF1ZXN0SW5mbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5jcmVhdGVCeVBhdGgoZnBhdGgsIHJlcXVlc3RJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHVwZGF0ZShjaGFuZ2VEZXRhaWw6IENoYW5nZURldGFpbCwgcmVxdWVzdEluZm8/OiBSZXF1ZXN0SW5mbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS51cGRhdGUoY2hhbmdlRGV0YWlsLCByZXF1ZXN0SW5mbyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKhyZXBvc2l0b3J5LnByb3h55a+55bqU5pa55rOV5Luj5pu/XHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgc2F2ZShyZXF1ZXN0SW5mbz86IFJlcXVlc3RJbmZvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LnNhdmUocmVxdWVzdEluZm8pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5bey5bqf5byD77yM6K+35L2/55SocmVwb3NpdG9yeS5wcm94eeWvueW6lOaWueazleS7o+abv1xyXG4gICAqIEBkZXByZWNhdGVkXHJcbiAgICovXHJcbiAgcHVibGljIGRlbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmRlbGV0ZShpZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKhyZXBvc2l0b3J5LnByb3h55a+55bqU5pa55rOV5Luj5pu/XHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kRGVsZXRlKGlkOiBzdHJpbmcsIHJlcXVlc3RJbmZvOiBSZXF1ZXN0SW5mbyk6IE9ic2VydmFibGU8UmVzcG9uc2VJbmZvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5leHRlbmREZWxldGUoaWQsIHJlcXVlc3RJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZWxldEJ5UGF0aChmcGF0aDogc3RyaW5nLCBpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmRlbGV0QnlQYXRoKGZwYXRoLCBpZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKhyZXBvc2l0b3J5LnByb3h55a+55bqU5pa55rOV5Luj5pu/XHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kRGVsZXRCeVBhdGgoZnBhdGg6IHN0cmluZywgaWQ6IHN0cmluZywgcmVxdWVzdEluZm86IFJlcXVlc3RJbmZvKTogT2JzZXJ2YWJsZTxSZXNwb25zZUluZm8+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmV4dGVuZERlbGV0QnlQYXRoKGZwYXRoLCBpZCwgcmVxdWVzdEluZm8pO1xyXG4gIH1cclxuICBwdWJsaWMgYmF0Y2hEZWxldGVCeVBhdGgoZlBhdGg6IHN0cmluZywgaWRzOiBzdHJpbmcsIHJlcXVlc3RJbmZvOiBSZXF1ZXN0SW5mbyk6IE9ic2VydmFibGU8UmVzcG9uc2VJbmZvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5iYXRjaERlbGV0ZUJ5UGF0aChmUGF0aCwgaWRzLCByZXF1ZXN0SW5mbyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBiYXRjaERlbGV0ZShpZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmJhdGNoRGVsZXRlKGlkcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKhyZXBvc2l0b3J5LnByb3h55a+55bqU5pa55rOV5Luj5pu/XHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kQmF0Y2hEZWxldGUoaWRzOiBzdHJpbmdbXSwgcmVxdWVzdEluZm86IFJlcXVlc3RJbmZvKTogT2JzZXJ2YWJsZTxSZXNwb25zZUluZm8+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmV4dGVuZEJhdGNoRGVsZXRlKGlkcywgcmVxdWVzdEluZm8pO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjYW5jZWwob3B0aW9ucz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5jYW5jZWwob3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG5cclxuICAvLyAjcmVnaW9uIHJlcXVlc3Tmlrnms5VcclxuXHJcbiAgLyoqXHJcbiAgICog5bey5bqf5byD77yM6K+35L2/55SocmVwb3NpdG9yeS5wcm94eeWvueW6lOaWueazleS7o+abv1xyXG4gICAqIEBkZXByZWNhdGVkXHJcbiAgICovXHJcbiAgcHVibGljIHJlcXVlc3QoXHJcbiAgICB1cmw6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgb3B0aW9ucz86IGFueSxcclxuICAgIHNlbGZIYW5kRXJyb3I/OiBib29sZWFuLCBpZ25vcmVFcnJvcj86IGJvb2xlYW4sIGlnbm9yZUNoYW5nZXM/OiBib29sZWFuXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmlubmVyUmVxdWVzdCh1cmwsIG1ldGhvZCwgcGFyYW1zLCBvcHRpb25zLCBzZWxmSGFuZEVycm9yLCBpZ25vcmVFcnJvciwgaWdub3JlQ2hhbmdlcywgZmFsc2UpO1xyXG4gIH1cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZTogYWxpZ25cclxuXHJcbiAgLyoqXHJcbiAgICog6LCD55So5ZCO56uv5pa55rOVXHJcbiAgICogQHBhcmFtIHVybCB1cmxcclxuICAgKiBAcGFyYW0gbWV0aG9kIG1ldGhvZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1zXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9uc1xyXG4gICAqIEBwYXJhbSBzZWxmSGFuZEVycm9yIOiHquW3seWkhOeQhuW8guW4uFxyXG4gICAqIEBwYXJhbSBpZ25vcmVFcnJvciDlv73nlaXplJnor69cclxuICAgKiBAcGFyYW0gaWdub3JlQ2hhbmdlcyDlv73nlaXlj5jmm7RcclxuICAgKi9cclxuICBwdWJsaWMgaW52b2tlKHVybDogc3RyaW5nLCBtZXRob2Q6IHN0cmluZywgcGFyYW1zPzogYW55LCBvcHRpb25zPzogYW55LFxyXG4gICAgc2VsZkhhbmRFcnJvcj86IGJvb2xlYW4sIGlnbm9yZUVycm9yPzogYm9vbGVhbiwgaWdub3JlQ2hhbmdlcz86IGJvb2xlYW4pIHtcclxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuYm9keSAmJiBvcHRpb25zLmJvZHkuUmVxdWVzdEluZm8pIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCfor7fkvb/nlKhyZXF1ZXN0SW5mb+aPkOS6pOWPmOabtCcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaW5uZXJSZXF1ZXN0KHVybCwgbWV0aG9kLCBwYXJhbXMsIG9wdGlvbnMsIHNlbGZIYW5kRXJyb3IsIGlnbm9yZUVycm9yLCBpZ25vcmVDaGFuZ2VzLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWGhemDqOeahHJlcXVlc3Tmlrnms5VcclxuICAgKi9cclxuICBwcml2YXRlIGlubmVyUmVxdWVzdChcclxuICAgIHVybDogc3RyaW5nLCBtZXRob2Q6IHN0cmluZywgcGFyYW1zPzogYW55LCBvcHRpb25zPzogYW55LFxyXG4gICAgc2VsZkhhbmRFcnJvcj86IGJvb2xlYW4sIGlnbm9yZUVycm9yPzogYm9vbGVhbiwgaWdub3JlQ2hhbmdlcz86IGJvb2xlYW4sXHJcbiAgICB1c2VDb3JyZWN0UmVxdWVzdEluZm9DaGVja01ldGhvZD86IGJvb2xlYW5cclxuICApIHtcclxuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xyXG4gICAgY29uc3QgYmVmU2Vzc2lvbklkS2V5ID0gJ0JFRlNlc3Npb25JRCc7XHJcblxyXG4gICAgLy8g5piv5ZCm6Ieq5bex5aSE55CG5byC5bi4XHJcbiAgICBpZiAodHlwZW9mIChzZWxmSGFuZEVycm9yKSA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIChzZWxmSGFuZEVycm9yKSAhPT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgIHNlbGZIYW5kRXJyb3IgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyDmmK/lkKblv73nlaXlvILluLjnu6fnu63miafooYxcclxuICAgIGlmICh0eXBlb2YgKGlnbm9yZUVycm9yKSA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIChpZ25vcmVFcnJvcikgIT09ICdib29sZWFuJykge1xyXG4gICAgICBpZ25vcmVFcnJvciA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIOmAieaLqeajgOafpVJlcXVlc3RJbmZv55qE5pa55rOVXHJcbiAgICBpZiAodHlwZW9mICh1c2VDb3JyZWN0UmVxdWVzdEluZm9DaGVja01ldGhvZCkgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiAodXNlQ29ycmVjdFJlcXVlc3RJbmZvQ2hlY2tNZXRob2QpICE9PSAnYm9vbGVhbicpIHtcclxuICAgICAgdXNlQ29ycmVjdFJlcXVlc3RJbmZvQ2hlY2tNZXRob2QgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNoZWNrUmVxdWVzdEluZm9NZXRob2QgPSB1c2VDb3JyZWN0UmVxdWVzdEluZm9DaGVja01ldGhvZCA/IHRoaXMuZXhpc3RSZXF1ZXN0SW5mbyA6IHRoaXMuaGFzUmVxdWVzdEluZm87XHJcblxyXG4gICAgLy8gcGFyYW1zXHJcbiAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgIC8vIGNvbnN0IGh0dHBQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKHBhcmFtcyk7XHJcbiAgICAgIG9wdGlvbnMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIOW4puaciXJlcXVlc3RJbmZv55qE6K+35rGC77yM6K+35rGC5oiQ5Yqf5ZCO5riF56m65Y+Y5pu06ZuGXHJcbiAgICBjb25zdCBoYXNSZXF1ZXN0SW5mbyA9IGNoZWNrUmVxdWVzdEluZm9NZXRob2Qob3B0aW9ucyk7XHJcbiAgICBsZXQgaGVhZGVycyA9IEh0dHBIZWFkZXJVdGlsLmNvbnZlcnRUb0hlYWRlcnMob3B0aW9ucy5oZWFkZXJzKTtcclxuXHJcbiAgICAvLyDkuLLogZRzZXNzaW9u5rWB5ZKMaHR0cOa1gVxyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0QmVTZXNzaW9uSWQoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKHNlc3Npb25JZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaGVhZGVycyA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZXh0ZW5kUmVxdWVzdEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICAgICAgb3B0aW9ucy5oZWFkZXJzID0gSHR0cEhlYWRlclV0aWwudG9Kc29uKGhlYWRlcnMpO1xyXG4gICAgICAgIG9wdGlvbnMub2JzZXJ2ZSA9ICdyZXNwb25zZSc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucmVxdWVzdChtZXRob2QsIHVybCwgb3B0aW9ucyk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UuaGVhZGVycyAmJiByZXNwb25zZS5oZWFkZXJzLmhhcyhiZWZTZXNzaW9uSWRLZXkpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNldEJlU2Vzc2lvbklkKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KGJlZlNlc3Npb25JZEtleSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UuYm9keSksXHJcbiAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtZXNzYWdlcyA9IFJlc3BvbnNlSW5mb1V0aWwucGFyc2VCYWNrRW5kTWVzc2FnZShyZXN1bHQpO1xyXG4gICAgICAgIEJhY2tFbmRNZXNzYWdlVXRpbC5oYW5kbGVNZXNzYWdlKG1lc3NhZ2VzLCB0aGlzLnJlcG9zaXRvcnkuZ2V0SW5qZWN0b3IoKSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVwb25zZUluZm8ocmVzdWx0LCBoYXNSZXF1ZXN0SW5mbywgaWdub3JlQ2hhbmdlcyk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBSZXNwb25zZUluZm9VdGlsLnBhcnNlQmFja0VuZEVycm9yKGVycm9yKTtcclxuICAgICAgICBCYWNrRW5kTWVzc2FnZVV0aWwuaGFuZGxlTWVzc2FnZShtZXNzYWdlcywgdGhpcy5yZXBvc2l0b3J5LmdldEluamVjdG9yKCkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9ycyhlcnJvciwgc2VsZkhhbmRFcnJvciwgaWdub3JlRXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWkhOeQhui/lOWbnue7k+aenFxyXG4gICAqL1xyXG4gIHB1YmxpYyBoYW5kbGVSZXBvbnNlSW5mbyhyZXN1bHQ6IGFueSwgaGFzUmVxdWVzdEluZm86IGJvb2xlYW4sIGlnbm9yZUNoYW5nZXM6IGJvb2xlYW4pOiBhbnkge1xyXG4gICAgaWYgKGhhc1JlcXVlc3RJbmZvKSB7XHJcbiAgICAgIC8vIOWmguaenOacieW4puaciVJlcXVlc3RJbmZv77yM5YiZ5oyJ5paw57uT5p6E5aSE55CGXHJcbiAgICAgIC8vIDHjgIHlupTnlKjmnI3liqHlmajnq6/ov5Tlm57nmoTlj5jmm7TvvJtcclxuICAgICAgLy8gMuOAgea4heepuuacrOWcsOWPmOabtOmbhu+8m1xyXG4gICAgICAvLyAz44CB6L+U5Zue5paw57uT5p6EXHJcbiAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmlubmVyRGF0YUNoYW5nZSAmJiBpZ25vcmVDaGFuZ2VzICE9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5yZXBvc2l0b3J5LmhhbmRsZURhdGFDaGFuZ2VEZXRhaWxzKHJlc3VsdC5pbm5lckRhdGFDaGFuZ2UpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVwb3NpdG9yeS5jbGVhckFsbEVudGl0eUNoYW5nZXMoKTtcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIOWmguaenOacieayoeaciVJlcXVlc3RJbmZv77yM5YiZ5oyJ6ICB55qE5pa55byP5aSE55CGXHJcbiAgICAgIC8vIDHjgIHkuI3lpITnkIbmnI3liqHlmajnq6/ov5Tlm57nmoTlj5jmm7TvvJrot5/ogIHnmoTooYzkuLrkuIDmoLfvvJtcclxuICAgICAgLy8gMuOAgeS4jea4heeQhuacrOWcsOWPmOabtO+8muWboOS4uuWPmOabtOayoeacieaPkOS6pO+8m1xyXG4gICAgICAvLyAz44CB6L+U5Zue6ICB55qE57uT5p6E77ya5YW85a656ICB55qE5Luj56CBXHJcbiAgICAgIHJldHVybiB0aGlzLnVuV3JhcFJlc3BvbnNlSW5mbyhyZXN1bHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6ZSZ6K+v5aSE55CGXHJcbiAgICovXHJcbiAgcHVibGljIGhhbmRsZUVycm9ycyhlcnJvcjogYW55LCBzZWxmSGFuZEVycm9yOiBib29sZWFuLCBpZ25vcmVFcnJvcjogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmNsZWFyTG9hZGluZygpO1xyXG5cclxuICAgIGlmICghIXNlbGZIYW5kRXJyb3IpIHtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZm9ybUFwcENvbnRleHQgPSB0aGlzLnJlcG9zaXRvcnkuYXBwQ29udGV4dC5nZXRGb3JtQXBwQ29udGV4dCgpO1xyXG4gICAgICBjb25zdCBhcHBsaWNhdGlvbklkID0gZm9ybUFwcENvbnRleHQuQXBwbGljYXRpb25JZDtcclxuICAgICAgY29uc3QgYXBwbGljYXRpb25Db250ZXh0OiBhbnkgPSB3aW5kb3dbYXBwbGljYXRpb25JZF0gfHwge307XHJcbiAgICAgIGNvbnN0IGlzRXhjZXB0aW9uSGFuZGxlckV4aXN0ID0gISFhcHBsaWNhdGlvbkNvbnRleHQuaXNFeGNlcHRpb25IYW5kbGVyRXhpc3Q7XHJcbiAgICAgIGlmICghIXRoaXMuZXZlbnRCdXMgJiYgaXNFeGNlcHRpb25IYW5kbGVyRXhpc3QpIHtcclxuICAgICAgICBpZiAoUmVzcG9uc2VJbmZvVXRpbC5pc1JlcG9ydGVkNDAxRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gUmVzcG9uc2VJbmZvVXRpbC5wYXJzZUJhY2tFbmRFcnJvcihlcnJvcik7XHJcbiAgICAgICAgY29uc3QgYml6TWVzc2FnZXMgPSBCYWNrRW5kTWVzc2FnZVV0aWwuZ2V0Rm9ybWxlc3NNZXNzYWdlcyhtZXNzYWdlcyk7XHJcbiAgICAgICAgY29uc3QgaXNFeGlzdEZvcm1sZXNzTWVzc2FnZSA9IGJpek1lc3NhZ2VzICYmIGJpek1lc3NhZ2VzLmxlbmd0aCA+IDAgfHwgZmFsc2U7XHJcbiAgICAgICAgaWYgKCEoZXJyb3IgJiYgZXJyb3IuZXJyb3IgJiYgZXJyb3IuZXJyb3IuZXh0ZW5zaW9uTWVzc2FnZSAmJiBCYWNrRW5kTWVzc2FnZVV0aWwuaXNCYWNrRW5kTWVzc2FnZUhhbmRsZXJFeGlzdCh0aGlzLnJlcG9zaXRvcnkuZ2V0SW5qZWN0b3IoKSkgJiYgIWlzRXhpc3RGb3JtbGVzc01lc3NhZ2UpKSB7XHJcbiAgICAgICAgICB0aGlzLmV2ZW50QnVzLnBvc3QoJ0V4Y2VwdGlvbicsICcnLCAnb25FeGNlcHRpb24nLCBlcnJvciwgZm9ybUFwcENvbnRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaWdub3JlRXJyb3IpIHtcclxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiDlt6Xlhbfmlrnms5VcclxuXHJcbiAgLyoqXHJcbiAgICog5riF56m6TG9hZGluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXJMb2FkaW5nKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaWZMb2FkaW5nRXhpc3RzID0gd2luZG93WydERVZLSVRfTE9BRElOR19TRVJWSUNFJ10gJiZcclxuICAgICAgd2luZG93WydERVZLSVRfTE9BRElOR19TRVJWSUNFJ10gaW5zdGFuY2VvZiBBcnJheSAmJlxyXG4gICAgICB3aW5kb3dbJ0RFVktJVF9MT0FESU5HX1NFUlZJQ0UnXS5sZW5ndGggPiAwIHx8IGZhbHNlO1xyXG5cclxuICAgIGlmIChpZkxvYWRpbmdFeGlzdHMgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsb2FkaW5nU2VydmljZXM6IGFueVtdID0gd2luZG93WydERVZLSVRfTE9BRElOR19TRVJWSUNFJ107XHJcbiAgICBmb3IgKGNvbnN0IHNlcnZpY2Ugb2YgbG9hZGluZ1NlcnZpY2VzKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgKHNlcnZpY2UuY2xlYXJBbGwpID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgc2VydmljZS5jbGVhckFsbCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlpITnkIbov5Tlm57lgLzvvIzlhbzlrrnogIHniYjmnKxcclxuICAgKi9cclxuICBwcml2YXRlIHVuV3JhcFJlc3BvbnNlSW5mbyhyZXN1bHQ6IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gUmVzcG9uc2VJbmZvVXRpbC51bldyYXBSZXNwb25zZUluZm8ocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaYr+WQpuW4puaciVJlcXVlc3RJbmZvXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBoYXNSZXF1ZXN0SW5mbyhvcHRpb25zOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBSZXF1ZXN0SW5mb1V0aWwuaGFzUmVxdWVzdEluZm9XaXRoUihvcHRpb25zKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICog5piv5ZCm5bim5pyJcmVxdWVzdEluZm9cclxuICAgKi9cclxuICBwcml2YXRlIGV4aXN0UmVxdWVzdEluZm8ob3B0aW9uczogYW55KSB7XHJcbiAgICByZXR1cm4gUmVxdWVzdEluZm9VdGlsLmhhc1JlcXVlc3RJbmZvKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5p6E6YCgSHR0cFBhcmFtc+WvueixoVxyXG4gICAqIEBwYXJhbSBwYXJhbXMg6K+35rGC5Y+C5pWwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZFBhcmFtcyhwYXJhbXM6IGFueSk6IEh0dHBQYXJhbXMge1xyXG4gICAgcmV0dXJuIEh0dHBQYXJhbVV0aWwuYnVpbGRQYXJhbXMocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaehOmAoOW4plJlcXVlc3RJbmZv55qEQm9kee+8iOmAgueUqOS6juWkmuS4quWPguaVsOeahOaDheWGte+8jOWmguaenOWPquacieS4gOS4qlJlcXVlc3RJbmZv5Y+C5pWw77yMYm9keT1SZXF1ZXN0SW5mb++8iVxyXG4gICAqIEBib2R5IOacquaQuuW4plJlcXVlc3RJbmZv55qEYm9kee+8jOagvOW8j+W9ouWmgjoge2tleTE6IHZhbHVlMSwga2V5MjogdmFsdWUyfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBidWlsZEJvZHlXaXRoUmVxdWVzdEluZm8oYm9keTogYW55KTogYW55IHtcclxuICAgIHJldHVybiBSZXF1ZXN0SW5mb1V0aWwuYnVpbGRCb2R5V2l0aFJlcXVlc3RJbmZvKGJvZHksIHRoaXMucmVwb3NpdG9yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmnoTpgKBSZXF1ZXN0SW5mb1xyXG4gICAqL1xyXG4gIHB1YmxpYyBidWlsZFJlcXVlc3RJbmZvKCk6IFJlcXVlc3RJbmZvIHtcclxuICAgIHJldHVybiBSZXF1ZXN0SW5mb1V0aWwuYnVpbGRSZXF1ZXN0SW5mbyh0aGlzLnJlcG9zaXRvcnkpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxufVxyXG5cclxuZXhwb3J0IHsgQmVmUmVzdFNlcnZpY2UgfTtcclxuXHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3Jlc3Rfc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmYXJyaXMvYmVmLyIsInNvdXJjZXMiOlsibGliL2JlZl9yZXN0X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFPQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQTJCLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFjLFVBQVUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQVUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7TUFFN0QsR0FBRyxHQUFHLEtBQUs7O01BQ1gsTUFBTSxHQUFHLFFBQVE7O01BQ2pCLEdBQUcsR0FBRyxLQUFLOztNQUNYLElB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Ozs7O1lBekJGLFVBQVU7O1lBTVYsdUJBQXVCO1lBRHZCLGFBQWE7WUFGTCxRQUFROzs7Ozs7O0lBeUJ2QixvQ0FBMEM7Ozs7OztJQUsxQyxvQ0FBK0I7Ozs7O0lBQy9CLHFDQUFpQzs7Ozs7SUFLakMsd0NBQXlDOzs7OztJQUt6QyxpQ0FBdUI7Ozs7O0lBS3ZCLGtDQUEwQjs7QUFzYTVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBBdXRob3I6IFdpdHRcclxuICogQERhdGU6IDIwMTktMDItMjMgMTM6NTc6NDdcclxuICogQExhc3QgTW9kaWZpZWQgYnk6IGFhbGl6endlbGxcclxuICogQExhc3QgTW9kaWZpZWQgdGltZTogMjAxOS0wOS0yNCAxNDoxMDo0MFxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IsIG9mLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIG1hcCwgY2F0Y2hFcnJvciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFbnRpdHksIEV2ZW50QnVzIH0gZnJvbSAnQGZhcnJpcy9kZXZraXQnO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVyVXRpbCwgSHR0cFBhcmFtVXRpbCwgUmVxdWVzdEluZm9VdGlsLCBSZXNwb25zZUluZm9VdGlsIH0gZnJvbSAnLi91dGlscy9pbmRleCc7XHJcbmltcG9ydCB7IEJlZlJlcG9zaXRvcnkgfSBmcm9tICcuL2JlZl9yZXBvc2l0b3J5JztcclxuaW1wb3J0IHsgRnJhbWV3b3JrU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL2ZyYW1ld29ya19zZXNzaW9uX3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWZTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi9pbmRleCc7XHJcbmltcG9ydCB7IENoYW5nZURldGFpbCwgUmVxdWVzdEluZm8sIFJlc3BvbnNlSW5mbyB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBCZWZQcm94eSB9IGZyb20gJy4vYmVmX3Byb3h5JztcclxuaW1wb3J0IHsgVXJpU2VydmljZSB9IGZyb20gJy4vdXJpX3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWZQcm94eUV4dGVuZCB9IGZyb20gJy4vYmVmX3Byb3h5X2V4dGVuZCc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwX3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYWNrRW5kTWVzc2FnZVV0aWwgfSBmcm9tICcuL3V0aWxzL2JhY2tfZW5kX21lc3NhZ2UudXRpbCc7XHJcblxyXG5jb25zdCBHRVQgPSAnR0VUJztcclxuY29uc3QgREVMRVRFID0gJ0RFTEVURSc7XHJcbmNvbnN0IFBVVCA9ICdQVVQnO1xyXG5jb25zdCBQT1NUID0gJ1BPU1QnO1xyXG5jb25zdCBQQVRDSCA9ICdQQVRDSCc7XHJcblxyXG4vKipcclxuICogQkVG5Y+W5pWw5pyN5YqhXHJcbiAqIOivpeacjeWKoeeUsUJlZlJlcG9zaXRvcnnlrp7kvovljJbvvIzkuI3lgZrms6jlhaXvvIzmr4/kuKpCZWZSZXBvc2l0b3J55oul5pyJ5LiA5LiqQmVmUmVzdFNlcnZpY2Xlrp7kvovjgIJcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuY2xhc3MgQmVmUmVzdFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHJlcG9zaXRvcnk6IEJlZlJlcG9zaXRvcnk8RW50aXR5PjtcclxuXHJcbiAgLyoqXHJcbiAgICogaHR0cENsaWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudDtcclxuICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZTtcclxuXHJcbiAgLyoqXHJcbiAgICog5Lya6K+d5pyN5YqhXHJcbiAgICovXHJcbiAgcHVibGljIHNlc3Npb25TZXJ2aWNlOiBCZWZTZXNzaW9uU2VydmljZTtcclxuXHJcbiAgLyoqXHJcbiAgICog5o6l5Y+j5qC5VXJpXHJcbiAgICovXHJcbiAgcHVibGljIGJhc2VVcmk6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICog5LqL5Lu25oC757q/XHJcbiAgICovXHJcbiAgcHVibGljIGV2ZW50QnVzOiBFdmVudEJ1cztcclxuXHJcbiAgLyoqXHJcbiAgICog5p6E6YCg5Ye95pWwXHJcbiAgICogQHBhcmFtIGh0dHBDbGllbnQgaHR0cOacjeWKoVxyXG4gICAqIEBwYXJhbSBzZXJ2ZXJVcmkg5bqU55So5pyN5Yqh5Zmo5Zyw5Z2AXHJcbiAgICogQHBhcmFtIGJlVXJpIEJFIEFQSeWcsOWdgFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgaHR0cENsaWVudDogSHR0cENsaWVudCwgYmFzZVVyaTogc3RyaW5nLFxyXG4gICAgZnJtU2Vzc2lvblNlcnZpY2U6IEZyYW1ld29ya1Nlc3Npb25TZXJ2aWNlLFxyXG4gICAgcmVwb3NpdG9yeTogQmVmUmVwb3NpdG9yeTxFbnRpdHk+LFxyXG4gICAgZXZlbnRCdXM/OiBFdmVudEJ1c1xyXG4gICkge1xyXG4gICAgdGhpcy5odHRwQ2xpZW50ID0gaHR0cENsaWVudDtcclxuICAgIHRoaXMuaHR0cFNlcnZpY2UgPSBuZXcgSHR0cFNlcnZpY2UodGhpcy5odHRwQ2xpZW50KTtcclxuICAgIHRoaXMuYmFzZVVyaSA9IGJhc2VVcmk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IHJlcG9zaXRvcnkuZ2V0SW5qZWN0b3IoKTtcclxuICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UgPSBuZXcgQmVmU2Vzc2lvblNlcnZpY2UoaHR0cENsaWVudCwgYmFzZVVyaSwgZnJtU2Vzc2lvblNlcnZpY2UsIGluamVjdG9yKTtcclxuICAgIHRoaXMucmVwb3NpdG9yeSA9IHJlcG9zaXRvcnk7XHJcbiAgICB0aGlzLmV2ZW50QnVzID0gZXZlbnRCdXM7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiDku6PnkIbnm7jlhbNcclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+WQmVm5Luj55CGXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBwcm94eSgpOiBCZWZQcm94eSB7XHJcbiAgICBpZiAoISF0aGlzLnJlcG9zaXRvcnkucHJveHkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVwb3NpdG9yeS5wcm94eTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUJlZlByb3h5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDliJvlu7pCZWbku6PnkIZcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUJlZlByb3h5KCkge1xyXG4gICAgY29uc3Qgc2VydmVyVXJpID0gdGhpcy5yZXBvc2l0b3J5LnNlcnZlclVyaTtcclxuICAgIGNvbnN0IHVyaVNlcnZpY2UgPSBuZXcgVXJpU2VydmljZShzZXJ2ZXJVcmkpO1xyXG4gICAgY29uc3QgZGVmYXVsdFByb3h5ID0gbmV3IEJlZlByb3h5KHRoaXMuaHR0cENsaWVudCwgdXJpU2VydmljZSk7XHJcbiAgICBkZWZhdWx0UHJveHkuc2V0QmFzZVVyaSh0aGlzLmJhc2VVcmkpO1xyXG4gICAgY29uc3QgZXh0ZW5kID0gbmV3IEJlZlByb3h5RXh0ZW5kKHRoaXMucmVwb3NpdG9yeSk7XHJcbiAgICBkZWZhdWx0UHJveHkuc2V0UHJveHlFeHRlbmQoZXh0ZW5kKTtcclxuICAgIHJldHVybiBkZWZhdWx0UHJveHk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG5cclxuICAvLyAjcmVnaW9uIOWfuuacrENSVUTmlrnms5VcclxuXHJcbiAgLyoqXHJcbiAgICog5bey5bqf5byD77yM6K+35L2/55SocmVwb3NpdG9yeS5wcm94eeWvueW6lOaWueazleS7o+abv1xyXG4gICAqIEBkZXByZWNhdGVkXHJcbiAgICovXHJcbiAgcHVibGljIHF1ZXJ5KGVudGl0eUZpbHRlcj86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5xdWVyeShlbnRpdHlGaWx0ZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5bey5bqf5byD77yM6K+35L2/55SocmVwb3NpdG9yeS5wcm94eeWvueW6lOaWueazleS7o+abv1xyXG4gICAqIEBkZXByZWNhdGVkXHJcbiAgICovXHJcbiAgcHVibGljIGV4dGVuZFF1ZXJ5KGVudGl0eUZpbHRlcjogYW55LCByZXF1ZXN0SW5mbzogUmVxdWVzdEluZm8pOiBPYnNlcnZhYmxlPFJlc3BvbnNlSW5mbz4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJveHkuZXh0ZW5kUXVlcnkoZW50aXR5RmlsdGVyLCByZXF1ZXN0SW5mbyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOWIhumhteafpeivouWQhOS7juihqOaVsOaNrlxyXG4gICAqIEBwYXJhbSBpZCDkuLvooahpZFxyXG4gICAqIEBwYXJhbSByZXRyaWV2ZVBhcmFtIOWPguaVsFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXJ2aWNlUmV0cmlldmUoaWQ6IHN0cmluZywgcmV0cmlldmVQYXJhbTogYW55LCByZXF1ZXN0SW5mbzogUmVxdWVzdEluZm8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJveHkuc2VydmljZVJldHJpZXZlKGlkLCByZXRyaWV2ZVBhcmFtLCByZXF1ZXN0SW5mbyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOWIhumhteafpeivouS7juihqC/ku47ku47ooajmlbDmja5cclxuICAgKiBAcGFyYW0gcGFyYW1zIOafpeivouWPguaVsFxyXG4gICAqL1xyXG4gIHB1YmxpYyBxdWVyeUNoaWxkKHBhcmFtczogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5xdWVyeUNoaWxkKHBhcmFtcyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXRyaWV2ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LnJldHJpZXZlKGlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBleHRlbmRSZXRyaWV2ZShpZDogc3RyaW5nLCByZXF1ZXN0SW5mbzogUmVxdWVzdEluZm8pOiBPYnNlcnZhYmxlPFJlc3BvbnNlSW5mbz4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJveHkuZXh0ZW5kUmV0cmlldmUoaWQsIHJlcXVlc3RJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjcmVhdGUoZGVmYXVsdFZhbHVlPzogYW55LCByZXF1ZXN0SW5mbz86IFJlcXVlc3RJbmZvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmNyZWF0ZShkZWZhdWx0VmFsdWUsIHJlcXVlc3RJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjcmVhdGVCeVBhdGgoZnBhdGg6IHN0cmluZywgcmVxdWVzdEluZm8/OiBSZXF1ZXN0SW5mbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5jcmVhdGVCeVBhdGgoZnBhdGgsIHJlcXVlc3RJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHVwZGF0ZShjaGFuZ2VEZXRhaWw6IENoYW5nZURldGFpbCwgcmVxdWVzdEluZm8/OiBSZXF1ZXN0SW5mbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS51cGRhdGUoY2hhbmdlRGV0YWlsLCByZXF1ZXN0SW5mbyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKhyZXBvc2l0b3J5LnByb3h55a+55bqU5pa55rOV5Luj5pu/XHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgc2F2ZShyZXF1ZXN0SW5mbz86IFJlcXVlc3RJbmZvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LnNhdmUocmVxdWVzdEluZm8pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5bey5bqf5byD77yM6K+35L2/55SocmVwb3NpdG9yeS5wcm94eeWvueW6lOaWueazleS7o+abv1xyXG4gICAqIEBkZXByZWNhdGVkXHJcbiAgICovXHJcbiAgcHVibGljIGRlbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmRlbGV0ZShpZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKhyZXBvc2l0b3J5LnByb3h55a+55bqU5pa55rOV5Luj5pu/XHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kRGVsZXRlKGlkOiBzdHJpbmcsIHJlcXVlc3RJbmZvOiBSZXF1ZXN0SW5mbyk6IE9ic2VydmFibGU8UmVzcG9uc2VJbmZvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5leHRlbmREZWxldGUoaWQsIHJlcXVlc3RJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZWxldEJ5UGF0aChmcGF0aDogc3RyaW5nLCBpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmRlbGV0QnlQYXRoKGZwYXRoLCBpZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKhyZXBvc2l0b3J5LnByb3h55a+55bqU5pa55rOV5Luj5pu/XHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kRGVsZXRCeVBhdGgoZnBhdGg6IHN0cmluZywgaWQ6IHN0cmluZywgcmVxdWVzdEluZm86IFJlcXVlc3RJbmZvKTogT2JzZXJ2YWJsZTxSZXNwb25zZUluZm8+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmV4dGVuZERlbGV0QnlQYXRoKGZwYXRoLCBpZCwgcmVxdWVzdEluZm8pO1xyXG4gIH1cclxuICBwdWJsaWMgYmF0Y2hEZWxldGVCeVBhdGgoZlBhdGg6IHN0cmluZywgaWRzOiBzdHJpbmcsIHJlcXVlc3RJbmZvOiBSZXF1ZXN0SW5mbyk6IE9ic2VydmFibGU8UmVzcG9uc2VJbmZvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5iYXRjaERlbGV0ZUJ5UGF0aChmUGF0aCwgaWRzLCByZXF1ZXN0SW5mbyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBiYXRjaERlbGV0ZShpZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmJhdGNoRGVsZXRlKGlkcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKhyZXBvc2l0b3J5LnByb3h55a+55bqU5pa55rOV5Luj5pu/XHJcbiAgICogQGRlcHJlY2F0ZWRcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kQmF0Y2hEZWxldGUoaWRzOiBzdHJpbmdbXSwgcmVxdWVzdEluZm86IFJlcXVlc3RJbmZvKTogT2JzZXJ2YWJsZTxSZXNwb25zZUluZm8+IHtcclxuICAgIHJldHVybiB0aGlzLnByb3h5LmV4dGVuZEJhdGNoRGVsZXRlKGlkcywgcmVxdWVzdEluZm8pO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIOW3suW6n+W8g++8jOivt+S9v+eUqHJlcG9zaXRvcnkucHJveHnlr7nlupTmlrnms5Xku6Pmm79cclxuICAgKiBAZGVwcmVjYXRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjYW5jZWwob3B0aW9ucz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm94eS5jYW5jZWwob3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG5cclxuICAvLyAjcmVnaW9uIHJlcXVlc3Tmlrnms5VcclxuXHJcbiAgLyoqXHJcbiAgICog5bey5bqf5byD77yM6K+35L2/55SocmVwb3NpdG9yeS5wcm94eeWvueW6lOaWueazleS7o+abv1xyXG4gICAqIEBkZXByZWNhdGVkXHJcbiAgICovXHJcbiAgcHVibGljIHJlcXVlc3QoXHJcbiAgICB1cmw6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgb3B0aW9ucz86IGFueSxcclxuICAgIHNlbGZIYW5kRXJyb3I/OiBib29sZWFuLCBpZ25vcmVFcnJvcj86IGJvb2xlYW4sIGlnbm9yZUNoYW5nZXM/OiBib29sZWFuXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmlubmVyUmVxdWVzdCh1cmwsIG1ldGhvZCwgcGFyYW1zLCBvcHRpb25zLCBzZWxmSGFuZEVycm9yLCBpZ25vcmVFcnJvciwgaWdub3JlQ2hhbmdlcywgZmFsc2UpO1xyXG4gIH1cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZTogYWxpZ25cclxuXHJcbiAgLyoqXHJcbiAgICog6LCD55So5ZCO56uv5pa55rOVXHJcbiAgICogQHBhcmFtIHVybCB1cmxcclxuICAgKiBAcGFyYW0gbWV0aG9kIG1ldGhvZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1zXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9uc1xyXG4gICAqIEBwYXJhbSBzZWxmSGFuZEVycm9yIOiHquW3seWkhOeQhuW8guW4uFxyXG4gICAqIEBwYXJhbSBpZ25vcmVFcnJvciDlv73nlaXplJnor69cclxuICAgKiBAcGFyYW0gaWdub3JlQ2hhbmdlcyDlv73nlaXlj5jmm7RcclxuICAgKi9cclxuICBwdWJsaWMgaW52b2tlKHVybDogc3RyaW5nLCBtZXRob2Q6IHN0cmluZywgcGFyYW1zPzogYW55LCBvcHRpb25zPzogYW55LFxyXG4gICAgc2VsZkhhbmRFcnJvcj86IGJvb2xlYW4sIGlnbm9yZUVycm9yPzogYm9vbGVhbiwgaWdub3JlQ2hhbmdlcz86IGJvb2xlYW4pIHtcclxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuYm9keSAmJiBvcHRpb25zLmJvZHkuUmVxdWVzdEluZm8pIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCfor7fkvb/nlKhyZXF1ZXN0SW5mb+aPkOS6pOWPmOabtCcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaW5uZXJSZXF1ZXN0KHVybCwgbWV0aG9kLCBwYXJhbXMsIG9wdGlvbnMsIHNlbGZIYW5kRXJyb3IsIGlnbm9yZUVycm9yLCBpZ25vcmVDaGFuZ2VzLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWGhemDqOeahHJlcXVlc3Tmlrnms5VcclxuICAgKi9cclxuICBwcml2YXRlIGlubmVyUmVxdWVzdChcclxuICAgIHVybDogc3RyaW5nLCBtZXRob2Q6IHN0cmluZywgcGFyYW1zPzogYW55LCBvcHRpb25zPzogYW55LFxyXG4gICAgc2VsZkhhbmRFcnJvcj86IGJvb2xlYW4sIGlnbm9yZUVycm9yPzogYm9vbGVhbiwgaWdub3JlQ2hhbmdlcz86IGJvb2xlYW4sXHJcbiAgICB1c2VDb3JyZWN0UmVxdWVzdEluZm9DaGVja01ldGhvZD86IGJvb2xlYW5cclxuICApIHtcclxuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xyXG4gICAgY29uc3QgYmVmU2Vzc2lvbklkS2V5ID0gJ0JFRlNlc3Npb25JRCc7XHJcblxyXG4gICAgLy8g5piv5ZCm6Ieq5bex5aSE55CG5byC5bi4XHJcbiAgICBpZiAodHlwZW9mIChzZWxmSGFuZEVycm9yKSA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIChzZWxmSGFuZEVycm9yKSAhPT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgIHNlbGZIYW5kRXJyb3IgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyDmmK/lkKblv73nlaXlvILluLjnu6fnu63miafooYxcclxuICAgIGlmICh0eXBlb2YgKGlnbm9yZUVycm9yKSA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIChpZ25vcmVFcnJvcikgIT09ICdib29sZWFuJykge1xyXG4gICAgICBpZ25vcmVFcnJvciA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIOmAieaLqeajgOafpVJlcXVlc3RJbmZv55qE5pa55rOVXHJcbiAgICBpZiAodHlwZW9mICh1c2VDb3JyZWN0UmVxdWVzdEluZm9DaGVja01ldGhvZCkgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiAodXNlQ29ycmVjdFJlcXVlc3RJbmZvQ2hlY2tNZXRob2QpICE9PSAnYm9vbGVhbicpIHtcclxuICAgICAgdXNlQ29ycmVjdFJlcXVlc3RJbmZvQ2hlY2tNZXRob2QgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNoZWNrUmVxdWVzdEluZm9NZXRob2QgPSB1c2VDb3JyZWN0UmVxdWVzdEluZm9DaGVja01ldGhvZCA/IHRoaXMuZXhpc3RSZXF1ZXN0SW5mbyA6IHRoaXMuaGFzUmVxdWVzdEluZm87XHJcblxyXG4gICAgLy8gcGFyYW1zXHJcbiAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgIC8vIGNvbnN0IGh0dHBQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKHBhcmFtcyk7XHJcbiAgICAgIG9wdGlvbnMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIOW4puaciXJlcXVlc3RJbmZv55qE6K+35rGC77yM6K+35rGC5oiQ5Yqf5ZCO5riF56m65Y+Y5pu06ZuGXHJcbiAgICBjb25zdCBoYXNSZXF1ZXN0SW5mbyA9IGNoZWNrUmVxdWVzdEluZm9NZXRob2Qob3B0aW9ucyk7XHJcbiAgICBsZXQgaGVhZGVycyA9IEh0dHBIZWFkZXJVdGlsLmNvbnZlcnRUb0hlYWRlcnMob3B0aW9ucy5oZWFkZXJzKTtcclxuXHJcbiAgICAvLyDkuLLogZRzZXNzaW9u5rWB5ZKMaHR0cOa1gVxyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0QmVTZXNzaW9uSWQoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKHNlc3Npb25JZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaGVhZGVycyA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZXh0ZW5kUmVxdWVzdEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICAgICAgb3B0aW9ucy5oZWFkZXJzID0gSHR0cEhlYWRlclV0aWwudG9Kc29uKGhlYWRlcnMpO1xyXG4gICAgICAgIG9wdGlvbnMub2JzZXJ2ZSA9ICdyZXNwb25zZSc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucmVxdWVzdChtZXRob2QsIHVybCwgb3B0aW9ucyk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UuaGVhZGVycyAmJiByZXNwb25zZS5oZWFkZXJzLmhhcyhiZWZTZXNzaW9uSWRLZXkpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNldEJlU2Vzc2lvbklkKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KGJlZlNlc3Npb25JZEtleSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UuYm9keSksXHJcbiAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtZXNzYWdlcyA9IFJlc3BvbnNlSW5mb1V0aWwucGFyc2VCYWNrRW5kTWVzc2FnZShyZXN1bHQpO1xyXG4gICAgICAgIEJhY2tFbmRNZXNzYWdlVXRpbC5oYW5kbGVNZXNzYWdlKG1lc3NhZ2VzLCB0aGlzLnJlcG9zaXRvcnkuZ2V0SW5qZWN0b3IoKSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVwb25zZUluZm8ocmVzdWx0LCBoYXNSZXF1ZXN0SW5mbywgaWdub3JlQ2hhbmdlcyk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBSZXNwb25zZUluZm9VdGlsLnBhcnNlQmFja0VuZEVycm9yKGVycm9yKTtcclxuICAgICAgICBCYWNrRW5kTWVzc2FnZVV0aWwuaGFuZGxlTWVzc2FnZShtZXNzYWdlcywgdGhpcy5yZXBvc2l0b3J5LmdldEluamVjdG9yKCkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9ycyhlcnJvciwgc2VsZkhhbmRFcnJvciwgaWdub3JlRXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWkhOeQhui/lOWbnue7k+aenFxyXG4gICAqL1xyXG4gIHB1YmxpYyBoYW5kbGVSZXBvbnNlSW5mbyhyZXN1bHQ6IGFueSwgaGFzUmVxdWVzdEluZm86IGJvb2xlYW4sIGlnbm9yZUNoYW5nZXM6IGJvb2xlYW4pOiBhbnkge1xyXG4gICAgaWYgKGhhc1JlcXVlc3RJbmZvKSB7XHJcbiAgICAgIC8vIOWmguaenOacieW4puaciVJlcXVlc3RJbmZv77yM5YiZ5oyJ5paw57uT5p6E5aSE55CGXHJcbiAgICAgIC8vIDHjgIHlupTnlKjmnI3liqHlmajnq6/ov5Tlm57nmoTlj5jmm7TvvJtcclxuICAgICAgLy8gMuOAgea4heepuuacrOWcsOWPmOabtOmbhu+8m1xyXG4gICAgICAvLyAz44CB6L+U5Zue5paw57uT5p6EXHJcbiAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmlubmVyRGF0YUNoYW5nZSAmJiBpZ25vcmVDaGFuZ2VzICE9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5yZXBvc2l0b3J5LmhhbmRsZURhdGFDaGFuZ2VEZXRhaWxzKHJlc3VsdC5pbm5lckRhdGFDaGFuZ2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmlubmVyVmFyaWFibGVDaGFuZ2UpIHtcclxuICAgICAgICB0aGlzLnJlcG9zaXRvcnkuaGFuZGxlVmFyaWFibGVDaGFuZ2VEZXRhaWwocmVzdWx0LmlubmVyVmFyaWFibGVDaGFuZ2UpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVwb3NpdG9yeS5jbGVhckFsbEVudGl0eUNoYW5nZXMoKTtcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIOWmguaenOacieayoeaciVJlcXVlc3RJbmZv77yM5YiZ5oyJ6ICB55qE5pa55byP5aSE55CGXHJcbiAgICAgIC8vIDHjgIHkuI3lpITnkIbmnI3liqHlmajnq6/ov5Tlm57nmoTlj5jmm7TvvJrot5/ogIHnmoTooYzkuLrkuIDmoLfvvJtcclxuICAgICAgLy8gMuOAgeS4jea4heeQhuacrOWcsOWPmOabtO+8muWboOS4uuWPmOabtOayoeacieaPkOS6pO+8m1xyXG4gICAgICAvLyAz44CB6L+U5Zue6ICB55qE57uT5p6E77ya5YW85a656ICB55qE5Luj56CBXHJcbiAgICAgIHJldHVybiB0aGlzLnVuV3JhcFJlc3BvbnNlSW5mbyhyZXN1bHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6ZSZ6K+v5aSE55CGXHJcbiAgICovXHJcbiAgcHVibGljIGhhbmRsZUVycm9ycyhlcnJvcjogYW55LCBzZWxmSGFuZEVycm9yOiBib29sZWFuLCBpZ25vcmVFcnJvcjogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmNsZWFyTG9hZGluZygpO1xyXG5cclxuICAgIGlmICghIXNlbGZIYW5kRXJyb3IpIHtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZm9ybUFwcENvbnRleHQgPSB0aGlzLnJlcG9zaXRvcnkuYXBwQ29udGV4dC5nZXRGb3JtQXBwQ29udGV4dCgpO1xyXG4gICAgICBjb25zdCBhcHBsaWNhdGlvbklkID0gZm9ybUFwcENvbnRleHQuQXBwbGljYXRpb25JZDtcclxuICAgICAgY29uc3QgYXBwbGljYXRpb25Db250ZXh0OiBhbnkgPSB3aW5kb3dbYXBwbGljYXRpb25JZF0gfHwge307XHJcbiAgICAgIGNvbnN0IGlzRXhjZXB0aW9uSGFuZGxlckV4aXN0ID0gISFhcHBsaWNhdGlvbkNvbnRleHQuaXNFeGNlcHRpb25IYW5kbGVyRXhpc3Q7XHJcbiAgICAgIGlmICghIXRoaXMuZXZlbnRCdXMgJiYgaXNFeGNlcHRpb25IYW5kbGVyRXhpc3QpIHtcclxuICAgICAgICBpZiAoUmVzcG9uc2VJbmZvVXRpbC5pc1JlcG9ydGVkNDAxRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gUmVzcG9uc2VJbmZvVXRpbC5wYXJzZUJhY2tFbmRFcnJvcihlcnJvcik7XHJcbiAgICAgICAgY29uc3QgYml6TWVzc2FnZXMgPSBCYWNrRW5kTWVzc2FnZVV0aWwuZ2V0Rm9ybWxlc3NNZXNzYWdlcyhtZXNzYWdlcyk7XHJcbiAgICAgICAgY29uc3QgaXNFeGlzdEZvcm1sZXNzTWVzc2FnZSA9IGJpek1lc3NhZ2VzICYmIGJpek1lc3NhZ2VzLmxlbmd0aCA+IDAgfHwgZmFsc2U7XHJcbiAgICAgICAgaWYgKCEoZXJyb3IgJiYgZXJyb3IuZXJyb3IgJiYgZXJyb3IuZXJyb3IuZXh0ZW5zaW9uTWVzc2FnZSAmJiBCYWNrRW5kTWVzc2FnZVV0aWwuaXNCYWNrRW5kTWVzc2FnZUhhbmRsZXJFeGlzdCh0aGlzLnJlcG9zaXRvcnkuZ2V0SW5qZWN0b3IoKSkgJiYgIWlzRXhpc3RGb3JtbGVzc01lc3NhZ2UpKSB7XHJcbiAgICAgICAgICB0aGlzLmV2ZW50QnVzLnBvc3QoJ0V4Y2VwdGlvbicsICcnLCAnb25FeGNlcHRpb24nLCBlcnJvciwgZm9ybUFwcENvbnRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaWdub3JlRXJyb3IpIHtcclxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiDlt6Xlhbfmlrnms5VcclxuXHJcbiAgLyoqXHJcbiAgICog5riF56m6TG9hZGluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXJMb2FkaW5nKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaWZMb2FkaW5nRXhpc3RzID0gd2luZG93WydERVZLSVRfTE9BRElOR19TRVJWSUNFJ10gJiZcclxuICAgICAgd2luZG93WydERVZLSVRfTE9BRElOR19TRVJWSUNFJ10gaW5zdGFuY2VvZiBBcnJheSAmJlxyXG4gICAgICB3aW5kb3dbJ0RFVktJVF9MT0FESU5HX1NFUlZJQ0UnXS5sZW5ndGggPiAwIHx8IGZhbHNlO1xyXG5cclxuICAgIGlmIChpZkxvYWRpbmdFeGlzdHMgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsb2FkaW5nU2VydmljZXM6IGFueVtdID0gd2luZG93WydERVZLSVRfTE9BRElOR19TRVJWSUNFJ107XHJcbiAgICBmb3IgKGNvbnN0IHNlcnZpY2Ugb2YgbG9hZGluZ1NlcnZpY2VzKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgKHNlcnZpY2UuY2xlYXJBbGwpID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgc2VydmljZS5jbGVhckFsbCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlpITnkIbov5Tlm57lgLzvvIzlhbzlrrnogIHniYjmnKxcclxuICAgKi9cclxuICBwcml2YXRlIHVuV3JhcFJlc3BvbnNlSW5mbyhyZXN1bHQ6IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gUmVzcG9uc2VJbmZvVXRpbC51bldyYXBSZXNwb25zZUluZm8ocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaYr+WQpuW4puaciVJlcXVlc3RJbmZvXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBoYXNSZXF1ZXN0SW5mbyhvcHRpb25zOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBSZXF1ZXN0SW5mb1V0aWwuaGFzUmVxdWVzdEluZm9XaXRoUihvcHRpb25zKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICog5piv5ZCm5bim5pyJcmVxdWVzdEluZm9cclxuICAgKi9cclxuICBwcml2YXRlIGV4aXN0UmVxdWVzdEluZm8ob3B0aW9uczogYW55KSB7XHJcbiAgICByZXR1cm4gUmVxdWVzdEluZm9VdGlsLmhhc1JlcXVlc3RJbmZvKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5p6E6YCgSHR0cFBhcmFtc+WvueixoVxyXG4gICAqIEBwYXJhbSBwYXJhbXMg6K+35rGC5Y+C5pWwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZFBhcmFtcyhwYXJhbXM6IGFueSk6IEh0dHBQYXJhbXMge1xyXG4gICAgcmV0dXJuIEh0dHBQYXJhbVV0aWwuYnVpbGRQYXJhbXMocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaehOmAoOW4plJlcXVlc3RJbmZv55qEQm9kee+8iOmAgueUqOS6juWkmuS4quWPguaVsOeahOaDheWGte+8jOWmguaenOWPquacieS4gOS4qlJlcXVlc3RJbmZv5Y+C5pWw77yMYm9keT1SZXF1ZXN0SW5mb++8iVxyXG4gICAqIEBib2R5IOacquaQuuW4plJlcXVlc3RJbmZv55qEYm9kee+8jOagvOW8j+W9ouWmgjoge2tleTE6IHZhbHVlMSwga2V5MjogdmFsdWUyfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBidWlsZEJvZHlXaXRoUmVxdWVzdEluZm8oYm9keTogYW55KTogYW55IHtcclxuICAgIHJldHVybiBSZXF1ZXN0SW5mb1V0aWwuYnVpbGRCb2R5V2l0aFJlcXVlc3RJbmZvKGJvZHksIHRoaXMucmVwb3NpdG9yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmnoTpgKBSZXF1ZXN0SW5mb1xyXG4gICAqL1xyXG4gIHB1YmxpYyBidWlsZFJlcXVlc3RJbmZvKCk6IFJlcXVlc3RJbmZvIHtcclxuICAgIHJldHVybiBSZXF1ZXN0SW5mb1V0aWwuYnVpbGRSZXF1ZXN0SW5mbyh0aGlzLnJlcG9zaXRvcnkpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxufVxyXG5cclxuZXhwb3J0IHsgQmVmUmVzdFNlcnZpY2UgfTtcclxuXHJcbiJdfQ== |
@@ -48,17 +48,29 @@ /** | ||
handleChangeDetail(changeDetail) { | ||
// const changeInfo = changeDetail.ChangeInfo; | ||
// Object.keys(changeInfo).forEach((varName: string) => { | ||
// // 变量元数据 | ||
// const ngVariable = this.ngVariableMap.get(varName); | ||
// const mapping = ngVariable.mapping; | ||
// // 更新UIState变更 | ||
// const newValue = changeInfo[varName]; | ||
// const oldValue = this.innerValueMap.get(varName); | ||
// if (oldValue === newValue) { | ||
// return; | ||
// } | ||
// // 更新值 | ||
// this.setValueToUIState(mapping, newValue); | ||
// this.innerValueMap.set(varName, newValue); | ||
// }); | ||
/** @type {?} */ | ||
const changeInfo = changeDetail.ChangeInfo; | ||
Object.keys(changeInfo).forEach((/** | ||
* @param {?} varName | ||
* @return {?} | ||
*/ | ||
(varName) => { | ||
// 变量元数据 | ||
/** @type {?} */ | ||
const ngVariable = this.ngVariableMap.get(varName); | ||
if (!ngVariable) { | ||
return; | ||
} | ||
/** @type {?} */ | ||
const mapping = ngVariable.mapping; | ||
// 更新UIState变更 | ||
/** @type {?} */ | ||
const newValue = changeInfo[varName]; | ||
/** @type {?} */ | ||
const oldValue = this.innerValueMap.get(varName); | ||
if (oldValue === newValue) { | ||
return; | ||
} | ||
// 更新值 | ||
this.setValueToUIState(mapping, newValue); | ||
this.innerValueMap.set(varName, newValue); | ||
})); | ||
} | ||
@@ -201,4 +213,5 @@ /** | ||
setValueToUIState(mapping, value) { | ||
// const uiState = this.getUIState(); | ||
// uiState[mapping] = value; | ||
/** @type {?} */ | ||
const uiState = this.getRootUIState(); | ||
uiState[mapping] = value; | ||
} | ||
@@ -242,2 +255,2 @@ } | ||
export { BefVariableManager }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3ZhcmlhYmxlX21hbmFnZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmFycmlzL2JlZi8iLCJzb3VyY2VzIjpbImxpYi9iZWZfdmFyaWFibGVfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sU0FBUyxDQUFDO0FBRXpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU1uRCxNQUFNLGtCQUFrQjs7Ozs7OztJQWVwQixZQUFvQixVQUFzQixFQUFVLFdBQWdCLEVBQXNCLFFBQWtCO1FBQXhGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUFzQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRXhHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBRTVDLFlBQVk7UUFDWixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU87Ozs7UUFBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDNUQsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7Ozs7SUFLTSxrQkFBa0IsQ0FBQyxZQUEwQjtRQUNoRCw4Q0FBOEM7UUFDOUMseURBQXlEO1FBRXpELGFBQWE7UUFDYix3REFBd0Q7UUFDeEQs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QywwQkFBMEIsRUFBRTtnQkFDekUsZ0JBQWdCLEdBQUcsdUJBQXVCLElBQUksZ0JBQWdCLENBQUM7YUFDbEU7U0FDSjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFDRCxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUNwQyxDQUFDOzs7Ozs7Ozs7SUFNTyxZQUFZLENBQUMsUUFBYSxFQUFFLFFBQWE7UUFDN0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7Ozs7OztJQUtPLGFBQWEsQ0FBQyxHQUFRO1FBQzFCLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXO1lBQ3pCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxpQkFBaUI7WUFDcEMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Ozs7Ozs7Ozs7O0lBU08saUJBQWlCLENBQUMsT0FBZSxFQUFFLEtBQVU7UUFDakQscUNBQXFDO1FBQ3JDLDRCQUE0QjtJQUNoQyxDQUFDOzs7O1lBdktJLFVBQVU7O1lBSVYsUUFBUSx1QkFxQjBELFFBQVE7Ozs7Ozs7O0lBVi9FLDJDQUErQzs7Ozs7O0lBSy9DLDJDQUF3Qzs7Ozs7SUFLNUIsd0NBQThCOzs7OztJQUFFLHlDQUF3Qjs7Ozs7SUFBRSxzQ0FBc0M7O0FBbUpoSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBBdXRob3I6IFdpdHRcclxuICogQERhdGU6IDIwMTktMDMtMDUgMTk6NTU6NDRcclxuICogQExhc3QgTW9kaWZpZWQgYnk6IFdpdHRcclxuICogQExhc3QgTW9kaWZpZWQgdGltZTogMjAxOS0wMy0xMyAyMDozNToyOVxyXG4gKi9cclxuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0LCBGcmFtZUNvbnRleHQsIFVJU3RhdGUgfSBmcm9tICdAZmFycmlzL2RldmtpdCc7XHJcbmltcG9ydCB7IENoYW5nZURldGFpbFR5cGUsIENoYW5nZURldGFpbCB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBOZ1ZhcmlhYmxlIH0gZnJvbSAnLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgQmVmQ2hhbmdlVXRpbCB9IGZyb20gJy4vYmVmX2NoYW5nZV91dGlsJztcclxuaW1wb3J0IHsgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEJl5Y+Y6YeP566h55CG5ZmoXHJcbiAqL1xyXG5jbGFzcyBCZWZWYXJpYWJsZU1hbmFnZXIge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog5Y+Y6YeP5YWD5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgbmdWYXJpYWJsZU1hcDogTWFwPHN0cmluZywgTmdWYXJpYWJsZT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDorr7nva7lgLxcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBpbm5lclZhbHVlTWFwOiBNYXA8c3RyaW5nLCBhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog5p6E6YCg5Ye95pWwXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dCwgcHJpdmF0ZSBuZ1ZhcmlhYmxlczogYW55LCBAT3B0aW9uYWwoKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG5cclxuICAgICAgICB0aGlzLm5nVmFyaWFibGVNYXAgPSBuZXcgTWFwPHN0cmluZywgTmdWYXJpYWJsZT4oKTtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWVNYXAgPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xyXG5cclxuICAgICAgICAvLyDph43mlrDnu4Tnu4flj5jph4/lhYPmlbDmja5cclxuICAgICAgICBPYmplY3Qua2V5cyhuZ1ZhcmlhYmxlcykuZm9yRWFjaCgocHJvcE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm5nVmFyaWFibGVNYXAuc2V0KHByb3BOYW1lLCBuZ1ZhcmlhYmxlc1twcm9wTmFtZV0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635Y+W5Y+Y5pu06ZuGXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYW5kbGVDaGFuZ2VEZXRhaWwoY2hhbmdlRGV0YWlsOiBDaGFuZ2VEZXRhaWwpOiB2b2lkIHtcclxuICAgICAgICAvLyBjb25zdCBjaGFuZ2VJbmZvID0gY2hhbmdlRGV0YWlsLkNoYW5nZUluZm87XHJcbiAgICAgICAgLy8gT2JqZWN0LmtleXMoY2hhbmdlSW5mbykuZm9yRWFjaCgodmFyTmFtZTogc3RyaW5nKSA9PiB7XHJcblxyXG4gICAgICAgIC8vICAgLy8g5Y+Y6YeP5YWD5pWw5o2uXHJcbiAgICAgICAgLy8gICBjb25zdCBuZ1ZhcmlhYmxlID0gdGhpcy5uZ1ZhcmlhYmxlTWFwLmdldCh2YXJOYW1lKTtcclxuICAgICAgICAvLyAgIGNvbnN0IG1hcHBpbmcgPSBuZ1ZhcmlhYmxlLm1hcHBpbmc7XHJcblxyXG4gICAgICAgIC8vICAgLy8g5pu05pawVUlTdGF0ZeWPmOabtFxyXG4gICAgICAgIC8vICAgY29uc3QgbmV3VmFsdWUgPSBjaGFuZ2VJbmZvW3Zhck5hbWVdO1xyXG4gICAgICAgIC8vICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmlubmVyVmFsdWVNYXAuZ2V0KHZhck5hbWUpO1xyXG5cclxuICAgICAgICAvLyAgIGlmIChvbGRWYWx1ZSA9PT0gbmV3VmFsdWUpIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuO1xyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vICAgLy8g5pu05paw5YC8XHJcbiAgICAgICAgLy8gICB0aGlzLnNldFZhbHVlVG9VSVN0YXRlKG1hcHBpbmcsIG5ld1ZhbHVlKTtcclxuICAgICAgICAvLyAgIHRoaXMuaW5uZXJWYWx1ZU1hcC5zZXQodmFyTmFtZSwgbmV3VmFsdWUpO1xyXG5cclxuICAgICAgICAvLyB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEJ1aWxkIENoYW5nZURldGFpbCBpbnN0YW5jZSBmb3IgYWxsIHZhcmlhYmxlcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGJ1aWxkQ2hhbmdlRGV0YWlsKCk6IENoYW5nZURldGFpbCB7XHJcbiAgICAgICAgY29uc3QgY2hhbmdlRGV0YWlsID0gQmVmQ2hhbmdlVXRpbC5jcmVhdGVFbXB0eShDaGFuZ2VEZXRhaWxUeXBlLk1vZGlmeSk7XHJcbiAgICAgICAgdGhpcy5uZ1ZhcmlhYmxlTWFwLmZvckVhY2goKG5nVmFyaWFibGU6IE5nVmFyaWFibGUsIHZhck5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBtYXBwaW5nID0gbmdWYXJpYWJsZS5tYXBwaW5nO1xyXG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tVUlTdGF0ZShtYXBwaW5nKTtcclxuICAgICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmlubmVyVmFsdWVNYXAuZ2V0KHZhck5hbWUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc1ZhbHVlRXF1YWwobmV3VmFsdWUsIG9sZFZhbHVlKSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZU1hcC5zZXQodmFyTmFtZSwgbmV3VmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRUb0NoYW5nZUluZm8oY2hhbmdlRGV0YWlsLCB2YXJOYW1lLCBuZXdWYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGNoYW5nZURldGFpbC5DaGFuZ2VJbmZvKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY2hhbmdlRGV0YWlsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xlYXIgdmFyaWFibGUgdmFsdWVzIGNhY2hlZCBpbiB0aGUgaW5uZXJWYWx1ZU1hcCBwcm9wZXJ0eS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlc2V0KCkge1xyXG4gICAgICAgIHRoaXMuaW5uZXJWYWx1ZU1hcC5jbGVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXBwZW5kIGNoYW5nZWQgdmFyaWFibGUgdG8gQ2hhbmdlRGV0YWlsIGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGFwcGVuZFRvQ2hhbmdlSW5mbyhjaGFuZ2VEZXRhaWw6IENoYW5nZURldGFpbCwgdmFyTmFtZTogc3RyaW5nLCB2YXJWYWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNVZHRWYXJpYWJsZSh2YXJWYWx1ZSkgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgY29uc3QgdWR0VmFyQ2hhbmdlRGV0YWlsID0gQmVmQ2hhbmdlVXRpbC5jcmVhdGVFbXB0eShDaGFuZ2VEZXRhaWxUeXBlLk1vZGlmeSk7XHJcbiAgICAgICAgICAgIHVkdFZhckNoYW5nZURldGFpbC5DaGFuZ2VJbmZvID0gdmFyVmFsdWU7XHJcbiAgICAgICAgICAgIGNoYW5nZURldGFpbC5DaGFuZ2VJbmZvW3Zhck5hbWVdID0gdWR0VmFyQ2hhbmdlRGV0YWlsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNoYW5nZURldGFpbC5DaGFuZ2VJbmZvW3Zhck5hbWVdID0gdmFyVmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5LuOVUlTdGF0ZeS4iuiOt+WPluWAvFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldFZhbHVlRnJvbVVJU3RhdGUobWFwcGluZzogc3RyaW5nKTogYW55IHtcclxuICAgICAgICBjb25zdCB1aVN0YXRlID0gdGhpcy5nZXRSb290VUlTdGF0ZSgpO1xyXG5cclxuICAgICAgICAvLyDorqHnrpd2YWx1ZVxyXG4gICAgICAgIGNvbnN0IG1hcHBpbmdBcnJheSA9IG1hcHBpbmcuc3BsaXQoJy4nKTtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IG1hcHBpbmdBcnJheS5yZWR1Y2UoKGFjY3VtdWxhdG9yOiBhbnksIGN1cnJlbnRWYWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBhY2N1bXVsYXRvciA/IGFjY3VtdWxhdG9yW2N1cnJlbnRWYWx1ZV0gOiBudWxsO1xyXG4gICAgICAgIH0sIHVpU3RhdGUpO1xyXG5cclxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXQodmFsdWUsICd5eXl5LU1NLWRkIEhIOm1tOnNzJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOiOt+WPluaguee7hOS7tuS4iueahFVJU3RhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRSb290VUlTdGF0ZSgpOiBVSVN0YXRlIHtcclxuXHJcbiAgICAgICAgbGV0IHJvb3RGcmFtZUNvbnRleHQgPSB0aGlzLmFwcENvbnRleHQuZnJhbWVDb250ZXh0TWFuYWdlci5nZXRSb290RnJhbWVDb250ZXh0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5qZWN0b3IpIHtcclxuICAgICAgICAgICAgY29uc3QgZnJhbWVDb250ZXh0ID0gdGhpcy5pbmplY3Rvci5nZXQ8RnJhbWVDb250ZXh0PihGcmFtZUNvbnRleHQsIG51bGwpO1xyXG4gICAgICAgICAgICBpZiAoZnJhbWVDb250ZXh0KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2aXJ0dWFsUm9vdEZyYW1lQ29udGV4dCA9IGZyYW1lQ29udGV4dC5nZXRWaXJ0dWFsUm9vdEZyYW1lQ29udGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgcm9vdEZyYW1lQ29udGV4dCA9IHZpcnR1YWxSb290RnJhbWVDb250ZXh0IHx8IHJvb3RGcmFtZUNvbnRleHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFyb290RnJhbWVDb250ZXh0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJvb3RGcmFtZUNvbnRleHQudWlTdGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWAvOavlOi+g1xyXG4gICAgICogQHRvZG8g5Li05pe26YeH55So6L+Z56eN5pa55byPXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaXNWYWx1ZUVxdWFsKHNyY1ZhbHVlOiBhbnksIGRzdFZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc3JjVmFsdWUpID09PSBKU09OLnN0cmluZ2lmeShkc3RWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGEgcGxhaW4gb2JqZWN0XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaXNVZHRWYXJpYWJsZShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBvYmogJiYgb2JqLmNvbnN0cnVjdG9yICYmXHJcbiAgICAgICAgICAgIG9iai50b1N0cmluZygpID09PSAnW29iamVjdCBPYmplY3RdJyAmJlxyXG4gICAgICAgICAgICBvYmouY29uc3RydWN0b3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdpc1Byb3RvdHlwZU9mJyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6K6+572u5YC85YiwVUlTdGF0ZVxyXG4gICAgICogQHRvZG/vvJpcclxuICAgICAqIDHjgIHmnI3liqHlmajnq6/kuI3mlK/mjIHvvJtcclxuICAgICAqIDLjgIHml6XmnJ/nsbvlnovlpITnkIbmlrnmoYjlvoXlrprjgIJcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZVRvVUlTdGF0ZShtYXBwaW5nOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICAvLyBjb25zdCB1aVN0YXRlID0gdGhpcy5nZXRVSVN0YXRlKCk7XHJcbiAgICAgICAgLy8gdWlTdGF0ZVttYXBwaW5nXSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcbmV4cG9ydCB7IEJlZlZhcmlhYmxlTWFuYWdlciB9O1xyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3ZhcmlhYmxlX21hbmFnZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmFycmlzL2JlZi8iLCJzb3VyY2VzIjpbImxpYi9iZWZfdmFyaWFibGVfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sU0FBUyxDQUFDO0FBRXpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU1uRCxNQUFNLGtCQUFrQjs7Ozs7OztJQWV0QixZQUFvQixVQUFzQixFQUFVLFdBQWdCLEVBQXNCLFFBQWtCO1FBQXhGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUFzQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRTFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBRTVDLFlBQVk7UUFDWixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU87Ozs7UUFBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUFLTSxrQkFBa0IsQ0FBQyxZQUEwQjs7Y0FDNUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxVQUFVO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENB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QUFPLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7OztZQXhLTSxVQUFVOztZQUlWLFFBQVEsdUJBcUJ3RCxRQUFROzs7Ozs7OztJQVYvRSwyQ0FBK0M7Ozs7OztJQUsvQywyQ0FBd0M7Ozs7O0lBSzVCLHdDQUE4Qjs7Ozs7SUFBRSx5Q0FBd0I7Ozs7O0lBQUUsc0NBQXNDOztBQW9KOUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAQXV0aG9yOiBXaXR0XHJcbiAqIEBEYXRlOiAyMDE5LTAzLTA1IDE5OjU1OjQ0XHJcbiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiBXaXR0XHJcbiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMTktMDMtMTMgMjA6MzU6MjlcclxuICovXHJcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgQXBwQ29udGV4dCwgRnJhbWVDb250ZXh0LCBVSVN0YXRlIH0gZnJvbSAnQGZhcnJpcy9kZXZraXQnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRhaWxUeXBlLCBDaGFuZ2VEZXRhaWwgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgTmdWYXJpYWJsZSB9IGZyb20gJy4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IEJlZkNoYW5nZVV0aWwgfSBmcm9tICcuL2JlZl9jaGFuZ2VfdXRpbCc7XHJcbmltcG9ydCB7IEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBCZeWPmOmHj+euoeeQhuWZqFxyXG4gKi9cclxuY2xhc3MgQmVmVmFyaWFibGVNYW5hZ2VyIHtcclxuXHJcbiAgLyoqXHJcbiAgICog5Y+Y6YeP5YWD5pWw5o2uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBuZ1ZhcmlhYmxlTWFwOiBNYXA8c3RyaW5nLCBOZ1ZhcmlhYmxlPjtcclxuXHJcbiAgLyoqXHJcbiAgICog6K6+572u5YC8XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbm5lclZhbHVlTWFwOiBNYXA8c3RyaW5nLCBhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiDmnoTpgKDlh73mlbBcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHQsIHByaXZhdGUgbmdWYXJpYWJsZXM6IGFueSwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHJcbiAgICB0aGlzLm5nVmFyaWFibGVNYXAgPSBuZXcgTWFwPHN0cmluZywgTmdWYXJpYWJsZT4oKTtcclxuICAgIHRoaXMuaW5uZXJWYWx1ZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XHJcblxyXG4gICAgLy8g6YeN5paw57uE57uH5Y+Y6YeP5YWD5pWw5o2uXHJcbiAgICBPYmplY3Qua2V5cyhuZ1ZhcmlhYmxlcykuZm9yRWFjaCgocHJvcE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLm5nVmFyaWFibGVNYXAuc2V0KHByb3BOYW1lLCBuZ1ZhcmlhYmxlc1twcm9wTmFtZV0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blj5jmm7Tpm4ZcclxuICAgKi9cclxuICBwdWJsaWMgaGFuZGxlQ2hhbmdlRGV0YWlsKGNoYW5nZURldGFpbDogQ2hhbmdlRGV0YWlsKTogdm9pZCB7XHJcbiAgICBjb25zdCBjaGFuZ2VJbmZvID0gY2hhbmdlRGV0YWlsLkNoYW5nZUluZm87XHJcbiAgICBPYmplY3Qua2V5cyhjaGFuZ2VJbmZvKS5mb3JFYWNoKCh2YXJOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgLy8g5Y+Y6YeP5YWD5pWw5o2uXHJcbiAgICAgIGNvbnN0IG5nVmFyaWFibGUgPSB0aGlzLm5nVmFyaWFibGVNYXAuZ2V0KHZhck5hbWUpO1xyXG4gICAgICBpZiAoIW5nVmFyaWFibGUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWFwcGluZyA9IG5nVmFyaWFibGUubWFwcGluZztcclxuXHJcbiAgICAgIC8vIOabtOaWsFVJU3RhdGXlj5jmm7RcclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSBjaGFuZ2VJbmZvW3Zhck5hbWVdO1xyXG4gICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZU1hcC5nZXQodmFyTmFtZSk7XHJcblxyXG4gICAgICBpZiAob2xkVmFsdWUgPT09IG5ld1ZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIOabtOaWsOWAvFxyXG4gICAgICB0aGlzLnNldFZhbHVlVG9VSVN0YXRlKG1hcHBpbmcsIG5ld1ZhbHVlKTtcclxuICAgICAgdGhpcy5pbm5lclZhbHVlTWFwLnNldCh2YXJOYW1lLCBuZXdWYWx1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1aWxkIENoYW5nZURldGFpbCBpbnN0YW5jZSBmb3IgYWxsIHZhcmlhYmxlcy5cclxuICAgKi9cclxuICBwdWJsaWMgYnVpbGRDaGFuZ2VEZXRhaWwoKTogQ2hhbmdlRGV0YWlsIHtcclxuICAgIGNvbnN0IGNoYW5nZURldGFpbCA9IEJlZkNoYW5nZVV0aWwuY3JlYXRlRW1wdHkoQ2hhbmdlRGV0YWlsVHlwZS5Nb2RpZnkpO1xyXG4gICAgdGhpcy5uZ1ZhcmlhYmxlTWFwLmZvckVhY2goKG5nVmFyaWFibGU6IE5nVmFyaWFibGUsIHZhck5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBtYXBwaW5nID0gbmdWYXJpYWJsZS5tYXBwaW5nO1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tVUlTdGF0ZShtYXBwaW5nKTtcclxuICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmlubmVyVmFsdWVNYXAuZ2V0KHZhck5hbWUpO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbHVlRXF1YWwobmV3VmFsdWUsIG9sZFZhbHVlKSA9PT0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWVNYXAuc2V0KHZhck5hbWUsIG5ld1ZhbHVlKTtcclxuICAgICAgICB0aGlzLmFwcGVuZFRvQ2hhbmdlSW5mbyhjaGFuZ2VEZXRhaWwsIHZhck5hbWUsIG5ld1ZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKE9iamVjdC5rZXlzKGNoYW5nZURldGFpbC5DaGFuZ2VJbmZvKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNoYW5nZURldGFpbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHZhcmlhYmxlIHZhbHVlcyBjYWNoZWQgaW4gdGhlIGlubmVyVmFsdWVNYXAgcHJvcGVydHkuXHJcbiAgICovXHJcbiAgcHVibGljIHJlc2V0KCkge1xyXG4gICAgdGhpcy5pbm5lclZhbHVlTWFwLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBlbmQgY2hhbmdlZCB2YXJpYWJsZSB0byBDaGFuZ2VEZXRhaWwgaW5zdGFuY2UuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhcHBlbmRUb0NoYW5nZUluZm8oY2hhbmdlRGV0YWlsOiBDaGFuZ2VEZXRhaWwsIHZhck5hbWU6IHN0cmluZywgdmFyVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNVZHRWYXJpYWJsZSh2YXJWYWx1ZSkgPT09IHRydWUpIHtcclxuICAgICAgY29uc3QgdWR0VmFyQ2hhbmdlRGV0YWlsID0gQmVmQ2hhbmdlVXRpbC5jcmVhdGVFbXB0eShDaGFuZ2VEZXRhaWxUeXBlLk1vZGlmeSk7XHJcbiAgICAgIHVkdFZhckNoYW5nZURldGFpbC5DaGFuZ2VJbmZvID0gdmFyVmFsdWU7XHJcbiAgICAgIGNoYW5nZURldGFpbC5DaGFuZ2VJbmZvW3Zhck5hbWVdID0gdWR0VmFyQ2hhbmdlRGV0YWlsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY2hhbmdlRGV0YWlsLkNoYW5nZUluZm9bdmFyTmFtZV0gPSB2YXJWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOS7jlVJU3RhdGXkuIrojrflj5blgLxcclxuICAgKi9cclxuICBwcml2YXRlIGdldFZhbHVlRnJvbVVJU3RhdGUobWFwcGluZzogc3RyaW5nKTogYW55IHtcclxuICAgIGNvbnN0IHVpU3RhdGUgPSB0aGlzLmdldFJvb3RVSVN0YXRlKCk7XHJcblxyXG4gICAgLy8g6K6h566XdmFsdWVcclxuICAgIGNvbnN0IG1hcHBpbmdBcnJheSA9IG1hcHBpbmcuc3BsaXQoJy4nKTtcclxuICAgIGNvbnN0IHZhbHVlID0gbWFwcGluZ0FycmF5LnJlZHVjZSgoYWNjdW11bGF0b3I6IGFueSwgY3VycmVudFZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yID8gYWNjdW11bGF0b3JbY3VycmVudFZhbHVlXSA6IG51bGw7XHJcbiAgICB9LCB1aVN0YXRlKTtcclxuXHJcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgIHJldHVybiBmb3JtYXQodmFsdWUsICd5eXl5LU1NLWRkIEhIOm1tOnNzJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmoLnnu4Tku7bkuIrnmoRVSVN0YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRSb290VUlTdGF0ZSgpOiBVSVN0YXRlIHtcclxuXHJcbiAgICBsZXQgcm9vdEZyYW1lQ29udGV4dCA9IHRoaXMuYXBwQ29udGV4dC5mcmFtZUNvbnRleHRNYW5hZ2VyLmdldFJvb3RGcmFtZUNvbnRleHQoKTtcclxuICAgIGlmICh0aGlzLmluamVjdG9yKSB7XHJcbiAgICAgIGNvbnN0IGZyYW1lQ29udGV4dCA9IHRoaXMuaW5qZWN0b3IuZ2V0PEZyYW1lQ29udGV4dD4oRnJhbWVDb250ZXh0LCBudWxsKTtcclxuICAgICAgaWYgKGZyYW1lQ29udGV4dCkge1xyXG4gICAgICAgIGNvbnN0IHZpcnR1YWxSb290RnJhbWVDb250ZXh0ID0gZnJhbWVDb250ZXh0LmdldFZpcnR1YWxSb290RnJhbWVDb250ZXh0KCk7XHJcbiAgICAgICAgcm9vdEZyYW1lQ29udGV4dCA9IHZpcnR1YWxSb290RnJhbWVDb250ZXh0IHx8IHJvb3RGcmFtZUNvbnRleHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICghcm9vdEZyYW1lQ29udGV4dCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcm9vdEZyYW1lQ29udGV4dC51aVN0YXRlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5YC85q+U6L6DXHJcbiAgICogQHRvZG8g5Li05pe26YeH55So6L+Z56eN5pa55byPXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpc1ZhbHVlRXF1YWwoc3JjVmFsdWU6IGFueSwgZHN0VmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHNyY1ZhbHVlKSA9PT0gSlNPTi5zdHJpbmdpZnkoZHN0VmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgdGhlIG9iamVjdCBpcyBhIHBsYWluIG9iamVjdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaXNVZHRWYXJpYWJsZShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG9iaiAmJiBvYmouY29uc3RydWN0b3IgJiZcclxuICAgICAgb2JqLnRvU3RyaW5nKCkgPT09ICdbb2JqZWN0IE9iamVjdF0nICYmXHJcbiAgICAgIG9iai5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2lzUHJvdG90eXBlT2YnKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiDorr7nva7lgLzliLBVSVN0YXRlXHJcbiAgICogQHRvZG/vvJpcclxuICAgKiAx44CB5pyN5Yqh5Zmo56uv5LiN5pSv5oyB77ybXHJcbiAgICogMuOAgeaXpeacn+exu+Wei+WkhOeQhuaWueahiOW+heWumuOAglxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0VmFsdWVUb1VJU3RhdGUobWFwcGluZzogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCB1aVN0YXRlID0gdGhpcy5nZXRSb290VUlTdGF0ZSgpO1xyXG4gICAgdWlTdGF0ZVttYXBwaW5nXSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG5leHBvcnQgeyBCZWZWYXJpYWJsZU1hbmFnZXIgfTtcclxuIl19 |
@@ -39,2 +39,5 @@ /** | ||
} | ||
if (response && response.innerVariableChange) { | ||
this.context.handleVariableChangeDetail(response.innerVariableChange); | ||
} | ||
/** @type {?} */ | ||
@@ -257,2 +260,2 @@ var messages = ResponseInfoUtil.parseBackEndMessage(response); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3Byb3h5X2V4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmYXJyaXMvYmVmLyIsInNvdXJjZXMiOlsibGliL2JlZl9wcm94eV9leHRlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBR25FOzs7SUFDRSx3QkFBb0IsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7SUFBSSxDQUFDO0lBQ3ZEOzs7O09BSUc7Ozs7Ozs7SUFDSSxtQ0FBVTs7Ozs7O0lBQWpCLFVBQWtCLFFBQXNCLEVBQUUsYUFBdUI7UUFDL0QsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGVBQWUsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hFOztZQUNLLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7UUFDL0Qsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3JDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDdEQsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDO1NBQzdCO2FBQU07WUFDTCxPQUFPLFFBQVEsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFD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QUcsS0FBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUNuRTtRQUNILENBQUMsRUFBQyxDQUFDO1FBQ0gsbUNBQW1DO1FBQ25DLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7OztJQUNNLHFDQUFZOzs7O0lBQW5CLFVBQW9CLFFBQWE7O1lBQ3pCLFlBQVksR0FBRyxjQUFjO1FBQ25DLElBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDNUY7SUFDSCxDQUFDO0lBQ0gscUJBQUM7QUFBRCxDQUFDLEFBN0hELElBNkhDOzs7Ozs7OztJQTVIYSxpQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aHJvd0Vycm9yLCBPYnNlcnZhYmxlLCBvZiwgRU1QVFkgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnQGZhcnJpcy9kZXZraXQnO1xyXG5pbXBvcnQgeyBJUHJveHlFeHRlbmQsIFJlc3BvbnNlSW5mbyB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBCZWZSZXBvc2l0b3J5IH0gZnJvbSAnLi9iZWZfcmVwb3NpdG9yeSc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cFBhcmFtcywgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFJlc3BvbnNlSW5mb1V0aWwgfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHsgQmFja0VuZE1lc3NhZ2VVdGlsIH0gZnJvbSAnLi91dGlscy9iYWNrX2VuZF9tZXNzYWdlLnV0aWwnO1xyXG5cclxuLy8gdHNsaW50OmRpc2FibGU6IG1heC1saW5lLWxlbmd0aCB0c2xpbnQ6ZGlzYWJsZTogbm8tc3RyaW5nLWxpdGVyYWxcclxuZXhwb3J0IGNsYXNzIEJlZlByb3h5RXh0ZW5kIGltcGxlbWVudHMgSVByb3h5RXh0ZW5kIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHQ6IEJlZlJlcG9zaXRvcnk8RW50aXR5PikgeyB9XHJcbiAgLyoqXHJcbiAgICog6K+35rGC57uT5p6c6L+U5ZueXHJcbiAgICogQHBhcmFtIHJlc3BvbnNlIHJlc3BvbnNlXHJcbiAgICogQHBhcmFtIGlnbm9yZUNoYW5nZXMg5b+955Wl5Y+Y5pu0XHJcbiAgICovXHJcbiAgcHVibGljIG9uUmVzcG9uc2UocmVzcG9uc2U6IFJlc3BvbnNlSW5mbywgaWdub3JlQ2hhbmdlcz86IGJvb2xlYW4pIHtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5pbm5lckRhdGFDaGFuZ2UgJiYgaWdub3JlQ2hhbmdlcyAhPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmNvbnRleHQuaGFuZGxlRGF0YUNoYW5nZURldGFpbHMocmVzcG9uc2UuaW5uZXJEYXRhQ2hhbmdlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1lc3NhZ2VzID0gUmVzcG9uc2VJbmZvVXRpbC5wYXJzZUJhY2tFbmRNZXNzYWdlKHJlc3BvbnNlKTtcclxuICAgIEJhY2tFbmRNZXNzYWdlVXRpbC5oYW5kbGVNZXNzYWdlKG1lc3NhZ2VzLCB0aGlzLmNvbnRleHQuZ2V0SW5qZWN0b3IoKSk7XHJcbiAgICB0aGlzLmNvbnRleHQuY2xlYXJBbGxFbnRpdHlDaGFuZ2VzKCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaGFzT3duUHJvcGVydHkoJ3JldHVyblZhbHVlJykpIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlLnJldHVyblZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiDlj5HnlJ/plJnor69cclxuICAgKiBAcGFyYW0gZXJyb3IgZXJyb3JcclxuICAgKiBAcGFyYW0gc2VsZkhhbmRFcnJvciDoh6rlrprkuYnplJnor6/lpITnkIZcclxuICAgKiBAcGFyYW0gaWdub3JlRXJyb3Ig5b+955Wl6ZSZ6K+vXHJcbiAgICovXHJcbiAgcHVibGljIG9uRXJyb3IoZXJyb3I6IGFueSwgc2VsZkhhbmRFcnJvcjogYm9vbGVhbiwgaWdub3JlRXJyb3I6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgZm9ybUFwcENvbnRleHQgPSB0aGlzLmNvbnRleHQuYXBwQ29udGV4dC5nZXRGb3JtQXBwQ29udGV4dCgpO1xyXG4gICAgY29uc3QgYXBwbGljYXRpb25JZCA9IGZvcm1BcHBDb250ZXh0LkFwcGxpY2F0aW9uSWQ7XHJcbiAgICBjb25zdCBsb2FkaW5nU2VydmljZXMgPSB3aW5kb3dbJ0RFVktJVF9MT0FESU5HX1NFUlZJQ0UnXTtcclxuICAgIGNvbnN0IG1lc3NhZ2VzID0gUmVzcG9uc2VJbmZvVXRpbC5wYXJzZUJhY2tFbmRFcnJvcihlcnJvcik7XHJcbiAgICBCYWNrRW5kTWVzc2FnZVV0aWwuaGFuZGxlTWVzc2FnZShtZXNzYWdlcywgdGhpcy5jb250ZXh0LmdldEluamVjdG9yKCkpO1xyXG4gICAgaWYgKGxvYWRpbmdTZXJ2aWNlcyAmJiBsb2FkaW5nU2VydmljZXMgaW5zdGFuY2VvZiBBcnJheSAmJiBsb2FkaW5nU2VydmljZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGxvYWRpbmdTZXJ2aWNlIG9mIGxvYWRpbmdTZXJ2aWNlcykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgKGxvYWRpbmdTZXJ2aWNlLmNsZWFyQWxsKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgbG9hZGluZ1NlcnZpY2UuY2xlYXJBbGwoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoISFzZWxmSGFuZEVycm9yKSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGV2ZW50QnVzID0gdGhpcy5jb250ZXh0LnJlc3RTZXJ2aWNlLmV2ZW50QnVzO1xyXG4gICAgICBjb25zdCBhcHBsaWNhdGlvbkNvbnRleHQ6IGFueSA9IHdpbmRvd1thcHBsaWNhdGlvbklkXSB8fCB7fTtcclxuICAgICAgY29uc3QgaXNFeGNlcHRpb25IYW5kbGVyRXhpc3QgPSAhIWFwcGxpY2F0aW9uQ29udGV4dC5pc0V4Y2VwdGlvbkhhbmRsZXJFeGlzdDtcclxuXHJcbiAgICAgIGlmICghIWV2ZW50QnVzICYmIGlzRXhjZXB0aW9uSGFuZGxlckV4aXN0KSB7XHJcbiAgICAgICAgaWYgKFJlc3BvbnNlSW5mb1V0aWwuaXNSZXBvcnRlZDQwMUVycm9yKGVycm9yKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBtZXNzYWdlcyA9IFJlc3BvbnNlSW5mb1V0aWwucGFyc2VCYWNrRW5kRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIGNvbnN0IGJpek1lc3NhZ2VzID0gQmFja0VuZE1lc3NhZ2VVdGlsLmdldEZvcm1sZXNzTWVzc2FnZXMobWVzc2FnZXMpO1xyXG4gICAgICAgIGNvbnN0IGlzRXhpc3RGb3JtbGVzc01lc3NhZ2UgPSBiaXpNZXNzYWdlcyAmJiBiaXpNZXNzYWdlcy5sZW5ndGggPiAwIHx8IGZhbHNlO1xyXG4gICAgICAgIGlmICghKGVycm9yICYmIGVycm9yLmVycm9yICYmIGVycm9yLmVycm9yLmV4dGVuc2lvbk1lc3NhZ2UgJiYgQmFja0VuZE1lc3NhZ2VVdGlsLmlzQmFja0VuZE1lc3NhZ2VIYW5kbGVyRXhpc3QodGhpcy5jb250ZXh0LmdldEluamVjdG9yKCkpICYmICFpc0V4aXN0Rm9ybWxlc3NNZXNzYWdlKSkge1xyXG4gICAgICAgICAgZXZlbnRCdXMucG9zdCgnRXhjZXB0aW9uJywgJycsICdvbkV4Y2VwdGlvbicsIGVycm9yLCBmb3JtQXBwQ29udGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpZ25vcmVFcnJvcikge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiDmianlsZVodHRwIGhlYWRlcnNcclxuICAgKiBAcGFyYW0gaGVhZGVycyBoZWFkZXJzXHJcbiAgICovXHJcbiAgcHVibGljIGV4dGVuZEhlYWRlcnMoaGVhZGVyczogSHR0cEhlYWRlcnMsIHJ1bnRpbWVDb250ZXh0PzogYW55KTogT2JzZXJ2YWJsZTx7IFtwcm9wTmFtZTogc3RyaW5nXTogYW55IH0+IHtcclxuICAgIGNvbnN0ICRnZXRTZXNzaW9uSWQgPSB0aGlzLmNvbnRleHQucmVzdFNlcnZpY2Uuc2Vzc2lvblNlcnZpY2UuZ2V0QmVTZXNzaW9uSWQoKTtcclxuICAgIHJldHVybiAkZ2V0U2Vzc2lvbklkLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcChzZXNzaW9uSWQgPT4ge1xyXG4gICAgICAgIGhlYWRlcnMgPSB0aGlzLmNvbnRleHQucmVzdFNlcnZpY2Uuc2Vzc2lvblNlcnZpY2UuZXh0ZW5kUmVxdWVzdEhlYWRlcnMoaGVhZGVycywgcnVudGltZUNvbnRleHQpO1xyXG4gICAgICAgIHJldHVybiBvZihoZWFkZXJzKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOaJqeWxleivt+axguWPguaVsFxyXG4gICAqIEBwYXJhbSBwYXJhbXMg5Y+C5pWwXHJcbiAgICovXHJcbiAgcHVibGljIGV4dGVuZFVybCh1cmw6IHN0cmluZywgcGFyYW1zOiB7IFtwcm9wTmFtZTogc3RyaW5nXTogYW55IH0pOiBzdHJpbmcge1xyXG4gICAgaWYgKCFwYXJhbXMpIHtcclxuICAgICAgcmV0dXJuIHVybDtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3Qga2V5IGluIHBhcmFtcykge1xyXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IEpTT04uc3RyaW5naWZ5KHBhcmFtc1trZXldKTtcclxuICAgICAgICBpZiAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcclxuICAgICAgICAgIHVybCA9IGAke3VybH0/JHtrZXl9PSR7dmFsdWV9YDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdXJsID0gYCR7dXJsfSYke2tleX09JHt2YWx1ZX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVybDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICog5omp5bGV6K+35rGC5L2TXHJcbiAgICogQHBhcmFtIGJvZHkgYm9keVxyXG4gICAqL1xyXG4gIHB1YmxpYyBleHRlbmRCb2R5KGJvZHkpOiB7IFtwcm9wTmFtZTogc3RyaW5nXTogYW55IH0ge1xyXG4gICAgaWYgKCFib2R5IHx8IHR5cGVvZiBib2R5ICE9PSAnb2JqZWN0JyB8fCBPYmplY3Qua2V5cyhib2R5KS5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHJldHVybiBib2R5O1xyXG4gICAgfVxyXG4gICAgT2JqZWN0LmtleXMoYm9keSkuZm9yRWFjaChuYW1lID0+IHtcclxuICAgICAgaWYgKG5hbWUgPT09ICdyZXF1ZXN0SW5mbycpIHtcclxuICAgICAgICBib2R5WydyZXF1ZXN0SW5mbyddID0gdGhpcy5jb250ZXh0LnJlc3RTZXJ2aWNlLmJ1aWxkUmVxdWVzdEluZm8oKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyDlhbzlrrlK54mI5ZCO56uvYm9keeWPquacieS4gOS4qmtleeaXtmJvZHnlj6rkvKB2YWx1ZeeahOaDheWGtVxyXG4gICAgaWYgKE9iamVjdC5rZXlzKGJvZHkpLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBib2R5ID0gT2JqZWN0LnZhbHVlcyhib2R5KVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiBib2R5O1xyXG4gIH1cclxuICBwdWJsaWMgcGFyc2VIZWFkZXJzKHJlc3BvbnNlOiBhbnkpIHtcclxuICAgIGNvbnN0IHNlc3Npb25JZEtleSA9ICdCRUZTZXNzaW9uSUQnO1xyXG4gICAgaWYgKHJlc3BvbnNlLmhlYWRlcnMgJiYgcmVzcG9uc2UuaGVhZGVycy5oYXMoc2Vzc2lvbklkS2V5KSkge1xyXG4gICAgICB0aGlzLmNvbnRleHQucmVzdFNlcnZpY2Uuc2Vzc2lvblNlcnZpY2Uuc2V0QmVTZXNzaW9uSWQocmVzcG9uc2UuaGVhZGVycy5nZXQoc2Vzc2lvbklkS2V5KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3Byb3h5X2V4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmYXJyaXMvYmVmLyIsInNvdXJjZXMiOlsibGliL2JlZl9wcm94eV9leHRlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBR25FOzs7SUFDRSx3QkFBb0IsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7SUFBSSxDQUFDO0lBQ3ZEOzs7O09BSUc7Ozs7Ozs7SUFDSSxtQ0FBVTs7Ozs7O0lBQWpCLFVBQWtCLFFBQXNCLEVBQUUsYUFBdUI7UUFDL0QsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGVBQWUsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLG1CQUFtQixFQUFFO1lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDdkU7O1lBQ0ssUUFBUSxHQUFHLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztRQUMvRCxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDckMsSUFBSSxRQUFRLElBQUksUUFB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Q0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTzs7OztRQUFDLFVBQUEsSUFBSTtZQUM1QixJQUFJLElBQUksS0FBSyxhQUFhLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQ25FO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDSCxtQ0FBbUM7UUFDbkMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0I7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7O0lBQ00scUNBQVk7Ozs7SUFBbkIsVUFBb0IsUUFBYTs7WUFDekIsWUFBWSxHQUFHLGNBQWM7UUFDbkMsSUFBSSxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztTQUM1RjtJQUNILENBQUM7SUFDSCxxQkFBQztBQUFELENBQUMsQUFoSUQsSUFnSUM7Ozs7Ozs7O0lBL0hhLGlDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRocm93RXJyb3IsIE9ic2VydmFibGUsIG9mLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICdAZmFycmlzL2RldmtpdCc7XHJcbmltcG9ydCB7IElQcm94eUV4dGVuZCwgUmVzcG9uc2VJbmZvIH0gZnJvbSAnLi90eXBlcyc7XHJcbmltcG9ydCB7IEJlZlJlcG9zaXRvcnkgfSBmcm9tICcuL2JlZl9yZXBvc2l0b3J5JztcclxuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zLCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUmVzcG9uc2VJbmZvVXRpbCB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBCYWNrRW5kTWVzc2FnZVV0aWwgfSBmcm9tICcuL3V0aWxzL2JhY2tfZW5kX21lc3NhZ2UudXRpbCc7XHJcblxyXG4vLyB0c2xpbnQ6ZGlzYWJsZTogbWF4LWxpbmUtbGVuZ3RoIHRzbGludDpkaXNhYmxlOiBuby1zdHJpbmctbGl0ZXJhbFxyXG5leHBvcnQgY2xhc3MgQmVmUHJveHlFeHRlbmQgaW1wbGVtZW50cyBJUHJveHlFeHRlbmQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGV4dDogQmVmUmVwb3NpdG9yeTxFbnRpdHk+KSB7IH1cclxuICAvKipcclxuICAgKiDor7fmsYLnu5Pmnpzov5Tlm55cclxuICAgKiBAcGFyYW0gcmVzcG9uc2UgcmVzcG9uc2VcclxuICAgKiBAcGFyYW0gaWdub3JlQ2hhbmdlcyDlv73nlaXlj5jmm7RcclxuICAgKi9cclxuICBwdWJsaWMgb25SZXNwb25zZShyZXNwb25zZTogUmVzcG9uc2VJbmZvLCBpZ25vcmVDaGFuZ2VzPzogYm9vbGVhbikge1xyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLmlubmVyRGF0YUNoYW5nZSAmJiBpZ25vcmVDaGFuZ2VzICE9PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dC5oYW5kbGVEYXRhQ2hhbmdlRGV0YWlscyhyZXNwb25zZS5pbm5lckRhdGFDaGFuZ2UpO1xyXG4gICAgfVxyXG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLmlubmVyVmFyaWFibGVDaGFuZ2UpIHtcclxuICAgICAgdGhpcy5jb250ZXh0LmhhbmRsZVZhcmlhYmxlQ2hhbmdlRGV0YWlsKHJlc3BvbnNlLmlubmVyVmFyaWFibGVDaGFuZ2UpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbWVzc2FnZXMgPSBSZXNwb25zZUluZm9VdGlsLnBhcnNlQmFja0VuZE1lc3NhZ2UocmVzcG9uc2UpO1xyXG4gICAgQmFja0VuZE1lc3NhZ2VVdGlsLmhhbmRsZU1lc3NhZ2UobWVzc2FnZXMsIHRoaXMuY29udGV4dC5nZXRJbmplY3RvcigpKTtcclxuICAgIHRoaXMuY29udGV4dC5jbGVhckFsbEVudGl0eUNoYW5nZXMoKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5oYXNPd25Qcm9wZXJ0eSgncmV0dXJuVmFsdWUnKSkge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2UucmV0dXJuVmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOWPkeeUn+mUmeivr1xyXG4gICAqIEBwYXJhbSBlcnJvciBlcnJvclxyXG4gICAqIEBwYXJhbSBzZWxmSGFuZEVycm9yIOiHquWumuS5iemUmeivr+WkhOeQhlxyXG4gICAqIEBwYXJhbSBpZ25vcmVFcnJvciDlv73nlaXplJnor69cclxuICAgKi9cclxuICBwdWJsaWMgb25FcnJvcihlcnJvcjogYW55LCBzZWxmSGFuZEVycm9yOiBib29sZWFuLCBpZ25vcmVFcnJvcjogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBmb3JtQXBwQ29udGV4dCA9IHRoaXMuY29udGV4dC5hcHBDb250ZXh0LmdldEZvcm1BcHBDb250ZXh0KCk7XHJcbiAgICBjb25zdCBhcHBsaWNhdGlvbklkID0gZm9ybUFwcENvbnRleHQuQXBwbGljYXRpb25JZDtcclxuICAgIGNvbnN0IGxvYWRpbmdTZXJ2aWNlcyA9IHdpbmRvd1snREVWS0lUX0xPQURJTkdfU0VSVklDRSddO1xyXG4gICAgY29uc3QgbWVzc2FnZXMgPSBSZXNwb25zZUluZm9VdGlsLnBhcnNlQmFja0VuZEVycm9yKGVycm9yKTtcclxuICAgIEJhY2tFbmRNZXNzYWdlVXRpbC5oYW5kbGVNZXNzYWdlKG1lc3NhZ2VzLCB0aGlzLmNvbnRleHQuZ2V0SW5qZWN0b3IoKSk7XHJcbiAgICBpZiAobG9hZGluZ1NlcnZpY2VzICYmIGxvYWRpbmdTZXJ2aWNlcyBpbnN0YW5jZW9mIEFycmF5ICYmIGxvYWRpbmdTZXJ2aWNlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbG9hZGluZ1NlcnZpY2Ugb2YgbG9hZGluZ1NlcnZpY2VzKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiAobG9hZGluZ1NlcnZpY2UuY2xlYXJBbGwpID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICBsb2FkaW5nU2VydmljZS5jbGVhckFsbCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghIXNlbGZIYW5kRXJyb3IpIHtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZXZlbnRCdXMgPSB0aGlzLmNvbnRleHQucmVzdFNlcnZpY2UuZXZlbnRCdXM7XHJcbiAgICAgIGNvbnN0IGFwcGxpY2F0aW9uQ29udGV4dDogYW55ID0gd2luZG93W2FwcGxpY2F0aW9uSWRdIHx8IHt9O1xyXG4gICAgICBjb25zdCBpc0V4Y2VwdGlvbkhhbmRsZXJFeGlzdCA9ICEhYXBwbGljYXRpb25Db250ZXh0LmlzRXhjZXB0aW9uSGFuZGxlckV4aXN0O1xyXG5cclxuICAgICAgaWYgKCEhZXZlbnRCdXMgJiYgaXNFeGNlcHRpb25IYW5kbGVyRXhpc3QpIHtcclxuICAgICAgICBpZiAoUmVzcG9uc2VJbmZvVXRpbC5pc1JlcG9ydGVkNDAxRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gUmVzcG9uc2VJbmZvVXRpbC5wYXJzZUJhY2tFbmRFcnJvcihlcnJvcik7XHJcbiAgICAgICAgY29uc3QgYml6TWVzc2FnZXMgPSBCYWNrRW5kTWVzc2FnZVV0aWwuZ2V0Rm9ybWxlc3NNZXNzYWdlcyhtZXNzYWdlcyk7XHJcbiAgICAgICAgY29uc3QgaXNFeGlzdEZvcm1sZXNzTWVzc2FnZSA9IGJpek1lc3NhZ2VzICYmIGJpek1lc3NhZ2VzLmxlbmd0aCA+IDAgfHwgZmFsc2U7XHJcbiAgICAgICAgaWYgKCEoZXJyb3IgJiYgZXJyb3IuZXJyb3IgJiYgZXJyb3IuZXJyb3IuZXh0ZW5zaW9uTWVzc2FnZSAmJiBCYWNrRW5kTWVzc2FnZVV0aWwuaXNCYWNrRW5kTWVzc2FnZUhhbmRsZXJFeGlzdCh0aGlzLmNvbnRleHQuZ2V0SW5qZWN0b3IoKSkgJiYgIWlzRXhpc3RGb3JtbGVzc01lc3NhZ2UpKSB7XHJcbiAgICAgICAgICBldmVudEJ1cy5wb3N0KCdFeGNlcHRpb24nLCAnJywgJ29uRXhjZXB0aW9uJywgZXJyb3IsIGZvcm1BcHBDb250ZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlnbm9yZUVycm9yKSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOaJqeWxlWh0dHAgaGVhZGVyc1xyXG4gICAqIEBwYXJhbSBoZWFkZXJzIGhlYWRlcnNcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kSGVhZGVycyhoZWFkZXJzOiBIdHRwSGVhZGVycywgcnVudGltZUNvbnRleHQ/OiBhbnkpOiBPYnNlcnZhYmxlPHsgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnkgfT4ge1xyXG4gICAgY29uc3QgJGdldFNlc3Npb25JZCA9IHRoaXMuY29udGV4dC5yZXN0U2VydmljZS5zZXNzaW9uU2VydmljZS5nZXRCZVNlc3Npb25JZCgpO1xyXG4gICAgcmV0dXJuICRnZXRTZXNzaW9uSWQucGlwZShcclxuICAgICAgc3dpdGNoTWFwKHNlc3Npb25JZCA9PiB7XHJcbiAgICAgICAgaGVhZGVycyA9IHRoaXMuY29udGV4dC5yZXN0U2VydmljZS5zZXNzaW9uU2VydmljZS5leHRlbmRSZXF1ZXN0SGVhZGVycyhoZWFkZXJzLCBydW50aW1lQ29udGV4dCk7XHJcbiAgICAgICAgcmV0dXJuIG9mKGhlYWRlcnMpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICog5omp5bGV6K+35rGC5Y+C5pWwXHJcbiAgICogQHBhcmFtIHBhcmFtcyDlj4LmlbBcclxuICAgKi9cclxuICBwdWJsaWMgZXh0ZW5kVXJsKHVybDogc3RyaW5nLCBwYXJhbXM6IHsgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnkgfSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBhcmFtcykge1xyXG4gICAgICByZXR1cm4gdXJsO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcGFyYW1zKSB7XHJcbiAgICAgIGlmIChwYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zW2tleV0pO1xyXG4gICAgICAgIGlmICh1cmwuaW5kZXhPZignPycpID09PSAtMSkge1xyXG4gICAgICAgICAgdXJsID0gYCR7dXJsfT8ke2tleX09JHt2YWx1ZX1gO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB1cmwgPSBgJHt1cmx9JiR7a2V5fT0ke3ZhbHVlfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiDmianlsZXor7fmsYLkvZNcclxuICAgKiBAcGFyYW0gYm9keSBib2R5XHJcbiAgICovXHJcbiAgcHVibGljIGV4dGVuZEJvZHkoYm9keSk6IHsgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnkgfSB7XHJcbiAgICBpZiAoIWJvZHkgfHwgdHlwZW9mIGJvZHkgIT09ICdvYmplY3QnIHx8IE9iamVjdC5rZXlzKGJvZHkpLmxlbmd0aCA8IDEpIHtcclxuICAgICAgcmV0dXJuIGJvZHk7XHJcbiAgICB9XHJcbiAgICBPYmplY3Qua2V5cyhib2R5KS5mb3JFYWNoKG5hbWUgPT4ge1xyXG4gICAgICBpZiAobmFtZSA9PT0gJ3JlcXVlc3RJbmZvJykge1xyXG4gICAgICAgIGJvZHlbJ3JlcXVlc3RJbmZvJ10gPSB0aGlzLmNvbnRleHQucmVzdFNlcnZpY2UuYnVpbGRSZXF1ZXN0SW5mbygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIC8vIOWFvOWuuUrniYjlkI7nq69ib2R55Y+q5pyJ5LiA5Liqa2V55pe2Ym9keeWPquS8oHZhbHVl55qE5oOF5Ya1XHJcbiAgICBpZiAoT2JqZWN0LmtleXMoYm9keSkubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGJvZHkgPSBPYmplY3QudmFsdWVzKGJvZHkpWzBdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGJvZHk7XHJcbiAgfVxyXG4gIHB1YmxpYyBwYXJzZUhlYWRlcnMocmVzcG9uc2U6IGFueSkge1xyXG4gICAgY29uc3Qgc2Vzc2lvbklkS2V5ID0gJ0JFRlNlc3Npb25JRCc7XHJcbiAgICBpZiAocmVzcG9uc2UuaGVhZGVycyAmJiByZXNwb25zZS5oZWFkZXJzLmhhcyhzZXNzaW9uSWRLZXkpKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dC5yZXN0U2VydmljZS5zZXNzaW9uU2VydmljZS5zZXRCZVNlc3Npb25JZChyZXNwb25zZS5oZWFkZXJzLmdldChzZXNzaW9uSWRLZXkpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 |
@@ -54,17 +54,30 @@ /** | ||
function (changeDetail) { | ||
// const changeInfo = changeDetail.ChangeInfo; | ||
// Object.keys(changeInfo).forEach((varName: string) => { | ||
// // 变量元数据 | ||
// const ngVariable = this.ngVariableMap.get(varName); | ||
// const mapping = ngVariable.mapping; | ||
// // 更新UIState变更 | ||
// const newValue = changeInfo[varName]; | ||
// const oldValue = this.innerValueMap.get(varName); | ||
// if (oldValue === newValue) { | ||
// return; | ||
// } | ||
// // 更新值 | ||
// this.setValueToUIState(mapping, newValue); | ||
// this.innerValueMap.set(varName, newValue); | ||
// }); | ||
var _this = this; | ||
/** @type {?} */ | ||
var changeInfo = changeDetail.ChangeInfo; | ||
Object.keys(changeInfo).forEach((/** | ||
* @param {?} varName | ||
* @return {?} | ||
*/ | ||
function (varName) { | ||
// 变量元数据 | ||
/** @type {?} */ | ||
var ngVariable = _this.ngVariableMap.get(varName); | ||
if (!ngVariable) { | ||
return; | ||
} | ||
/** @type {?} */ | ||
var mapping = ngVariable.mapping; | ||
// 更新UIState变更 | ||
/** @type {?} */ | ||
var newValue = changeInfo[varName]; | ||
/** @type {?} */ | ||
var oldValue = _this.innerValueMap.get(varName); | ||
if (oldValue === newValue) { | ||
return; | ||
} | ||
// 更新值 | ||
_this.setValueToUIState(mapping, newValue); | ||
_this.innerValueMap.set(varName, newValue); | ||
})); | ||
}; | ||
@@ -287,4 +300,5 @@ /** | ||
function (mapping, value) { | ||
// const uiState = this.getUIState(); | ||
// uiState[mapping] = value; | ||
/** @type {?} */ | ||
var uiState = this.getRootUIState(); | ||
uiState[mapping] = value; | ||
}; | ||
@@ -329,2 +343,2 @@ /** @nocollapse */ | ||
export { BefVariableManager }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3ZhcmlhYmxlX21hbmFnZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmFycmlzL2JlZi8iLCJzb3VyY2VzIjpbImxpYi9iZWZfdmFyaWFibGVfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sU0FBUyxDQUFDO0FBRXpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU1uRDtJQVlJOztPQUVHO0lBQ0gsNEJBQW9CLFVBQXNCLEVBQVUsV0FBZ0IsRUFBc0IsUUFBa0I7UUFBNUcsaUJBU0M7UUFUbUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQXNCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFeEcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUFFNUMsWUFBWTtRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTzs7OztRQUFDLFVBQUMsUUFBZ0I7WUFDOUMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHOzs7Ozs7SUFDSSwrQ0FBa0I7Ozs7O0lBQXpCLFVBQTBCLFlBQTBCO1FBQ2hELDhDQUE4QztRQUM5Qyx5REFBeUQ7UUFFekQsYUFBYTtR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T0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAQXV0aG9yOiBXaXR0XHJcbiAqIEBEYXRlOiAyMDE5LTAzLTA1IDE5OjU1OjQ0XHJcbiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiBXaXR0XHJcbiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMTktMDMtMTMgMjA6MzU6MjlcclxuICovXHJcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgQXBwQ29udGV4dCwgRnJhbWVDb250ZXh0LCBVSVN0YXRlIH0gZnJvbSAnQGZhcnJpcy9kZXZraXQnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRhaWxUeXBlLCBDaGFuZ2VEZXRhaWwgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgTmdWYXJpYWJsZSB9IGZyb20gJy4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IEJlZkNoYW5nZVV0aWwgfSBmcm9tICcuL2JlZl9jaGFuZ2VfdXRpbCc7XHJcbmltcG9ydCB7IEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBCZeWPmOmHj+euoeeQhuWZqFxyXG4gKi9cclxuY2xhc3MgQmVmVmFyaWFibGVNYW5hZ2VyIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOWPmOmHj+WFg+aVsOaNrlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG5nVmFyaWFibGVNYXA6IE1hcDxzdHJpbmcsIE5nVmFyaWFibGU+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog6K6+572u5YC8XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaW5uZXJWYWx1ZU1hcDogTWFwPHN0cmluZywgYW55PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOaehOmAoOWHveaVsFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHQsIHByaXZhdGUgbmdWYXJpYWJsZXM6IGFueSwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHJcbiAgICAgICAgdGhpcy5uZ1ZhcmlhYmxlTWFwID0gbmV3IE1hcDxzdHJpbmcsIE5nVmFyaWFibGU+KCk7XHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlTWFwID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcclxuXHJcbiAgICAgICAgLy8g6YeN5paw57uE57uH5Y+Y6YeP5YWD5pWw5o2uXHJcbiAgICAgICAgT2JqZWN0LmtleXMobmdWYXJpYWJsZXMpLmZvckVhY2goKHByb3BOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5uZ1ZhcmlhYmxlTWFwLnNldChwcm9wTmFtZSwgbmdWYXJpYWJsZXNbcHJvcE5hbWVdKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOiOt+WPluWPmOabtOmbhlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGFuZGxlQ2hhbmdlRGV0YWlsKGNoYW5nZURldGFpbDogQ2hhbmdlRGV0YWlsKTogdm9pZCB7XHJcbiAgICAgICAgLy8gY29uc3QgY2hhbmdlSW5mbyA9IGNoYW5nZURldGFpbC5DaGFuZ2VJbmZvO1xyXG4gICAgICAgIC8vIE9iamVjdC5rZXlzKGNoYW5nZUluZm8pLmZvckVhY2goKHZhck5hbWU6IHN0cmluZykgPT4ge1xyXG5cclxuICAgICAgICAvLyAgIC8vIOWPmOmHj+WFg+aVsOaNrlxyXG4gICAgICAgIC8vICAgY29uc3QgbmdWYXJpYWJsZSA9IHRoaXMubmdWYXJpYWJsZU1hcC5nZXQodmFyTmFtZSk7XHJcbiAgICAgICAgLy8gICBjb25zdCBtYXBwaW5nID0gbmdWYXJpYWJsZS5tYXBwaW5nO1xyXG5cclxuICAgICAgICAvLyAgIC8vIOabtOaWsFVJU3RhdGXlj5jmm7RcclxuICAgICAgICAvLyAgIGNvbnN0IG5ld1ZhbHVlID0gY2hhbmdlSW5mb1t2YXJOYW1lXTtcclxuICAgICAgICAvLyAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5pbm5lclZhbHVlTWFwLmdldCh2YXJOYW1lKTtcclxuXHJcbiAgICAgICAgLy8gICBpZiAob2xkVmFsdWUgPT09IG5ld1ZhbHVlKSB7XHJcbiAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAvLyAgIH1cclxuICAgICAgICAvLyAgIC8vIOabtOaWsOWAvFxyXG4gICAgICAgIC8vICAgdGhpcy5zZXRWYWx1ZVRvVUlTdGF0ZShtYXBwaW5nLCBuZXdWYWx1ZSk7XHJcbiAgICAgICAgLy8gICB0aGlzLmlubmVyVmFsdWVNYXAuc2V0KHZhck5hbWUsIG5ld1ZhbHVlKTtcclxuXHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCdWlsZCBDaGFuZ2VEZXRhaWwgaW5zdGFuY2UgZm9yIGFsbCB2YXJpYWJsZXMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBidWlsZENoYW5nZURldGFpbCgpOiBDaGFuZ2VEZXRhaWwge1xyXG4gICAgICAgIGNvbnN0IGNoYW5nZURldGFpbCA9IEJlZkNoYW5nZVV0aWwuY3JlYXRlRW1wdHkoQ2hhbmdlRGV0YWlsVHlwZS5Nb2RpZnkpO1xyXG4gICAgICAgIHRoaXMubmdWYXJpYWJsZU1hcC5mb3JFYWNoKChuZ1ZhcmlhYmxlOiBOZ1ZhcmlhYmxlLCB2YXJOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbWFwcGluZyA9IG5nVmFyaWFibGUubWFwcGluZztcclxuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmdldFZhbHVlRnJvbVVJU3RhdGUobWFwcGluZyk7XHJcbiAgICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5pbm5lclZhbHVlTWFwLmdldCh2YXJOYW1lKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWx1ZUVxdWFsKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlubmVyVmFsdWVNYXAuc2V0KHZhck5hbWUsIG5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kVG9DaGFuZ2VJbmZvKGNoYW5nZURldGFpbCwgdmFyTmFtZSwgbmV3VmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhjaGFuZ2VEZXRhaWwuQ2hhbmdlSW5mbykubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNoYW5nZURldGFpbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsZWFyIHZhcmlhYmxlIHZhbHVlcyBjYWNoZWQgaW4gdGhlIGlubmVyVmFsdWVNYXAgcHJvcGVydHkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZXNldCgpIHtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWVNYXAuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFwcGVuZCBjaGFuZ2VkIHZhcmlhYmxlIHRvIENoYW5nZURldGFpbCBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBhcHBlbmRUb0NoYW5nZUluZm8oY2hhbmdlRGV0YWlsOiBDaGFuZ2VEZXRhaWwsIHZhck5hbWU6IHN0cmluZywgdmFyVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlzVWR0VmFyaWFibGUodmFyVmFsdWUpID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVkdFZhckNoYW5nZURldGFpbCA9IEJlZkNoYW5nZVV0aWwuY3JlYXRlRW1wdHkoQ2hhbmdlRGV0YWlsVHlwZS5Nb2RpZnkpO1xyXG4gICAgICAgICAgICB1ZHRWYXJDaGFuZ2VEZXRhaWwuQ2hhbmdlSW5mbyA9IHZhclZhbHVlO1xyXG4gICAgICAgICAgICBjaGFuZ2VEZXRhaWwuQ2hhbmdlSW5mb1t2YXJOYW1lXSA9IHVkdFZhckNoYW5nZURldGFpbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjaGFuZ2VEZXRhaWwuQ2hhbmdlSW5mb1t2YXJOYW1lXSA9IHZhclZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOS7jlVJU3RhdGXkuIrojrflj5blgLxcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRWYWx1ZUZyb21VSVN0YXRlKG1hcHBpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgdWlTdGF0ZSA9IHRoaXMuZ2V0Um9vdFVJU3RhdGUoKTtcclxuXHJcbiAgICAgICAgLy8g6K6h566XdmFsdWVcclxuICAgICAgICBjb25zdCBtYXBwaW5nQXJyYXkgPSBtYXBwaW5nLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBtYXBwaW5nQXJyYXkucmVkdWNlKChhY2N1bXVsYXRvcjogYW55LCBjdXJyZW50VmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYWNjdW11bGF0b3IgPyBhY2N1bXVsYXRvcltjdXJyZW50VmFsdWVdIDogbnVsbDtcclxuICAgICAgICB9LCB1aVN0YXRlKTtcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0KHZhbHVlLCAneXl5eS1NTS1kZCBISDptbTpzcycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflj5bmoLnnu4Tku7bkuIrnmoRVSVN0YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0Um9vdFVJU3RhdGUoKTogVUlTdGF0ZSB7XHJcblxyXG4gICAgICAgIGxldCByb290RnJhbWVDb250ZXh0ID0gdGhpcy5hcHBDb250ZXh0LmZyYW1lQ29udGV4dE1hbmFnZXIuZ2V0Um9vdEZyYW1lQ29udGV4dCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmluamVjdG9yKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZyYW1lQ29udGV4dCA9IHRoaXMuaW5qZWN0b3IuZ2V0PEZyYW1lQ29udGV4dD4oRnJhbWVDb250ZXh0LCBudWxsKTtcclxuICAgICAgICAgICAgaWYgKGZyYW1lQ29udGV4dCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmlydHVhbFJvb3RGcmFtZUNvbnRleHQgPSBmcmFtZUNvbnRleHQuZ2V0VmlydHVhbFJvb3RGcmFtZUNvbnRleHQoKTtcclxuICAgICAgICAgICAgICAgIHJvb3RGcmFtZUNvbnRleHQgPSB2aXJ0dWFsUm9vdEZyYW1lQ29udGV4dCB8fCByb290RnJhbWVDb250ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghcm9vdEZyYW1lQ29udGV4dCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByb290RnJhbWVDb250ZXh0LnVpU3RhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlgLzmr5TovoNcclxuICAgICAqIEB0b2RvIOS4tOaXtumHh+eUqOi/meenjeaWueW8j1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGlzVmFsdWVFcXVhbChzcmNWYWx1ZTogYW55LCBkc3RWYWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHNyY1ZhbHVlKSA9PT0gSlNPTi5zdHJpbmdpZnkoZHN0VmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2sgaWYgdGhlIG9iamVjdCBpcyBhIHBsYWluIG9iamVjdFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGlzVWR0VmFyaWFibGUob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gb2JqICYmIG9iai5jb25zdHJ1Y3RvciAmJlxyXG4gICAgICAgICAgICBvYmoudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgT2JqZWN0XScgJiZcclxuICAgICAgICAgICAgb2JqLmNvbnN0cnVjdG9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnaXNQcm90b3R5cGVPZicpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIOiuvue9ruWAvOWIsFVJU3RhdGVcclxuICAgICAqIEB0b2Rv77yaXHJcbiAgICAgKiAx44CB5pyN5Yqh5Zmo56uv5LiN5pSv5oyB77ybXHJcbiAgICAgKiAy44CB5pel5pyf57G75Z6L5aSE55CG5pa55qGI5b6F5a6a44CCXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc2V0VmFsdWVUb1VJU3RhdGUobWFwcGluZzogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgLy8gY29uc3QgdWlTdGF0ZSA9IHRoaXMuZ2V0VUlTdGF0ZSgpO1xyXG4gICAgICAgIC8vIHVpU3RhdGVbbWFwcGluZ10gPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5leHBvcnQgeyBCZWZWYXJpYWJsZU1hbmFnZXIgfTtcclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmX3ZhcmlhYmxlX21hbmFnZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmFycmlzL2JlZi8iLCJzb3VyY2VzIjpbImxpYi9iZWZfdmFyaWFibGVfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sU0FBUyxDQUFDO0FBRXpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU1uRDtJQVlFOztPQUVHO0lBQ0gsNEJBQW9CLFVBQXNCLEVBQVUsV0FBZ0IsRUFBc0IsUUFBa0I7UUFBNUcsaUJBU0M7UUFUbUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQXNCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUFFNUMsWUFBWTtRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTzs7OztRQUFDLFVBQUMsUUFBZ0I7WUFDaEQsS0FBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHOzs7Ozs7SUFDSSwrQ0FBa0I7Ozs7O0lBQXpCLFVBQTBCLFlBQTBCO1FBQXBELGlCQXFCQzs7WUFwQk8sVUFBVSxHQUFHLFlBQVksQ0FB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QWlCO1lBQ3BDLEdBQUcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBR0Q7Ozs7O09BS0c7Ozs7Ozs7Ozs7O0lBQ0ssOENBQWlCOzs7Ozs7Ozs7O0lBQXpCLFVBQTBCLE9BQWUsRUFBRSxLQUFVOztZQUM3QyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNyQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7OztnQkF4S00sVUFBVTs7Z0JBSVYsUUFBUSx1QkFxQndELFFBQVE7O0lBa0pqRix5QkFBQztDQUFBLEFBaktELElBaUtDOzs7Ozs7O0lBNUpDLDJDQUErQzs7Ozs7O0lBSy9DLDJDQUF3Qzs7Ozs7SUFLNUIsd0NBQThCOzs7OztJQUFFLHlDQUF3Qjs7Ozs7SUFBRSxzQ0FBc0M7O0FBb0o5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBBdXRob3I6IFdpdHRcclxuICogQERhdGU6IDIwMTktMDMtMDUgMTk6NTU6NDRcclxuICogQExhc3QgTW9kaWZpZWQgYnk6IFdpdHRcclxuICogQExhc3QgTW9kaWZpZWQgdGltZTogMjAxOS0wMy0xMyAyMDozNToyOVxyXG4gKi9cclxuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0LCBGcmFtZUNvbnRleHQsIFVJU3RhdGUgfSBmcm9tICdAZmFycmlzL2RldmtpdCc7XHJcbmltcG9ydCB7IENoYW5nZURldGFpbFR5cGUsIENoYW5nZURldGFpbCB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBOZ1ZhcmlhYmxlIH0gZnJvbSAnLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgQmVmQ2hhbmdlVXRpbCB9IGZyb20gJy4vYmVmX2NoYW5nZV91dGlsJztcclxuaW1wb3J0IHsgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEJl5Y+Y6YeP566h55CG5ZmoXHJcbiAqL1xyXG5jbGFzcyBCZWZWYXJpYWJsZU1hbmFnZXIge1xyXG5cclxuICAvKipcclxuICAgKiDlj5jph4/lhYPmlbDmja5cclxuICAgKi9cclxuICBwcml2YXRlIG5nVmFyaWFibGVNYXA6IE1hcDxzdHJpbmcsIE5nVmFyaWFibGU+O1xyXG5cclxuICAvKipcclxuICAgKiDorr7nva7lgLxcclxuICAgKi9cclxuICBwcml2YXRlIGlubmVyVmFsdWVNYXA6IE1hcDxzdHJpbmcsIGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIOaehOmAoOWHveaVsFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dCwgcHJpdmF0ZSBuZ1ZhcmlhYmxlczogYW55LCBAT3B0aW9uYWwoKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG5cclxuICAgIHRoaXMubmdWYXJpYWJsZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBOZ1ZhcmlhYmxlPigpO1xyXG4gICAgdGhpcy5pbm5lclZhbHVlTWFwID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcclxuXHJcbiAgICAvLyDph43mlrDnu4Tnu4flj5jph4/lhYPmlbDmja5cclxuICAgIE9iamVjdC5rZXlzKG5nVmFyaWFibGVzKS5mb3JFYWNoKChwcm9wTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHRoaXMubmdWYXJpYWJsZU1hcC5zZXQocHJvcE5hbWUsIG5nVmFyaWFibGVzW3Byb3BOYW1lXSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWPmOabtOmbhlxyXG4gICAqL1xyXG4gIHB1YmxpYyBoYW5kbGVDaGFuZ2VEZXRhaWwoY2hhbmdlRGV0YWlsOiBDaGFuZ2VEZXRhaWwpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNoYW5nZUluZm8gPSBjaGFuZ2VEZXRhaWwuQ2hhbmdlSW5mbztcclxuICAgIE9iamVjdC5rZXlzKGNoYW5nZUluZm8pLmZvckVhY2goKHZhck5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAvLyDlj5jph4/lhYPmlbDmja5cclxuICAgICAgY29uc3QgbmdWYXJpYWJsZSA9IHRoaXMubmdWYXJpYWJsZU1hcC5nZXQodmFyTmFtZSk7XHJcbiAgICAgIGlmICghbmdWYXJpYWJsZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBtYXBwaW5nID0gbmdWYXJpYWJsZS5tYXBwaW5nO1xyXG5cclxuICAgICAgLy8g5pu05pawVUlTdGF0ZeWPmOabtFxyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGNoYW5nZUluZm9bdmFyTmFtZV07XHJcbiAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5pbm5lclZhbHVlTWFwLmdldCh2YXJOYW1lKTtcclxuXHJcbiAgICAgIGlmIChvbGRWYWx1ZSA9PT0gbmV3VmFsdWUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgLy8g5pu05paw5YC8XHJcbiAgICAgIHRoaXMuc2V0VmFsdWVUb1VJU3RhdGUobWFwcGluZywgbmV3VmFsdWUpO1xyXG4gICAgICB0aGlzLmlubmVyVmFsdWVNYXAuc2V0KHZhck5hbWUsIG5ld1ZhbHVlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnVpbGQgQ2hhbmdlRGV0YWlsIGluc3RhbmNlIGZvciBhbGwgdmFyaWFibGVzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBidWlsZENoYW5nZURldGFpbCgpOiBDaGFuZ2VEZXRhaWwge1xyXG4gICAgY29uc3QgY2hhbmdlRGV0YWlsID0gQmVmQ2hhbmdlVXRpbC5jcmVhdGVFbXB0eShDaGFuZ2VEZXRhaWxUeXBlLk1vZGlmeSk7XHJcbiAgICB0aGlzLm5nVmFyaWFibGVNYXAuZm9yRWFjaCgobmdWYXJpYWJsZTogTmdWYXJpYWJsZSwgdmFyTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hcHBpbmcgPSBuZ1ZhcmlhYmxlLm1hcHBpbmc7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5nZXRWYWx1ZUZyb21VSVN0YXRlKG1hcHBpbmcpO1xyXG4gICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZU1hcC5nZXQodmFyTmFtZSk7XHJcbiAgICAgIGlmICh0aGlzLmlzVmFsdWVFcXVhbChuZXdWYWx1ZSwgb2xkVmFsdWUpID09PSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMuaW5uZXJWYWx1ZU1hcC5zZXQodmFyTmFtZSwgbmV3VmFsdWUpO1xyXG4gICAgICAgIHRoaXMuYXBwZW5kVG9DaGFuZ2VJbmZvKGNoYW5nZURldGFpbCwgdmFyTmFtZSwgbmV3VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoT2JqZWN0LmtleXMoY2hhbmdlRGV0YWlsLkNoYW5nZUluZm8pLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2hhbmdlRGV0YWlsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdmFyaWFibGUgdmFsdWVzIGNhY2hlZCBpbiB0aGUgaW5uZXJWYWx1ZU1hcCBwcm9wZXJ0eS5cclxuICAgKi9cclxuICBwdWJsaWMgcmVzZXQoKSB7XHJcbiAgICB0aGlzLmlubmVyVmFsdWVNYXAuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFwcGVuZCBjaGFuZ2VkIHZhcmlhYmxlIHRvIENoYW5nZURldGFpbCBpbnN0YW5jZS5cclxuICAgKi9cclxuICBwcml2YXRlIGFwcGVuZFRvQ2hhbmdlSW5mbyhjaGFuZ2VEZXRhaWw6IENoYW5nZURldGFpbCwgdmFyTmFtZTogc3RyaW5nLCB2YXJWYWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc1VkdFZhcmlhYmxlKHZhclZhbHVlKSA9PT0gdHJ1ZSkge1xyXG4gICAgICBjb25zdCB1ZHRWYXJDaGFuZ2VEZXRhaWwgPSBCZWZDaGFuZ2VVdGlsLmNyZWF0ZUVtcHR5KENoYW5nZURldGFpbFR5cGUuTW9kaWZ5KTtcclxuICAgICAgdWR0VmFyQ2hhbmdlRGV0YWlsLkNoYW5nZUluZm8gPSB2YXJWYWx1ZTtcclxuICAgICAgY2hhbmdlRGV0YWlsLkNoYW5nZUluZm9bdmFyTmFtZV0gPSB1ZHRWYXJDaGFuZ2VEZXRhaWw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjaGFuZ2VEZXRhaWwuQ2hhbmdlSW5mb1t2YXJOYW1lXSA9IHZhclZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5LuOVUlTdGF0ZeS4iuiOt+WPluWAvFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0VmFsdWVGcm9tVUlTdGF0ZShtYXBwaW5nOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgdWlTdGF0ZSA9IHRoaXMuZ2V0Um9vdFVJU3RhdGUoKTtcclxuXHJcbiAgICAvLyDorqHnrpd2YWx1ZVxyXG4gICAgY29uc3QgbWFwcGluZ0FycmF5ID0gbWFwcGluZy5zcGxpdCgnLicpO1xyXG4gICAgY29uc3QgdmFsdWUgPSBtYXBwaW5nQXJyYXkucmVkdWNlKChhY2N1bXVsYXRvcjogYW55LCBjdXJyZW50VmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gYWNjdW11bGF0b3IgPyBhY2N1bXVsYXRvcltjdXJyZW50VmFsdWVdIDogbnVsbDtcclxuICAgIH0sIHVpU3RhdGUpO1xyXG5cclxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgcmV0dXJuIGZvcm1hdCh2YWx1ZSwgJ3l5eXktTU0tZGQgSEg6bW06c3MnKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluaguee7hOS7tuS4iueahFVJU3RhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGdldFJvb3RVSVN0YXRlKCk6IFVJU3RhdGUge1xyXG5cclxuICAgIGxldCByb290RnJhbWVDb250ZXh0ID0gdGhpcy5hcHBDb250ZXh0LmZyYW1lQ29udGV4dE1hbmFnZXIuZ2V0Um9vdEZyYW1lQ29udGV4dCgpO1xyXG4gICAgaWYgKHRoaXMuaW5qZWN0b3IpIHtcclxuICAgICAgY29uc3QgZnJhbWVDb250ZXh0ID0gdGhpcy5pbmplY3Rvci5nZXQ8RnJhbWVDb250ZXh0PihGcmFtZUNvbnRleHQsIG51bGwpO1xyXG4gICAgICBpZiAoZnJhbWVDb250ZXh0KSB7XHJcbiAgICAgICAgY29uc3QgdmlydHVhbFJvb3RGcmFtZUNvbnRleHQgPSBmcmFtZUNvbnRleHQuZ2V0VmlydHVhbFJvb3RGcmFtZUNvbnRleHQoKTtcclxuICAgICAgICByb290RnJhbWVDb250ZXh0ID0gdmlydHVhbFJvb3RGcmFtZUNvbnRleHQgfHwgcm9vdEZyYW1lQ29udGV4dDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKCFyb290RnJhbWVDb250ZXh0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHJldHVybiByb290RnJhbWVDb250ZXh0LnVpU3RhdGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlgLzmr5TovoNcclxuICAgKiBAdG9kbyDkuLTml7bph4fnlKjov5nnp43mlrnlvI9cclxuICAgKi9cclxuICBwcml2YXRlIGlzVmFsdWVFcXVhbChzcmNWYWx1ZTogYW55LCBkc3RWYWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc3JjVmFsdWUpID09PSBKU09OLnN0cmluZ2lmeShkc3RWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGEgcGxhaW4gb2JqZWN0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpc1VkdFZhcmlhYmxlKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gb2JqICYmIG9iai5jb25zdHJ1Y3RvciAmJlxyXG4gICAgICBvYmoudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgT2JqZWN0XScgJiZcclxuICAgICAgb2JqLmNvbnN0cnVjdG9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnaXNQcm90b3R5cGVPZicpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIOiuvue9ruWAvOWIsFVJU3RhdGVcclxuICAgKiBAdG9kb++8mlxyXG4gICAqIDHjgIHmnI3liqHlmajnq6/kuI3mlK/mjIHvvJtcclxuICAgKiAy44CB5pel5pyf57G75Z6L5aSE55CG5pa55qGI5b6F5a6a44CCXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZVRvVUlTdGF0ZShtYXBwaW5nOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVpU3RhdGUgPSB0aGlzLmdldFJvb3RVSVN0YXRlKCk7XHJcbiAgICB1aVN0YXRlW21hcHBpbmddID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcbmV4cG9ydCB7IEJlZlZhcmlhYmxlTWFuYWdlciB9O1xyXG4iXX0= |
{ | ||
"name": "@farris/bef", | ||
"version": "0.0.12-20210428112135-dev", | ||
"version": "0.0.12-20210705171250-dev", | ||
"peerDependencies": { | ||
@@ -5,0 +5,0 @@ "@angular/common": "^7.2.0", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
3186566
39689