{"version":3,"sources":["components/TopNavBar.js","components/Noty.js","components/Logger.js","components/Login.js","components/header.js","components/SessionChecker.js","components/Feedback.js","components/CheckBox.js","components/CheckBoxList.js","components/RolesList.js","components/Roles.js","components/eventsLi.js","components/ListGroupCollapse.js","components/loader.js","components/DCRForm.js","components/DCRFormModal.js","components/collapse.js","components/FilterRolesModal.js","components/Tasks.js","App.js","components/SignalR.js","serviceWorker.js","index.js","images/logo.png"],"names":["NavBarA","react_default","a","createElement","Navbar","bg","expand","Brand","href","Toggle","aria-controls","Collapse","id","Nav","className","Link","NavDropdown","title","Item","Divider","Form","inline","FormControl","type","placeholder","Button","variant","React","Component","noty","text","Noty","layout","theme","timeout","closeWith","progressBar","show","Logger","message","status","details","severity","arguments","length","undefined","errorType","logLevel","window","logger","failed","cookies","Cookies","ErrorMsgBlock","props","console","log","msgDisplay","Login","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","handleKeyPress","event","which","proceed","state","showErrorMsg","mainHub","hub","pin","queryString","parse","location","search","bind","assertThisInitialized","routeChange","handleChange","document","addEventListener","history","goForward","removeEventListener","e","setState","target","value","cookie","get","includes","self","_self$state","checkCookies","parseInt","invoke","then","response","JSON","StatusCode","catch","error","stack","trim","code","result","Message","data","_JSON$parse","PortalSimulationId","Token","CreatedBy","Title","SimulationId","UserId","Pin","push","pathname","token","createdBy","simulationID","userId","isMultiSimulationAllow","isDcrGraphId","submitBtnCSS","src","img","alt","maxLength","onChange","onClick","withRouter","Header","checkForSession","feedbackRating","rating","textarea","simTitle","isSubmit","onFeedBackSubmit","feedbackOnChange","getSimulationUserFeedback","backToHome","created","nextValue","prevValue","name","header_Header","showInput","react_star_rating_component_default","starCount","onStarClick","starColor","emptyStarColor","rows","color","CheckBox","_ref","tick","usersCount","onCheck","checked","htmlFor","index_es","icon","faUser","CheckBoxList","options","isCheckedAll","checkBoxOptions","map","option","index","key","users","roleCount","countTotalRoles","role","RolesList","isAllSelected","checkList","Roles","roles","simJoinerName","allRoles","userNameChange","getAllRoles","getUserRolesCount","updateRolesCount","initialize","setStates","_self$props$location$","path","item","join","nameInput","focus","propsState","checkName","isChecked","isAllChecked","isAllUnChecked","assign","findIndex","filter","o","Users","on","_this2","isInput","ref","input","components_RolesList","onCheckBoxChange","roleEventsLi","renderData","collapse","isDeadLinePassed","Pending","Executed","EventLabel","Deadline","Enabled","EventDataType","Type","ID","Ancestors","isDisable","showModal","isSelectedRole","Card_default","Text","faExclamation","faCheck","dist_default","locale","format","size","disabled","eventsData","events","Events","ListGroupCollapse","toggle","_self$props$item","Role","_self$props","executeEvent","aria-expanded","faAngleRight","faAngleDown","reactstrap_module","isOpen","Body","eventsLi_roleEventsLi","loader","$","addClass","setTimeout","hide","removeClass","DCRForm","onFormSubmit","xml","eventID","isSingleData","hideModal","iframeURL","referXML","getReferXMLbyId","fire","objectSpread","simITFormServerConfigs","onSubmit","logXml","graph","htmlencode","require","parseString","RoleListItem","setUpPublicUser","selectedRoles","split","lazyRoles","getTasks","_self$props$location$2","parseData","isAccepting","deadLinePassed","rolesAndEvents","currentAndLazyEvents","rolesOrEvents","temporaryState","IsAccepting","isWaiting","filterRoles","userRoles","executeLazyUserEvent","lazyEvents","allEvents","forEach","element","clearTimeout","simulationLeft","isDone","isUnmount","getEventJson","_self$props$location$3","eventExecuted","DcrGraphXml","validXML","handleSimulationError","isValid","err","executionResult","errors","i","el","htmlEncode","_","transactionExecuted","hideDCRForm","getRandomInt","showDCRForm","isShowModal","eventRole","modalstate","onRef","max","Math","floor","random","userType","_self$props$location$4","filterarray","fil","j","_this$state","_this$props$location$","rolesOrEventsList","ListGroupCollapse_ListGroupCollapse","some","DCRForm_DCRForm","FilterRolesModal","context","temporaryRoles","resetModal","setCheckList","hideRolesModal","Modal","onHide","container","aria-labelledby","closeButton","Tasks","allEventsData","isPaused","onFilterRolesModalClick","handleRolesFilter","setIsMount","simulationPaused","simulationResumed","simulationInitialized","setCookie","cookieArray","set","child","asyncToGenerator","regenerator_default","mark","_callee2","wrap","_context2","prev","next","stop","_x2","apply","_ref2","_callee4","_context4","_x3","reload","FilterRolesModal_FilterRolesModal","confirm","library","add","faIgloo","App","Switch","Route","exact","component","components_Login","components_Roles","Feedback","components_Tasks","jQuery","Boolean","hostname","match","callback","connection","hubConnection","host","env","getSIMITURL","createHubProxy","start","done","fail","initSignalR","ReactDOM","render","BrowserRouter","src_App_0","getElementById","navigator","serviceWorker","ready","registration","unregister","module","exports","__webpack_require__","p"],"mappings":"iYAIqBA,mLAEb,OACEC,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAQC,GAAG,QAAQC,OAAO,MACxBL,EAAAC,EAAAC,cAACC,EAAA,EAAOG,MAAR,CAAcC,KAAK,SAAnB,mBACAP,EAAAC,EAAAC,cAACC,EAAA,EAAOK,OAAR,CAAeC,gBAAc,qBAC7BT,EAAAC,EAAAC,cAACC,EAAA,EAAOO,SAAR,CAAiBC,GAAG,oBAClBX,EAAAC,EAAAC,cAACU,EAAA,EAAD,CAAKC,UAAU,WACbb,EAAAC,EAAAC,cAACU,EAAA,EAAIE,KAAL,CAAUP,KAAK,SAAf,QACAP,EAAAC,EAAAC,cAACU,EAAA,EAAIE,KAAL,CAAUP,KAAK,SAAf,QACAP,EAAAC,EAAAC,cAACa,EAAA,EAAD,CAAaC,MAAM,WAAWL,GAAG,sBAC/BX,EAAAC,EAAAC,cAACa,EAAA,EAAYE,KAAb,CAAkBV,KAAK,eAAvB,UACAP,EAAAC,EAAAC,cAACa,EAAA,EAAYE,KAAb,CAAkBV,KAAK,eAAvB,kBACAP,EAAAC,EAAAC,cAACa,EAAA,EAAYE,KAAb,CAAkBV,KAAK,eAAvB,aACAP,EAAAC,EAAAC,cAACa,EAAA,EAAYG,QAAb,MACAlB,EAAAC,EAAAC,cAACa,EAAA,EAAYE,KAAb,CAAkBV,KAAK,eAAvB,oBAGJP,EAAAC,EAAAC,cAACiB,EAAA,EAAD,CAAMC,QAAM,GACVpB,EAAAC,EAAAC,cAACmB,EAAA,EAAD,CAAaC,KAAK,OAAOC,YAAY,SAASV,UAAU,YACxDb,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQC,QAAQ,mBAAhB,qBArBiBC,IAAMC,8DCF5B,SAASC,EAAKN,EAAMO,GAC/B,IAAIC,IAAK,CACLR,KAAMA,EACNS,OAAQ,WACRC,MAAO,eACPH,KAAMA,EACNI,QAAS,OACTC,UAAW,CAAC,SACZC,aAAa,IACZC,OCXM,SAASC,EAAOC,EAASC,EAAQC,GAAqE,IAA5DC,EAA4DC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAjD,QAASG,EAAwCH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAA5B,aAAcI,EAAcJ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAH,EAC9GK,OAAOC,OAAOC,OAAO,CAACX,QAASA,EAASC,OAAQA,EAAQC,QAASA,EAASC,WAAUI,YAAWC,uDCU7FI,EAAU,IAAIC,IAEpB,SAASC,EAAcC,GAErB,OADAC,QAAQC,IAAIF,GACRA,EAAMG,WAENxD,EAAAC,EAAAC,cAAA,OAAKW,UAAU,mBACbb,EAAAC,EAAAC,cAAA,QAAMW,UAAU,aAAhB,+BAIGb,EAAAC,EAAAC,cAAA,gBAILuD,cACJ,SAAAA,EAAYJ,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAJ,IACjBC,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAAF,GAAAO,KAAAH,KAAMR,KAsBRY,eAAiB,SAACC,GACI,KAAhBA,EAAMC,OACRT,EAAKU,WAvBPV,EAAKW,MAAQ,CACXC,cAAc,EACdC,QAASlB,EAAMmB,IACfC,IAAK,GACLC,YAAaA,IAAYC,MAAMtB,EAAMuB,SAASC,SAEhDnB,EAAKU,QAAUV,EAAKU,QAAQU,KAAbnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACfA,EAAKsB,YAActB,EAAKsB,YAAYF,KAAjBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACnBA,EAAKO,eAAiBP,EAAKO,eAAea,KAApBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACtBA,EAAKuB,aAAevB,EAAKuB,aAAaH,KAAlBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAXHA,mFAejBwB,SAASC,iBAAiB,UAAWtB,KAAKI,+DAI1CJ,KAAKR,MAAM+B,QAAQC,YACnBH,SAASI,oBAAoB,UAAWzB,KAAKI,qDASlCsB,GACX1B,KAAK2B,SAAS,CAAEf,IAAKc,EAAEE,OAAOC,6CAGnBjB,GACX,IAAIkB,EAASzC,EAAQ0C,IAAI,aACzB,YAAchD,GAAV+C,QAAkC/C,GAAV+C,IAAwBA,EAAOE,SAASpB,qCAQpE,IAAIqB,EAAOjC,KADHkC,EAEyBD,EAAKzB,MAA9BE,EAFAwB,EAEAxB,QAASG,EAFTqB,EAESrB,YACbD,EAAMqB,EAAKzB,MAAMI,IACjBZ,KAAKmC,aAAavB,GAChBwB,SAASxB,IAAQA,GAAqB,GAAdA,EAAI9B,OAC9B4B,EAAQ2B,OAAO,UAAWzB,GACvB0B,KAAK,SAAUC,GAEY,QADXC,KAAK1B,MAAMyB,GACfE,WACTR,EAAKd,YAAYoB,GAEjBxE,EAAK,QAAS,gCAEjB2E,MAAM,SAAUC,GACf5E,EAAK,QAAS,yBACdS,EAAO,yBAA0BmE,EAAMlE,QAASkE,EAAMC,MAAO,WAGrC,GAArBhC,EAAIiC,OAAO/D,QAAgB+B,EAAYiC,UAGpB/D,GAApB8B,EAAYiC,KAClBpC,EAAQ2B,OAAO,UAAWxB,EAAYiC,MACnCR,KAAK,SAAUC,GACd,IAAMQ,EAASP,KAAK1B,MAAMyB,GACA,QAAtBQ,EAAON,WACTR,EAAKd,YAAYoB,GAEVQ,EAAOC,SAA6B,IAAlBD,EAAOC,QAChCjF,EAAK,QAASgF,EAAOC,SAGrBjF,EAAK,QAAS,gCAGjB2E,MAAM,SAAUC,GACf5E,EAAK,QAAS,yBACdS,EAAO,yBAA0BmE,EAAMlE,QAASkE,EAAMC,MAAO,WAIjE7E,EAAK,QAAS,+BAtBdA,EAAK,QAAS,qBA0BhBA,EAAK,QAAS,kGAKNkF,GACV,IADgBC,EAEiEV,KAAK1B,MAAMmC,GAArFE,EAFSD,EAETC,mBAAoBC,EAFXF,EAEWE,MAAOC,EAFlBH,EAEkBG,UAAWC,EAF7BJ,EAE6BI,MAAOC,EAFpCL,EAEoCK,aAAcC,EAFlDN,EAEkDM,OAAQC,EAF1DP,EAE0DO,IAC1EzD,KAAKR,MAAM+B,QAAQmC,KACjB,CACEC,SAJM,QAKNnD,MAAO,CACL1D,GAAIqG,EACJS,MAAOR,EACPS,UAAWR,EACXlG,MAAOmG,EACPQ,aAAcP,EACdQ,OAAQP,EACR5C,IAAK6C,EACLO,yBAAwBhE,KAAKQ,MAAMK,YAAYiC,yCAOrD,IAAMmB,EAAejE,KAAKQ,MAAMK,YAAYiC,KACtCoB,EAAeD,EAAe,iCAAmC,4BACvE,OACE9H,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,eAEAF,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,4BACbb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,cACbb,EAAAC,EAAAC,cAAA,OAAK8H,IAAKC,IAAKpH,UAAU,OAAOqH,IAAI,SACpClI,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oBAAmBb,EAAAC,EAAAC,cAAA,+BAEpCF,EAAAC,EAAAC,cAACkD,EAAD,CAAeI,WAAYK,KAAKQ,MAAMC,gBACpCwD,GAAgB9H,EAAAC,EAAAC,cAAA,OAAKW,UAAU,cAC/Bb,EAAAC,EAAAC,cAAA,SAAOW,UAAU,eAAe6E,MAAO7B,KAAKQ,MAAMI,IAAK0D,UAAU,IAAIC,SAAUvE,KAAKoB,aAActE,GAAG,QAAQY,YAAY,SAE3HvB,EAAAC,EAAAC,cAAA,OAAKW,UAAU,cACbb,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQF,KAAK,SAAST,UAAWkH,EAAcM,QAASxE,KAAKO,SAAW0D,EAAyB,WAAV,YAI7F9H,EAAAC,EAAAC,cAAA,uBAxIYyB,aA+IL2G,cAAW7E,qBCtKL8E,mLAEb,IAAIlF,EAAQQ,KAAKR,MAAMyD,KACvB,OACI9G,EAAAC,EAAAC,cAAA,OAAKW,UAAU,qBACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,aACXb,EAAAC,EAAAC,cAAA,OAAK8H,IAAKC,IAAKpH,UAAU,eAAeqH,IAAI,UAEhDlI,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iBACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iBAA2B+B,GAAfS,EAAMrC,MAAqB,kBAAoBqC,EAAMrC,OAChFhB,EAAAC,EAAAC,cAAA,OAAKW,UAAU,wBAAuBb,EAAAC,EAAAC,cAAA,KAAGW,UAAU,cAAb,gBAAtC,SAAqG+B,GAAnBS,EAAMqE,UAAyB,iBAAmBrE,EAAMqE,oBAV1HhG,IAAMC,WCH3B,SAAS6G,EAAgBnF,GAEpCA,EAAM+B,QAAQmC,KAAK,CACfC,SAAU,IACVnD,MAAO,CACHoD,MAAOpE,EAAMoE,MACbzG,MAAOqC,EAAMrC,MACb0G,UAAWrE,EAAMqE,iBCKvBe,cACF,SAAAA,EAAYpF,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA4E,IACf/E,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA8E,GAAAzE,KAAAH,KAAMR,KAEDgB,MAAQ,CACTqE,OAAQ,EACRC,SAAU,GACVC,SAAU,GACVlB,UAAW,GACXnD,QAASlB,EAAMmB,IACfqE,UAAU,GAEdnF,EAAKoF,iBAAmBpF,EAAKoF,iBAAiBhE,KAAtBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACxBA,EAAKqF,iBAAmBrF,EAAKqF,iBAAiBjE,KAAtBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACxBA,EAAKsF,0BAA4BtF,EAAKsF,0BAA0BlE,KAA/BnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACjCA,EAAKuF,WAAavF,EAAKuF,WAAWnE,KAAhBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAdHA,wFAkBsBd,GAArCiB,KAAKR,MAAM+B,QAAQR,SAASP,MAExBmE,EAAgB3E,KAAKR,OAErBQ,KAAKmF,2EAITnF,KAAKR,MAAM+B,QAAQC,gDAInB,IAAIhC,EAAQQ,KAAKR,MAAMuB,SAASP,MAChCR,KAAK2B,SAAS,CACVoD,SAAUvF,EAAMrC,MAChBkI,QAAS7F,EAAMqE,gDAIXyB,EAAWC,EAAWC,GAC9BxF,KAAK2B,SAAS,CAAEkD,OAAQS,6CAGX5D,GACb1B,KAAK2B,SAAS,CAAEmD,SAAUpD,EAAEE,OAAOC,mDAInC,IAAII,EAAOjC,KACXiC,EAAKzB,MAAME,QAAQ2B,OAAO,sBACtBJ,EAAKzC,MAAMuB,SAASP,MAAMoD,MAC1B3B,EAAKzB,MAAMsE,SAASjC,OACpBZ,EAAKzB,MAAMqE,QAEVvC,KAAK,SAAUC,GACZN,EAAKN,SAAS,CACVqD,UAAU,MAGjBtC,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,+BAAgCmE,EAAMlE,QAASkE,EAAMC,MAAO,+DAK3E,IAAIX,EAAOjC,KACXiC,EAAKzB,MAAME,QAAQ2B,OAAO,4BACtBJ,EAAKzC,MAAMuB,SAASP,MAAMoD,OAEzBtB,KAAK,SAAUC,QACIxD,GAAZwD,EACAN,EAAKN,SAAS,CACVqD,UAAU,IAGd/C,EAAKN,SAAS,CACVqD,UAAU,MAIrBtC,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,2CAA4CmE,EAAMlE,QAASkE,EAAMC,MAAO,gDAOvF5C,KAAKR,MAAM+B,QAAQmC,KAAK,CACpBC,SAFO,uCAKN,IACGkB,EAAW7E,KAAKQ,MAAhBqE,OACJrE,EAAQR,KAAKR,MAAMuB,SAASP,MAChC,YAAazB,GAATyB,EACO,KAGPrE,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAA,cACIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oBACXb,EAAAC,EAAAC,cAACoJ,EAAD,CAAQxC,KAAMzC,EAAOkF,WAAW,MAGxCvJ,EAAAC,EAAAC,cAAA,YACIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iBACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,0BACa,GAAvBgD,KAAKQ,MAAMwE,SACP7I,EAAAC,EAAAC,cAAA,WACGF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,uBAAf,uBACAb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,wBACXb,EAAAC,EAAAC,cAACsJ,EAAAvJ,EAAD,CACIoJ,KAAK,QACLI,UAAW,EACX/D,MAAOgD,EACPgB,YAAa7F,KAAK6F,YAAY5E,KAAKjB,MACnC8F,UAAU,mBACVC,eAAe,aAGvB5J,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oBAAmBb,EAAAC,EAAAC,cAAA,YAAU2J,KAAK,IAAIzB,SAAUvE,KAAKkF,iBAAkBlI,UAAU,+BAA+B6E,MAAO7B,KAAKQ,MAAMsE,SAAUhI,GAAG,kBAAkBY,YAAY,uBAC5LvB,EAAAC,EAAAC,cAAA,OAAKW,UAAU,uBAAsBb,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQF,KAAK,SAAST,UAAU,WAAWwH,QAASxE,KAAKiF,kBAAzD,mBAGzC9I,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,aACXb,EAAAC,EAAAC,cAAA,QAAMW,UAAU,gBAAhB,yCAEJb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oCACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iCACXb,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQX,UAAU,eAAeiJ,MAAM,UAAUzB,QAASxE,KAAKoF,YAA/D,sBAW5BjJ,EAAAC,EAAAC,cAAA,uBA/IawB,IAAMC,WAsJpB2G,cAAWG,4CC9JX,SAASsB,EAATC,GAA4D,IAAzCX,EAAyCW,EAAzCX,KAAM3D,EAAmCsE,EAAnCtE,MAAOuE,EAA4BD,EAA5BC,KAAMC,EAAsBF,EAAtBE,WAAYC,EAAUH,EAAVG,QAC3D,OACMnK,EAAAC,EAAAC,cAAA,OAAKW,UAAW,4BACZb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,qEACXb,EAAAC,EAAAC,cAAA,SACAmJ,KAAMA,EACN1I,GAAK+E,EACLpE,KAAK,WACLoE,MAAOA,EACP0E,QAASH,IAAQ,EACjB7B,SAAU+B,EACVtJ,UAAU,yBAEVb,EAAAC,EAAAC,cAAA,SAAOW,UAAU,uBAAuBwJ,QAAS3E,GAAQA,IAEnD,eAAT2D,EAAsBrJ,EAAAC,EAAAC,cAAA,YAAYF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,eAAcb,EAAAC,EAAAC,cAACoK,EAAA,EAAD,CAAiBzJ,UAAU,GAAG0J,KAAMC,MAAUxK,EAAAC,EAAAC,cAAA,OAAKW,UAAU,gBAAeb,EAAAC,EAAAC,cAAA,SAAOW,UAAU,GAAGwJ,QAASH,GAA7B,IAA2CA,EAA3C,QCf7I,SAASO,EAATT,GAA0D,IAAlCU,EAAkCV,EAAlCU,QAASC,EAAyBX,EAAzBW,aAAcR,EAAWH,EAAXG,QAEpDS,EACF5K,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iBACV6J,EAAQG,IAAI,SAACC,EAAQC,GAClB,OACI/K,EAAAC,EAAAC,cAAC6J,EAAD,CACIiB,IAAKD,EACL1B,KAAMyB,EAAOzB,KACb3D,MAAOoF,EAAOpF,MACduE,KAAMa,EAAOV,QACbF,WAAYY,EAAOG,MACnBd,QAAS,SAAC5E,GAAD,OAAO4E,EAAQW,EAAOpF,MAAOH,EAAEE,OAAO2E,eAO/Dc,EAAY,EACZC,EAAkBT,EAAQ/H,OAY9B,OARA+H,EAAQG,IAAI,SAACO,EAAML,GACXK,EAAKhB,UACLc,GAAwB,EACPE,EACIA,EAAK1F,MACb0F,EAAKH,SAItBjL,EAAAC,EAAAC,cAAA,WAEIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,2BACXb,EAAAC,EAAAC,cAAA,QAAMW,UAAU,aAAhB,SACAb,EAAAC,EAAAC,cAAA,QAAMW,UAAU,qBAAhB,IAAsCqK,EAAtC,IAAkDC,EAAlD,MAEJnL,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oBACXb,EAAAC,EAAAC,cAAC6J,EAAD,CACIV,KAAK,aACL3D,MAAM,MACNuE,KAAMU,EACNR,QAAS,SAAC5E,GAAD,OAAO4E,EAAQ,MAAO5E,EAAEE,OAAO2E,UACxCvJ,UAAU,gDAEb+J,QC/CXS,cACF,SAAAA,EAAYhI,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAwH,IACf3H,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA0H,GAAArH,KAAAH,KAAMR,KACDgB,MAAQ,CACTiH,eAAe,EACfC,UAAW,IAJA7H,wEASf,OACI1D,EAAAC,EAAAC,cAAA,OAAKW,UAAU,aACXb,EAAAC,EAAAC,cAACuK,EAAD,CACIC,QAAS7G,KAAKR,MAAMkI,UACpBZ,aAAc9G,KAAKR,MAAMiI,cACzBnB,QAAStG,KAAKR,MAAM8G,kBAfhBxI,aAsBT2G,cAAW+C,GCfpBG,cACF,SAAAA,EAAYnI,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA2H,IACf9H,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA6H,GAAAxH,KAAAH,KAAMR,KAgDVY,eAAiB,SAACC,GACM,KAAhBA,EAAMC,OACNT,EAAKsB,eAjDTtB,EAAKW,MAAQ,CACToH,MAAO,GACP7C,SAAU,GACVM,QAAS,GACTwC,cAAe,GACfJ,eAAe,EACfC,UAAW,GACXhH,QAASlB,EAAMmB,IACfqD,uBAAwBxE,EAAMwE,uBAC9B8D,SAAU,IAEdjI,EAAKsB,YAActB,EAAKsB,YAAYF,KAAjBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACnBA,EAAKkI,eAAiBlI,EAAKkI,eAAe9G,KAApBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACtBA,EAAKmI,YAAcnI,EAAKmI,YAAY/G,KAAjBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACnBA,EAAKO,eAAiBP,EAAKO,eAAea,KAApBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACtBA,EAAKoI,kBAAoBpI,EAAKoI,kBAAkBhH,KAAvBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACzBA,EAAKqI,iBAAmBrI,EAAKqI,iBAAiBjH,KAAtBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAlBTA,wFAsBsBd,GAArCiB,KAAKR,MAAM+B,QAAQR,SAASP,MAExBmE,EAAgB3E,KAAKR,OAErBQ,KAAKmI,kDAITnI,KAAKgI,cACLhI,KAAKoI,YACL/G,SAASC,iBAAiB,UAAWtB,KAAKI,gBAC1CJ,KAAKkI,uDAIL,IAAI1H,EAAQR,KAAKR,MAAMuB,SAASP,MAChCR,KAAK2B,SAAS,CACVoD,SAAUvE,EAAMrD,MAChBkI,QAAS7E,EAAMqD,2DAKnB7D,KAAKR,MAAM+B,QAAQC,YACnBH,SAASI,oBAAoB,UAAWzB,KAAKI,sDAU7C,IAAM6B,EAAOjC,KADHkC,EAEuBD,EAAKzB,MAA/BqH,EAFG3F,EAEH2F,cAAenH,EAFZwB,EAEYxB,QAFZ2H,EAG+EpG,EAAKzC,MAAMuB,SAASP,MAAtGsD,EAHGuE,EAGHvE,aAAchH,EAHXuL,EAGWvL,GAAI8G,EAHfyE,EAGezE,MAAOC,EAHtBwE,EAGsBxE,UAAW1G,EAHjCkL,EAGiClL,MAAO4G,EAHxCsE,EAGwCtE,OAAQnD,EAHhDyH,EAGgDzH,IAAKoD,EAHrDqE,EAGqDrE,uBAC3DsE,EAAO,GACiB,IAAxBT,EAAchF,QAAgBZ,EAAKzB,MAAMoH,MAAM9I,OAAS,EACxD4B,EAAQ2B,OAAO,oBACXyB,EACAE,GAEC1B,KAAK,SAAUC,GACZ,GAAgB,aAAZA,EAAyB,CACzB,IAAIqF,EAAQ3F,EAAKzB,MAAMoH,MAAMZ,IAAI,SAAAuB,GAAI,OAAIA,EAAK1G,QAAO2G,OACrDF,EAAI,QACJrG,EAAKzC,MAAM+B,QAAQmC,KAAK,CACpBC,SAAU2E,EACV9H,MAAO,CACH1D,GAAIA,EACJ8G,QACAC,YACA1G,QACA2G,eACAC,SACA8D,gBACAD,QACAF,UAAWzF,EAAKzB,MAAMoH,MACtBhH,MACAoD,yBACA8D,SAAU7F,EAAKzB,MAAMsH,iBAI7BQ,EAAO,aACPrG,EAAKzC,MAAM+B,QAAQmC,KAAK,CACpBC,SAAU2E,EACV9H,MAAO,CACHoD,MAAOA,EACPzG,MAAOA,EACP0G,UAAWA,OAK1BnB,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,kCAAmCmE,EAAMlE,QAASkE,EAAMC,MAAO,WAI9E5C,KAAKyI,UAAUC,+CAIRhH,GACX1B,KAAK2B,SAAS,CACVkG,cAAenG,EAAEE,OAAOC,2KAKtBI,EAAOjC,KACT2I,EAAa3I,KAAKR,MAAMuB,SAASP,QACKyB,EAAKzB,MAAxCwD,2BAAwBtD,qBACzBA,EAAQ2B,OAAO,cAAesG,EAAW7L,IAAIwF,KAAK,SAAUC,GAC9D,IAAIQ,EAASP,KAAK1B,MAAMyB,GACxB,IACIN,EAAKN,SAAS,CACV+F,UAAW3E,EAAOiE,IAAI,SAAUtF,GAC5B,MAAO,CACH8D,KAAM9D,EAAE4B,MACRzB,MAAOH,EAAE4B,MACTiD,SAAS,KAGjBuB,SAAU/E,EAAOiE,IAAI,SAAUtF,GAC3B,MAAO,CACH8D,KAAM9D,EAAE4B,MACRzB,MAAOH,EAAE4B,MACTiD,SAAS,OAIlBvC,GACC/B,EAAKgG,oBAEb,MAAOtF,GACH5E,EAAK,QAAS,yBACdS,EAAO,wBAAyBmE,EAAMlE,QAASkE,EAAMC,MAAO,YAG/DF,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,wBAAyBmE,EAAMlE,QAASkE,EAAMC,MAAO,sJAIvDgG,EAAWC,GACxB,IAAIC,EAA8B,QAAdF,GAAuBC,EACvCE,EAAgC,QAAdH,IAAwBC,EACxCtC,EAAUsC,EAEVnB,EAAY1H,KAAKQ,MAAMkH,UAAUV,IAAI,SAACO,EAAML,GAC9C,OAAI4B,GAAgBvB,EAAK1F,QAAU+G,EACxB9I,OAAOkJ,OAAO,GAAIzB,EAAM,CAC3BhB,YAEGwC,EACAjJ,OAAOkJ,OAAO,GAAIzB,EAAM,CAC3BhB,SAAS,IAGVgB,IAEPE,GAA4E,IAA3DC,EAAUuB,UAAU,SAACV,GAAD,OAA2B,IAAjBA,EAAKhC,WAA8BuC,EAClFlB,EAAQF,EAAUwB,OAAO,SAACX,GAAD,OAA2B,IAAjBA,EAAKhC,UAC5CvG,KAAK2B,SAAS,CACV+F,YACAD,gBACAG,sDAKJ,IAAI3F,EAAOjC,KACP2I,EAAa3I,KAAKR,MAAMuB,SAASP,MACrCyB,EAAKzB,MAAME,QAAQ2B,OAAO,qBAAsBsG,EAAW7E,cACtDxB,KAAK,SAAUC,GACZ9C,QAAQC,IAAI6C,GACZ,IAAIU,EAAO,GACXhB,EAAKzB,MAAMkH,UAAUV,IAAI,SAAUtF,GAC/Ba,EAASyE,IAAI,SAAUmC,GACfzH,EAAE8D,KAAK3C,QAAUsG,EAAExB,MAAM9E,QACzBI,EAAKS,KAAK,CACN8B,KAAM9D,EAAE8D,KACR3D,MAAOH,EAAEG,MACT0E,QAAS7E,EAAE6E,QACXa,MAAO+B,EAAEC,YAKzBnH,EAAKN,SAAS,CACV+F,UAAWzE,IAEfxD,QAAQC,IAAIuC,EAAKzB,MAAMkH,aAE1BhF,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,kCAAmCmE,EAAMlE,QAASkE,EAAMC,MAAO,sDAK9E,IAAIX,EAAOjC,KACX,IACIiC,EAAKzB,MAAME,QAAQ2I,GAAG,mBAAoB,SAAU5K,GAChDwD,EAAKgG,sBAEX,MAAOtF,GACL5E,EAAK,QAAS,yBACdS,EAAO,kCAAmCmE,EAAMlE,QAASkE,EAAMC,MAAO,2CAIrE,IAAA0G,EAAAtJ,KACD2I,EAAa3I,KAAKR,MAAMuB,SAASP,MACrC,YAAkBzB,GAAd4J,EACO,KAGPxM,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAA,cACIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oBACXb,EAAAC,EAAAC,cAACoJ,EAAD,CAAQxC,KAAM0F,EAAYY,SAAS,IACnCpN,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iBACXb,EAAAC,EAAAC,cAAA,SAAOS,GAAG,iBAAiBwH,UAAW,IAAK7G,KAAK,OAAO+H,KAAK,GAAGgE,IAAK,SAACC,GAAYH,EAAKb,UAAYgB,GAAUzM,UAAU,gBAAgBuH,SAAUvE,KAAK+H,eAAgBlG,MAAO7B,KAAKQ,MAAMqH,cAAenK,YAAY,uBAI9NvB,EAAAC,EAAAC,cAAA,YACIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iBACXb,EAAAC,EAAAC,cAACqN,EAAD,CACIhC,UAAW1H,KAAKQ,MAAMkH,UACtBD,cAAezH,KAAKQ,MAAMiH,cAC1BnB,QAAStG,KAAK2J,iBAAiB1I,KAAKjB,QAExC7D,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iCACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iCACXb,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQX,UAAU,cAAcY,QAAQ,UAAU4G,QAASxE,KAAKmB,aAAhE,gBAKhBhF,EAAAC,EAAAC,cAAA,uBAzPIwB,IAAMC,WAgQX2G,cAAWkD,oDCpQLiC,eACnB,SAAAA,EAAYpK,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA4J,IACjB/J,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA8J,GAAAzJ,KAAAH,KAAMR,KACDqK,WAAahK,EAAKgK,WAAW5I,KAAhBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAFDA,wEAMjBG,KAAK2B,SAAS,CAAEmI,UAAW9J,KAAKQ,MAAMsJ,8CAG7BzJ,EAAO6G,EAAO6C,EAAkBvK,EAAO+H,GAAM,IAC/CyC,EAAwF3J,EAAxF2J,QAASC,EAA+E5J,EAA/E4J,SAAUC,EAAqE7J,EAArE6J,WAAYC,EAAyD9J,EAAzD8J,SAAUC,EAA+C/J,EAA/C+J,QAASC,EAAsChK,EAAtCgK,cAAeC,EAAuBjK,EAAvBiK,KAAMC,EAAiBlK,EAAjBkK,GAAIC,EAAanK,EAAbmK,UAC3EhG,EAAyEhF,EAAzEgF,QAASiG,EAAgEjL,EAAhEiL,UAAWC,EAAqDlL,EAArDkL,UAAW1G,EAA0CxE,EAA1CwE,uBAAwB2G,EAAkBnL,EAAlBmL,eAC9D,OAAOxO,EAAAC,EAAAC,cAACuO,GAAAxO,EAAKyO,KAAN,CAAW1D,IAAKD,GACR,SAAZ8C,GAAsB7N,EAAAC,EAAAC,cAACoK,EAAA,EAAD,CAAiBzJ,UAAU,UAAU0J,KAAMoE,MACrD,UAAZd,GAAoC,SAAbC,GAAuB9N,EAAAC,EAAAC,cAACoK,EAAA,EAAD,CAAiBzJ,UAAU,WAAW0J,KAAMqE,MAFtF,IAEoGb,EAC1F,MAAZC,EACmB,GAApBJ,EACE5N,EAAAC,EAAAC,cAAA,SAAOW,UAAU,iCACfb,EAAAC,EAAAC,cAAC2O,GAAA5O,EAAD,CAAQ6O,OAAO,KAAKC,OAAO,QAAQf,IAGrChO,EAAAC,EAAAC,cAAA,SAAOW,UAAU,kCACfb,EAAAC,EAAAC,cAAC2O,GAAA5O,EAAD,CAAQ6O,OAAO,KAAKC,OAAO,QAAQf,IAGvC,GAEc,SAAZC,GAAyC,KAAlBC,GAAiC,IAATC,EAAenO,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQkE,MAAOqF,EAAOtJ,QAAQ,UAAUZ,UAAU,cAAcmO,KAAK,KAAK3G,QAAS,kBAAMA,EAAQ+F,EAAIhD,GAAM,EAAM,OAAO6D,SAAUX,GAAazG,GAA0B2G,EAAkB,QAAU,WAErQ,GAEc,SAAZP,GAAyC,KAAlBC,GAAiC,IAATC,EAEjD,GAFgEnO,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQkE,MAAOqF,EAAOtJ,QAAQ,UAAUZ,UAAU,cAAcmO,KAAK,KAAK3G,QAAS,kBAAMkG,GAAU,EAAMH,EAAIhD,EAAyB,KAAlB8C,GAAsC,KAAdG,IAAmCY,SAAUX,GAAzL,0CASpE,IAAIY,EACApJ,EAAOjC,KACPsL,EAAS,GACP/D,EAAOtF,EAAKzC,MAAM+H,KAClB/H,EAAQyC,EAAKzC,MACbuK,EAAmBvK,EAAMuK,iBAoC/B,OAnCoB,MAAhBvK,EAAM8L,cACoBvM,IAAxBS,EAAM8L,OAAOxM,OACfwM,EAAO5H,KAAKlE,EAAM8L,QAGlBA,EAAS9L,EAAM8L,QAIjBD,EADEC,EAAOxM,OAAS,EACLwM,EAAOtE,IAAI,SAAU3G,EAAO6G,GACvC,OACmB,OAAjB7G,EAAMkL,OACJpP,EAAAC,EAAAC,cAACuO,GAAAxO,EAAD,CAAM+K,IAAKD,EAAOlK,UAAU,6BACzBiF,EAAK4H,WAAWxJ,EAAO6G,EAAO6C,EAAkBvK,EAAO+H,IAG1DpL,EAAAC,EAAAC,cAACuO,GAAAxO,EAAD,CAAM+K,IAAKD,EAAOlK,UAAU,6BACzBiF,EAAK4H,WAAWxJ,EAAO6G,EAAO6C,EAAkBvK,EAAO+H,GAEtDpL,EAAAC,EAAAC,cAAA,OAAKW,UAAU,kBAEXqD,EAAMkL,OAAOvE,IAAI,SAAUsE,EAAQpE,GACjC,OAAOjF,EAAK4H,WAAWyB,EAAQpE,EAAO6C,EAAkBvK,EAAO+H,SAUlEpL,EAAAC,EAAAC,cAAA,YAIbF,EAAAC,EAAAC,cAAA,WACGgP,UApFiCxN,IAAMC,WCA3B0N,eACjB,SAAAA,EAAYhM,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAwL,IACf3L,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA0L,GAAArL,KAAAH,KAAMR,KAEDiM,OAAS5L,EAAK4L,OAAOxK,KAAZnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACdA,EAAKW,MAAQ,CAAEsJ,UAAU,GAJVjK,wEAQfG,KAAK2B,SAAS,CAAEmI,UAAW9J,KAAKQ,MAAMsJ,4CAItC,IADK4B,EACM1L,KACmBR,MAAM+I,KAA5BoD,EAFHD,EAEGC,KAAMJ,EAFTG,EAESH,OAFTK,EACM5L,KAE+FR,MAArGqM,EAHAD,EAGAC,aAAcpB,EAHdmB,EAGcnB,UAAWV,EAHzB6B,EAGyB7B,iBAAkBW,EAH3CkB,EAG2ClB,UAAW1G,EAHtD4H,EAGsD5H,uBAAwB2G,EAH9EiB,EAG8EjB,eACnF,MAAc,KAATgB,GAAwB,eAATA,GAA4C,IAAlBJ,EAAOzM,OAIjD3C,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAACuO,GAAAxO,EAAD,KACID,EAAAC,EAAAC,cAACuO,GAAAxO,EAAKsI,OAAN,CAAaF,QATdxE,KAS4ByL,OACvBK,gBAVL9L,KAUyBQ,MAAMsJ,UAE1B3N,EAAAC,EAAAC,cAACoK,EAAA,EAAD,CAAiBzJ,UAAU,gBAAgB0J,KAAiB,MAAV6E,IAAkBA,EAAOzM,OAAS,GAZzFkB,KAYkGQ,MAAMsJ,UAA6BiC,IAAeC,MAHnJ,SAG6KjN,IAAT4M,EAAqB,GAAe,KAATA,EAAc,aAAeA,GAE5NxP,EAAAC,EAAAC,cAAC4P,EAAA,EAAD,CAAUC,OAAkB,MAAVX,IAAkBA,EAAOzM,OAAS,GAdrDkB,KAc8DQ,MAAMsJ,WAC/D3N,EAAAC,EAAAC,cAACuO,GAAAxO,EAAK+P,KAAN,KACIhQ,EAAAC,EAAAC,cAAC+P,GAAD,CACId,OAAQC,EACR/G,QAASqH,EACTpB,UAAWA,EACXV,iBAAkBA,EAClBW,UAAWA,EACXnD,UAAexI,IAAT4M,EAAqB,GAAKA,EAChC3H,uBAAwBA,EACxB2G,eAAgBA,QApB7B,YAjB4B9M,IAAMC,+BCLtC,SAASuO,GAAO7L,GAEd,QAATA,GACA8L,KAAE,WAAW/N,OACb+N,KAAE,gBAAgB/N,OAClB+N,KAAE,QAAQC,SAAS,mBAEnBC,WAAW,WACTF,KAAE,WAAWG,OACbH,KAAE,gBAAgBG,OAClBH,KAAE,QAAQI,YAAY,mBACrB,uBCPUC,eACjB,SAAAA,EAAYnN,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA2M,IACf9M,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA6M,GAAAxM,KAAAH,KAAMR,KA2BVoN,aAAe,SAACC,GACZ,IAAI5K,EAAInC,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,IADYqC,EAE6CD,EAAKzB,MAA/DE,EAFawB,EAEbxB,QAASoM,EAFI5K,EAEJ4K,QAAShJ,EAFL5B,EAEK4B,aAAcyD,EAFnBrF,EAEmBqF,KAAMzK,EAFzBoF,EAEyBpF,GAAIiQ,EAF7B7K,EAE6B6K,aAEjDV,GAAO,QACP3L,EAAQ2B,OAAO,+BACXyK,EACAhJ,EACA+I,EACAtF,EACAzK,EACAiQ,GAECzK,KAAK,WACFL,EAAK+K,YACLX,GAAO,UAEV3J,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,6DAA8DmE,EAAMlE,QAASkE,EAAMC,MAAO,YA7CzG/C,EAAKW,MAAQ,CACTE,QAASlB,EAAMmB,IACfmM,QAAStN,EAAMsN,QACfhJ,aAActE,EAAMsE,aACpBF,MAAO,GACPqJ,UAAW,GACXC,SAAU,GACV/P,MAAOqC,EAAMrC,MACbL,GAAI0C,EAAM1C,GACVyK,KAAK/H,EAAM+H,KACXwF,aAAcvN,EAAMuN,cAExBlN,EAAKmN,UAAYnN,EAAKmN,UAAU/L,KAAfnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACjBA,EAAKsN,gBAAkBtN,EAAKsN,gBAAgBlM,KAArBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAfRA,mFCLhB,IAA0B1C,EAAO6P,EAAP7P,EDwBR6C,KAAKQ,MAAMrD,MCxBI6P,EDwBGhN,KAAKgN,UCvB9CV,KAAE,iBAAiBC,SAAS,gBAC5BD,KAAE,iBAAiBtO,KAAKb,GACxBmP,KAAE,iBAAiBjD,GAAG,QAAS,WAC7B2D,MAEFV,KAAE,gBAAgBjD,GAAG,QAAS,WAC5B2D,MDkBIhN,KAAKmN,sDCbXb,KAAE,iBAAiBI,YAAY,gBDkBzB1M,KAAKR,MAAMwN,WAAU,6CA2BrB,IAAM/K,EAAOjC,KACbqM,GAAO,QACPpK,EAAKzB,MAAME,QAAQ2B,OAAO,kBACtBJ,EAAKzB,MAAMsM,QACX7K,EAAKzB,MAAMsD,cAEVxB,KAAK,SAAUC,GACZN,EAAKN,SAAS,CACVuL,SAAU3K,GACX,WACkBrD,OAAXoM,OAED8B,KAAK,iBAAZtN,OAAAuN,GAAA,EAAAvN,CAAA,GACKZ,OAAOoO,uBADZ,CAEEC,SAAU,SAACC,GAAD,OAAYvL,EAAK2K,aAAaY,IACxCC,MAAO,CAAExK,KAAMV,QAGnB8J,GAAO,UAEV3J,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,+CAAgDmE,EAAMlE,QAASkE,EAAMC,0CAKpF,OAAO,YAhFsB/E,IAAMC,WEIrC4P,GAAaC,EAAQ,KACrBC,GAAcD,EAAQ,KAAUC,YAEhCC,eAEJ,SAAAA,EAAYrO,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA6N,IACjBhO,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA+N,GAAA1N,KAAAH,KAAMR,KAkCRsO,gBAAkB,WAChB,IAAM7L,EAAInC,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,IADYwI,EAEkDpG,EAAKzC,MAAMuB,SAASP,MAAtFoD,EAFgByE,EAEhBzE,MAAOiE,EAFSQ,EAETR,cAAeD,EAFNS,EAEMT,MAAOE,EAFbO,EAEaP,SAAU9D,EAFvBqE,EAEuBrE,uBACvC+J,EAAgBnG,EAAMoG,MAAM,KAC5BC,EAAYnG,EAASoB,OAAO,SAAAX,GAAI,OAAKwF,EAAc/L,SAASuG,EAAK1G,SACvEI,EAAKzB,MAAME,QAAQ2B,OAAO,kBACxBuB,EACAiE,EACAD,EACA5D,GAA0BiK,EAAUnP,OAASmP,EAAUjH,IAAI,SAAAuB,GAAI,OAAIA,EAAK1G,QAAO2G,OAAS,KACxFxE,GAA0BiK,EAAUnP,OAAS,WAAa,MACzDwD,KAAK,cAELI,MAAM,SAAUC,GACf5E,EAAK,QAAS,yBACdS,EAAO,iCAAkCmE,EAAMlE,QAASkE,EAAMC,MAAO,eAlDxD/C,EAsDnBqO,SAAW,WACT,IAAMjM,EAAInC,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,IADKsO,EAEgDlM,EAAKzC,MAAMuB,SAASP,MAA3EoD,EAFOuK,EAEPvK,MAAO9G,EAFAqR,EAEArR,GAAI8K,EAFJuG,EAEIvG,MAAO5D,EAFXmK,EAEWnK,uBAAwB8D,EAFnCqG,EAEmCrG,SAClD7F,EAAKzB,MAAME,QAAQ2B,OAAO,WACxBuB,EACA9G,EACAkH,EAAyB8D,EAASd,IAAI,SAAAuB,GAAI,OAAIA,EAAK1G,QAAO2G,OAASZ,GAElEtF,KAAK,SAAUC,GAEd,IAAIQ,EAASP,KAAK1B,MAAMyB,GACxB,GAAyB,OAArBQ,EAAON,YAAyC,IAAlBM,EAAOC,QAAe,CACtD,IAAIoL,EAAY5L,KAAK1B,MAAMiC,EAAOC,SAC1B2E,EAA+CyG,EAA/CzG,MAAO4D,EAAwC6C,EAAxC7C,OAAQ8C,EAAgCD,EAAhCC,YAAaC,EAAmBF,EAAnBE,eAChCC,EAAiB,GACjBvK,IACFuK,EAAiBtM,EAAKuM,qBAAqB5G,EAAOD,GAAO,IAE3D,IAAM8G,OAAyB1P,GAAT4I,EAAqB4D,EAASgD,EAAezP,OAASyP,EAAiB5G,EAC7F1F,EAAKN,SAAS,CACZ8M,gBACAC,eAAgBD,EAChBE,iBAA4B5P,GAAfsP,EAA2B,QAAUA,EAClDO,WAAW,EACX7E,iBAAkBuE,IAEpBrM,EAAKb,eACLa,EAAK4M,mBAGL5M,EAAKN,SAAS,CACZiN,WAAW,IAEb3M,EAAKb,eACLa,EAAK4M,gBAGRnM,MAAM,SAAUC,GACf5E,EAAK,QAAS,yBACdS,EAAO,uBAAwBmE,EAAMlE,QAASkE,EAAMC,MAAO,YA7F9C/C,EAiGnB2O,qBAAuB,SAACM,EAAWnH,EAAOoH,GACxC,IAAMhB,EAAgBe,EAAUd,MAAM,KAChCgB,EAAarH,EAAMuB,OAAO,SAAAX,GAAI,MAAkB,KAAdA,EAAKoD,OAAgBoC,EAAc/L,SAASuG,EAAKoD,QACzF,GAAIqD,EAAWlQ,QAAUiQ,EAAsB,CAC7C,IAAIE,EAAY,GAChBD,EAAWE,QAAQ,SAAAC,GACjB,IAAM7D,EAAS6D,EAAQ5D,OACnBD,EAAOxM,QACTwM,EAAO4D,QAAQ,SAAA7O,GACS,SAAlBA,EAAM4J,UAAwC,QAAjB5J,EAAM2J,SAAsC,QAAjB3J,EAAM+J,UAChE/J,EAAMsL,KAAOwD,EAAQxD,KACrBsD,EAAUvL,KAAKrD,QAIvBZ,QAAQC,IAAI,YAAauP,GACrBA,EAAUnQ,SACZsQ,aAAavP,EAAKzB,SAClByB,EAAKzB,QAAUoO,WAAW,WAAQ3M,EAAKkP,qBAAqBE,IAAc,OAK9E,OAFAxP,QAAQC,IAAI,gBAAiBiI,GAC7BlI,QAAQC,IAAI,aAAcsP,GACnBrH,GAxHU9H,EA2HnBwP,eAAiB,WACf,IAAMpN,EAAInC,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,IACJ8I,EAAa1G,EAAKzC,MAAMuB,SAASP,MACnC8O,GAAS,EACbrN,EAAKzB,MAAME,QAAQ2I,GAAG,iBAAkB,SAAU5K,GAChD,GAAIA,EAAQ4E,WAAa5E,EAAQ+E,SAAW8L,IAAWrN,EAAKzC,MAAM+P,UAAW,CAC3ED,GAAS,EAETrN,EAAKzC,MAAM+B,QAAQmC,KAAK,CACtBC,SAFS,aAGTnD,MAAO,CACLoD,MAAO+E,EAAW/E,MAClBzG,MAAOwL,EAAWxL,MAClB0G,UAAW8E,EAAW9E,iBAxIbhE,EA+InB2P,aAAe,SAAC/Q,GACd,IAAMwD,EAAInC,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,IADgB4P,EAE0BxN,EAAKzC,MAAMuB,SAASP,MAAhEoH,EAFkB6H,EAElB7H,MAAO5D,EAFWyL,EAEXzL,uBAAwB8D,EAFb2H,EAEa3H,SACvC7F,EAAKzB,MAAME,QAAQ2B,OAAO,gBACxB5D,EAAQ8E,aACRS,EAAyB8D,EAASd,IAAI,SAAAuB,GAAI,OAAIA,EAAK1G,QAAO2G,OAASZ,GAElEtF,KAAK,SAAUC,GACd,IAAIQ,EAASP,KAAK1B,MAAMyB,GAChBoF,EAA+C5E,EAA/C4E,MAAO4D,EAAwCxI,EAAxCwI,OAAQ8C,EAAgCtL,EAAhCsL,YAAaC,EAAmBvL,EAAnBuL,eAChCC,EAAiB,GACjBvK,IACFuK,EAAiBtM,EAAKuM,qBAAqB5G,EAAOD,GAAO,IAE3D,IAAM8G,OAAyB1P,GAAT4I,EAAqB4D,EAASgD,EAAezP,OAASyP,EAAiB5G,EAC7F1F,EAAKN,SAAS,CACZ8M,gBACAC,eAAgBD,EAChBE,YAAaN,EACb5D,WAAW,EACXV,iBAAkBuE,IAEpBrM,EAAKb,eACLa,EAAK4M,cACLxC,GAAO,UAER3J,MAAM,SAAUC,GACf5E,EAAK,QAAS,yBACdS,EAAO,8BAA+BmE,EAAMlE,QAASkE,EAAMC,MAAO,YA3KrD/C,EA+KnB6P,cAAgB,WACd,IAAMzN,EAAInC,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,IACVoC,EAAKzB,MAAME,QAAQ2I,GAAG,gBAAiB,SAAU5K,GAC/C4N,GAAO,QACoB,MAAvB5N,EAAQkR,aAAwB1N,EAAK2N,SAASnR,EAAQkR,cACxD1N,EAAK4N,sBAAsBpR,EAAQkR,aACrC1N,EAAKuN,aAAa/Q,MArLHoB,EAyLnB+P,SAAW,SAAC/C,GACV,IAAIiD,GAAU,EAKd,OAJAlC,GAAYf,EAAK,SAAUkD,EAAKhN,GACzBA,EAAOiN,gBAAgBrN,QAC1BmN,GAAU,KAEPA,GA/LUjQ,EAkMnBgQ,sBAAwB,SAAChD,GACvB,GAAW,MAAPA,EAAa,CACf,IAAIoD,EAAS,sBACbrC,GAAYf,EAAK,SAAUkD,EAAKhN,GAC9BA,EAAOiN,gBAAgBrN,MAAMqE,IAAI,SAAUkJ,EAAGC,GAC5CF,GAAUvC,GAAW0C,WAAWF,EAAEG,GAAK,YAEzCtS,EAAK,QAASkS,UAIhBlS,EAAK,QAAS,gEA7MC8B,EAgNnByQ,oBAAsB,WACpB,IAAMrO,EAAInC,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,IACVoC,EAAKzB,MAAME,QAAQ2I,GAAG,sBAAuB,SAAU5K,GACrD4N,GAAO,QACPpK,EAAKsO,aAAY,GACjBtO,EAAKuN,aAAa/Q,MArNHoB,EA8NnBkP,qBAAuB,SAACC,GACtBI,aAAavP,EAAKzB,SAClB,IACMmK,EAAOyG,EADCnP,EAAK2Q,aAAaxB,EAAWlQ,OAAS,IAEpD,GAAIyJ,EAAM,CACR,IAAMlI,EAAQkI,EACd1I,EAAKgM,aAAaxL,EAAMkK,GAAIlK,EAAMsL,MAAM,EAAM,cApO/B9L,EAiQnBuB,aAAe,WACbvB,EAAKL,MAAM+E,SAAS1E,EAAKW,MAAMmO,YAAa9O,EAAKW,MAAMoO,YAlQtC/O,EA8RnB4Q,YAAc,SAAC/F,EAAWoC,EAASvF,EAAMwF,GACvClN,EAAK8B,SAAS,CACZ+O,YAAahG,EACboC,QAASA,EACT6D,UAAWpJ,EACXwF,kBAnSelN,EAuSnB0Q,YAAc,SAACK,GACb/Q,EAAK8B,SAAS,CACZ+O,YAAaE,KAvSf/Q,EAAKW,MAAQ,CACXiO,cAAe,GACfE,YAAa,QACbjO,QAASlB,EAAMmB,IACfiO,WAAW,EACXlH,UAAW,GACXgH,eAAgB,GAChBjE,WAAW,EACXV,kBAAkB,EAClB2G,aAAa,EACb5D,QAAS,GACT6D,UAAW,GACX5D,cAAc,GAEhBlN,EAAKgM,aAAehM,EAAKgM,aAAa5K,KAAlBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAhBHA,oFAoBjBG,KAAKR,MAAMqR,MAAM7Q,MACjBA,KAAK8N,kBACL9N,KAAKkO,uDAILlO,KAAK0P,gBACL1P,KAAKsQ,sBACLtQ,KAAKqP,gEAILD,aAAapP,KAAK5B,8CA0LP0S,GACX,OAAOC,KAAKC,MAAMD,KAAKE,SAAWH,wCAavBjP,EAAO0F,EAAMkD,EAAWyG,GACnC,IAD6CC,EAChCnR,KACgCR,MAAMuB,SAASP,MAApDoD,EAFqCuN,EAErCvN,MAAOG,EAF8BoN,EAE9BpN,OAAQD,EAFsBqN,EAEtBrN,aACvBuI,GAAO,QAFMrM,KAGR2B,SAAS,CACZ8I,UAAWA,IAJAzK,KAMRQ,MAAME,QAAQ2B,OAAO,eACxBuB,EACA/B,EACA0F,EACAxD,EACAD,EACAF,EACAsN,GAEC5O,KAAK,WACJ+J,GAAO,UAER3J,MAAM,SAAUC,GACf5E,EAAK,QAAS,yBACdS,EAAO,6CAA8CmE,EAAMlE,QAASkE,EAAMC,MAAO,iDASrF5C,KAAK2B,SAAS,CACZ8M,cAAezO,KAAKQ,MAAMkO,iBAE5B,IAAIhH,EAAY1H,KAAKR,MAAM0J,OAC3B,GAAwB,GAApBxB,EAAU5I,QAAekB,KAAKQ,MAAMkO,eAAe5P,QAAU4I,EAAU5I,OAAQ,CAEjF,IADA,IAAIsS,EAAc,GACTlB,EAAI,EAAGA,EAAIxI,EAAU5I,OAAQoR,IAAK,CACzC,IAAImB,EAAMrR,KAAKQ,MAAMiO,cAAcvF,OAAO,SAACX,GAAD,OAAUA,EAAKoD,MAAQjE,EAAUwI,GAAG1K,OAC9E,GAAW,MAAP6L,EACF,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAIvS,OAAQwS,IAC9BF,EAAY1N,KACV,CACEiI,KAAM0F,EAAIC,GAAG3F,KAAMJ,OAAQ8F,EAAIC,GAAG/F,SAM5CvL,KAAK2B,SAAS,CACZ8M,cAAe2C,sCAoBZ,IAAA9H,EAAAtJ,KAAAuR,EAC0GvR,KAAKQ,MAA9GiO,EADD8C,EACC9C,cAAehE,EADhB8G,EACgB9G,UAAWV,EAD3BwH,EAC2BxH,iBAAkB6E,EAD7C2C,EAC6C3C,UAAW8B,EADxDa,EACwDb,YAAa5D,EADrEyE,EACqEzE,QAAS6D,EAD9EY,EAC8EZ,UAAW5D,EADzFwE,EACyFxE,aADzFyE,EAE+DxR,KAAKR,MAAMuB,SAASP,MAArFsD,EAFE0N,EAEF1N,aAAc3G,EAFZqU,EAEYrU,MAAOyG,EAFnB4N,EAEmB5N,MAAOI,EAF1BwN,EAE0BxN,uBAAwB0D,EAFlD8J,EAEkD9J,UACrD+J,EAAoBhD,EAAczH,IAAI,SAACuB,EAAMrB,GAAP,OACxB,MAAfqB,EAAKgD,OACJpP,EAAAC,EAAAC,cAACqV,GAAD,CACEvK,IAAKD,EAAOqB,UAAmBxJ,GAAbwJ,EAAKoD,KAAoB,CAAEJ,OAAQhD,GAASA,EAC9DsD,aAAcvC,EAAKuC,aACnBpB,UAAWA,EACXV,iBAAkBA,EAClBW,UAAWpB,EAAKmH,YAChBzM,uBAAwBA,EACxB2G,eAAgBjD,EAAUiK,KAAK,SAASxB,GACtC,OAAOA,EAAG3K,OAAS+C,EAAKoD,SAI5B,KAEJ,OAAIiD,EAEAzS,EAAAC,EAAAC,cAAC4P,EAAA,EAAD,CAAWjP,UAAU,QAClB0T,EAAcvU,EAAAC,EAAAC,cAACuV,GAAD,CACbrN,SAAUmM,EACV1D,UAAWhN,KAAKuQ,YAChB5P,IAAKX,KAAKR,MAAMmB,IAChBmM,QAASA,EACThJ,aAAcA,EACd3G,MAAOA,EACPoK,KAAMoJ,EACN7T,GAAI8G,EACJmJ,aAAcA,IACX,KACJ0E,GAMHtV,EAAAC,EAAAC,cAAA,OAAKW,UAAU,yCAAf,uDAtVmBa,IAAMC,WA6VlB2G,eAAWoJ,cClWLgE,eACjB,SAAAA,EAAYrS,EAAOsS,GAAS,IAAAjS,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAA6R,IACxBhS,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA+R,GAAA1R,KAAAH,KAAMR,EAAOsS,KACRtR,MAAQ,CACToH,MAAO,GACPF,UAAW,GACXqK,eAAgB,GAChBtK,eAAe,EACf/G,QAASlB,EAAMmB,IACfuI,QAAQ,GAEZrJ,EAAKmN,UAAYnN,EAAKmN,UAAU/L,KAAfnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACjBA,EAAKmS,WAAanS,EAAKmS,WAAW/Q,KAAhBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAClBA,EAAKgP,YAAchP,EAAKgP,YAAY5N,KAAjBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACnBA,EAAKoI,kBAAoBpI,EAAKoI,kBAAkBhH,KAAvBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACzBA,EAAKoS,aAAepS,EAAKoS,aAAahR,KAAlBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAdIA,2EAkBxBG,KAAKR,MAAM0S,gBAAe,wCAI1B,IAAIjQ,EAAOjC,KAIX,IAHKiC,EAAKzB,MAAMkH,UAAU5I,QAAUmD,EAAKzB,MAAMoH,MAAM9I,SAAWmD,EAAKzB,MAAM0I,QAA+C,GAApCjH,EAAKzB,MAAMuR,eAAejT,SAC5GmD,EAAK0H,iBAAiB,OAAO,GAEO,GAApC1H,EAAKzB,MAAMuR,eAAejT,QAAemD,EAAKzB,MAAMkH,UAAU5I,QAAUmD,EAAKzB,MAAMuR,eAAejT,OAAQ,CAC1GmD,EAAKzB,MAAMkH,UAAUV,IAAI,SAAUuB,GAC/BA,EAAKhC,SAAU,IAEnB,IAAK,IAAI2J,EAAI,EAAGA,EAAIjO,EAAKzB,MAAMuR,eAAejT,OAAQoR,IAClDjO,EAAKzB,MAAMkH,UAAUV,IAAI,SAAUuB,GAC3BA,EAAK/C,MAAQvD,EAAKzB,MAAMuR,eAAe7B,GAAG1K,OAC1C+C,EAAKhC,SAAU,KAI3BtE,EAAKzB,MAAMkH,UAAUV,IAAI,SAAUuB,GAC/BtG,EAAK0H,iBAAiBpB,EAAK/C,KAAM+C,EAAKhC,WAE1CtE,EAAKN,SAAS,CACViG,MAAO3F,EAAKzB,MAAMuR,8DAM1B/R,KAAKiS,sDAKL,IADajS,KAEJ2B,SAAS,CACV+F,UAAW1H,KAAKR,MAAMkI,UAAUV,IAAI,SAAUtF,GAC1C,MAAO,CACH8D,KAAM9D,EAAE8D,KACR3D,MAAOH,EAAE8D,KACTe,SAAS,OAPZvG,KAWJiI,oBAET,MAAOtF,GACH5E,EAAK,QAAS,yBACdS,EAAO,4BAA6BmE,EAAMlE,QAASkE,EAAMC,MAAO,sDAKpE,IAAIX,EAAOjC,KACViC,EAAKzB,MAAME,QAAQ2B,OAAO,qBAAsBJ,EAAKzC,MAAMsE,cACvDxB,KAAK,SAAUC,GACZ9C,QAAQC,IAAI6C,GACZ,IAAIU,EAAO,GACXhB,EAAKzB,MAAMkH,UAAUV,IAAI,SAAUtF,GAC/Ba,EAASyE,IAAI,SAAUmC,GACfzH,EAAE8D,KAAK3C,QAAUsG,EAAExB,MAAM9E,QACzBI,EAAKS,KAAK,CACN8B,KAAM9D,EAAE8D,KACR3D,MAAOH,EAAEG,MACT0E,QAAS7E,EAAE6E,QACXa,MAAO+B,EAAEC,YAKzBnH,EAAKN,SAAS,CACV+F,UAAWzE,IAEfxD,QAAQC,IAAIuC,EAAKzB,MAAMkH,aAE1BhF,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,kCAAmCmE,EAAMlE,QAASkE,EAAMC,MAAO,iDAK9E5C,KAAK2B,SAAS,CACVoQ,eAAgB/R,KAAKQ,MAAMoH,MAC3BsB,QAAQ,IAERlJ,KAAKQ,MAAMkH,UAAU5I,QAAUkB,KAAKQ,MAAMoH,MAAM9I,QAChDkB,KAAK2B,SAAS,CACVuH,QAAQ,IAGhBlJ,KAAKR,MAAM0J,OAAOlJ,KAAKQ,MAAMoH,gDAGhBgB,EAAWC,GACxB,IAAIC,EAA8B,QAAdF,GAAuBC,EACvCE,EAAgC,QAAdH,IAAwBC,EACxCtC,EAAUsC,EAEVnB,EAAY1H,KAAKQ,MAAMkH,UAAUV,IAAI,SAACO,EAAML,GAC9C,OAAI4B,GAAgBvB,EAAK1F,QAAU+G,EACxB9I,OAAOkJ,OAAO,GAAIzB,EAAM,CAC3BhB,YAEGwC,EACAjJ,OAAOkJ,OAAO,GAAIzB,EAAM,CAC3BhB,SAAS,IAGVgB,IAEPE,GAA4E,IAA3DC,EAAUuB,UAAU,SAACV,GAAD,OAA2B,IAAjBA,EAAKhC,WAA8BuC,EACtFrB,EAAgD,GAA/BzH,KAAKQ,MAAMkH,UAAU5I,QAAuB2I,EAC7D,IAAIG,EAAQF,EAAUwB,OAAO,SAACX,GAAD,OAA2B,IAAjBA,EAAKhC,UAC5CvG,KAAK2B,SAAS,CACV+F,YACAD,gBACAG,2CAKJ,OACIzL,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAC8V,GAAA,EAAD,CACIhH,KAAK,KACL5M,KAAMyB,KAAKR,MAAM+E,SACjB6N,OAAQpS,KAAKR,MAAMwN,UACnBqF,UAAWrS,KACXsS,kBAAgB,yBAGhBnW,EAAAC,EAAAC,cAAC8V,GAAA,EAAMzN,OAAP,CAAc6N,aAAW,EAAC/N,QAASxE,KAAKgS,YACpC7V,EAAAC,EAAAC,cAAC8V,GAAA,EAAM7O,MAAP,CAAaxG,GAAG,yBAAhB,UAIJX,EAAAC,EAAAC,cAAC8V,GAAA,EAAMhG,KAAP,KACIhQ,EAAAC,EAAAC,cAAA,OAAKW,UAAU,mBAAf,0BACAb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oBACXb,EAAAC,EAAAC,cAACqN,EAAD,CACIhC,UAAW1H,KAAKQ,MAAMkH,UACtBD,cAAezH,KAAKQ,MAAMiH,cAC1BnB,QAAStG,KAAK2J,iBAAiB1I,KAAKjB,SAG5C7D,EAAAC,EAAAC,cAAA,OAAKW,UAAU,YACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,eACXb,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQX,UAAU,GAAGwH,QAASxE,KAAK6O,YAAajR,QAAQ,UAAUlB,KAAK,KAAvE,sBAvKcmB,IAAMC,WCK9CuB,GAAU,IAAIC,IAEdkT,eACF,SAAAA,EAAYhT,GAAO,IAAAK,EAAA,OAAAC,OAAAC,EAAA,EAAAD,CAAAE,KAAAwS,IACf3S,EAAAC,OAAAG,EAAA,EAAAH,CAAAE,KAAAF,OAAAI,EAAA,EAAAJ,CAAA0S,GAAArS,KAAAH,KAAMR,KAsCV4B,aAAe,SAACuN,EAAaC,GACL,UAAhBD,EACA9O,EAAK8B,SAAS,CACV3E,UAAW,mBACX2R,cACAC,cAIJ/O,EAAK8B,SAAS,CACV3E,UAAW,sBACX2R,cACAC,eAnDO/O,EAuGnBqS,eAAiB,SAACtB,GACd/Q,EAAK8B,SAAS,CACV+O,YAAaE,KAvGjB/Q,EAAKW,MAAQ,CACTiS,cAAe,GACf7K,MAAO,GACP5K,UAAW,GACX2R,YAAa,GACbjO,QAASlB,EAAMmB,IACfiO,WAAW,EACX8B,aAAa,EACbhJ,UAAW,GACXgL,UAAU,EACVnD,WAAW,GAEf1P,EAAKsB,YAActB,EAAKsB,YAAYF,KAAjBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACnBA,EAAK8S,wBAA0B9S,EAAK8S,wBAAwB1R,KAA7BnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAC/BA,EAAKqS,eAAiBrS,EAAKqS,eAAejR,KAApBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACtBA,EAAK+S,kBAAoB/S,EAAK+S,kBAAkB3R,KAAvBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KACzBA,EAAKgT,WAAahT,EAAKgT,WAAW5R,KAAhBnB,OAAAoB,EAAA,EAAApB,QAAAoB,EAAA,EAAApB,CAAAD,KAlBHA,wFAsBsBd,GAArCiB,KAAKR,MAAM+B,QAAQR,SAASP,MAExBmE,EAAgB3E,KAAKR,OAErBQ,KAAKmI,4DAITnI,KAAKR,MAAM+B,QAAQC,iDAInBxB,KAAK8S,mBACL9S,KAAK+S,oBACL/S,KAAKgT,8DAqBL,IAAM/Q,EAAOjC,KADHqI,EAEmEpG,EAAKzC,MAAMuB,SAASP,MAA1FsD,EAFGuE,EAEHvE,aAAcF,EAFXyE,EAEWzE,MAAOzG,EAFlBkL,EAEkBlL,MAAO0G,EAFzBwE,EAEyBxE,UAAWjD,EAFpCyH,EAEoCzH,IAAKoD,EAFzCqE,EAEyCrE,uBACnD/B,EAAK4Q,YAAW,GAChB5Q,EAAKzB,MAAME,QAAQ2B,OAAO,sBAC1ByB,EACAF,EACAI,GACK1B,KAAK,SAAUC,GAEZN,EAAKzC,MAAM+B,QAAQmC,KAAK,CACpBC,SAFO,aAGPnD,MAAO,CACHoD,MAAOA,EACPzG,MAAOA,EACP0G,UAAWA,KAGnB5B,EAAKgR,UAAUrS,KAElB8B,MAAM,SAAUC,GACb5E,EAAK,QAAS,yBACdS,EAAO,qCAAsCmE,EAAMlE,QAASkE,EAAMC,MAAO,6CAI3EhC,GACN,IAAIsS,EAAc,GACdpR,EAASzC,GAAQ0C,IAAI,kBACXhD,GAAV+C,GACAA,EAAOkF,IAAI,SAAUmC,GACjB+J,EAAYxP,KAAK,GAAKyF,KAE1B+J,EAAYxP,KAAK,GAAK9C,IAGtBsS,EAAYxP,KAAK,GAAK9C,GAE1BvB,GAAQ8T,IAAI,YAAaD,EAAa,CAAE5K,KAAM,wDAI9CtI,KAAK2B,SAAS,CACV+O,aAAa,sFAUGhJ,mFACd1H,KAAK2B,SAAS,CAChB+F,YACAgJ,aAAa,WAEjB1Q,KAAKoT,MAAMvE,iRAIL5M,EAAOjC,cACPiC,EAAKzB,MAAME,QAAQ2I,GAAG,mBAAtB,eAAAlD,EAAArG,OAAAuT,EAAA,EAAAvT,CAAAwT,EAAAlX,EAAAmX,KAA0C,SAAAC,EAAgB/U,GAAhB,OAAA6U,EAAAlX,EAAAqX,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACtC3R,EAAKN,SAAS,CAChB+Q,UAAU,IAF8B,wBAAAgB,EAAAG,SAAAL,EAAAxT,SAA1C,gBAAA8T,GAAA,OAAA3N,EAAA4N,MAAA/T,KAAAnB,YAAA,uQAQAoD,EAAOjC,cACPiC,EAAKzB,MAAME,QAAQ2I,GAAG,oBAAtB,eAAA2K,EAAAlU,OAAAuT,EAAA,EAAAvT,CAAAwT,EAAAlX,EAAAmX,KAA2C,SAAAU,EAAgBxV,GAAhB,OAAA6U,EAAAlX,EAAAqX,KAAA,SAAAS,GAAA,cAAAA,EAAAP,KAAAO,EAAAN,MAAA,cAAAM,EAAAN,KAAA,EACvC3R,EAAKN,SAAS,CAChB+Q,UAAU,IAF+B,wBAAAwB,EAAAL,SAAAI,EAAAjU,SAA3C,gBAAAmU,GAAA,OAAAH,EAAAD,MAAA/T,KAAAnB,YAAA,sJAQNmB,KAAKQ,MAAME,QAAQ2I,GAAG,wBAAyB,SAAU5K,GACrDgB,QAAQC,IAAI,2BACZR,OAAO6B,SAASqT,8CAIb7E,GACPvP,KAAK2B,SAAS,CACV4N,UAAWA,qCAIV,IAAAjG,EAAAtJ,KACD2I,EAAa3I,KAAKR,MAAMuB,SAASP,MACrC,YAAkBzB,GAAd4J,EACO,KAGPxM,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAACgY,GAAD,CACI9P,SAAUvE,KAAKQ,MAAMkQ,YACrB1D,UAAWhN,KAAKkS,eAChBvR,IAAKX,KAAKR,MAAMmB,IAChB7D,GAAI6L,EAAW7L,GACf4K,UAAWiB,EAAWjB,UACtBwB,OAAQlJ,KAAK4S,kBACb9O,aAAc6E,EAAW7E,eAE7B3H,EAAAC,EAAAC,cAAA,cACIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oBACXb,EAAAC,EAAAC,cAACoJ,EAAD,CAAQxC,KAAM0F,EAAYY,SAAS,MAG3CpN,EAAAC,EAAAC,cAAA,YACIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iBAENgD,KAAKQ,MAAMoO,YAAc5O,KAAKQ,MAAMkS,SACjCvW,EAAAC,EAAAC,cAAA,WACIF,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oCACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,4BACXb,EAAAC,EAAAC,cAAA,QAAMW,UAAU,aAAhB,UAEJb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,gCACXb,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQ6G,QAASxE,KAAK2S,wBAAyBjW,KAAK,IAAIkB,QAAQ,UAAUuN,KAAK,MAA/E,oBAGRhP,EAAAC,EAAAC,cAAA,OAAKW,UAAU,yDACXb,EAAAC,EAAAC,cAAA,QAAMW,UAAU,oBAAhB,mBACAb,EAAAC,EAAAC,cAAA,QAAMW,UAAW,gBAAkBgD,KAAKQ,MAAMxD,cAGtD,GAGHgD,KAAKQ,MAAMkS,SAURvW,EAAAC,EAAAC,cAAA,OAAKW,UAAU,6BACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,yCAAf,6CAVJb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,6BACXb,EAAAC,EAAAC,cAACyN,GAAD,CACIvF,SAAUvE,KAAKoB,aACfT,IAAKX,KAAKQ,MAAME,QAChBwI,OAAQlJ,KAAKQ,MAAMkH,UACnBmJ,MAAO,SAAArH,GAAG,OAAKF,EAAK8J,MAAQ5J,GAC5B+F,UAAWvP,KAAKQ,MAAM+O,aAUjCvP,KAAKQ,MAAMoO,YAAc5O,KAAKQ,MAAMkS,SACjCvW,EAAAC,EAAAC,cAAA,OAAKW,UAAU,oCACXb,EAAAC,EAAAC,cAAA,OAAKW,UAAU,iCACXb,EAAAC,EAAAC,cAACsB,EAAA,EAAD,CAAQX,UAAU,eAAeiJ,MAAM,UAAUzB,QAAS,WAAYtF,OAAOoV,QAAQ,sFAAwFhL,EAAKnI,gBAAlL,UAGR,aAtNZtD,IAAMC,WA+NX2G,eAAW+N,UC5N1B+B,EAAQC,IAAIC,SAeGC,oLAbJ,IAAA7U,EAAAG,KACP,OACE7D,EAAAC,EAAAC,cAACsY,EAAA,EAAD,KACExY,EAAAC,EAAAC,cAACuY,EAAA,EAAD,CAAOC,OAAK,EAACvM,KAAK,IAAIwM,UAAW,kBAAM3Y,EAAAC,EAAAC,cAAC0Y,EAAD,CAAOpU,IAAKd,EAAKL,MAAMmB,SAC9DxE,EAAAC,EAAAC,cAACuY,EAAA,EAAD,CAAOtM,KAAK,UAAUwM,UAAW,kBAAM3Y,EAAAC,EAAAC,cAAC2Y,EAAD,CAAOrU,IAAKd,EAAKL,MAAMmB,SAC9DxE,EAAAC,EAAAC,cAACuY,EAAA,EAAD,CAAOtM,KAAK,cAAcwM,UAAW5Y,IACrCC,EAAAC,EAAAC,cAACuY,EAAA,EAAD,CAAOtM,KAAK,aAAawM,UAAW,kBAAM3Y,EAAAC,EAAAC,cAAC4Y,EAAD,CAAgBtU,IAAKd,EAAKL,MAAMmB,SAC1ExE,EAAAC,EAAAC,cAACuY,EAAA,EAAD,CAAOtM,KAAK,UAAUwM,UAAW,kBAAM3Y,EAAAC,EAAAC,cAAC6Y,GAAD,CAAOvU,IAAKd,EAAKL,MAAMmB,iBARpD7C,aClBlBoB,OAAOiW,OAAS7I,KAChBqB,EAAQ,KCUYyH,QACW,cAA7BlW,OAAO6B,SAASsU,UAEe,UAA7BnW,OAAO6B,SAASsU,UAEhBnW,OAAO6B,SAASsU,SAASC,MACvB,0EDTC,SAAqBC,GACxB,IAAMC,EAAalJ,KAAEmJ,cANzB,WACI,IAAI1U,EAAW7B,OAAO6B,UAAY,CAAC2U,KAAK,qBACxC,OAAOxW,OAAOyW,IAAI5U,EAAS2U,MAIQE,IAC7BlV,EAAU8U,EAAWK,eAAe,WAE1CnV,EAAQ2I,GAAG,sBAAuB,SAAU5K,GACxCS,OAAO6B,SAASqT,WAGpB1T,EAAQ2I,GAAG,mBAAoB,SAAU5K,MAGzCiC,EAAQ2I,GAAG,oBAAqB,SAAU5K,MAG1CiC,EAAQ2I,GAAG,gBAAiB,SAAU5K,GAClCgB,QAAQC,IAAI,oBACZR,OAAO6B,SAASqT,WAGpBoB,EAAWM,MAAM,kBAAMP,EAAS7U,KAC3BqV,KAAK,WAActW,QAAQC,IAAI,gCAAkC8V,EAAW1Y,MAC5EkZ,KAAK,WAAcvW,QAAQC,IAAI,uBErBxCuW,CAAY,SAACtV,GACTuV,IAASC,OACbha,EAAAC,EAAAC,cAAC+Z,GAAA,EAAD,KACAja,EAAAC,EAAAC,cAACga,GAAD,CAAK1V,IAAKA,KAEVU,SAASiV,eAAe,WDmHlB,kBAAmBC,WACrBA,UAAUC,cAAcC,MAAMnU,KAAK,SAAAoU,GACjCA,EAAaC,mCEnInBC,EAAAC,QAAiBC,EAAAC,EAAuB","file":"static/js/main.9cd4d63b.chunk.js","sourcesContent":["import React from 'react';\r\nimport {Nav, Navbar, NavDropdown, Form, FormControl, Button } from 'react-bootstrap';\r\n\r\n\r\nexport default class NavBarA extends React.Component {\r\n render(){\r\n return(\r\n
\r\n \r\n React-Bootstrap\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import Noty from 'noty';\r\n\r\nexport default function noty(type, text) {\r\n new Noty({\r\n type: type,\r\n layout: 'topRight',\r\n theme: 'bootstrap-v4',\r\n text: text,\r\n timeout: '2000',\r\n closeWith: ['click'],\r\n progressBar: false\r\n }).show();\r\n}","export default function Logger(message, status, details, severity = 'Error', errorType = \"ClientSide\", logLevel = 5) {\r\n window.logger.failed({message: message, status: status, details: details, severity, errorType, logLevel});\r\n}","import React, { Component } from 'react';\r\nimport img from '../images/logo.png';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Button } from 'react-bootstrap';\r\nimport noty from './Noty';\r\nimport Logger from './Logger';\r\nimport \"../../node_modules/noty/lib/noty.css\";\r\nimport \"../../node_modules/noty/lib/themes/bootstrap-v4.css\";\r\nimport Cookies from 'universal-cookie';\r\nimport queryString from 'query-string';\r\n\r\nconst cookies = new Cookies();\r\n\r\nfunction ErrorMsgBlock(props) {\r\n console.log(props)\r\n if (props.msgDisplay) {\r\n return (\r\n
\r\n Please Enter Correct PIN !\r\n
\r\n );\r\n } else {\r\n return
\r\n }\r\n}\r\n\r\nclass Login extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showErrorMsg: false,\r\n mainHub: props.hub,\r\n pin: '',\r\n queryString: queryString.parse(props.location.search)\r\n }\r\n this.proceed = this.proceed.bind(this);\r\n this.routeChange = this.routeChange.bind(this);\r\n this.handleKeyPress = this.handleKeyPress.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener(\"keydown\", this.handleKeyPress);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.history.goForward();\r\n document.removeEventListener(\"keydown\", this.handleKeyPress);\r\n }\r\n\r\n handleKeyPress = (event) => {\r\n if (event.which === 13) {\r\n this.proceed();\r\n }\r\n }\r\n\r\n handleChange(e) {\r\n this.setState({ pin: e.target.value });\r\n }\r\n\r\n checkCookies(pin) {\r\n let cookie = cookies.get('SimCookie');\r\n if (cookie == undefined || (cookie != undefined && !cookie.includes(pin))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n proceed() {\r\n var self = this;\r\n const { mainHub, queryString } = self.state;\r\n let pin = self.state.pin;\r\n if (this.checkCookies(pin)) {\r\n if (parseInt(pin) == pin && pin.length == 4) {\r\n mainHub.invoke('JoinSim', pin)\r\n .then(function (response) {\r\n const result = JSON.parse(response);\r\n if (result.StatusCode !== \"403\")\r\n self.routeChange(response);\r\n else\r\n noty('error', 'Simulation does not exist.')\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Join Simulation failed', error.message, error.stack, 'Error');\r\n });\r\n }\r\n else if (pin.trim().length == 0 && !queryString.code) {\r\n noty('error', 'Please enter PIN.')\r\n }\r\n else if(queryString.code != undefined){\r\n mainHub.invoke('InitSim', queryString.code)\r\n .then(function (response) {\r\n const result = JSON.parse(response);\r\n if (result.StatusCode !== \"403\"){\r\n self.routeChange(response);\r\n }\r\n else if (result.Message && result.Message != ''){\r\n noty('error', result.Message)\r\n }\r\n else{\r\n noty('error', 'Simulation does not exist.')\r\n }\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Join Simulation failed', error.message, error.stack, 'Error');\r\n });\r\n }\r\n else {\r\n noty('error', 'You entered an invalid PIN.')\r\n }\r\n }\r\n else {\r\n noty('error', 'You cannot join this simulation, you already left earlier.')\r\n }\r\n \r\n }\r\n\r\n routeChange(data) {\r\n const path = `roles`;\r\n const {PortalSimulationId, Token, CreatedBy, Title, SimulationId, UserId, Pin} = JSON.parse(data);\r\n this.props.history.push(\r\n {\r\n pathname: path,\r\n state: {\r\n id: PortalSimulationId,\r\n token: Token,\r\n createdBy: CreatedBy,\r\n title: Title,\r\n simulationID: SimulationId,\r\n userId: UserId,\r\n pin: Pin,\r\n isMultiSimulationAllow: this.state.queryString.code ? true : false\r\n }\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n const isDcrGraphId = this.state.queryString.code;\r\n const submitBtnCSS = isDcrGraphId ? \"btn BtnStyle form-control mt-5\" : \"btn BtnStyle form-control\"; \r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
DCR Solutions
\r\n
\r\n \r\n {!isDcrGraphId &&
\r\n \r\n
}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(Login);\r\n","import React from 'react';\r\nimport img from '../images/logo.png';\r\n\r\nexport default class Header extends React.Component {\r\n render() {\r\n let props = this.props.data;\r\n return (\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
{props.title == undefined ? 'Undefined_Title' : props.title}
\r\n
Created By: {props.createdBy == undefined ? \"Undefined-User\" : props.createdBy}
\r\n
\r\n
\r\n )\r\n }\r\n}","export default function checkForSession(props) {\r\n\r\n props.history.push({\r\n pathname: '/',\r\n state: {\r\n token: props.token,\r\n title: props.title,\r\n createdBy: props.createdBy,\r\n }\r\n })\r\n}","import React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport img from '../images/logo.png';\r\nimport StarRatingComponent from 'react-star-rating-component';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Header from \"./header\";\r\nimport Logger from './Logger';\r\nimport noty from './Noty';\r\nimport \"../../node_modules/noty/lib/noty.css\";\r\nimport \"../../node_modules/noty/lib/themes/bootstrap-v4.css\";\r\nimport checkForSession from \"./SessionChecker\";\r\n\r\nclass feedbackRating extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n rating: 0,\r\n textarea: '',\r\n simTitle: '',\r\n createdBy: '',\r\n mainHub: props.hub,\r\n isSubmit: true\r\n };\r\n this.onFeedBackSubmit = this.onFeedBackSubmit.bind(this);\r\n this.feedbackOnChange = this.feedbackOnChange.bind(this);\r\n this.getSimulationUserFeedback = this.getSimulationUserFeedback.bind(this);\r\n this.backToHome = this.backToHome.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.history.location.state == undefined\r\n ?\r\n checkForSession(this.props)\r\n :\r\n this.getSimulationUserFeedback();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.history.goForward();\r\n }\r\n\r\n setStates() {\r\n let props = this.props.location.state;\r\n this.setState({\r\n simTitle: props.title,\r\n created: props.createdBy,\r\n })\r\n }\r\n\r\n onStarClick(nextValue, prevValue, name) {\r\n this.setState({ rating: nextValue });\r\n }\r\n\r\n feedbackOnChange(e) {\r\n this.setState({ textarea: e.target.value });\r\n }\r\n\r\n onFeedBackSubmit() {\r\n var self = this;\r\n self.state.mainHub.invoke('SaveSimUserFeedback',\r\n self.props.location.state.token,\r\n self.state.textarea.trim(),\r\n self.state.rating\r\n )\r\n .then(function (response) {\r\n self.setState({\r\n isSubmit: true\r\n })\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Saving user feedback failed.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n getSimulationUserFeedback() {\r\n var self = this;\r\n self.state.mainHub.invoke('GetSimulationUserFeedback',\r\n self.props.location.state.token\r\n )\r\n .then(function (response) {\r\n if (response != undefined) {\r\n self.setState({\r\n isSubmit: true\r\n })\r\n } else {\r\n self.setState({\r\n isSubmit: false\r\n })\r\n }\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Getting simulation user feedback failed.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n\r\n backToHome() {\r\n let path = \"/\";\r\n this.props.history.push({\r\n pathname: path\r\n });\r\n }\r\n render() {\r\n const { rating } = this.state;\r\n let state = this.props.location.state;\r\n if (state == undefined) {\r\n return null;\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.state.isSubmit == false ?\r\n (
\r\n
Rate Your Feedback!
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
)\r\n :\r\n
\r\n
\r\n Thanks Your Feedback Has Been Added!\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(feedbackRating);","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCoffee,faUser } from '@fortawesome/free-solid-svg-icons';\r\n\r\nexport default function CheckBox({name, value, tick, usersCount, onCheck}) {\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n {name === \"select-all\"?
:
}\r\n
\r\n );\r\n}","import React from 'react';\r\nimport CheckBox from './CheckBox';\r\n\r\n\r\nexport default function CheckBoxList({ options, isCheckedAll, onCheck }) {\r\n let selectedRolesArray = []\r\n const checkBoxOptions = (\r\n
\r\n {options.map((option, index) => {\r\n return (\r\n onCheck(option.value, e.target.checked)}\r\n />\r\n );\r\n },\r\n )}\r\n
\r\n );\r\n let roleCount = 0;\r\n let countTotalRoles = options.length;\r\n let rolesListArray = {};\r\n let usersCount = 0;\r\n //Selected Count\r\n options.map((role, index) => {\r\n if (role.checked) {\r\n roleCount = roleCount + 1;\r\n rolesListArray = role;\r\n selectedRolesArray = role.value;\r\n usersCount = role.users;\r\n }\r\n });\r\n return (\r\n
\r\n\r\n
\r\n Roles\r\n ({roleCount}/{countTotalRoles})\r\n
\r\n
\r\n onCheck('all', e.target.checked)}\r\n className=\"custom-control-input selectAllRolesCheckbox\"\r\n />\r\n {checkBoxOptions}\r\n
\r\n
\r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport CheckBoxList from './CheckBoxList';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nclass RolesList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isAllSelected: false,\r\n checkList: []\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(RolesList);","import React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport ShowRolesList from './RolesList';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Header from \"./header\";\r\nimport Logger from './Logger';\r\nimport noty from './Noty';\r\nimport \"../../node_modules/noty/lib/noty.css\";\r\nimport \"../../node_modules/noty/lib/themes/bootstrap-v4.css\";\r\nimport checkForSession from \"./SessionChecker\";\r\n\r\nclass Roles extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n roles: [],\r\n simTitle: '',\r\n created: '',\r\n simJoinerName: '',\r\n isAllSelected: false,\r\n checkList: [],\r\n mainHub: props.hub,\r\n isMultiSimulationAllow: props.isMultiSimulationAllow,\r\n allRoles: []\r\n };\r\n this.routeChange = this.routeChange.bind(this);\r\n this.userNameChange = this.userNameChange.bind(this);\r\n this.getAllRoles = this.getAllRoles.bind(this);\r\n this.handleKeyPress = this.handleKeyPress.bind(this);\r\n this.getUserRolesCount = this.getUserRolesCount.bind(this);\r\n this.updateRolesCount = this.updateRolesCount.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.history.location.state == undefined\r\n ?\r\n checkForSession(this.props)\r\n :\r\n this.initialize();\r\n }\r\n\r\n initialize() {\r\n this.getAllRoles();\r\n this.setStates();\r\n document.addEventListener(\"keydown\", this.handleKeyPress);\r\n this.updateRolesCount();\r\n }\r\n\r\n setStates() {\r\n let state = this.props.location.state;\r\n this.setState({\r\n simTitle: state.title,\r\n created: state.createdBy,\r\n })\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.history.goForward();\r\n document.removeEventListener(\"keydown\", this.handleKeyPress);\r\n }\r\n\r\n handleKeyPress = (event) => {\r\n if (event.which === 13) {\r\n this.routeChange();\r\n }\r\n }\r\n\r\n routeChange() {\r\n const self = this;\r\n const {simJoinerName, mainHub} = self.state;\r\n const {simulationID, id, token, createdBy, title, userId, pin, isMultiSimulationAllow} = self.props.location.state;\r\n let path = '';\r\n if (simJoinerName.trim() != '' && self.state.roles.length > 0) {\r\n mainHub.invoke('GetSimulationById',\r\n simulationID,\r\n isMultiSimulationAllow\r\n )\r\n .then(function (response) {\r\n if (response != 'Completed') {\r\n var roles = self.state.roles.map(item => item.value).join();\r\n path = `tasks`;\r\n self.props.history.push({\r\n pathname: path,\r\n state: {\r\n id: id,\r\n token,\r\n createdBy,\r\n title,\r\n simulationID,\r\n userId,\r\n simJoinerName,\r\n roles,\r\n checkList: self.state.roles,\r\n pin,\r\n isMultiSimulationAllow,\r\n allRoles: self.state.allRoles\r\n }\r\n });\r\n } else {\r\n path = \"/Feedback/\";\r\n self.props.history.push({\r\n pathname: path,\r\n state: {\r\n token: token,\r\n title: title,\r\n createdBy: createdBy,\r\n }\r\n });\r\n }\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Failed to get simulation by Id.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n else {\r\n this.nameInput.focus();\r\n }\r\n }\r\n\r\n userNameChange(e) {\r\n this.setState({\r\n simJoinerName: e.target.value,\r\n });\r\n }\r\n\r\n async getAllRoles() {\r\n const self = this;\r\n let propsState = this.props.location.state;\r\n const {isMultiSimulationAllow, mainHub} = self.state;\r\n await mainHub.invoke('GetAllRoles', propsState.id).then(function (response) {\r\n let result = JSON.parse(response);\r\n try {\r\n self.setState({\r\n checkList: result.map(function (e) {\r\n return {\r\n name: e.Title,\r\n value: e.Title,\r\n checked: false\r\n }\r\n }), \r\n allRoles: result.map(function (e) {\r\n return {\r\n name: e.Title,\r\n value: e.Title,\r\n checked: false\r\n }\r\n })\r\n });\r\n if(isMultiSimulationAllow)\r\n self.getUserRolesCount();\r\n }\r\n catch (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Getting roles failed.', error.message, error.stack, 'Error');\r\n }\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Getting roles failed.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n onCheckBoxChange(checkName, isChecked) {\r\n let isAllChecked = (checkName === 'all' && isChecked);\r\n let isAllUnChecked = (checkName === 'all' && !isChecked);\r\n const checked = isChecked;\r\n\r\n const checkList = this.state.checkList.map((role, index) => {\r\n if (isAllChecked || role.value === checkName) {\r\n return Object.assign({}, role, {\r\n checked,\r\n });\r\n } else if (isAllUnChecked) {\r\n return Object.assign({}, role, {\r\n checked: false,\r\n });\r\n }\r\n return role;\r\n });\r\n let isAllSelected = (checkList.findIndex((item) => item.checked === false) === -1) || isAllChecked;\r\n let roles = checkList.filter((item) => item.checked === true);\r\n this.setState({\r\n checkList,\r\n isAllSelected,\r\n roles\r\n });\r\n }\r\n\r\n getUserRolesCount() {\r\n let self = this;\r\n let propsState = this.props.location.state;\r\n self.state.mainHub.invoke('GetUsersRolesCount', propsState.simulationID)\r\n .then(function (response) {\r\n console.log(response);\r\n let data = [];\r\n self.state.checkList.map(function (e) {\r\n response.map(function (o) {\r\n if (e.name.trim() == o.Roles.trim()) {\r\n data.push({\r\n name: e.name,\r\n value: e.value,\r\n checked: e.checked,\r\n users: o.Users\r\n })\r\n }\r\n })\r\n })\r\n self.setState({\r\n checkList: data\r\n })\r\n console.log(self.state.checkList)\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Failed to get user roles count.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n updateRolesCount() {\r\n let self = this;\r\n try {\r\n self.state.mainHub.on('simulationJoined', function (message) {\r\n self.getUserRolesCount();\r\n })\r\n } catch (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Failed to get user roles count.', error.message, error.stack, 'Error');\r\n }\r\n }\r\n\r\n render() {\r\n let propsState = this.props.location.state;\r\n if (propsState == undefined) {\r\n return null;\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n { this.nameInput = input; }} className=\"inputUserName\" onChange={this.userNameChange} value={this.state.simJoinerName} placeholder=\"Enter Your Name\" />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(Roles);","import React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport Card from 'react-bootstrap/Card';\r\nimport { faExclamation, faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Moment from 'react-moment';\r\n\r\nexport default class roleEventsLi extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.renderData = this.renderData.bind(this);\r\n }\r\n\r\n toggle() {\r\n this.setState({ collapse: !this.state.collapse });\r\n }\r\n\r\n renderData(event, index, isDeadLinePassed, props, role) {\r\n const {Pending, Executed, EventLabel, Deadline, Enabled, EventDataType, Type, ID, Ancestors} = event;\r\n const {onClick, isDisable, showModal, isMultiSimulationAllow, isSelectedRole} = props;\r\n return \r\n {Pending === 'true' && }\r\n {Pending === 'false' && Executed === 'true' && } {EventLabel}\r\n {((Deadline != null)) ?\r\n isDeadLinePassed == false ?\r\n \r\n :\r\n \r\n :\r\n ''\r\n }\r\n {(Enabled === \"true\" && (EventDataType === '' && Type === 0)) ? \r\n :\r\n ''\r\n }\r\n {(Enabled === \"true\" && (EventDataType !== '' || Type === 3)) ? \r\n :\r\n ''\r\n }\r\n \r\n\r\n }\r\n\r\n render() {\r\n let eventsData;\r\n let self = this;\r\n let events = [];\r\n const role = self.props.role;\r\n const props = self.props;\r\n const isDeadLinePassed = props.isDeadLinePassed;\r\n if (props.events != null) {\r\n if (props.events.length === undefined) {\r\n events.push(props.events)\r\n }\r\n else {\r\n events = props.events;\r\n }\r\n }\r\n if (events.length > 0) {\r\n eventsData = events.map(function (event, index) {\r\n return (\r\n event.Events === null ?\r\n \r\n {self.renderData(event, index, isDeadLinePassed, props, role)}\r\n \r\n :\r\n \r\n {self.renderData(event, index, isDeadLinePassed, props, role)}\r\n {\r\n
\r\n {\r\n event.Events.map(function (events, index) {\r\n return self.renderData(events, index, isDeadLinePassed, props, role)\r\n })\r\n }\r\n
\r\n }\r\n
\r\n )\r\n });\r\n }\r\n else {\r\n eventsData =
\r\n }\r\n\r\n return (\r\n
\r\n {eventsData}\r\n
\r\n );\r\n }\r\n}","import React from 'react';\r\nimport { Collapse } from 'reactstrap';\r\nimport Card from 'react-bootstrap/Card';\r\nimport RoleEvents from '../components/eventsLi';\r\nimport { faAngleRight, faAngleDown } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nexport default class ListGroupCollapse extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggle = this.toggle.bind(this);\r\n this.state = { collapse: true };\r\n }\r\n\r\n toggle() {\r\n this.setState({ collapse: !this.state.collapse });\r\n }\r\n\r\n render() {\r\n let self = this;\r\n const { Role, Events } = self.props.item;\r\n let {executeEvent, isDisable, isDeadLinePassed, showModal, isMultiSimulationAllow, isSelectedRole} = self.props;\r\n if ((Role === '' || Role === 'unassigned') && Events.length === 0) {\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n \r\n 0 ? self.state.collapse : false) : false) ? faAngleRight : faAngleDown} /> {Role === undefined ? '' : (Role === '' ? 'Unassigned' : Role)}\r\n \r\n 0 ? self.state.collapse : false) : false} >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n}","import $ from 'jquery'; \r\n\r\nexport default function loader(state)\r\n{\r\n if (state == 'show') {\r\n $('.loader').show()\r\n $('#pageOverlay').show()\r\n $('body').addClass('overflowHidden');\r\n } else {\r\n setTimeout(() => {\r\n $('.loader').hide()\r\n $('#pageOverlay').hide()\r\n $('body').removeClass('overflowHidden');\r\n }, 500);\r\n }\r\n}","import React from 'react';\r\nimport loader from \"./loader\";\r\nimport { showDCRFormModal, hideDCRFormModal } from \"./DCRFormModal\";\r\nimport Logger from './Logger';\r\nimport noty from './Noty';\r\n\r\nexport default class DCRForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n mainHub: props.hub,\r\n eventID: props.eventID,\r\n simulationID: props.simulationID,\r\n token: '',\r\n iframeURL: '',\r\n referXML: '',\r\n title: props.title,\r\n id: props.id,\r\n role:props.role,\r\n isSingleData: props.isSingleData\r\n }\r\n this.hideModal = this.hideModal.bind(this);\r\n this.getReferXMLbyId = this.getReferXMLbyId.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n showDCRFormModal(this.state.title, this.hideModal);\r\n this.getReferXMLbyId();\r\n }\r\n \r\n hideModal() {\r\n hideDCRFormModal();\r\n this.props.hideModal(false);\r\n }\r\n\r\n onFormSubmit = (xml) => {\r\n let self = this;\r\n const {mainHub, eventID, simulationID, role, id, isSingleData} = self.state;\r\n\r\n loader('show');\r\n mainHub.invoke('executeFormTransactionPublic',\r\n eventID,\r\n simulationID,\r\n xml,\r\n role,\r\n id,\r\n isSingleData\r\n )\r\n .then(function () {\r\n self.hideModal();\r\n loader('hide');\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Something went wrong with merging refer XML into Main XML.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n getReferXMLbyId() {\r\n const self = this;\r\n loader('show');\r\n self.state.mainHub.invoke('getReferXMLbyId',\r\n self.state.eventID,\r\n self.state.simulationID\r\n )\r\n .then(function (response) {\r\n self.setState({\r\n referXML: response\r\n }, () => {\r\n const { events } = window;\r\n \r\n events.fire(\"loadFormServer\", {\r\n ...window.simITFormServerConfigs,\r\n onSubmit: (logXml) => self.onFormSubmit(logXml),\r\n graph: { data: response }\r\n });\r\n });\r\n loader('hide');\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Something went wrong with getting refer XML.', error.message, error.stack);\r\n });\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}","import $ from \"jquery\";\r\n\r\nexport function showDCRFormModal(title, hideModal) {\r\n $(\"#dcrFormModal\").addClass(\"show d-block\");\r\n $(\"#dcrFormTitle\").text(title);\r\n $(\"#dcrFormClose\").on(\"click\", () => {\r\n hideModal();\r\n });\r\n $(\"#dcrFormHide\").on(\"click\", () => {\r\n hideModal();\r\n });\r\n}\r\n\r\nexport function hideDCRFormModal() {\r\n $(\"#dcrFormModal\").removeClass('show d-block');\r\n}\r\n","import React from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport ListGroupCollapse from '../components/ListGroupCollapse';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Logger from './Logger';\r\nimport noty from './Noty';\r\nimport \"../../node_modules/noty/lib/noty.css\";\r\nimport \"../../node_modules/noty/lib/themes/bootstrap-v4.css\";\r\nimport loader from \"./loader\";\r\nimport DCRForm from './DCRForm';\r\nconst htmlencode = require('htmlencode');\r\nconst parseString = require('xml2js').parseString;\r\n\r\nclass RoleListItem extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n rolesOrEvents: [],\r\n IsAccepting: 'False',\r\n mainHub: props.hub,\r\n isWaiting: true,\r\n checkList: [],\r\n temporaryState: [],\r\n isDisable: false,\r\n isDeadLinePassed: false,\r\n isShowModal: false,\r\n eventID: '',\r\n eventRole: '',\r\n isSingleData: false\r\n };\r\n this.executeEvent = this.executeEvent.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n this.props.onRef(this)\r\n this.setUpPublicUser();\r\n this.getTasks();\r\n }\r\n\r\n componentDidMount() {\r\n this.eventExecuted();\r\n this.transactionExecuted();\r\n this.simulationLeft();\r\n }\r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.timeout);\r\n}\r\n\r\n setUpPublicUser = () => {\r\n const self = this;\r\n let { token, simJoinerName, roles, allRoles, isMultiSimulationAllow } = self.props.location.state;\r\n const selectedRoles = roles.split(',');\r\n const lazyRoles = allRoles.filter(item => !selectedRoles.includes(item.value))\r\n self.state.mainHub.invoke('SetUpPublicUser',\r\n token,\r\n simJoinerName,\r\n roles,\r\n isMultiSimulationAllow && lazyRoles.length ? lazyRoles.map(item => item.value).join() : null,\r\n isMultiSimulationAllow && lazyRoles.length ? 'LazyUser' : null)\r\n .then(function () {\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Setting up public user failed.', error.message, error.stack, 'Critical');\r\n });\r\n }\r\n\r\n getTasks = () => {\r\n const self = this;\r\n const { token, id, roles, isMultiSimulationAllow, allRoles } = self.props.location.state;\r\n self.state.mainHub.invoke('GetTasks',\r\n token,\r\n id,\r\n isMultiSimulationAllow ? allRoles.map(item => item.value).join() : roles\r\n )\r\n .then(function (response) {\r\n // handle success\r\n let result = JSON.parse(response);\r\n if (result.StatusCode == \"200\" && result.Message != '') {\r\n let parseData = JSON.parse(result.Message);\r\n const { Roles, Events, isAccepting, deadLinePassed } = parseData;\r\n let rolesAndEvents = [];\r\n if (isMultiSimulationAllow) {\r\n rolesAndEvents = self.currentAndLazyEvents(roles, Roles, true);\r\n }\r\n const rolesOrEvents = Roles == undefined ? Events : rolesAndEvents.length ? rolesAndEvents : Roles;\r\n self.setState({\r\n rolesOrEvents,\r\n temporaryState: rolesOrEvents,\r\n IsAccepting: isAccepting == undefined ? 'False' : isAccepting,\r\n isWaiting: true,\r\n isDeadLinePassed: deadLinePassed\r\n });\r\n self.handleChange();\r\n self.filterRoles();\r\n }\r\n else {\r\n self.setState({\r\n isWaiting: false\r\n });\r\n self.handleChange();\r\n self.filterRoles();\r\n }\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Getting task failed.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n currentAndLazyEvents = (userRoles, Roles, executeLazyUserEvent) => {\r\n const selectedRoles = userRoles.split(',');\r\n const lazyEvents = Roles.filter(item => item.Role !== \"\" && !selectedRoles.includes(item.Role))\r\n if (lazyEvents.length && executeLazyUserEvent) {\r\n let allEvents = [];\r\n lazyEvents.forEach(element => {\r\n const events = element.Events;\r\n if (events.length)\r\n events.forEach(event => {\r\n if (event.Executed == \"false\" && event.Pending == \"true\" && event.Enabled == \"true\") {\r\n event.Role = element.Role;\r\n allEvents.push(event);\r\n }\r\n })\r\n });\r\n console.log(\"allEvents\", allEvents)\r\n if (allEvents.length) {\r\n clearTimeout(this.timeout);\r\n this.timeout = setTimeout(() => { this.executeLazyUserEvent(allEvents) }, 2700);\r\n }\r\n }\r\n console.log(\"filteredRoles\", Roles)\r\n console.log(\"lazyEvents\", lazyEvents)\r\n return Roles;\r\n }\r\n\r\n simulationLeft = () => {\r\n const self = this;\r\n const propsState = self.props.location.state;\r\n let isDone = false;\r\n self.state.mainHub.on('simulationLeft', function (message) {\r\n if (message.CreatedBy == message.UserId && !isDone && !self.props.isUnmount) {\r\n isDone = true;\r\n let path = \"/Feedback/\";\r\n self.props.history.push({\r\n pathname: path,\r\n state: {\r\n token: propsState.token,\r\n title: propsState.title,\r\n createdBy: propsState.createdBy\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n getEventJson = (message) => {\r\n const self = this;\r\n const { roles, isMultiSimulationAllow, allRoles } = self.props.location.state;\r\n self.state.mainHub.invoke('GetEventsJSON',\r\n message.SimulationId,\r\n isMultiSimulationAllow ? allRoles.map(item => item.value).join() : roles\r\n )\r\n .then(function (response) {\r\n let result = JSON.parse(response);\r\n const { Roles, Events, isAccepting, deadLinePassed } = result;\r\n let rolesAndEvents = [];\r\n if (isMultiSimulationAllow) {\r\n rolesAndEvents = self.currentAndLazyEvents(roles, Roles, true);\r\n }\r\n const rolesOrEvents = Roles == undefined ? Events : rolesAndEvents.length ? rolesAndEvents : Roles;\r\n self.setState({\r\n rolesOrEvents,\r\n temporaryState: rolesOrEvents,\r\n IsAccepting: isAccepting,\r\n isDisable: false,\r\n isDeadLinePassed: deadLinePassed\r\n });\r\n self.handleChange();\r\n self.filterRoles();\r\n loader('hide');\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Getting events JSON failed.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n eventExecuted = () => {\r\n const self = this;\r\n self.state.mainHub.on('eventExecuted', function (message) {\r\n loader('show');\r\n if (message.DcrGraphXml == null || !self.validXML(message.DcrGraphXml))\r\n self.handleSimulationError(message.DcrGraphXml);\r\n self.getEventJson(message);\r\n });\r\n }\r\n\r\n validXML = (xml) => {\r\n let isValid = false;\r\n parseString(xml, function (err, result) {\r\n if (!result.executionResult.error)\r\n isValid = true;\r\n });\r\n return isValid;\r\n }\r\n\r\n handleSimulationError = (xml) => {\r\n if (xml != null) {\r\n let errors = 'Simulation Failed: ';\r\n parseString(xml, function (err, result) {\r\n result.executionResult.error.map(function (i, el) {\r\n errors += htmlencode.htmlEncode(i._) + '
';\r\n })\r\n noty('error', errors)\r\n });\r\n }\r\n else\r\n noty('error', 'Something went wrong with the simulation, Please try again.')\r\n }\r\n\r\n transactionExecuted = () => {\r\n const self = this;\r\n self.state.mainHub.on('transactionExecuted', function (message) {\r\n loader('show');\r\n self.hideDCRForm(false);\r\n self.getEventJson(message);\r\n });\r\n }\r\n\r\n\r\n getRandomInt(max) {\r\n return Math.floor(Math.random() * max);\r\n }\r\n\r\n executeLazyUserEvent = (lazyEvents) => {\r\n clearTimeout(this.timeout)\r\n const index = this.getRandomInt(lazyEvents.length - 1)\r\n const item = lazyEvents[index];\r\n if (item) {\r\n const event = item;\r\n this.executeEvent(event.ID, event.Role, true, 'LazyUser');\r\n }\r\n }\r\n\r\n executeEvent(value, role, isDisable, userType) {\r\n const self = this;\r\n const { token, userId, simulationID } = self.props.location.state;\r\n loader('show');\r\n self.setState({\r\n isDisable: isDisable\r\n })\r\n self.state.mainHub.invoke('ExecuteEvent',\r\n token,\r\n value,\r\n role,\r\n userId,\r\n simulationID,\r\n token,\r\n userType\r\n )\r\n .then(function () {\r\n loader('show');\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Something went wrong with event execution.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n handleChange = () => {\r\n this.props.onChange(this.state.IsAccepting, this.state.isWaiting);\r\n }\r\n\r\n filterRoles() {\r\n this.setState({\r\n rolesOrEvents: this.state.temporaryState\r\n })\r\n let checkList = this.props.filter;\r\n if (checkList.length != 0 && this.state.temporaryState.length != checkList.length) {\r\n let filterarray = [];\r\n for (var i = 0; i < checkList.length; i++) {\r\n let fil = this.state.rolesOrEvents.filter((item) => item.Role == checkList[i].name)\r\n if (fil != null) {\r\n for (var j = 0; j < fil.length; j++) {\r\n filterarray.push(\r\n {\r\n Role: fil[j].Role, Events: fil[j].Events\r\n }\r\n )\r\n }\r\n }\r\n }\r\n this.setState({\r\n rolesOrEvents: filterarray\r\n })\r\n }\r\n }\r\n\r\n showDCRForm = (showModal, eventID, role, isSingleData) => {\r\n this.setState({\r\n isShowModal: showModal,\r\n eventID: eventID,\r\n eventRole: role,\r\n isSingleData\r\n })\r\n }\r\n\r\n hideDCRForm = (modalstate) => {\r\n this.setState({\r\n isShowModal: modalstate\r\n })\r\n }\r\n\r\n render() {\r\n const { rolesOrEvents, isDisable, isDeadLinePassed, isWaiting, isShowModal, eventID, eventRole, isSingleData } = this.state;\r\n let {simulationID, title, token, isMultiSimulationAllow, checkList} = this.props.location.state;\r\n let rolesOrEventsList = rolesOrEvents.map((item, index) => (\r\n (item.Events != null) ?\r\n \r\n :\r\n ''\r\n ));\r\n if (isWaiting) {\r\n return (\r\n \r\n {isShowModal ? : null}\r\n {rolesOrEventsList}\r\n \r\n );\r\n }\r\n else {\r\n return (\r\n
\r\n Simulation has not started yet, Please wait.\r\n
\r\n );\r\n }\r\n }\r\n}\r\nexport default withRouter(RoleListItem);","import React, { Component } from 'react';\r\nimport ReactBootstrap, { Modal, Button, ListGroup, ListGroupItem } from 'react-bootstrap';\r\nimport ShowRolesList from './RolesList';\r\nimport Logger from './Logger';\r\nimport noty from './Noty';\r\nimport \"../../node_modules/noty/lib/noty.css\"; \r\nimport \"../../node_modules/noty/lib/themes/bootstrap-v4.css\"; \r\n\r\nexport default class FilterRolesModal extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n roles: [],\r\n checkList: [],\r\n temporaryRoles: [],\r\n isAllSelected: false,\r\n mainHub: props.hub,\r\n filter: false\r\n };\r\n this.hideModal = this.hideModal.bind(this);\r\n this.resetModal = this.resetModal.bind(this);\r\n this.filterRoles = this.filterRoles.bind(this);\r\n this.getUserRolesCount = this.getUserRolesCount.bind(this);\r\n this.setCheckList = this.setCheckList.bind(this);\r\n }\r\n\r\n hideModal() {\r\n this.props.hideRolesModal(false);\r\n }\r\n\r\n resetModal() {\r\n let self = this;\r\n if ((self.state.checkList.length == self.state.roles.length && !self.state.filter) || self.state.temporaryRoles.length == 0) {\r\n self.onCheckBoxChange('all', false);\r\n }\r\n if (self.state.temporaryRoles.length != 0 && self.state.checkList.length != self.state.temporaryRoles.length) {\r\n self.state.checkList.map(function (item) {\r\n item.checked = false\r\n })\r\n for (var i = 0; i < self.state.temporaryRoles.length; i++) {\r\n self.state.checkList.map(function (item) {\r\n if (item.name == self.state.temporaryRoles[i].name) {\r\n item.checked = true;\r\n }\r\n })\r\n }\r\n self.state.checkList.map(function (item) {\r\n self.onCheckBoxChange(item.name, item.checked)\r\n })\r\n self.setState({\r\n roles: self.state.temporaryRoles\r\n })\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setCheckList();\r\n }\r\n\r\n setCheckList() {\r\n const self = this\r\n try {\r\n self.setState({\r\n checkList: this.props.checkList.map(function (e) {\r\n return {\r\n name: e.name,\r\n value: e.name,\r\n checked: false\r\n }\r\n })\r\n });\r\n self.getUserRolesCount();\r\n }\r\n catch (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Setting checklist failed.', error.message, error.stack, 'Error');\r\n }\r\n }\r\n\r\n getUserRolesCount() {\r\n let self = this;\r\n self.state.mainHub.invoke('GetUsersRolesCount', self.props.simulationID)\r\n .then(function (response) {\r\n console.log(response);\r\n let data = [];\r\n self.state.checkList.map(function (e) {\r\n response.map(function (o) {\r\n if (e.name.trim() == o.Roles.trim()) {\r\n data.push({\r\n name: e.name,\r\n value: e.value,\r\n checked: e.checked,\r\n users: o.Users\r\n })\r\n }\r\n })\r\n })\r\n self.setState({\r\n checkList: data\r\n })\r\n console.log(self.state.checkList)\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Failed to get user roles count.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n filterRoles() {\r\n this.setState({\r\n temporaryRoles: this.state.roles,\r\n filter: true\r\n })\r\n if (this.state.checkList.length == this.state.roles.length) {\r\n this.setState({\r\n filter: false\r\n })\r\n }\r\n this.props.filter(this.state.roles)\r\n }\r\n\r\n onCheckBoxChange(checkName, isChecked) {\r\n let isAllChecked = (checkName === 'all' && isChecked);\r\n let isAllUnChecked = (checkName === 'all' && !isChecked);\r\n const checked = isChecked;\r\n\r\n const checkList = this.state.checkList.map((role, index) => {\r\n if (isAllChecked || role.value === checkName) {\r\n return Object.assign({}, role, {\r\n checked,\r\n });\r\n } else if (isAllUnChecked) {\r\n return Object.assign({}, role, {\r\n checked: false,\r\n });\r\n }\r\n return role;\r\n });\r\n let isAllSelected = (checkList.findIndex((item) => item.checked === false) === -1) || isAllChecked;\r\n isAllSelected = (this.state.checkList.length == 0) ? false : isAllSelected\r\n let roles = checkList.filter((item) => item.checked === true);\r\n this.setState({\r\n checkList,\r\n isAllSelected,\r\n roles\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n Roles\r\n \r\n \r\n \r\n
List of Selected Roles
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport RoleListItem from '../components/collapse';\r\nimport FilterRolesModal from '../components/FilterRolesModal';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Header from \"./header\";\r\nimport Logger from './Logger';\r\nimport noty from './Noty';\r\nimport \"../../node_modules/noty/lib/noty.css\";\r\nimport \"../../node_modules/noty/lib/themes/bootstrap-v4.css\";\r\nimport Cookies from 'universal-cookie';\r\nimport checkForSession from \"./SessionChecker\";\r\n\r\nconst cookies = new Cookies();\r\n\r\nclass Tasks extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n allEventsData: [],\r\n roles: [],\r\n className: '',\r\n IsAccepting: '',\r\n mainHub: props.hub,\r\n isWaiting: false,\r\n isShowModal: false,\r\n checkList: [],\r\n isPaused: false,\r\n isUnmount: false\r\n }\r\n this.routeChange = this.routeChange.bind(this);\r\n this.onFilterRolesModalClick = this.onFilterRolesModalClick.bind(this);\r\n this.hideRolesModal = this.hideRolesModal.bind(this);\r\n this.handleRolesFilter = this.handleRolesFilter.bind(this);\r\n this.setIsMount = this.setIsMount.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.history.location.state == undefined\r\n ?\r\n checkForSession(this.props)\r\n :\r\n this.initialize();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.history.goForward();\r\n }\r\n\r\n initialize() {\r\n this.simulationPaused();\r\n this.simulationResumed();\r\n this.simulationInitialized();\r\n }\r\n\r\n handleChange = (IsAccepting, isWaiting) => {\r\n if (IsAccepting === 'False') {\r\n this.setState({\r\n className: 'simTasksRequired',\r\n IsAccepting,\r\n isWaiting\r\n })\r\n }\r\n else {\r\n this.setState({\r\n className: 'simProcessCompleted',\r\n IsAccepting,\r\n isWaiting\r\n })\r\n }\r\n }\r\n\r\n routeChange() {\r\n const self = this;\r\n const {simulationID, token, title, createdBy, pin, isMultiSimulationAllow} = self.props.location.state;\r\n self.setIsMount(true);\r\n self.state.mainHub.invoke('CallLeaveSimulation',\r\n simulationID,\r\n token,\r\n isMultiSimulationAllow)\r\n .then(function (response) {\r\n let path = \"/Feedback/\";\r\n self.props.history.push({\r\n pathname: path,\r\n state: {\r\n token: token,\r\n title: title,\r\n createdBy: createdBy,\r\n }\r\n });\r\n self.setCookie(pin)\r\n })\r\n .catch(function (error) {\r\n noty('error', 'Something went wrong.')\r\n Logger('Failed to leave public simulation.', error.message, error.stack, 'Error');\r\n });\r\n }\r\n\r\n setCookie(pin) {\r\n let cookieArray = [];\r\n let cookie = cookies.get('SimCookie');\r\n if (cookie != undefined) {\r\n cookie.map(function (o) {\r\n cookieArray.push('' + o)\r\n });\r\n cookieArray.push('' + pin)\r\n }\r\n else {\r\n cookieArray.push('' + pin)\r\n }\r\n cookies.set('SimCookie', cookieArray, { path: '/' });\r\n }\r\n\r\n onFilterRolesModalClick() {\r\n this.setState({\r\n isShowModal: true\r\n })\r\n }\r\n\r\n hideRolesModal = (modalstate) => {\r\n this.setState({\r\n isShowModal: modalstate\r\n })\r\n }\r\n\r\n async handleRolesFilter(checkList) {\r\n await this.setState({\r\n checkList,\r\n isShowModal: false\r\n });\r\n this.child.filterRoles();\r\n }\r\n\r\n async simulationPaused() {\r\n const self = this;\r\n await self.state.mainHub.on('simulationPaused', async function (message) {\r\n await self.setState({\r\n isPaused: true\r\n })\r\n });\r\n }\r\n\r\n async simulationResumed() {\r\n const self = this;\r\n await self.state.mainHub.on('simulationResumed', async function (message) {\r\n await self.setState({\r\n isPaused: false\r\n })\r\n });\r\n }\r\n\r\n simulationInitialized() {\r\n this.state.mainHub.on('simulationInitialized', function (message) {\r\n console.log(\" simulationInitialized!\");\r\n window.location.reload();\r\n });\r\n }\r\n\r\n setIsMount(isUnmount) {\r\n this.setState({\r\n isUnmount: isUnmount\r\n })\r\n }\r\n\r\n render() {\r\n let propsState = this.props.location.state;\r\n if (propsState == undefined) {\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n (this.state.isWaiting && !this.state.isPaused) ?\r\n
\r\n
\r\n
\r\n Tasks\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Available Tasks\r\n \r\n
\r\n
:\r\n \"\"\r\n }\r\n {\r\n !this.state.isPaused ?\r\n
\r\n (this.child = ref)}\r\n isUnmount={this.state.isUnmount}\r\n />\r\n
:\r\n
\r\n
\r\n No Tasks Available, Simulation is Paused\r\n
\r\n
\r\n }\r\n {\r\n (this.state.isWaiting && !this.state.isPaused) ?\r\n
\r\n
\r\n \r\n
\r\n
:\r\n ''\r\n }\r\n\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default withRouter(Tasks);","import React, { Component } from 'react';\r\nimport './App.css';\r\n\r\nimport { Route, Switch } from \"react-router-dom\";\r\n// import { Router, Route, Switch } from 'react-router-dom';\r\n\r\n//custom modules\r\nimport NavBarA from './components/TopNavBar';\r\nimport Login from './components/Login';\r\nimport FeedbackRating from './components/Feedback';\r\nimport Roles from './components/Roles';\r\nimport Tasks from './components/Tasks';\r\n\r\n//FontAwsome import\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faIgloo } from '@fortawesome/free-solid-svg-icons';\r\n\r\nlibrary.add(faIgloo);\r\nclass App extends Component {\r\n render() {\r\n return (\r\n \r\n } />\r\n } />\r\n \r\n } />\r\n } />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","import $ from 'jquery';\r\nwindow.jQuery = $;\r\nrequire('ms-signalr-client');\r\n\r\nfunction getSIMITURL() {\r\n var location = window.location || {host:\"sim.dcrgraphs.net\"};\r\n return window.env[location.host];\r\n}\r\n\r\nexport function initSignalR(callback) {\r\n const connection = $.hubConnection(getSIMITURL());\r\n const mainHub = connection.createHubProxy('MainHub');\r\n\r\n mainHub.on('simulationRestarted', function (message) {\r\n window.location.reload();\r\n });\r\n\r\n mainHub.on('simulationPaused', function (message) {\r\n });\r\n\r\n mainHub.on('simulationResumed', function (message) {\r\n });\r\n\r\n mainHub.on('timeForwarded', function (message) {\r\n console.log(\" Time Forwarded!\");\r\n window.location.reload();\r\n });\r\n // atempt connection, and handle errors\r\n connection.start(() => callback(mainHub))\r\n .done(function () { console.log('Now connected, connection ID=' + connection.id); })\r\n .fail(function () { console.log('Could not connect'); });\r\n}","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read http://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport {initSignalR} from './components/SignalR';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\n//Import Router\r\nimport { BrowserRouter as Router } from \"react-router-dom\";\r\ninitSignalR((hub) => {\r\n ReactDOM.render(\r\n\r\n\r\n,\r\ndocument.getElementById('root'));\r\n});\r\n\r\n\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","module.exports = __webpack_public_path__ + \"static/media/logo.43893c81.png\";"],"sourceRoot":""}