\n { \n const fileMap = {} as any;\n const reads: Promise[] = [];\n const {curFiles} = state;\n\n if (curFiles === null) {\n console.warn(\"Attempted to upload files without selecting any\");\n return\n }\n \n for(const f of curFiles){\n let fileRead = readFile(f).then((fileResult) => {\n // This any is because webkitRelativePath is not standard, and therefor\n // is not part of the File type\n const path = ((f as any).webkitRelativePath || (f as any).mozRelativePath);\n\n fileMap[path] = fileResult;\n });\n reads.push(fileRead);\n }\n let success = true;\n Promise.all(reads).then(() => {\n return uploadFilesToDgraph({plugins: fileMap});\n })\n .then((didSucceed) => {success = success && didSucceed;})\n .then(() => setState({...state, success}))\n }\n }\n >\n \n \n \n \n
\n \n \n >\n )\n}","import React from 'react';\nimport GraplHeader from \"./reusableComponents/GraplHeader\";\nimport { useStyles } from \"../modules/uploads/plugins/useStyles\";\nimport { UploadForm } from \"../modules/uploads/plugins/uploadPlugins\"; \nimport { PluginTable } from \"../modules/uploads/plugins/pluginTable\";\n\nconst UploadPlugin = () => {\n const classes = useStyles();\n return(\n <>\n \n
\n
\n \n
\n
\n \n
\n
\n >\n )\n}\n\nexport default UploadPlugin;","import React from 'react';\nimport './LogIn.css';\nimport {LogIn} from './Login';\nimport {EngagementUx} from \"./components/SideBar\";\nimport Dashboard from \"./components/Dashboard\";\nimport UploadPlugin from \"./components/UploadPlugin\";\nimport {HashRouter, Route, Switch} from 'react-router-dom';\n\n// Updates our react state, as well as localStorage state, to reflect the page\n// we should render\n\nexport default function App() {\n console.log(\"App loaded\");\n return (\n <>\n \n \n \n \n \n \n \n \n >\n )\n}\n\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles'\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport { HashRouter } from 'react-router-dom';\n\n\nconst darkTheme = createMuiTheme({\n palette: {\n type: 'dark',\n primary: {\n main: '#373740',\n }\n }\n})\n\nconst rootElement = document.getElementById('root')\n\nReactDOM.render(\n \n \n \n , \n \n \n ,\n rootElement\n);\n\nserviceWorker.unregister();\n"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["modules/GraphViz/engagement_edge/getApiURLs.tsx","Login.tsx","modules/GraphViz/calculations/node/nodeCalcs.tsx","modules/GraphViz/calculations/link/linkCalcs.tsx","modules/GraphViz/graphColoring/coloring.tsx","modules/GraphViz/graph/graph_traverse.tsx","modules/GraphViz/graphQL/expandScope.tsx","modules/GraphViz/graph/mergeGraphs.tsx","modules/GraphViz/graphQL/graphQLAdjacencyMatrix.tsx","modules/GraphViz/graph/labels.tsx","components/GraphViz.tsx","components/NodeTable.tsx","components/EngagementViewContent.tsx","components/EngagementView.tsx","components/reusableComponents/GraplHeader.tsx","components/Dashboard.tsx","modules/uploads/plugins/useStyles.tsx","modules/uploads/plugins/apiRequests.tsx","modules/uploads/plugins/uploadPlugins.tsx","modules/uploads/plugins/pluginTable.tsx","components/UploadPlugin.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["getGraphQlEdge","window","location","hostname","getModelPluginEdge","engagement_edge","LogIn","_","className","initialValues","userName","password","onSubmit","values","a","console","log","sha256WithPepper","login","history","replaceState","warn","name","type","placeholder","sha256","message","msgBuffer","TextEncoder","encode","crypto","subtle","digest","hashBuffer","hashArray","Array","from","Uint8Array","map","b","toString","slice","join","username","hashed","i","fetch","method","body","JSON","stringify","headers","credentials","res","json","calcNodeRiskPercentile","_nodeRisk","_allRisks","nodeRisk","risk","allRisks","n","sort","undefined","length","riskIndex","Math","floor","findNode","id","nodes","node","calcLinkRiskPercentile","link","Graph","linkRisk","srcNode","source","dstNode","target","error","srcRisk","dstRisk","round","calcLinkRisk","BKDRHash","str","hash","MAX_SAFE_INTEGER","parseInt","charCodeAt","calcNodeRgb","colorHash","nodeType","rgb","percentToColor","percentile","calcLinkColor","mapGraph","f","visited","Set","mapEdgeProps","edgeName","neighbor","_mapGraph","has","uid","add","mapEdges","prop","Object","prototype","hasOwnProperty","call","maybeNeighbor","isArray","graphql_edge","builtins","unpackPluginNodes","predicates","edge_name","dgraph_type","pluginNode","keys","forEach","key","retrieveGraph","lens","query","expandScope","then","data","lens_scope","lensWithScope","scope","lensName","mergeNodes","x","y","merged","mapNodeProps","mergeGraphs","curGraph","update","links","outputGraph","updated","Map","set","newNode","get","label","newLink","newLinkSource","newLinkTarget","getNodeType","t","node_type","randomInt","min","max","random","graphQLAdjacencyMatrix","inputGraph","nodeMap","traverseNeighbors","callback","fromNode","toNode","push","traverseNodes","nodeLabel","_node","process_name","process_id","file_path","external_ip","lens_name","getNodeLabel","strippedNode","analyzer_names","risks","risk_score","analyzer_name","edge","_neighbor","vizNode","HSL2RGB","H","S","L","q","p","color","o","ColorHash","options","hsl","hueRanges","range","apply","LS","lightness","saturation","param","concat","this","hue","updateGraph","state","setState","mergeUpdate","graphData","curLensName","catch","e","GraphDisplay","setCurNode","React","useState","defaultGraphDisplayState","forceRef","useRef","useEffect","current","d3Force","d3","abs","vx","vy","interval","setInterval","clearInterval","enableNodeDrag","linkDirectionalParticles","linkDirectionalParticleWidth","linkRiskPercentile","calcLinkParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleSpeed","onNodeClick","event","linkDirectionalArrowLength","linkWidth","linkDirectionalArrowRelPos","riskPercentile","calcLinkDirectionalArrowRelPos","linkCanvasObjectMode","linkCanvasObject","ctx","start","end","textPos","assign","c","relLink","maxTextLength","sqrt","pow","LABEL_NODE_MARGIN","textAngle","atan2","PI","mapLabel","font","fontSize","measureText","width","textWidth","bckgDimensions","save","translate","rotate","fillStyle","fillRect","textAlign","textBaseline","fillText","restore","nodeCanvasObject","globalScale","NODE_R","nodeSize","beginPath","arc","nodeColors","riskColor","fill","nodeRbg","ref","useStyles","makeStyles","root","nodeTable","minWidth","tableHeader","backgroundColor","nodeTableData","NodeTable","classes","hidden","displayNode","propName","includes","Date","toLocaleString","TableContainer","Table","styles","TableHead","TableRow","TableCell","align","innerTable","TableBody","entries","entry","value","button","title","icon","margin","expand","header","display","table","pagination","SelectLens","props","component","Button","onClick","setLens","lens_type","score","ToggleLensTable","toggled","lenses","first","offset","page","setPage","rowsPerPage","setRowsPerPage","getLenses","response","handleChangePage","handleChangeRowsPerPage","TablePagination","aria-label","rowsPerPageOptions","count","onChangePage","onChangeRowsPerPage","Number","pagedTable","Divider","errors","jres","NodeDetails","ToggleNodeTable","curNode","toggle","SideBarContent","theme","createStyles","padding","appBar","transition","transitions","create","easing","sharp","duration","leavingScreen","appBarShift","marginLeft","easeOut","enteringScreen","menuButton","marginRight","spacing","hide","drawer","flexShrink","drawerPaper","drawerHeader","alignItems","mixins","toolbar","justifyContent","content","flexGrow","contentShift","headerContent","close","textDecoration","SideBar","curLens","open","setOpen","AppBar","position","clsx","Toolbar","IconButton","Typography","variant","noWrap","to","Drawer","anchor","paper","paragraph","EngagementUx","GraplHeader","displayBtn","welcome","height","nav","flexDirection","dashboard","Dashboard","formContainer","btn","borderRadius","inputFiles","border","upload","succMsg","errMsg","pluginTable","boxShadow","uploadFormContainer","uploadForm","fontFamily","getPluginList","pluginList","success","plugin_list","deletePlugin","pluginName","plugins_to_delete","uploadFilesToDgraph","payload","Success","readFile","file","Promise","resolve","reject","reader","FileReader","addEventListener","fileRes","result","TextDecoder","decode","readAsText","Message","status","UploadForm","curFiles","fileMap","reads","fileRead","fileResult","path","webkitRelativePath","mozRelativePath","all","plugins","didSucceed","directory","webkitdirectory","mozdirectory","multiple","onChange","currentTarget","files","PluginTable","rows","newPage","UploadPlugin","App","exact","Boolean","match","darkTheme","createMuiTheme","palette","primary","main","rootElement","document","getElementById","ReactDOM","render","StrictMode","ThemeProvider","navigator","serviceWorker","ready","registration","unregister"],"mappings":"kUAIaA,EAAiB,WAC1B,MAAO,UAAYC,OAAOC,SAASC,SAAW,UAGrCC,EAAqB,WAC9B,MAAO,UAAYH,OAAOC,SAASC,SAAW,UCH5CE,EDLK,UAAYJ,OAAOC,SAASC,SAAW,SCkBrCG,EAAQ,SAACC,GACpB,OACE,yBAAKC,UAAY,mBACf,yBAAKA,UAAU,SAAf,WACA,yBAAKA,UAAY,iBACjB,kBAAC,IAAD,CACEC,cAAe,CAAEC,SAAU,GAAIC,SAAU,IACzCC,SAAQ,uCAAE,WAAMC,GAAN,eAAAC,EAAA,6DACRC,QAAQC,IAAI,cADJ,SAEeC,EACrBJ,EAAOH,SAAUG,EAAOF,UAHlB,OAEFA,EAFE,OAMaO,EAAML,EAAOH,SAAUC,IAG1CV,OAAOkB,QAAQC,aAAa,SAAU,GAAI,KAC1CL,QAAQC,IAAI,cAEZD,QAAQM,KAAK,iBAZP,2CAAF,uDAgBR,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOC,KAAK,WAAWC,KAAK,OAAOC,YAAY,aADjD,IAC+D,6BAC7D,kBAAC,IAAD,CAAOF,KAAK,WAAWC,KAAK,WAAWC,YAAY,aAFrD,IAEkE,6BAChE,4BAAQhB,UAAU,YAAae,KAAK,UAApC,e,SASKE,E,8EAAf,WAAsBC,GAAtB,mBAAAZ,EAAA,6DAEQa,GAAY,IAAIC,aAAcC,OAAOH,GAF7C,SAK2BI,OAAOC,OAAOC,OAAO,UAAWL,GAL3D,cAKQM,EALR,OAQQC,EAAYC,MAAMC,KAAK,IAAIC,WAAWJ,IAR9C,kBAWSC,EAAUI,KAAI,SAAAC,GAAC,OAAK,KAAOA,EAAEC,SAAS,KAAKC,OAAO,MAAIC,KAAK,KAXpE,4C,sBAeA,IAAMzB,EAAgB,uCAAG,WAAO0B,EAAkBhC,GAAzB,iBAAAG,EAAA,4DAIR,mEAJQ,SAKJW,EAAOd,EADX,mEAC+BgC,GALvB,OAKnBC,EALmB,OAOdC,EAAI,EAPU,YAOPA,EAAI,KAPG,iCAQJpB,EAAOmB,GARH,OAQnBA,EARmB,cAOGC,IAPH,gDAUhBD,GAVgB,4CAAH,wDAahB1B,EAAK,uCAAG,WAAOyB,EAAkBhC,GAAzB,iBAAAG,EAAA,+EAEcgC,MAAM,GAAD,OAAIzC,EAAJ,SAA4B,CAC/C0C,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACjB,SAAYP,EACZ,SAAYhC,IAEhBwC,QAAS,CACL,eAAgB,oBAEpBC,YAAa,YAXb,cAEEC,EAFF,gBAceA,EAAIC,OAdnB,cAcEN,EAdF,OAeJjC,QAAQC,IAAI,OAAQgC,GAfhB,kBAgBuB,SAApBA,EAAI,SAhBP,yCAkBJjC,QAAQC,IAAR,MAlBI,mBAmBG,GAnBH,0DAAH,wD,iEChFEuC,EAAyB,SAACC,EAAoCC,GACvE,IAAIC,EAAWF,EACU,kBAAdA,IACPE,EAAWF,EAAUG,MAGzB,IAAMC,EAAWH,EACZnB,KAAI,SAACuB,GAAD,OAAYA,GAAK,KACrBC,MAAK,SAAChD,EAAWyB,GAAZ,OAA0BzB,EAAIyB,KAExC,QAAiBwB,IAAbL,GAAuC,IAAbA,GAAsC,IAApBE,EAASI,OACrD,OAAO,EAGX,IAd0F,EActFC,EAAY,EAd0E,cAevEL,GAfuE,IAe1F,2BAA6B,CACrBF,GADqB,UAErBO,GAAa,IAjBqE,8BAqB1F,OAAOC,KAAKC,MAAOF,EAAYL,EAASI,OAAU,MCnBhDI,EAAW,SAACC,EAAYC,GAAsB,IAAD,gBAC3BA,GAAS,IADkB,IAC/C,2BAAkC,CAAC,IAAxBC,EAAuB,QAC9B,GAAIA,EAAKF,KAAOA,EACZ,OAAOE,GAHgC,8BAM/C,OAAO,MAiDEC,EAAyB,SAACC,EAAgBC,GACnD,IAAMC,EA/CkB,SAACF,EAAgBC,GAEzC,IAAIE,EAEAR,EAASK,EAAKI,OAAOvD,KAAMoD,EAAMJ,OACjCQ,EAEAV,EAASK,EAAKM,OAAOzD,KAAMoD,EAAMJ,OAErC,IAAKM,IAAYE,EAEb,OADA/D,QAAQiE,MAAM,0BAA2BJ,EAASH,EAAMK,GACjD,EAGX,IAAMG,EAAUL,EAAQjB,MAAQ,EAC1BuB,EAAUJ,EAAQnB,MAAQ,EAEhC,OAAOO,KAAKiB,OAAOF,EAAUC,GAAW,GA8BvBE,CAAaX,EAAMC,GAC9BJ,EAAQ,YAAII,EAAMJ,OAAOhC,KAAI,SAAAiC,GAAI,OAAIA,EAAKZ,QAEhD,OAAOJ,EAAuBoB,EAAUL,IC1D/Be,EAAW,SAACC,GACrB,IAEIC,EAAO,EAEXD,GAAO,IAGP,IADA,IAAME,EAAmBC,SAAS,mBACzB5C,EAAI,EAAGA,EAAIyC,EAAItB,OAAQnB,IACxB0C,EAAOC,IACPD,EAAOE,SAASF,EARV,MAUVA,EAXS,IAWFA,EAAcD,EAAII,WAAW7C,GAExC,OAAO0C,GAIEI,EAAc,SAACpB,EAAeqB,GACvC,MAAsB,YAAlBrB,EAAKsB,SACE,CAAC,GAAI,IAAK,KACQ,SAAlBtB,EAAKsB,SACL,CAAC,IAAK,GAAI,KAgBVD,EAAUE,IAAIvB,EAAKsB,WAKrBE,EAAiB,SAACC,GAG3B,MAAM,OAAN,OAFiC,IAApB,IAAMA,GAAmB,IAEtC,iBAGSC,EAAgB,SAACxB,EAAgBC,GAC1C,IAAMf,EAAOa,EAAuBC,EAAMC,GAE1C,OAAa,IAATf,EACO,QAEJoC,EAAepC,IC7CbuC,EAAW,SAAC3B,EAAW4B,GAChC,IAAMC,EAAuB,IAAIC,IACjCC,EAAa/B,GAAM,SAACgC,EAAkBC,GAElCL,EAAE5B,EAAMgC,EAAUC,GAjBR,SAAZC,EAAalC,EAAY6B,EAAsBD,GACjDG,EAAa/B,GAAM,SAACgC,EAAkBC,GAC9BJ,EAAQM,IAAInC,EAAKoC,IAAMJ,EAAWC,EAASG,OAI/CP,EAAQQ,IAAIrC,EAAKoC,IAAMJ,EAAWC,EAASG,KAE3CR,EAAE5B,EAAMgC,EAAUC,GAClBC,EAAUD,EAAUJ,EAASD,OAS7BM,CAAUD,EAAUJ,EAASD,OAMxBU,EAAW,SAACtC,EAAY4B,GACjC,IAAK,IAAMW,KAAQvC,EACf,GAAIwC,OAAOC,UAAUC,eAAeC,KAAK3C,EAAMuC,GAAO,CAClD,IAAMK,EAAiB5C,EAAauC,GACpC,GAAG3E,MAAMiF,QAAQD,GAAgB,CAAC,IAAD,gBACNA,GADM,IAC7B,2BAAsC,CAAC,IAA5BX,EAA2B,aACbzC,IAAjByC,EAASG,KACTR,EAAEW,EAAMN,IAHa,oCAOzBW,QAAuCpD,IAAtBoD,EAAcR,KAC/BR,EAAEW,EAAMK,KAOfb,EAAe,SAAC/B,EAAY4B,GACrC,IAAK,IAAMW,KAAQvC,EACf,GAAIwC,OAAOC,UAAUC,eAAeC,KAAK3C,EAAMuC,GAAO,CAClD,IAAMK,EAAiB5C,EAAauC,GACpC,GAAG3E,MAAMiF,QAAQD,GAAgB,CAAC,IAAD,gBACNA,GADM,IAC7B,2BAAsC,CAAC,IAA5BX,EAA2B,aACbzC,IAAjByC,EAASG,KACTR,EAAEW,EAAMN,IAHa,oCAOzBW,QAAuCpD,IAAtBoD,EAAcR,KAC/BR,EAAEW,EAAMK,KCrDtBE,EAAerH,IAEfsH,EAAW,IAAIjB,IAAI,CACrB,UACA,OACA,YACA,QACA,OACA,gBACA,4BACA,+BAGEkB,EAAoB,SAACjD,GAAuB,IAAD,gBAC1BA,GAD0B,IAC7C,2BAA0B,CAAC,IAAhBC,EAAe,QAChBA,EAAaiD,YAGnBtB,EAAS3B,GAAM,SAACA,EAAMkD,EAAWjB,GAC7B,GAAKjC,EAAaiD,aACVF,EAASZ,IAAKnC,EAAaiD,WAAWE,YAAY,IAAK,CAEvD,IAAMC,EAAU,eAAQpD,EAAaiD,mBAC7BjD,EAAaiD,WACrBT,OAAOa,KAAKD,GAAYE,SAAQ,SAASC,GAAQvD,EAAauD,GAAOH,EAAWG,MAIxF,GAAKtB,EAAiBgB,aACdF,EAASZ,IAAKF,EAAiBgB,WAAWE,YAAY,IAAK,CAE3D,IAAMC,EAAU,eAAQnB,EAAiBgB,mBACjChB,EAAiBgB,WACzBT,OAAOa,KAAKD,GAAYE,SAAQ,SAASC,GAAQtB,EAAiBsB,GAAOH,EAAWG,WApBvD,gCA4BpCC,EAAa,uCAAG,WAAOC,GAAP,mBAAAlH,EAAA,6DACnBmH,EAAQC,EAAYF,GADD,SAGPlF,MAAM,GAAD,OAAIuE,EAAJ,WACnB,CACItE,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CAAE+E,UACvB9E,QAAS,CACL,eAAgB,oBAEpBC,YAAa,YAEhB+E,MAAK,SAAA9E,GAAG,OAAIA,EAAIC,UAChB6E,MAAK,SAAA9E,GAEF,OADAtC,QAAQC,IAAI,oBAAqBqC,GAC1BA,KAEV8E,MAAK,SAAC9E,GAAD,OAASA,EAAI+E,QAClBD,MAAK,SAAC9E,GAAD,OAASA,EAAIgF,cAlBE,cAGnBhF,EAHmB,gBAoBGA,EApBH,cAoBnBiF,EApBmB,OAqBzBvH,QAAQC,IAAI,kBAAmBsH,GAC/Bf,EAAkBe,EAAcC,OAtBP,kBAuBlBD,GAvBkB,4CAAH,sDA0BbJ,EAAc,SAACM,GAoFxB,MAlFW,kDAEkBA,EAFlB,+vECrETC,EAAa,SAACC,EAASC,GACzB,IAAIC,GAAS,EAQb,OAPAC,EAAaF,GAAG,SAAC7B,GACRC,OAAOC,UAAUC,eAAeC,KAAKwB,EAAG5B,KACzC8B,GAAS,EACRF,EAAU5B,GAAS6B,EAAU7B,OAI/B8B,GAIEE,EAAc,SAACC,EAA0BC,GAIlD,IAAKA,EAAO1E,QAAU0E,EAAOC,MAEzB,OAAO,KAGX,IAToG,EAS9FC,EAA8B,CAAC5E,MAAO,GAAI2E,MAAO,IAEnDE,GAAU,EAER7E,EAAQ,IAAI8E,IACZH,EAAQ,IAAIG,IAdkF,cAgBjFL,EAASzE,OAhBwE,IAgBpG,2BAAmC,CAAC,IAAzBC,EAAwB,QAC/BD,EAAM+E,IAAI9E,EAAKoC,IAAKpC,IAjB4E,kDAoB9EyE,EAAO1E,OApBuE,IAoBpG,2BAAoC,CAAC,IAA1BgF,EAAyB,QAC1B/E,EAAOD,EAAMiF,IAAID,EAAQ3C,KAC3BpC,EACIkE,EAAWlE,EAAM+E,KACjBH,GAAU,IAGd7E,EAAM+E,IAAIC,EAAQ3C,IAAK2C,GACvBH,GAAU,IA5BkF,kDAiCjFJ,EAASE,OAjCwE,IAiCpG,2BAAmC,CAAC,IAAzBxE,EAAwB,QAC/B,GAAIA,EAAM,CACN,IAAMI,EAASJ,EAAKI,OAAO8B,KAAOlC,EAAKI,OACjCE,EAASN,EAAKM,OAAO4B,KAAOlC,EAAKM,OACvCkE,EAAMI,IACFxE,EAASJ,EAAK+E,MAAQzE,EACtBN,KAvCwF,kDA4C9EuE,EAAOC,OA5CuE,IA4CpG,2BAAoC,CAAC,IAA1BQ,EAAyB,QAC1BC,EAAiBD,EAAQ5E,QAAU4E,EAAQ5E,OAC3C8E,EAAiBF,EAAQ1E,QAAU0E,EAAQ1E,OACpCkE,EAAMM,IAAIG,EAAgBD,EAAQD,MAAQG,KAEnDV,EAAMI,IAAII,EAAQ5E,OAAS4E,EAAQD,MAAQC,EAAQ1E,OAAQ0E,GAC3DN,GAAU,IAlDkF,8BAwDpG,OAFAD,EAAY5E,MAAQnC,MAAMC,KAAKkC,EAAMzD,UACrCqI,EAAYD,MAAQ9G,MAAMC,KAAK6G,EAAMpI,UACjCsI,EACOD,EAEA,MCCTU,EAAc,SAACrF,GACjB,IAAMsF,EAAItF,EAAKmD,aAAenD,EAAKuF,UAEnC,OAAID,EACI1H,MAAMiF,QAAQyC,GACPA,EAAE,GAENA,GAGX9I,QAAQM,KAAK,gCAAiCkD,GACvC,YAGX,SAASwF,EAAUC,EAAaC,GAG5B,OADwB/F,KAAKC,MAAMD,KAAKgG,UAAYD,EAAMD,EAAM,GAAKA,GAKlE,IAAMG,EAAyB,SAACC,GAEnC,IAAM9F,EAAmB,GACnB2E,EAAmB,GAEnBoB,EAAgC,IAAIjB,KHhCb,SAApBkB,EAAqB/F,EAAYgG,GAC1C1D,EAAStC,GAAM,SAACgC,EAAkBC,GAC9B+D,EAAShG,EAAMgC,EAAUC,GAEzB8D,EAAkB9D,EAAU+D,MG8BhCD,CAAkBF,GACd,SAACI,EAAoBjE,EAAkBkE,GACnC,GAAgB,UAAblE,EAAqB,CAEpB,GAA6B,YAA1BqD,EAAYY,GACX,OAGJ,GAA2B,YAAxBZ,EAAYa,GACX,OAGJ,GAA6B,SAA1Bb,EAAYY,GACX,OAGJ,GAA2B,SAAxBZ,EAAYa,GACX,OAGJxB,EAAMyB,KAAK,CACP7F,OAAQ2F,EAAS7D,IACjB6C,MAAOjD,EACPxB,OAAQ0F,EAAO9D,UHhEN,SAAhBgE,EAAiBpG,EAAYgG,GACtCA,EAAShG,GACTsC,EAAStC,GAAM,SAAChE,EAAGiG,GACfmE,EAAcnE,EAAU+D,MGkE5BI,CAAcP,GAAY,SAAC7F,GACvB,IAAMsB,EAAW+D,EAAYrF,GAE7B,GAAgB,YAAbsB,GAIa,SAAbA,EAAH,CAIA,IAAM+E,EC9IO,SAAC/E,EAAkBtB,GACpCxD,QAAQC,IAAI,WAAY6E,GAExB,IAAMgF,EAAQtG,EAEd,OAAOsB,GACH,IAAK,UAAW,OAAOgF,EAAMC,cAAgBD,EAAME,YAAc,UACjE,IAAK,QAAS,OAAOF,EAAM1K,UAAY,QACvC,IAAK,OAAQ,OAAO0K,EAAMG,WAAa,OACvC,IAAK,YAAa,OAAOH,EAAMI,aAAe,YAC9C,IAAK,OAAS,OAAOJ,EAAMK,WAAa,OACxC,QAAS,OAAOrF,GAAY,IDmIVsF,CAAatF,EAAUtB,GAEnC6G,EAAY,eAAO7G,GAEzB6G,EAAazH,KAAOyH,EAAazH,MAAQ,EACzCyH,EAAaC,eAAiBD,EAAaC,gBAAkB,GAhBnB,oBAkBxB9G,EAAK+G,OAAS,IAlBU,IAkB1C,IAAI,EAAJ,qBAAmC,CAAC,IAA1B3H,EAAyB,QAC/ByH,EAAazH,MAAQA,EAAK4H,YAAc,EACpCH,EAAaC,gBAAkB1H,EAAK6H,gBAEpCJ,EAAaC,gBAAkB,MAEnCD,EAAaC,gBAAkB1H,EAAK6H,eAAiB,IAxBf,8BA2B1C3E,EAAStC,GAAM,SAACkH,EAAcC,GAGzBN,EAAqBK,QAAQ1H,KAGlC,IAAM4H,EAAO,aACTrK,KAAMiD,EAAKoC,KACRyE,EAFM,CAGT/G,GAAIE,EAAKoC,IACTd,WACA+E,YACAlC,EAAG,IAAMqB,EAAU,EAAG,IACtBpB,EAAG,IAAMoB,EAAU,EAAG,MAG1BM,EAAQhB,IAAI9E,EAAKoC,IAAKgF,OA9EyE,oBAiF5EtB,EAAQxJ,UAjFoE,IAiFnG,2BAAiD,CAAC,IAAvC8K,EAAsC,QAC7CrH,EAAMoG,KAAKiB,IAlFoF,8BAqFnG,MAAO,CACHrH,QACA2E,UE5JF2C,G,OAAU,SAACC,EAAWC,EAAWC,GAGnC,IAAMC,EAAID,EAAI,GAAMA,GAAK,EAAID,GAAKC,EAAID,EAAIC,EAAID,EACxCG,EAAI,EAAIF,EAAIC,EAElB,MAAO,EALPH,GAAK,KAKO,EAAI,EAAGA,EAAGA,EAAI,EAAI,GAAGvJ,KAAI,SAAC4J,GAgBlC,OAfIA,EAAQ,GACRA,IAEAA,EAAQ,GACRA,IAGAA,EADAA,EAAQ,EAAI,EACJD,EAAc,GAATD,EAAIC,GAASC,EACnBA,EAAQ,GACPF,EACDE,EAAQ,EAAI,EACXD,EAAc,GAATD,EAAIC,IAAU,EAAI,EAAIC,GAE3BD,EAEL/H,KAAKiB,MAAc,IAAR+G,QAIpB9E,EAAU,SAAC+E,GACb,MAA6C,mBAAtCpF,OAAOC,UAAUxE,SAAS0E,KAAKiF,IAS7BC,EACT,WAAYC,GAAwC,IAAD,gCAoCnDC,IAAM,SAAChH,GACH,IAAIuG,EAAGC,EACHvG,EAAO,EAAKA,KAAKD,GAErB,GAAI,EAAKiH,UAAUvI,OAAQ,CACvB,IAAMwI,EAAQ,EAAKD,UAAUhH,EAAO,EAAKgH,UAAUvI,QAEnD6H,EAAMtG,EAAO,EAAKgH,UAAUvI,OADN,KACkCwI,EAAMvC,IAAMuC,EAAMxC,KADpD,IAC2EwC,EAAMxC,SAEvG6B,EAAItG,EAAO,IAOf,OALAA,EAAOE,SAASF,EAAO,KACvBuG,EAAI,EAAKA,EAAEvG,EAAO,EAAKuG,EAAE9H,QACzBuB,EAAOE,SAASF,EAAO,EAAKuG,EAAE9H,QAGvB,CAAC6H,EAAGC,EAFP,EAAKC,EAAExG,EAAO,EAAKwG,EAAE/H,UAlDsB,KA8DnD8B,IAAM,SAACR,GACH,IAAMgH,EAAM,EAAKA,IAAIhH,GACrB,OAAOsG,EAAQa,MAAM,EAAMH,IA7D3B,IAAMI,EAAK,EAFXL,EAAUA,GAAW,IAEDM,UAAWN,EAAQO,YAAYtK,KAAI,SAACuK,GAEpD,OAAOzF,EADPyF,EAAQA,GAAS,CAAC,IAAM,GAAK,MACLA,EAAMC,SAAW,CAACD,MAG9CE,KAAKhB,EAAIW,EAAG,GACZK,KAAKjB,EAAIY,EAAG,GAEe,kBAAhBL,EAAQW,MACfX,EAAQW,IAAM,CAAChD,IAAKqC,EAAQW,IAAK/C,IAAKoC,EAAQW,MAEvB,kBAAhBX,EAAQW,KAAqB5F,EAAQiF,EAAQW,OACpDX,EAAQW,IAAM,CAACX,EAAQW,MAEA,qBAAhBX,EAAQW,MACfX,EAAQW,IAAM,IAElBD,KAAKR,UAAYF,EAAQW,IAAI1K,KAAI,SAAUkK,GACvC,MAAO,CACHxC,IAA0B,qBAAdwC,EAAMxC,IAAsB,EAAIwC,EAAMxC,IAClDC,IAA0B,qBAAduC,EAAMvC,IAAsB,IAAMuC,EAAMvC,QAI5D8C,KAAKxH,KAAO8G,EAAQ9G,MAAQF,GA0CvBwD,EAAe,SAACtE,EAAY4B,GACrC,IAAK,IAAMW,KAAQvC,EACXwC,OAAOC,UAAUC,eAAeC,KAAK3C,EAAMuC,KACvC3E,MAAMiF,QAAQ7C,EAAKuC,IACfvC,EAAKuC,GAAM9C,OAAS,QACMD,IAAtBQ,EAAKuC,GAAM,GAAGH,KACdR,EAAEW,GAIVX,EAAEW,KAWZmG,EAAW,uCAAG,WAChBzE,EACA0E,EACAC,GAHgB,SAAArM,EAAA,yDAKX0H,EALW,iEASVT,EAAcS,GACfL,KADC,uCACI,WAAOI,GAAP,iBAAAzH,EAAA,sDACIkI,EAASmB,EAAuB5B,GACtCxH,QAAQC,IAAI,SAAUgI,GAEF,QADdoE,EAActE,EAAYoE,EAAMG,UAAWrE,MAEzCkE,EAAMI,cAAgB9E,EACtB2E,EAAS,eACFD,EADC,CAEJI,YAAa9E,EACb6E,UAAWD,KAGfD,EAAS,eACFD,EADC,CAEJI,YAAa9E,EACb6E,UAAWrE,MAfrB,2CADJ,uDAqBDuE,OAAM,SAACC,GAAD,OAAOzM,QAAQiE,MAAM,2BAA4BwI,MA9B5C,2CAAH,0DA2NFC,GAzKM,SAAC,GAA+C,IAA9CjF,EAA6C,EAA7CA,SAAUkF,EAAmC,EAAnCA,WAAmC,EACtCC,IAAMC,SARH,SAACpF,GAC9B,MAAO,CACH6E,UAAW,CAAC/I,MAAO,GAAI2E,MAAO,IAC9BqE,YAAa9E,GAKwBqF,CAAyBrF,IADF,mBACzD0E,EADyD,KAClDC,EADkD,KAE1DW,EAAWC,iBAAO,MAExBC,qBAAU,WAENF,EAASG,QAAQC,QAAQ,OAAQC,OACjCL,EAASG,QAAQC,QAAQ,UAAWC,IAAgB,KACpDL,EAASG,QAAQC,QAAQ,SAAUC,OACnCL,EAASG,QAAQC,QAAQ,OAAO,WAI5BhB,EAAMG,UAAU/I,MAAMuD,SAAQ,SAAAtD,GAC1B,IAAMmE,EAAInE,EAAKmE,GAAK,EAAGC,EAAIpE,EAAKoE,GAAK,EAEjCzE,KAAKkK,IAAI1F,GAJQ,MAKjBnE,EAAK8J,KAAO,GAEZnK,KAAKkK,IAAIzF,GAPQ,MAQjBpE,EAAK+J,KAAO,WAIzB,CAACpB,IAGJc,qBAAU,WACNf,EAAYzE,EAAU0E,EAAOC,GAC7B,IAAMoB,EAAWC,YAAW,sBAAC,sBAAA1N,EAAA,0DACrB0H,EADqB,gCAEfyE,EAAYzE,EAAU0E,EAAOC,GAFd,2CAI1B,KACH,OAAO,kBAAMsB,cAAcF,MAC5B,CAAC/F,EAAU0E,IAEd,IAAMG,EAAYH,EAAMG,UAElBzH,EAAY,IAAIwG,EAAU,IAIhC,OACI,oCACI,kBAAC,IAAD,CACIiB,UAAWA,EACXzC,UAAW,SAACrG,GAAD,OAAgBA,EAAKqG,WAChC8D,gBAAgB,EAChBC,yBAA0B,EAC1BC,6BAA8B,SAACnK,GAC3B,OP/LiB,SAACA,EAAgBC,GAClD,IAAMmK,EAAqBrK,EAAuBC,EAAMC,GACxD,OAAImK,GAAsB,GACf,EACAA,GAAsB,GACtB,EACAA,GAAsB,GACtB,EAEA,EOsLYC,CAAsBrK,EAAM4I,IAEvC0B,6BAA8B,SAACtK,GAC3B,OAAOwB,EAAcxB,EAAM4I,IAE/B2B,6BAA8B,KAC9BC,YACI,SAAC1K,EAAY2K,GACTxB,EAAWnJ,IAGnB4K,2BAA4B,EAC5BC,UAAW,EACXC,2BAA6B,SAAA5K,GACzB,OP9O0B,SAACA,EAAgBC,GAC3D,IAAMH,EAEFH,EAASK,EAAKM,OAAOzD,KAAMoD,EAAMJ,OAErC,GAAa,OAATC,GAA+B,IAAdA,EAAKZ,KACtB,OAAO,EAEX,IAAMW,EAAQ,YAAII,EAAMJ,OAAOhC,KAAI,SAAAiC,GAAI,OAAIA,EAAKZ,QAC1C2L,EAAiB/L,EAAuBgB,EAAKZ,KAAMW,GAEzD,OAAuB,IAAnBgL,EACO,EAGPA,GAAkB,GACX,IACAA,GAAkB,GAClB,GACAA,GAAkB,GAClB,IAEA,EOwNYC,CAA+B9K,EAAM4I,IAEhDmC,qBAAuB,iBAAM,SAC7BC,iBAAmB,SAAChL,EAAgBiL,GAChC,IAEMC,EAAQlL,EAAKI,OACb+K,EAAMnL,EAAKM,OAIjB,GAFAN,EAAKyH,MAAQjG,EAAcxB,EAAM4I,GAEZ,kBAAVsC,GAAqC,kBAARC,EAAxC,CAEA,IAAMC,EAAU9I,OAAO+I,OAAP,MAAA/I,OAAM,YACf,CAAC,IAAK,KAAKzE,KAAI,SAACyN,GAAD,sBAETA,EAAIJ,EAAMI,IAAMH,EAAIG,GAAKJ,EAAMI,IAAM,QAK5CC,EAAU,CAACtH,EAAGkH,EAAIlH,EAAIiH,EAAMjH,EAAGC,EAAGiH,EAAIjH,EAAIgH,EAAMhH,GAEhDsH,EAAgB/L,KAAKgM,KAAKhM,KAAKiM,IAAIH,EAAQtH,EAAG,GAAKxE,KAAKiM,IAAIH,EAAQrH,EAAG,IAAMyH,GAE/EC,EAAYnM,KAAKoM,MAAMN,EAAQrH,EAAGqH,EAAQtH,GAE1C2H,EAAYnM,KAAKqM,GAAK,IAAGF,IAAcnM,KAAKqM,GAAKF,IACjDA,GAAanM,KAAKqM,GAAK,IAAGF,KAAenM,KAAKqM,GAAKF,IAEvD,IAAM7G,ED5RT,SAACA,GACd,MAAc,aAAVA,EACO,WAEJA,ECwRuBgH,CAAS/L,EAAK+E,OAE5BkG,EAAIe,KAAO,aACX,IAAMC,EAAWxM,KAAK8F,IA7BA,EA6BmBiG,EAAgBP,EAAIiB,YAAYnH,GAAOoH,OAChFlB,EAAIe,KAAJ,UAAcC,EAAW,EAAzB,YAEA,IAAIG,EAAYnB,EAAIiB,YAAYnH,GAAOoH,MAIjCE,EAAiB,CAFvBD,GAAa3M,KAAKiB,MAAkB,IAAZ0L,GAEWH,GAAUpO,KAAI,SAAAuB,GAAC,OAAIA,EAAe,GAAX6M,KAE1DhB,EAAIqB,OACJrB,EAAIsB,UAAUnB,EAAQnH,EAAGmH,EAAQlH,GACjC+G,EAAIuB,OAAOZ,GACXX,EAAIwB,UAAY,qBAChBxB,EAAIyB,SAAJ,MAAAzB,EAAG,EAAWoB,EAAe,GAAK,GAAIA,EAAe,GAAK,GAAvD,mBAA6DA,KAChEpB,EAAI0B,UAAY,SAChB1B,EAAI2B,aAAe,SACnB3B,EAAIwB,UAAY,QAEhBxB,EAAI4B,SAAS9H,EAAO,IAAK,GACzBkG,EAAI6B,YAERC,iBAAmB,SAACjN,EAAYmL,EAAU+B,GAGtC,IAAMC,ER7SF,SAACnN,EAAeG,GACpC,IAAMJ,EAAQ,YAAII,EAAMJ,OAAOhC,KAAI,SAAAiC,GAAI,OAAIA,EAAKZ,QAC1C2L,EAAiB/L,EAAuBgB,EAAKZ,KAAMW,GAEzD,OAAIgL,GAAkB,GACX,EACAA,GAAkB,GAClB,EAEA,EQoSoBqC,CAASpN,EAAM8I,GAC9BqC,EAAIqB,OAGJrB,EAAIkC,YACJlC,EAAImC,IAAItN,EAAKmE,EAAGnE,EAAKoE,EAAY,IAAT+I,EAAc,EAAG,EAAIxN,KAAKqM,IAAI,GACtDb,EAAIwB,UN9QC,SAAC3M,EAAeG,EAAiBkB,GACtD,IAAMtB,EAAQ,YAAII,EAAMJ,OAAOhC,KAAI,SAAAiC,GAAI,OAAIA,EAAKZ,QAE1C2L,EAAiB/L,EAAuBgB,EAAKZ,KAAMW,GAEzD,GAAuB,IAAnBgL,EAAsB,CACtB,IAAMwC,EAAanM,EAAYpB,EAAMqB,GACrC,MAAM,QAAN,OAAekM,EAAW,GAA1B,aAAiCA,EAAW,GAA5C,aAAmDA,EAAW,GAA9D,QAGJ,OAAO/L,EAAeuJ,GMoQUyC,CAAUxN,EAAM8I,EAAWzH,GAC3C8J,EAAIsC,OACJtC,EAAI6B,UAEJ7B,EAAIqB,OAGJrB,EAAIkC,YACJlC,EAAImC,IAAItN,EAAKmE,EAAGnE,EAAKoE,EAAY,IAAT+I,EAAc,EAAG,EAAIxN,KAAKqM,IAAI,GAEtD,IAAM0B,EAAUtM,EAAYpB,EAAMqB,GAElC8J,EAAIwB,UAAJ,eAAwBe,EAAQ,GAAhC,aAAuCA,EAAQ,GAA/C,aAAsDA,EAAQ,GAA9D,QACAvC,EAAIsC,OACJtC,EAAI6B,UAEJ,IAAM/H,EAAQjF,EAAKqG,UAEb8F,EAAW,GAAKe,EAEtB/B,EAAIe,KAAJ,UAAcC,EAAd,YAGA,IAEMI,EAAiB,CAFLpB,EAAIiB,YAAYnH,GAAOoH,MAENF,GAAUpO,KAAI,SAAAuB,GAAC,OAAIA,EAAe,GAAX6M,KAE1DhB,EAAIwB,UAAY,wBAChBxB,EAAIyB,SAAJ,MAAAzB,EAAG,CAAUnL,EAAKmE,EAAIoI,EAAe,GAAK,EAAGvM,EAAKoE,EAAImI,EAAe,GAAK,GAAvE,mBAA6EA,KAChFpB,EAAI0B,UAAY,SAChB1B,EAAI2B,aAAe,SACnB3B,EAAIwB,UAAY,QAChBxB,EAAI4B,SAAS9H,EAAOjF,EAAKmE,EAAGnE,EAAKoE,IAGrCuJ,IAAKpE,M,sECpWfqE,GAAYC,aAAW,CACzBC,KAAM,CACF3B,SAAU,SAEd4B,UAAW,CACPC,SAAU,KAEdC,YAAa,CACT9B,SAAU,SACV+B,gBAAiB,WAErBC,cAAe,CACXhC,SAAU,YAyFFiC,OAzDhB,YAA2C,IAAvBpO,EAAsB,EAAtBA,KACVqO,EAAUT,KACVU,EAAS,IAAIxM,IACf,CAAC,KAAM,cAAe,cAAe,eAAgB,QAAQ,MAAO,QAAS,OAAQ,WAAY,YAAa,IAAK,IAAK,QAAS,KAAM,KAAM,KAAM,OAGvJC,EAAa/B,GAAM,SAACgC,EAAkBmF,GAClCmH,EAAOjM,IAAIL,MAGf,IAAMuM,EAAc,GAmBhB,OAjBJjK,EACItE,GACA,SAACwO,GACG,IAAMjM,EAAQvC,EAAawO,GAEvBF,EAAOnM,IAAIqM,IACPjM,IACIiM,EAASC,SAAS,SAClBF,EAAYC,GAAY,IAAIE,KAAKnM,GAAMoM,iBAEvCJ,EAAYC,GAAYjM,MAQpC,kBAACqM,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAO5S,UAAWoS,EAAQN,WA3D1C,SAAoB/N,EAAY8O,GAC5B,OAAG9O,EAEC,kBAAC+O,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CACIC,MAAM,OACNjT,UAAW6S,EAAOb,aAClB,0CAEJ,kBAACgB,GAAA,EAAD,CACIC,MAAM,OACNjT,UAAW6S,EAAOb,aAElB,yCAML,qCAyCKkB,CAAWnP,EAAMqO,GAErB,kBAACe,GAAA,EAAD,KAEY5M,OAAO6M,QAAQd,GAAaxQ,KAAI,SAACuR,GAAW,IAAD,cAClBA,EADkB,GAChC/L,EADgC,KAC3BgM,EAD2B,KAGvC,OACI,kBAACP,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAWhT,UAAaoS,EAAQF,cAAee,MAAM,QAAO,2BAAI3L,IAChE,kBAAC0L,GAAA,EAAD,CAAWhT,UAAaoS,EAAQF,cAAee,MAAM,QAAQK,W,6FChF/F3B,GAAYC,aAAW,CACzBC,KAAK,CACD3B,SAAU,QAEdqD,OAAQ,CACJnD,MAAO,QACP1E,MAAO,QACPuG,gBAAgB,WAEpBuB,MAAO,CACHtD,SAAU,OACVxE,MAAO,WAEX+H,KAAK,CACD/H,MAAO,UACPgI,OAAQ,iBAEZC,OAAO,CACHjI,MAAO,UACPgI,OAAQ,OAEZE,OAAO,CACHC,QAAS,QAEbC,MAAO,CACH/B,SAAU,KAEd/J,SAAU,CACNkI,SAAU,QAEd6D,WAAY,CACRL,OAAQ,QACRzB,gBAAiB,aAKzB,SAAS+B,GAAWC,GAChB,IAAM7B,EAAUT,KAChB,OACI,oCACI,kBAACoB,GAAA,EAAD,CAAUzL,IAAK2M,EAAM9N,KACjB,kBAAC6M,GAAA,EAAD,CAAWkB,UAAU,KAAKnM,MAAM,OAChC,kBAACoM,GAAA,EAAD,CAAQnU,UAAaoS,EAAQpK,SACzBoM,QACI,WACIH,EAAMI,QAAQJ,EAAMzM,QAI3ByM,EAAMK,UAAY,SAAWL,EAAMzM,KAAO,OAASyM,EAAMM,UAkE9E,SAASC,GAAT,GAA6D,IAAlCH,EAAiC,EAAjCA,QAAiC,EAC9BjH,mBA1DnB,CACHqH,SAAS,EACTC,OAAQ,GACRC,MAAO,IACPC,OAAQ,IAqD4C,mBACjDlI,EADiD,KAC1CC,EAD0C,KAElDyF,EAAUT,KAFwC,EAIhCvE,mBAAS,GAJuB,mBAIjDyH,EAJiD,KAI3CC,EAJ2C,OAKlB1H,mBAAS,IALS,mBAKjD2H,EALiD,KAKpCC,EALoC,KAmCxD,OApBAxH,qBAAW,WACP,IAAMO,EAAWC,aACb,WACAzN,QAAQC,IAAI,mBACZyU,GAAUvI,EAAMiI,MAAOjI,EAAMkI,QACxBjN,MAAK,SAACuN,GACH,GAAIA,EAASR,QAAUQ,EAASR,SAAWhI,EAAMgI,OAAQ,CACrD,IAAMA,EAAShI,EAAMgI,OAAOpI,OAAO4I,EAASR,QAC5C/H,EAAS,eACFD,EADC,CAEJkI,OAAQlI,EAAMkI,OAASM,EAASR,OAAOlR,QAAU,EACjDkR,kBAKjB,KACH,OAAO,kBAAMzG,cAAcF,OAI3B,oCACI,yBAAK/N,UAAWoS,EAAQwB,QACpB,uBAAG5T,UAAWoS,EAAQoB,OAClB,kBAAC,KAAD,CAAiBxT,UAAaoS,EAAQqB,OAD1C,UAIA,kBAACU,GAAA,EAAD,CACInU,UAAaoS,EAAQmB,OACrBa,QAAS,WACLzH,EAAS,eACFD,EADC,CAEJ+H,SAAU/H,EAAM+H,aAGxB,kBAAC,KAAD,CAAgBzU,UAAWoS,EAAQuB,WAI3C,yBAAK3T,UAAU,cAEP0M,EAAM+H,SAxGP,SACf/H,EACAmI,EACAE,EACAI,EACAC,EACAf,EACAjC,GAEA,OACI,kBAACO,GAAA,EAAD,KACA,kBAAC0C,GAAA,EAAD,CACIrV,UAAaoS,EAAQ2B,WACrBuB,aAAa,aACbC,mBAAoB,CAAC,EAAG,GAAI,IAC5BrB,UAAU,MACVsB,MAAO9I,EAAMgI,OAAOlR,OACpBuR,YAAaA,EACbF,KAAMA,EACNY,aAAcN,EACdO,oBAAqBN,IAGrB1I,EAAMgI,OACLzS,MAAM4S,EAAOE,EAAaF,EAAOE,EAAcA,GAC/CjT,KACG,SAAC0F,GACG,OACI,kBAACoL,GAAA,EAAD,CAAO5S,UAAWoS,EAAQ0B,MAAOwB,aAAW,cACxC,kBAACnC,GAAA,EAAD,KACI,kBAACa,GAAD,CACI1M,IAAKqO,OAAOnO,EAAKrB,KACjBA,IAAKqB,EAAKrB,IACVqB,KAAMA,EAAKkD,UACX4J,UAAW9M,EAAK8M,UAChBC,MAAO/M,EAAK+M,MACZF,QAASA,UAqEzBuB,CAAWlJ,EAAOmI,EAAME,GAnDf,SAACrG,EAA+DmG,GACrFC,EAAQD,MAEoB,SAACnG,GAC7BnO,QAAQC,IAAI,mBAAoBkO,GAChCsG,EAAe/P,SAASyJ,EAAMnK,OAAO+O,MAAO,KAC5CwB,EAAQ,KA6CoFT,EAASjC,IAIjG,kBAACyD,GAAA,EAAD,OAKZ,IAAMhP,GAAerH,IAEfyV,GAAS,uCAAG,WAAON,EAAeC,GAAtB,mBAAAtU,EAAA,6DAGRmH,EAHQ,iDAKUkN,EALV,qBAK4BC,EAL5B,kLAeItS,MAAM,GAAD,OAAIuE,GAAJ,WACnB,CACItE,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CAAE+E,MAAOA,IAC9B9E,QAAS,CACL,eAAgB,oBAEpBC,YAAa,YAEhB+E,MAAK,SAAA9E,GAAG,OAAIA,EAAIC,UAChB6E,MAAK,SAAA9E,GAKF,OAJIA,EAAIiT,SACJvV,QAAQiE,MAAM,gBAAiB3B,EAAIiT,QACnCjT,EAAI+E,KAAO,CAAC8M,OAAQ,KAEjB7R,KAEV8E,MAAK,SAAC9E,GAAD,OAASA,EAAI+E,QAhCT,cAeR/E,EAfQ,gBAkCSA,EAlCT,cAkCJkT,EAlCI,yBAmCPA,GAnCO,2CAAH,wDAsCTC,GAAc,SAAC,GAA8B,IAA7BjS,EAA4B,EAA5BA,KAClB,OACI,oCACI,kBAAC,GAAD,CAAWA,KAAMA,MAK7B,SAASkS,GAAT,GAA2D,IAAjCC,EAAgC,EAAhCA,QAAgC,EAC5B9I,oBAAS,GADmB,mBAC/CqH,EAD+C,KACtC0B,EADsC,KAEhD/D,EAAUT,KAChB,OACI,oCACA,6BACI,yBAAK3R,UAAWoS,EAAQwB,QACpB,uBAAG5T,UAAWoS,EAAQoB,OAAO,kBAAC,KAAD,CAAUxT,UAAWoS,EAAQqB,OAA1D,SACA,kBAACU,GAAA,EAAD,CACInU,UAAaoS,EAAQmB,OACrBa,QACI,WAAQ+B,GAAO,SAAA1B,GAAO,OAAKA,OAE/B,kBAAC,KAAD,CAAgBzU,UAAWoS,EAAQuB,WAI3C,yBAAK3T,UAAU,cAEPyU,GAAWyB,GACP,oCACM,kBAAC,GAAD,CAAanS,KAAMmS,QAWlC,SAASE,GAAT,GAAkE,IAAzC/B,EAAwC,EAAxCA,QAAS6B,EAA+B,EAA/BA,QAC7C,OACI,oCACI,kBAAC1B,GAAD,CAAiBH,QAASA,IAC1B,kBAAC4B,GAAD,CAAiBC,QAASA,K,0HC3QhCvE,GAAYC,cAAW,SAACyE,GAAD,OAC3BC,aAAa,CACXzE,KAAM,CACJgC,QAAS,QAEXN,OAAQ,CACNtB,gBAAiB,UACjByB,OAAQ,UACR6C,QAAS,WAEXC,OAAQ,CACNC,WAAYJ,EAAMK,YAAYC,OAAO,CAAC,SAAU,SAAU,CACxDC,OAAQP,EAAMK,YAAYE,OAAOC,MACjCC,SAAUT,EAAMK,YAAYI,SAASC,iBAGzCC,YAAa,CACX5G,MAAM,eAAD,OAnBS,IAmBT,OACL6G,WApBc,IAqBdR,WAAYJ,EAAMK,YAAYC,OAAO,CAAC,SAAU,SAAU,CACxDC,OAAQP,EAAMK,YAAYE,OAAOM,QACjCJ,SAAUT,EAAMK,YAAYI,SAASK,kBAGzCC,WAAY,CACVC,YAAahB,EAAMiB,QAAQ,GAC3B5L,MAAO,WAET6L,KAAM,CACJ1D,QAAS,QAEX2D,OAAQ,CACNpH,MAlCc,IAmCdqH,WAAY,GAEdC,YAAa,CACXtH,MAtCc,KAwChBuH,aAAa,aACX9D,QAAS,OACT+D,WAAY,SACZrB,QAASF,EAAMiB,QAAQ,EAAG,IAEvBjB,EAAMwB,OAAOC,QALN,CAMVC,eAAgB,aAElBC,QAAS,CACPC,SAAU,EACV1B,QAASF,EAAMiB,QAAQ,GACvBb,WAAYJ,EAAMK,YAAYC,OAAO,SAAU,CAC7CC,OAAQP,EAAMK,YAAYE,OAAOC,MACjCC,SAAUT,EAAMK,YAAYI,SAASC,gBAEvCE,YAvDc,KAyDhBiB,aAAc,CACZzB,WAAYJ,EAAMK,YAAYC,OAAO,SAAU,CAC7CC,OAAQP,EAAMK,YAAYE,OAAOM,QACjCJ,SAAUT,EAAMK,YAAYI,SAASK,iBAEvCF,WAAY,GAEdjP,SAAS,CACP0D,MAAM,UACNwE,SAAU,UAEZ0D,OAAO,CACL1D,SAAU,QAEZiI,cAAe,CACb/H,MAAO,QACPyD,QAAS,OACTkE,eAAgB,iBAElBK,MAAM,CACJ1M,MAAM,WAERzH,KAAM,CACJyH,MAAO,UACP2M,eAAgB,aAWP,SAASC,GAAT,GAA6D,IAA3CjE,EAA0C,EAA1CA,QAASkE,EAAiC,EAAjCA,QAASrC,EAAwB,EAAxBA,QAC3C9D,EAAUT,KADyD,EAGjDxE,IAAMC,UAAS,GAHkC,mBAGlEoL,EAHkE,KAG5DC,EAH4D,KAazE,OACE,yBAAKzY,UAAWoS,EAAQP,MAEtB,kBAAC6G,GAAA,EAAD,CACEC,SAAS,QACT3Y,UACE4Y,aAAKxG,EAAQoE,OAAT,eACDpE,EAAQ4E,YAAcwB,KAG3B,kBAACK,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CACEpN,MAAM,UACN4J,aAAW,cACXlB,QAtBe,WACvBqE,GAAQ,IAsBAxN,KAAK,QACLjL,UAAW4Y,aAAKxG,EAAQgF,WAAYoB,GAAQpG,EAAQmF,OALtD,UAWA,yBAAKvX,UAAWoS,EAAQ+F,eACtB,kBAACY,GAAA,EAAD,CACEC,QAAQ,KACRC,QAAM,GAEN,uBAAGjZ,UAAWoS,EAAQwB,QAAtB,YAEE,kBAAC,KAAD,CAAMsF,GAAK,IAAIlZ,UAAaoS,EAAQnO,MAAM,kBAAC,KAAD,UAMpD,kBAACkV,GAAA,EAAD,CACEnZ,UAAWoS,EAAQoF,OACnBwB,QAAQ,aACRI,OAAO,OACPZ,KAAMA,EACNpG,QAAS,CACPiH,MAAOjH,EAAQsF,cAGjB,yBAAK1X,UAAWoS,EAAQuF,cACtB,kBAACxD,GAAA,EAAD,CAAQC,QAjDU,WACxBqE,GAAQ,KAgDkC,kBAAC,KAAD,CAAuBzY,UAAWoS,EAAQgG,UAGhF,kBAACvC,GAAA,EAAD,MAEA,kBAACO,GAAD,CACA/B,QAASA,EACT6B,QAASA,KAKX,0BACElW,UAAW4Y,aAAKxG,EAAQ4F,QAAT,eACZ5F,EAAQ8F,aAAeM,KAG1B,yBAAKxY,UAAYoS,EAAQuF,eAC3B,wBAAI3X,UAAYoS,EAAQpK,UAErBuQ,GAAW,IAGZ,kBAACQ,GAAA,EAAD,CAAYO,WAAS,MAW7B,IAOaC,GAAe,WAAO,IAAD,EACJpM,IAAMC,SAP3B,CACLmL,QAAS,GACTrC,QAAS,OAIqB,mBACvBxJ,EADuB,KAChBC,EADgB,KAG9B,OACI,oCACI,kBAAC2L,GAAD,CACIjE,QACI,SAAC7M,GAAD,OAAkBmF,EAAS,eACpBD,EADmB,CAEtB6L,QAAS/Q,MAGjB+Q,QAAS7L,EAAM6L,QACfrC,QAASxJ,EAAMwJ,UAGnB,kBAAC,GAAD,CACIlO,SAAU0E,EAAM6L,QAChBrL,WAAY,SAACnJ,GACT4I,EAAS,eACFD,EADC,CAEJwJ,QAASnS,UC7N3B4N,GAAYC,cACd,SAACyE,GAAD,OACIC,aAAa,CACTzE,KAAM,CACFgC,QAAS,QAEbD,OAAQ,CACJmE,eAAgB,iBAEpB9T,KAAK,CACDyH,MAAM,UACN2M,eAAgB,aA+BjBmB,GApBK,SAAC,GAAoC,IAAnCC,EAAkC,EAAlCA,WACZrH,EAAUT,KAChB,OACI,oCACI,kBAAC+G,GAAA,EAAD,CAAQC,SAAS,UACb,kBAACE,GAAA,EAAD,CAAS7Y,UAAaoS,EAAQwB,QAC1B,kBAACmF,GAAA,EAAD,CAAYC,QAAQ,MAApB,SAIIS,GACI,kBAAC,KAAD,CAAMP,GAAK,IAAIlZ,UAAaoS,EAAQnO,MAAM,kBAAC,KAAD,WCnChE0N,GAAYC,cAAY,SAACyE,GAAD,OAC1BC,aAAa,CACTzE,KAAM,CACFgC,QAAS,QAEbN,OAAQ,CACJtB,gBAAiB,UACjByB,OAAQ,UACR6C,QAAS,WAEbmD,QAAS,CACLtJ,MAAM,MACNQ,UAAU,SACVqB,gBAAiB,UACjB0H,OAAQ,SAEZC,IAAK,CACDlG,OAAQ,OACRtD,MAAO,MACPyD,QAAS,OACTgG,cAAe,UAEnBC,UAAU,CACNjG,QAAS,OACTgG,cAAe,OAEnB5V,KAAK,CACDyH,MAAO,QACP2M,eAAgB,aAKb,SAAS0B,KAChB,IAAM3H,EAAUT,KAChB,OACI,oCACI,kBAAC,GAAD,CAAa8H,YAAY,IAEzB,yBAAKzZ,UAAcoS,EAAQ0H,WACvB,6BAAS9Z,UAAcoS,EAAQwH,KAE3B,kBAACzF,GAAA,EAAD,CAASnU,UAAaoS,EAAQmB,QAC1B,kBAAC,KAAD,CAAM2F,GAAK,eAAelZ,UAAaoS,EAAQnO,MAA/C,kBAGJ,kBAACkQ,GAAA,EAAD,CAASnU,UAAaoS,EAAQmB,QAC1B,kBAAC,KAAD,CAAM2F,GAAK,WAAWlZ,UAAaoS,EAAQnO,MAA3C,qBAKR,6BAASjE,UAAcoS,EAAQsH,SAC3B,sDCzDjB,IAAM/H,GAAYC,cACrB,SAACyE,GAAD,OACIC,aAAa,CACTzE,KAAM,CACFgC,QAAS,QAEbmG,cAAe,CACXtO,MAAO,QACPgI,OAAQ,QAEZuG,IAAK,CACDhI,gBAAiB,UACjByB,OAAQ,UACR6C,QAAS,UACT2D,aAAc,OAElBC,WAAY,CACRC,OAAQ,OACRhK,MAAO,QAEXiK,OAAQ,CACJxG,QAAS,QAEbyG,QAAS,CACL5O,MAAO,WAEX6O,OAAQ,CACJ7O,MAAO,WAEX8O,YAAa,CACTvI,gBAAiB,UACjByB,OAAQ,MACRtD,MAAO,MACPuJ,OAAQ,OACRc,UAAW,wBAEfC,oBAAqB,CACjBzI,gBAAiB,UACjByB,OAAQ,MACRtD,MAAO,MACPuJ,OAAQ,OACRc,UAAW,sBACX5G,QAAS,QAEb8G,WAAY,CACRC,WAAY,QACZ/G,QAAS,OACT3D,SAAU,e,qBC9Cb2K,GAAa,uCAAG,gCAAAva,EAAA,sEACPgC,MAAM,GAAD,OAAI1C,IAAJ,oBACnB,CACI2C,OAAQ,OACRI,QAAS,CACL,eAAgB,oBAEpBC,YAAa,YAPI,cACnBC,EADmB,gBAWNA,EAAIC,OAXE,cAWnBN,EAXmB,OAarBsY,EAAuBtY,EAAKuY,QAAQC,YAbf,kBAelBF,GAfkB,2CAAH,qDAkBbG,GAAY,uCAAG,WAAQC,GAAR,eAAA5a,EAAA,sEACNgC,MAAM,GAAD,OAAI1C,IAAJ,qBACnB,CACI2C,OAAQ,OACRI,QAAS,CACL,eAAgB,oBAEpBC,YAAa,UACbJ,KAAMC,KAAKC,UAAU,CAACyY,kBAAmB,CAACD,OAR1B,cAClBrY,EADkB,gBAWlBA,EAAIC,OAXc,iCAYjB,GAZiB,2CAAH,sDAeZsY,GAAmB,uCAAG,WAAOC,GAAP,iBAAA/a,EAAA,sEACbgC,MAAM,GAAD,OAAI1C,IAAJ,UACnB,CACI2C,OAAQ,OACRI,QAAS,CACL,eAAgB,oBAEpBC,YAAa,UACbJ,KAAMC,KAAKC,UAAU2Y,KARE,cACzBxY,EADyB,gBAWZA,EAAIC,OAXQ,cAWzBN,EAXyB,OAY/BjC,QAAQC,IAAI,OAAQgC,GAZW,kBAaxBA,EAAKuY,QAAQO,SAbW,2CAAH,sDC5B1BC,GAAQ,uCAAG,WAAOC,GAAP,SAAAlb,EAAA,sEACA,IAAImb,SACb,SAACC,EAASC,GACN,IAAMC,EAAS,IAAIC,WAoBnB,OAnBAD,EAAOE,iBAAiB,QAAQ,SAACpN,GAC7B,GAAqB,OAAjBA,EAAMnK,OAAV,CAII,IAAMwX,EAAUrN,EAAMnK,OAAOyX,OAC7B,GAAgB,OAAZD,EAGA,OAFAxb,QAAQM,KAAK,iCACb8a,EAAO,MAIHD,EADoB,kBAAbK,EACCA,GAEA,IAAIE,aAAcC,OAAOH,SAZzCxb,QAAQM,KAAK,4BAiBd+a,EAAOO,WAAWX,MAvBpB,mFAAH,sDAgCRY,GAAU,SAAC,GAA4B,IAA3BC,EAA0B,EAA1BA,OACRjK,EAAUT,KAChB,OAAe,IAAX0K,EAEI,yBAAKrc,UAAaoS,EAAQkI,SAA1B,mCAEc,IAAX+B,EAEH,yBAAKrc,UAAaoS,EAAQmI,QAA1B,uBAGI,+BAKH+B,GAAa,WAAO,IAAD,EACFnP,IAAMC,SApBzB,CAACmP,SAAU,KAAMxB,QAAS,OAmBL,mBACrBrO,EADqB,KACdC,EADc,KAEtByF,EAAUT,KAEhB,OACI,yBAAK3R,UAAaoS,EAAQ4H,eACtB,8DACA,kBAAC,IAAD,CACI/Z,cAAe,CAAE,SAAY,IAC7BG,SACI,SAACsO,GACG,IAAM8N,EAAU,GACVC,EAAyB,GACxBF,EAAY7P,EAAZ6P,SAEP,GAAiB,OAAbA,EAAJ,CALc,oBAUCA,GAVD,yBAUJ5W,EAVI,QAWN+W,EAAWnB,GAAS5V,GAAGgC,MAAK,SAACgV,GAG7B,IAAMC,EAASjX,EAAUkX,oBAAuBlX,EAAUmX,gBAE1DN,EAAQI,GAAQD,KAEpBF,EAAMvS,KAAKwS,IARf,IAAI,EAAJ,qBAAyB,IAVX,8BAoBd,IAAI3B,GAAU,EACdU,QAAQsB,IAAIN,GAAO9U,MAAK,WACpB,OAAOyT,GAAoB,CAAC4B,QAASR,OAExC7U,MAAK,SAACsV,GAAgBlC,EAAUA,GAAWkC,KAC3CtV,MAAK,kBAAMgF,EAAS,eAAID,EAAL,CAAYqO,qBAnB5Bxa,QAAQM,KAAK,qDAuBzB,kBAAC,IAAD,CAAMb,UAAaoS,EAAQuI,YAEvB,kBAAC,IAAD,CACI3a,UAAaoS,EAAQ+H,WACrBrZ,KAAK,SACLoc,UAAU,GACVC,gBAAgB,GAChBC,aAAa,GACbrc,KAAK,OACLsc,UAAQ,EAACrc,YAAY,SACrBsc,SACI,SAAC5O,GACG/B,EAAS,eACFD,EADC,CAEJ6P,SAAU7N,EAAM6O,cAAcC,YAK9C,kBAACrJ,GAAA,EAAD,CAAQnU,UAAU,YAAae,KAAK,UAAS,kBAAC,KAAD,CAAiBf,UAAaoS,EAAQ6H,SAG3F,6BACA,kBAAC,GAAD,CAASoC,OAAU3P,EAAMqO,Y,qBCjGxB0C,GAAc,WACvB,IAAMrL,EAAUT,KADa,EAGHxE,IAAMC,SATzB,CACHsQ,KAAM,GACNvH,QAAQ,IAIiB,mBAGtBzJ,EAHsB,KAGfC,EAHe,OAILS,mBAAS,GAJJ,mBAItByH,EAJsB,KAIhBC,EAJgB,OAKS1H,mBAAS,IALlB,mBAKtB2H,EALsB,KAKTC,EALS,KA6B7B,OAdAxH,qBAAU,WAEN,IAAMO,EAAWC,YAAW,sBAAC,sBAAA1N,EAAA,sEACnBua,KAAgBlT,MAAK,SAAC+V,GACxB/Q,EAAS,CACLwJ,OAAQzJ,EAAMyJ,OACduH,YAJiB,2CAO1B,KACH,OAAO,kBAAMzP,cAAcF,MAE5B,CAACrB,EAAMyJ,SAGN,oCACI,kBAACxD,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAACE,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAUzL,IAAO,UACb,kBAAC0L,GAAA,EAAD,CAAWC,MAAQ,QAAnB,aAGR,kBAACE,GAAA,EAAD,CAAWmC,aAAa,eACnB5I,EAAMgR,KAAK5b,KACR,SAACoZ,GACG,OAAO,kBAACnI,GAAA,EAAD,CAAUzL,IAAQ4T,GACb,kBAAClI,GAAA,EAAD,CACIC,MAAQ,SACPiI,EACD,kBAAC/G,GAAA,EAAD,CAAQC,QACJ,WACI6G,GAAaC,GACZvT,MACG,WACIgF,EAAS,eACFD,EADC,CAEJyJ,OAAQzJ,EAAMyJ,SAAU,KAE5B5V,QAAQC,IAAI,uBAMhC,kBAAC,KAAD,CAAoBR,UAAaoS,EAAQ6H,cAOjE,kBAAC5E,GAAA,EAAD,CACIC,aAAa,aACbC,mBAAoB,CAAC,EAAG,GAAI,IAC5BrB,UAAU,MACVsB,MAAO9I,EAAMgR,KAAKla,OAClBuR,YAAaA,EACbF,KAAMA,EACNY,aApEK,SAAC/G,EAA+DiP,GACrF7I,EAAQ6I,IAoEQjI,oBAlEY,SAAChH,GAC7BnO,QAAQC,IAAI,QAASkO,GACrBsG,EAAe/P,SAASyJ,EAAMnK,OAAO+O,MAAO,KAC5CwB,EAAQ,SCVD8I,GAjBM,WACjB,IAAMxL,EAAUT,KAChB,OACI,oCACI,kBAAC,GAAD,CAAa8H,YAAY,IACzB,yBAAKzZ,UAAWoS,EAAQiI,QACpB,yBAAKra,UAAaoS,EAAQsI,qBACtB,kBAAC,GAAD,MACA,yBAAK7W,GAAK,aACd,yBAAK7D,UAAcoS,EAAQoI,aACvB,kBAAC,GAAD,U,SCLL,SAASqD,KAEpB,OADAtd,QAAQC,IAAI,cAER,oCACA,kBAAC,KAAD,KACI,kBAAC,KAAD,KACI,kBAAC,KAAD,CAAOsd,OAAK,EAAClB,KAAO,SAAS1I,UAAapU,IAC1C,kBAAC,KAAD,CAAOge,OAAK,EAAClB,KAAO,IAAI1I,UAAa6F,KACrC,kBAAC,KAAD,CAAO+D,OAAK,EAAClB,KAAO,WAAW1I,UAAa0J,KAC5C,kBAAC,KAAD,CAAOE,OAAK,EAAClB,KAAO,eAAe1I,UAAaqF,QCR5CwE,QACW,cAA7Bte,OAAOC,SAASC,UAEe,UAA7BF,OAAOC,SAASC,UAEhBF,OAAOC,SAASC,SAASqe,MACvB,2DCTN,IAAMC,GAAYC,YAAe,CAC7BC,QAAS,CACLpd,KAAM,OACNqd,QAAS,CACLC,KAAM,cAKZC,GAAcC,SAASC,eAAe,QAE5CC,IAASC,OACL,kBAAC,IAAMC,WAAP,KACI,kBAAC,KAAD,KACI,kBAACC,EAAA,EAAD,CAAevI,MAAO4H,IAClB,kBAACJ,GAAD,MADJ,OAKRS,ID+GE,kBAAmBO,WACrBA,UAAUC,cAAcC,MACrBpX,MAAK,SAAAqX,GACJA,EAAaC,gBAEdlS,OAAM,SAAAvI,GACLjE,QAAQiE,MAAMA,EAAMtD,c","file":"static/js/main.303b9f70.chunk.js","sourcesContent":["export const getAuthEdge = () => {\n return \"http://\" + window.location.hostname + \":8900/\"\n}\n\nexport const getGraphQlEdge = () => {\n return \"http://\" + window.location.hostname + \":5000/\"\n}\n\nexport const getModelPluginEdge = () => {\n return \"http://\" + window.location.hostname + \":8123/\"\n}","import React from 'react';\nimport './LogIn.css';\nimport {Field, Form, Formik} from \"formik\";\nimport {LoginProps} from '../src/modules/GraphViz/CustomTypes';\nimport {getAuthEdge} from './modules/GraphViz/engagement_edge/getApiURLs';\n\nconst engagement_edge = getAuthEdge();\n\nexport const checkLogin = async () => {\n const res = await fetch(`${engagement_edge}checkLogin`, {\n method: 'get',\n credentials: 'include',\n });\n\n const body = await res.json();\n\n return body['success'] === 'True';\n};\n\nexport const LogIn = (_: LoginProps) => {\n return (\n
\n { \n const fileMap = {} as any;\n const reads: Promise[] = [];\n const {curFiles} = state;\n\n if (curFiles === null) {\n console.warn(\"Attempted to upload files without selecting any\");\n return\n }\n \n for(const f of curFiles){\n let fileRead = readFile(f).then((fileResult) => {\n // This any is because webkitRelativePath is not standard, and therefor\n // is not part of the File type\n const path = ((f as any).webkitRelativePath || (f as any).mozRelativePath);\n\n fileMap[path] = fileResult;\n });\n reads.push(fileRead);\n }\n let success = true;\n Promise.all(reads).then(() => {\n return uploadFilesToDgraph({plugins: fileMap});\n })\n .then((didSucceed) => {success = success && didSucceed;})\n .then(() => setState({...state, success}))\n }\n }\n >\n \n \n \n \n
\n \n \n >\n )\n}","import React from 'react';\nimport GraplHeader from \"./reusableComponents/GraplHeader\";\nimport { useStyles } from \"../modules/uploads/plugins/useStyles\";\nimport { UploadForm } from \"../modules/uploads/plugins/uploadPlugins\"; \nimport { PluginTable } from \"../modules/uploads/plugins/pluginTable\";\n\nconst UploadPlugin = () => {\n const classes = useStyles();\n return(\n <>\n \n
\n
\n \n
\n
\n \n
\n
\n >\n )\n}\n\nexport default UploadPlugin;","import React from 'react';\nimport './LogIn.css';\nimport {LogIn} from './Login';\nimport {EngagementUx} from \"./components/EngagementView\";\nimport Dashboard from \"./components/Dashboard\";\nimport UploadPlugin from \"./components/UploadPlugin\";\nimport {HashRouter, Route, Switch} from 'react-router-dom';\n\n// Updates our react state, as well as localStorage state, to reflect the page\n// we should render\n\nexport default function App() {\n console.log(\"App loaded\");\n return (\n <>\n \n \n \n \n \n \n \n \n >\n )\n}\n\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles'\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport { HashRouter } from 'react-router-dom';\n\n\nconst darkTheme = createMuiTheme({\n palette: {\n type: 'dark',\n primary: {\n main: '#373740',\n }\n }\n})\n\nconst rootElement = document.getElementById('root')\n\nReactDOM.render(\n \n \n \n , \n \n \n ,\n rootElement\n);\n\nserviceWorker.unregister();\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/src/js/grapl-cdk/edge_ux/static/js/main.7a388ddd.chunk.js.map b/src/js/grapl-cdk/edge_ux/static/js/main.7a388ddd.chunk.js.map
index 04fe4b6e77..3f5e0dca79 100644
--- a/src/js/grapl-cdk/edge_ux/static/js/main.7a388ddd.chunk.js.map
+++ b/src/js/grapl-cdk/edge_ux/static/js/main.7a388ddd.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["modules/GraphViz/engagement_edge/getApiURLs.tsx","Login.tsx","modules/GraphViz/calculations/node/nodeCalcs.tsx","modules/GraphViz/calculations/link/linkCalcs.tsx","modules/GraphViz/graphColoring/coloring.tsx","modules/GraphViz/graph/graph_traverse.tsx","modules/GraphViz/graphQL/expandScope.tsx","modules/GraphViz/graph/mergeGraphs.tsx","modules/GraphViz/graphQL/graphQLAdjacencyMatrix.tsx","modules/GraphViz/graph/labels.tsx","components/GraphViz.tsx","components/NodeTable.tsx","components/SideBarContent.tsx","components/SideBar.tsx","components/reusableComponents/GraplHeader.tsx","components/Dashboard.tsx","modules/uploads/plugins/useStyles.tsx","modules/uploads/plugins/apiRequests.tsx","modules/uploads/plugins/uploadPlugins.tsx","modules/uploads/plugins/pluginTable.tsx","components/UploadPlugin.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["getGraphQlEdge","window","location","hostname","getModelPluginEdge","engagement_edge","LogIn","_","className","initialValues","userName","password","onSubmit","values","a","console","log","sha256WithPepper","login","history","replaceState","warn","name","type","placeholder","sha256","message","msgBuffer","TextEncoder","encode","crypto","subtle","digest","hashBuffer","hashArray","Array","from","Uint8Array","map","b","toString","slice","join","username","hashed","i","fetch","method","body","JSON","stringify","headers","credentials","res","json","calcNodeRiskPercentile","_nodeRisk","_allRisks","nodeRisk","risk","allRisks","n","sort","undefined","length","riskIndex","Math","floor","findNode","id","nodes","node","calcLinkRiskPercentile","link","Graph","linkRisk","srcNode","source","dstNode","target","error","srcRisk","dstRisk","round","calcLinkRisk","BKDRHash","str","hash","MAX_SAFE_INTEGER","parseInt","charCodeAt","calcNodeRgb","colorHash","nodeType","rgb","percentToColor","percentile","calcLinkColor","mapGraph","f","visited","Set","mapEdgeProps","edgeName","neighbor","_mapGraph","has","uid","add","mapEdges","prop","Object","prototype","hasOwnProperty","call","maybeNeighbor","isArray","graphql_edge","builtins","unpackPluginNodes","predicates","edge_name","dgraph_type","pluginNode","keys","forEach","key","retrieveGraph","lens","query","expandScope","then","data","lens_scope","lensWithScope","scope","lensName","mergeNodes","x","y","merged","mapNodeProps","mergeGraphs","curGraph","update","links","outputGraph","updated","Map","set","newNode","get","label","newLink","newLinkSource","newLinkTarget","getNodeType","t","node_type","randomInt","min","max","random","graphQLAdjacencyMatrix","inputGraph","nodeMap","traverseNeighbors","callback","fromNode","toNode","push","traverseNodes","nodeLabel","_node","process_name","process_id","file_path","external_ip","lens_name","getNodeLabel","strippedNode","analyzer_names","risks","risk_score","analyzer_name","edge","_neighbor","vizNode","HSL2RGB","H","S","L","q","p","color","o","ColorHash","options","hsl","hueRanges","range","apply","LS","lightness","saturation","param","concat","this","hue","updateGraph","state","setState","mergeUpdate","graphData","curLensName","catch","e","GraphDisplay","setCurNode","React","useState","defaultGraphDisplayState","forceRef","useRef","useEffect","current","d3Force","d3","abs","vx","vy","interval","setInterval","clearInterval","enableNodeDrag","linkDirectionalParticles","linkDirectionalParticleWidth","linkRiskPercentile","calcLinkParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleSpeed","onNodeClick","event","linkDirectionalArrowLength","linkWidth","linkDirectionalArrowRelPos","riskPercentile","calcLinkDirectionalArrowRelPos","linkCanvasObjectMode","linkCanvasObject","ctx","start","end","textPos","assign","c","relLink","maxTextLength","sqrt","pow","LABEL_NODE_MARGIN","textAngle","atan2","PI","mapLabel","font","fontSize","measureText","width","textWidth","bckgDimensions","save","translate","rotate","fillStyle","fillRect","textAlign","textBaseline","fillText","restore","nodeCanvasObject","globalScale","NODE_R","nodeSize","beginPath","arc","nodeColors","riskColor","fill","nodeRbg","ref","useStyles","makeStyles","root","nodeTable","minWidth","tableHeader","backgroundColor","nodeTableData","NodeTable","classes","hidden","displayNode","propName","includes","Date","toLocaleString","TableContainer","Table","styles","TableHead","TableRow","TableCell","align","innerTable","TableBody","entries","entry","value","button","title","icon","margin","expand","header","display","table","pagination","SelectLens","props","component","Button","onClick","setLens","lens_type","score","ToggleLensTable","toggled","lenses","first","offset","page","setPage","rowsPerPage","setRowsPerPage","getLenses","response","handleChangePage","handleChangeRowsPerPage","TablePagination","aria-label","rowsPerPageOptions","count","onChangePage","onChangeRowsPerPage","Number","pagedTable","Divider","errors","jres","NodeDetails","ToggleNodeTable","curNode","toggle","SideBarContent","theme","createStyles","padding","appBar","transition","transitions","create","easing","sharp","duration","leavingScreen","appBarShift","marginLeft","easeOut","enteringScreen","menuButton","marginRight","spacing","hide","drawer","flexShrink","drawerPaper","drawerHeader","alignItems","mixins","toolbar","justifyContent","content","flexGrow","contentShift","headerContent","close","textDecoration","SideBar","curLens","open","setOpen","AppBar","position","clsx","Toolbar","IconButton","Typography","variant","noWrap","to","Drawer","anchor","paper","paragraph","EngagementUx","GraplHeader","displayBtn","welcome","height","nav","flexDirection","dashboard","Dashboard","formContainer","btn","borderRadius","inputFiles","border","upload","succMsg","errMsg","pluginTable","boxShadow","uploadFormContainer","uploadForm","fontFamily","getPluginList","pluginList","success","plugin_list","deletePlugin","pluginName","plugins_to_delete","uploadFilesToDgraph","payload","Success","readFile","file","Promise","resolve","reject","reader","FileReader","addEventListener","fileRes","result","TextDecoder","decode","readAsText","Message","status","UploadForm","curFiles","fileMap","reads","fileRead","fileResult","path","webkitRelativePath","mozRelativePath","all","plugins","didSucceed","directory","webkitdirectory","mozdirectory","multiple","onChange","currentTarget","files","PluginTable","rows","newPage","UploadPlugin","App","exact","Boolean","match","darkTheme","createMuiTheme","palette","primary","main","rootElement","document","getElementById","ReactDOM","render","StrictMode","ThemeProvider","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.7a388ddd.chunk.js","sourcesContent":["export const getAuthEdge = () => {\n return \"http://\" + window.location.hostname + \":8900/\"\n}\n\nexport const getGraphQlEdge = () => {\n return \"http://\" + window.location.hostname + \":5000/\"\n}\n\nexport const getModelPluginEdge = () => {\n return \"http://\" + window.location.hostname + \":8123/\"\n}","import React from 'react';\nimport './LogIn.css';\nimport {Field, Form, Formik} from \"formik\";\nimport {LoginProps} from '../src/modules/GraphViz/CustomTypes';\nimport {getAuthEdge} from './modules/GraphViz/engagement_edge/getApiURLs';\n\nconst engagement_edge = getAuthEdge();\n\nexport const checkLogin = async () => {\n const res = await fetch(`${engagement_edge}checkLogin`, {\n method: 'get',\n credentials: 'include',\n });\n\n const body = await res.json();\n\n return body['success'] === 'True';\n};\n\nexport const LogIn = (_: LoginProps) => {\n return (\n
\n { \n const fileMap = {} as any;\n const reads: Promise[] = [];\n const {curFiles} = state;\n\n if (curFiles === null) {\n console.warn(\"Attempted to upload files without selecting any\");\n return\n }\n \n for(const f of curFiles){\n let fileRead = readFile(f).then((fileResult) => {\n // This any is because webkitRelativePath is not standard, and therefor\n // is not part of the File type\n const path = ((f as any).webkitRelativePath || (f as any).mozRelativePath);\n\n fileMap[path] = fileResult;\n });\n reads.push(fileRead);\n }\n let success = true;\n Promise.all(reads).then(() => {\n return uploadFilesToDgraph({plugins: fileMap});\n })\n .then((didSucceed) => {success = success && didSucceed;})\n .then(() => setState({...state, success}))\n }\n }\n >\n \n \n \n \n
\n \n \n >\n )\n}","import React from 'react';\nimport GraplHeader from \"./reusableComponents/GraplHeader\";\nimport { useStyles } from \"../modules/uploads/plugins/useStyles\";\nimport { UploadForm } from \"../modules/uploads/plugins/uploadPlugins\"; \nimport { PluginTable } from \"../modules/uploads/plugins/pluginTable\";\n\nconst UploadPlugin = () => {\n const classes = useStyles();\n return(\n <>\n \n
\n
\n \n
\n
\n \n
\n
\n >\n )\n}\n\nexport default UploadPlugin;","import React from 'react';\nimport './LogIn.css';\nimport {LogIn} from './Login';\nimport {EngagementUx} from \"./components/SideBar\";\nimport Dashboard from \"./components/Dashboard\";\nimport UploadPlugin from \"./components/UploadPlugin\";\nimport {HashRouter, Route, Switch} from 'react-router-dom';\n\n// Updates our react state, as well as localStorage state, to reflect the page\n// we should render\n\nexport default function App() {\n console.log(\"App loaded\");\n return (\n <>\n \n \n \n \n \n \n \n \n >\n )\n}\n\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles'\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport { HashRouter } from 'react-router-dom';\n\n\nconst darkTheme = createMuiTheme({\n palette: {\n type: 'dark',\n primary: {\n main: '#373740',\n }\n }\n})\n\nconst rootElement = document.getElementById('root')\n\nReactDOM.render(\n \n \n \n , \n \n \n ,\n rootElement\n);\n\nserviceWorker.unregister();\n"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["modules/GraphViz/engagement_edge/getApiURLs.tsx","Login.tsx","modules/GraphViz/calculations/node/nodeCalcs.tsx","modules/GraphViz/calculations/link/linkCalcs.tsx","modules/GraphViz/graphColoring/coloring.tsx","modules/GraphViz/graph/graph_traverse.tsx","modules/GraphViz/graphQL/expandScope.tsx","modules/GraphViz/graph/mergeGraphs.tsx","modules/GraphViz/graphQL/graphQLAdjacencyMatrix.tsx","modules/GraphViz/graph/labels.tsx","components/GraphViz.tsx","components/NodeTable.tsx","components/EngagementViewContent.tsx","components/EngagementView.tsx","components/reusableComponents/GraplHeader.tsx","components/Dashboard.tsx","modules/uploads/plugins/useStyles.tsx","modules/uploads/plugins/apiRequests.tsx","modules/uploads/plugins/uploadPlugins.tsx","modules/uploads/plugins/pluginTable.tsx","components/UploadPlugin.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["getGraphQlEdge","window","location","hostname","getModelPluginEdge","engagement_edge","LogIn","_","className","initialValues","userName","password","onSubmit","values","a","console","log","sha256WithPepper","login","history","replaceState","warn","name","type","placeholder","sha256","message","msgBuffer","TextEncoder","encode","crypto","subtle","digest","hashBuffer","hashArray","Array","from","Uint8Array","map","b","toString","slice","join","username","hashed","i","fetch","method","body","JSON","stringify","headers","credentials","res","json","calcNodeRiskPercentile","_nodeRisk","_allRisks","nodeRisk","risk","allRisks","n","sort","undefined","length","riskIndex","Math","floor","findNode","id","nodes","node","calcLinkRiskPercentile","link","Graph","linkRisk","srcNode","source","dstNode","target","error","srcRisk","dstRisk","round","calcLinkRisk","BKDRHash","str","hash","MAX_SAFE_INTEGER","parseInt","charCodeAt","calcNodeRgb","colorHash","nodeType","rgb","percentToColor","percentile","calcLinkColor","mapGraph","f","visited","Set","mapEdgeProps","edgeName","neighbor","_mapGraph","has","uid","add","mapEdges","prop","Object","prototype","hasOwnProperty","call","maybeNeighbor","isArray","graphql_edge","builtins","unpackPluginNodes","predicates","edge_name","dgraph_type","pluginNode","keys","forEach","key","retrieveGraph","lens","query","expandScope","then","data","lens_scope","lensWithScope","scope","lensName","mergeNodes","x","y","merged","mapNodeProps","mergeGraphs","curGraph","update","links","outputGraph","updated","Map","set","newNode","get","label","newLink","newLinkSource","newLinkTarget","getNodeType","t","node_type","randomInt","min","max","random","graphQLAdjacencyMatrix","inputGraph","nodeMap","traverseNeighbors","callback","fromNode","toNode","push","traverseNodes","nodeLabel","_node","process_name","process_id","file_path","external_ip","lens_name","getNodeLabel","strippedNode","analyzer_names","risks","risk_score","analyzer_name","edge","_neighbor","vizNode","HSL2RGB","H","S","L","q","p","color","o","ColorHash","options","hsl","hueRanges","range","apply","LS","lightness","saturation","param","concat","this","hue","updateGraph","state","setState","mergeUpdate","graphData","curLensName","catch","e","GraphDisplay","setCurNode","React","useState","defaultGraphDisplayState","forceRef","useRef","useEffect","current","d3Force","d3","abs","vx","vy","interval","setInterval","clearInterval","enableNodeDrag","linkDirectionalParticles","linkDirectionalParticleWidth","linkRiskPercentile","calcLinkParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleSpeed","onNodeClick","event","linkDirectionalArrowLength","linkWidth","linkDirectionalArrowRelPos","riskPercentile","calcLinkDirectionalArrowRelPos","linkCanvasObjectMode","linkCanvasObject","ctx","start","end","textPos","assign","c","relLink","maxTextLength","sqrt","pow","LABEL_NODE_MARGIN","textAngle","atan2","PI","mapLabel","font","fontSize","measureText","width","textWidth","bckgDimensions","save","translate","rotate","fillStyle","fillRect","textAlign","textBaseline","fillText","restore","nodeCanvasObject","globalScale","NODE_R","nodeSize","beginPath","arc","nodeColors","riskColor","fill","nodeRbg","ref","useStyles","makeStyles","root","nodeTable","minWidth","tableHeader","backgroundColor","nodeTableData","NodeTable","classes","hidden","displayNode","propName","includes","Date","toLocaleString","TableContainer","Table","styles","TableHead","TableRow","TableCell","align","innerTable","TableBody","entries","entry","value","button","title","icon","margin","expand","header","display","table","pagination","SelectLens","props","component","Button","onClick","setLens","lens_type","score","ToggleLensTable","toggled","lenses","first","offset","page","setPage","rowsPerPage","setRowsPerPage","getLenses","response","handleChangePage","handleChangeRowsPerPage","TablePagination","aria-label","rowsPerPageOptions","count","onChangePage","onChangeRowsPerPage","Number","pagedTable","Divider","errors","jres","NodeDetails","ToggleNodeTable","curNode","toggle","SideBarContent","theme","createStyles","padding","appBar","transition","transitions","create","easing","sharp","duration","leavingScreen","appBarShift","marginLeft","easeOut","enteringScreen","menuButton","marginRight","spacing","hide","drawer","flexShrink","drawerPaper","drawerHeader","alignItems","mixins","toolbar","justifyContent","content","flexGrow","contentShift","headerContent","close","textDecoration","SideBar","curLens","open","setOpen","AppBar","position","clsx","Toolbar","IconButton","Typography","variant","noWrap","to","Drawer","anchor","paper","paragraph","EngagementUx","GraplHeader","displayBtn","welcome","height","nav","flexDirection","dashboard","Dashboard","formContainer","btn","borderRadius","inputFiles","border","upload","succMsg","errMsg","pluginTable","boxShadow","uploadFormContainer","uploadForm","fontFamily","getPluginList","pluginList","success","plugin_list","deletePlugin","pluginName","plugins_to_delete","uploadFilesToDgraph","payload","Success","readFile","file","Promise","resolve","reject","reader","FileReader","addEventListener","fileRes","result","TextDecoder","decode","readAsText","Message","status","UploadForm","curFiles","fileMap","reads","fileRead","fileResult","path","webkitRelativePath","mozRelativePath","all","plugins","didSucceed","directory","webkitdirectory","mozdirectory","multiple","onChange","currentTarget","files","PluginTable","rows","newPage","UploadPlugin","App","exact","Boolean","match","darkTheme","createMuiTheme","palette","primary","main","rootElement","document","getElementById","ReactDOM","render","StrictMode","ThemeProvider","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.7a388ddd.chunk.js","sourcesContent":["export const getAuthEdge = () => {\n return \"http://\" + window.location.hostname + \":8900/\"\n}\n\nexport const getGraphQlEdge = () => {\n return \"http://\" + window.location.hostname + \":5000/\"\n}\n\nexport const getModelPluginEdge = () => {\n return \"http://\" + window.location.hostname + \":8123/\"\n}","import React from 'react';\nimport './LogIn.css';\nimport {Field, Form, Formik} from \"formik\";\nimport {LoginProps} from '../src/modules/GraphViz/CustomTypes';\nimport {getAuthEdge} from './modules/GraphViz/engagement_edge/getApiURLs';\n\nconst engagement_edge = getAuthEdge();\n\nexport const checkLogin = async () => {\n const res = await fetch(`${engagement_edge}checkLogin`, {\n method: 'get',\n credentials: 'include',\n });\n\n const body = await res.json();\n\n return body['success'] === 'True';\n};\n\nexport const LogIn = (_: LoginProps) => {\n return (\n
\n { \n const fileMap = {} as any;\n const reads: Promise[] = [];\n const {curFiles} = state;\n\n if (curFiles === null) {\n console.warn(\"Attempted to upload files without selecting any\");\n return\n }\n \n for(const f of curFiles){\n let fileRead = readFile(f).then((fileResult) => {\n // This any is because webkitRelativePath is not standard, and therefor\n // is not part of the File type\n const path = ((f as any).webkitRelativePath || (f as any).mozRelativePath);\n\n fileMap[path] = fileResult;\n });\n reads.push(fileRead);\n }\n let success = true;\n Promise.all(reads).then(() => {\n return uploadFilesToDgraph({plugins: fileMap});\n })\n .then((didSucceed) => {success = success && didSucceed;})\n .then(() => setState({...state, success}))\n }\n }\n >\n \n \n \n \n
\n \n \n >\n )\n}","import React from 'react';\nimport GraplHeader from \"./reusableComponents/GraplHeader\";\nimport { useStyles } from \"../modules/uploads/plugins/useStyles\";\nimport { UploadForm } from \"../modules/uploads/plugins/uploadPlugins\"; \nimport { PluginTable } from \"../modules/uploads/plugins/pluginTable\";\n\nconst UploadPlugin = () => {\n const classes = useStyles();\n return(\n <>\n \n
\n
\n \n
\n
\n \n
\n
\n >\n )\n}\n\nexport default UploadPlugin;","import React from 'react';\nimport './LogIn.css';\nimport {LogIn} from './Login';\nimport {EngagementUx} from \"./components/EngagementView\";\nimport Dashboard from \"./components/Dashboard\";\nimport UploadPlugin from \"./components/UploadPlugin\";\nimport {HashRouter, Route, Switch} from 'react-router-dom';\n\n// Updates our react state, as well as localStorage state, to reflect the page\n// we should render\n\nexport default function App() {\n console.log(\"App loaded\");\n return (\n <>\n \n \n \n \n \n \n \n \n >\n )\n}\n\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles'\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport { HashRouter } from 'react-router-dom';\n\n\nconst darkTheme = createMuiTheme({\n palette: {\n type: 'dark',\n primary: {\n main: '#373740',\n }\n }\n})\n\nconst rootElement = document.getElementById('root')\n\nReactDOM.render(\n \n \n \n , \n \n \n ,\n rootElement\n);\n\nserviceWorker.unregister();\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/src/python/engagement_edge/src/engagement_edge.py b/src/python/engagement_edge/src/engagement_edge.py
index 9b22bf86a1..17c771122d 100755
--- a/src/python/engagement_edge/src/engagement_edge.py
+++ b/src/python/engagement_edge/src/engagement_edge.py
@@ -553,13 +553,14 @@ def check_jwt(headers):
encoded_jwt = cookie.split("grapl_jwt=")[1].strip()
if not encoded_jwt:
+ LOGGER.info("encoded_jwt %s", encoded_jwt)
return False
try:
jwt.decode(encoded_jwt, JWT_SECRET, algorithms=["HS256"])
return True
except Exception as e:
- LOGGER.error(e)
+ LOGGER.error("jwt.decode %s", e)
return False
@@ -569,10 +570,10 @@ def lambda_login(event):
# Clear out the password from the dict, to avoid accidentally logging it
body["password"] = ""
if IS_LOCAL:
- domain = ""
+ cookie = f"grapl_jwt={login_res}; HttpOnly"
else:
- domain = "Domain=.amazonaws.com;"
- cookie = f"grapl_jwt={login_res}; {domain} secure; HttpOnly; SameSite=None"
+ cookie = f"grapl_jwt={login_res}; Domain=.amazonaws.com; secure; HttpOnly; SameSite=None"
+
if login_res:
return cookie
@@ -618,7 +619,7 @@ def inner_route():
try:
return route_fn()
except Exception as e:
- LOGGER.error(e)
+ LOGGER.error("path %s", e)
return respond("Unexpected Error")
return inner_route
@@ -641,7 +642,7 @@ def login_route():
@no_auth("/checkLogin")
def check_login():
- LOGGER.debug("/checkLogin")
+ LOGGER.debug("/checkLogin %s", app.current_request)
request = app.current_request
if check_jwt(request.headers):
return respond(None, "True")
diff --git a/src/python/grapl-model-plugin-deployer/src/grapl_model_plugin_deployer.py b/src/python/grapl-model-plugin-deployer/src/grapl_model_plugin_deployer.py
index 99eac5950e..dc12cae21c 100644
--- a/src/python/grapl-model-plugin-deployer/src/grapl_model_plugin_deployer.py
+++ b/src/python/grapl-model-plugin-deployer/src/grapl_model_plugin_deployer.py
@@ -323,10 +323,9 @@ def inner_route():
if app.current_request.method == "OPTIONS":
return respond(None, {})
- if not IS_LOCAL: # For now, disable authentication locally
- if not check_jwt(app.current_request.headers):
- LOGGER.warning("not logged in")
- return respond("Must log in")
+ if not check_jwt(app.current_request.headers):
+ LOGGER.warning("not logged in")
+ return respond("Must log in")
try:
return route_fn()
except Exception as e: