var M=Object.defineProperty;var q=s=>{throw TypeError(s)};var x=(s,e,t)=>e in s?M(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var a=(s,e,t)=>x(s,typeof e!="symbol"?e+"":e,t),S=(s,e,t)=>e.has(s)||q("Cannot "+t);var i=(s,e,t)=>(S(s,e,"read from private field"),t?t.call(s):e.get(s)),y=(s,e,t)=>e.has(s)?q("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),k=(s,e,t,o)=>(S(s,e,"write to private field"),o?o.call(s,t):e.set(s,t),t);import{aP as D,z as T,A as n,be as L,u as F,y as I,w as U,v as O,a1 as N}from"./M0Oc_jcV.js";import{c as P}from"./CKINsPtQ.js";import{s as z,P as h,S as j}from"./MFOBLaM2.js";function A(){return typeof globalThis.localStorage>"u"?!1:typeof globalThis.localStorage.getItem=="function"&&typeof globalThis.localStorage.setItem=="function"}var p,u,g,b,v;class H{constructor(e,t){y(this,p);y(this,u,D(0));y(this,g,0);y(this,b);y(this,v,e=>{A()&&e.storageArea===localStorage&&e.key===i(this,p)&&T(i(this,u),n(i(this,u))+1)});k(this,p,e),k(this,b,t),A()&&localStorage.getItem(e)===null&&localStorage.setItem(e,JSON.stringify(t))}get current(){n(i(this,u));const e=A()?JSON.parse(localStorage.getItem(i(this,p))):i(this,b),t=new WeakMap,o=c=>{if(typeof c!="object"||c===null)return c;let l=t.get(c);return l||(l=new Proxy(c,{get:(d,m)=>(n(i(this,u)),o(Reflect.get(d,m))),set:(d,m,f)=>(T(i(this,u),n(i(this,u))+1),Reflect.set(d,m,f),A()&&localStorage.setItem(i(this,p),JSON.stringify(e)),!0)}),t.set(c,l)),l};return L()&&F(()=>(i(this,g)===0&&window.addEventListener("storage",i(this,v)),k(this,g,i(this,g)+1),()=>{I().then(()=>{k(this,g,i(this,g)-1),i(this,g)===0&&window.removeEventListener("storage",i(this,v))})})),o(e)}set current(e){k(this,b,e),A()&&localStorage.setItem(i(this,p),JSON.stringify(e)),T(i(this,u),n(i(this,u))+1)}}p=new WeakMap,u=new WeakMap,g=new WeakMap,b=new WeakMap,v=new WeakMap;const _="http://json-schema.org/draft-04/schema#",B="object",J={version:{type:"string"},isReadonly:{type:"boolean"},isDrawerOpen:{type:"boolean"},showLegend:{type:"boolean"},techniqueMappingMode:{type:"string"},selectedProfile:{type:"integer"},selectedStore:{type:"string"},containerSize:{type:"number"},matrixSize:{type:"integer"},associationMode:{type:"boolean"},matrixCommentMode:{type:"boolean"},localStorageWarning:{type:"boolean"},profiles:{type:"array",items:[{type:"object",properties:{id:{type:"integer"},description:{type:"string"},name:{type:"string"},includedLayers:{type:"array",items:[{type:"string"}]}},additionalProperties:!1,required:["id","description","name","includedLayers"]}]},layers:{type:"object",patternProperties:{".*":{type:"object",properties:{id:{type:"string"},description:{type:"string"},name:{type:"string"},techniques:{type:"array",items:[{type:"object",properties:{id:{type:"string"},comment:{type:"string"}},required:["id","comment"]}]},color:{type:"string"},children:{type:"array",items:[{type:"string"}]},checked:{type:"boolean"}},additionalProperties:!1,required:["id","description","name","techniques","color","children","checked"]}}},attack:{type:"object",patternProperties:{".*":{type:"object",patternProperties:{".*":{type:"array",items:[{type:"object",properties:{id:{type:"string"},justification:{type:"string"},tactic:{type:"string"},includedLayers:{type:"array",items:[{type:"string"}]}},additionalProperties:!1,required:["id","justification","tactic"]}]}}}}},rootTemplates:{type:"array",items:[{type:"string"}]},templates:{type:"object",patternProperties:{".*":{type:"object",properties:{id:{type:"string"},description:{type:"string"},name:{type:"string"},techniques:{type:"array",items:[{type:"object",properties:{id:{type:"string"},comment:{type:"string"}},required:["id","comment"]}]},checked:{type:"boolean"},color:{type:"string"},children:{type:"array",items:{}}},additionalProperties:!1,required:["id","description","name","techniques","checked","color","children"]}}},shownTactics:{type:"object",properties:{"d3f:Model":{type:"boolean"},"d3f:Harden":{type:"boolean"},"d3f:Detect":{type:"boolean"},"d3f:Isolate":{type:"boolean"},"d3f:Deceive":{type:"boolean"},"d3f:Evict":{type:"boolean"}},required:["d3f:Model","d3f:Harden","d3f:Detect","d3f:Isolate","d3f:Deceive","d3f:Evict"]}},V=!1,W=["version","isReadonly","isDrawerOpen","showLegend","techniqueMappingMode","selectedProfile","selectedStore","containerSize","matrixSize","associationMode","matrixCommentMode","localStorageWarning","profiles","layers","attack","rootTemplates","templates","shownTactics"],$={$schema:_,type:B,properties:J,additionalProperties:V,required:W},R={version:"1",isReadonly:!1,isDrawerOpen:!0,showLegend:!0,techniqueMappingMode:"multiColor",selectedProfile:0,selectedStore:"layers",containerSize:.8,matrixSize:1,associationMode:!1,matrixCommentMode:!1,localStorageWarning:!1,profiles:[{name:"Example Profile",description:"Example D3FEND Profile",id:0,includedLayers:["endpoint-detection-response-b5e1b37fe803","network-detection-response-bd0a1550c68f","web-application-firewall-e2b69b0e42e7","network-intrusion-detection-system-53345eadd88f","idam-analytics-suite-05a3693fb7f6","network-vulnerability-scanner-5bdfd415a60c","security-orchestration-automation-and-response-861f9e04e823","operational-test-status-3e2e05ea8e07"]}],layers:{"zero-trust-kdjj2mvnvjkkd":{id:"zero-trust-kdjj2mvnvjkkd",description:"Testing the description",name:"Zero-Trust",techniques:[],color:"#ef0b0b",children:["role-based-access-hdjkfkkbvgn","continuous-verification-jkqwwer","geo-location-ie83909"],checked:!0},"role-based-access-hdjkfkkbvgn":{id:"role-based-access-hdjkfkkbvgn",description:"Testing the description",name:"Role-Based Access",techniques:[{id:"d3f:DataInventory",comment:""},{id:"d3f:ServiceDependencyMapping",comment:""},{id:"d3f:AccessModeling",comment:""},{id:"d3f:AssetInventory",comment:""}],children:[],color:"#ef0b0b",checked:!0},"least-priviledge-27kdjkdfkj":{id:"least-priviledge-27kdjkdfkj",description:"Testing the description",name:"Least Priviledge",techniques:[{id:"d3f:DNSAllowlisting",comment:""},{id:"d3f:DNSDenylisting",comment:""},{id:"d3f:ForwardResolutionDomainDenylisting",comment:""},{id:"d3f:HierarchicalDomainDenylisting",comment:""},{id:"d3f:HomoglyphDenylisting",comment:""},{id:"d3f:ForwardResolutionIPDenylisting",comment:""},{id:"d3f:ReverseResolutionIPDenylisting",comment:""},{id:"d3f:InboundTrafficFiltering",comment:""},{id:"d3f:OutboundTrafficFiltering",comment:""},{id:"d3f:AccountLocking",comment:""},{id:"d3f:ProcessTermination",comment:""}],color:"#bbc171",checked:!0,children:[]},"continuous-verification-jkqwwer":{id:"continuous-verification-jkqwwer",description:"Testing the description",name:"Continuous Verification",techniques:[],color:"#ef0b0b",children:[],checked:!1},"geo-location-ie83909":{id:"geo-location-ie83909",description:"Testing the description",name:"Geo Location",techniques:[{id:"d3f:TransferAgentAuthentication",comment:""},{id:"d3f:ServiceDependencyMapping",comment:""},{id:"d3f:AccessModeling",comment:""}],color:"#ef0b0b",children:[],checked:!0},"bandwidth-control-and-monitoring-837fdrkdm":{id:"bandwidth-control-and-monitoring-837fdrkdm",description:"Testing the description",name:"Bandwidth Control and Monitoring",techniques:[],children:[],color:"#ef0b0b",checked:!0},"web-filtering-3iejkdfmv":{id:"web-filtering-3iejkdfmv",description:"Testing the description",name:"Web Filtering",techniques:[],color:"#ef0b0b",children:["web-filtering-rule-1-e639d37443c9"],checked:!0},"sandboxing-kdnvmvmmv":{id:"sandboxing-kdnvmvmmv",description:"Testing the description",name:"Sandboxing",techniques:[],color:"#ef0b0b",children:[],checked:!0},"threat-prevention-kdkvsaka":{id:"threat-prevention-kdkvsaka",description:"Testing the description",name:"Threat Prevention",techniques:[],color:"#ef0b0b",children:[],checked:!0},"application-and-identiy-based-inspection-dkvn":{id:"application-and-identiy-based-inspection-dkvn",description:"Testing the description",name:"Application and Identiy-based Inspection",techniques:[{id:"d3f:HomoglyphDetection",comment:""},{id:"d3f:URLAnalysis",comment:""},{id:"d3f:CertificateAnalysis",comment:""},{id:"d3f:PassiveCertificateAnalysis",comment:""},{id:"d3f:IPCTrafficAnalysis",comment:""},{id:"d3f:AuthenticationEventThresholding",comment:""},{id:"d3f:AuthorizationEventThresholding",comment:""},{id:"d3f:DomainAccountMonitoring",comment:""},{id:"d3f:JobFunctionAccessPatternAnalysis",comment:""},{id:"d3f:LocalAccountMonitoring",comment:""},{id:"d3f:ResourceAccessPatternAnalysis",comment:""},{id:"d3f:SessionDurationAnalysis",comment:""},{id:"d3f:UserDataTransferAnalysis",comment:""},{id:"d3f:UserGeolocationLogonPatternAnalysis",comment:""},{id:"d3f:AdministrativeNetworkActivityAnalysis",comment:""},{id:"d3f:Client-serverPayloadProfiling",comment:""},{id:"d3f:ConnectionAttemptAnalysis",comment:""},{id:"d3f:DNSTrafficAnalysis",comment:""},{id:"d3f:NetworkTrafficCommunityDeviation",comment:""},{id:"d3f:PerHostDownload-UploadRatioAnalysis",comment:""},{id:"d3f:ProtocolMetadataAnomalyDetection",comment:""},{id:"d3f:RelayPatternAnalysis",comment:""},{id:"d3f:RemoteTerminalSessionDetection",comment:""},{id:"d3f:RPCTrafficAnalysis",comment:""},{id:"d3f:FirmwareBehaviorAnalysis",comment:""},{id:"d3f:FirmwareEmbeddedMonitoringCode",comment:""},{id:"d3f:PeripheralFirmwareVerification",comment:""},{id:"d3f:SystemFirmwareVerification",comment:""},{id:"d3f:FileIntegrityMonitoring",comment:""}],color:"#817fcc",checked:!0,children:[]},"scalability-kdnvmv":{id:"scalability-kdnvmv",description:"Testing the description",name:"Scalability",techniques:[],color:"#ef0b0b",children:[],checked:!0},"next-generation-firewall-kjlknlkn":{id:"next-generation-firewall-kjlknlkn",description:"Testing the description",name:"Next-Generation Firewall",techniques:[],color:"#ef0b0b",children:["web-filtering-3iejkdfmv","sandboxing-kdnvmvmmv","threat-prevention-kdkvsaka"],checked:!0},"claimed-dkjndlkdj":{id:"claimed-dkjndlkdj",description:"Testing the description",name:"Claimed",checked:!0,techniques:[],color:"#98d0A9",children:["scalability-kdnvmv","application-and-identiy-based-inspection-dkvn"]},"tested-dnkljlkldjs":{id:"tested-dnkljlkldjs",description:"Testing the description",name:"Tested",checked:!0,techniques:[{id:"d3f:AdministrativeNetworkActivityAnalysis",comment:""},{id:"d3f:Client-serverPayloadProfiling",comment:""},{id:"d3f:ConnectionAttemptAnalysis",comment:""},{id:"d3f:DNSTrafficAnalysis",comment:""},{id:"d3f:NetworkTrafficCommunityDeviation",comment:""},{id:"d3f:PerHostDownload-UploadRatioAnalysis",comment:""},{id:"d3f:ProtocolMetadataAnomalyDetection",comment:""},{id:"d3f:RelayPatternAnalysis",comment:""},{id:"d3f:RemoteTerminalSessionDetection",comment:""},{id:"d3f:RPCTrafficAnalysis",comment:""}],children:[],color:"#ec4327"},"integration-jksieufnvdkd":{id:"integration-jksieufnvdkd",description:"Testing the description",name:"Integration",techniques:[],children:["least-priviledge-27kdjkdfkj"],checked:!0,color:"#ffcc80"},"web-filtering-rule-1-e639d37443c9":{id:"web-filtering-rule-1-e639d37443c9",name:"Web Filtering Rule 1 ",description:"",techniques:[{id:"d3f:OutboundTrafficFiltering",comment:""}],children:[],checked:!0,color:"#ef0b0b"},"endpoint-detection-response-b5e1b37fe803":{id:"endpoint-detection-response-b5e1b37fe803",name:"Endpoint Detection & Response",description:"",techniques:[],children:["process-analysis-module-03228699d908","file-analysis-module-53b1557a8c3f","inventory-module-cd27dd8b9898"],checked:!0,color:"#12f576"},"network-detection-response-bd0a1550c68f":{id:"network-detection-response-bd0a1550c68f",name:"Network Detection & Response",description:"",techniques:[],children:["ueba-module-45cfb57fb917","anomaly-analytics-f62110fc7f8d"],checked:!0,color:"#9ff604"},"web-application-firewall-e2b69b0e42e7":{id:"web-application-firewall-e2b69b0e42e7",name:"Web Application Firewall",description:"",techniques:[{id:"d3f:AuthenticationEventThresholding",comment:""},{id:"d3f:AuthorizationEventThresholding",comment:""},{id:"d3f:ResourceAccessPatternAnalysis",comment:""}],children:[],checked:!0,color:"#e6f62a"},"network-intrusion-detection-system-53345eadd88f":{id:"network-intrusion-detection-system-53345eadd88f",name:"Network Intrusion Detection System",description:"",techniques:[],children:["ids-vendor-signatures-99c3ce856ebe"],checked:!0,color:"#f6bf37"},"idam-analytics-suite-05a3693fb7f6":{id:"idam-analytics-suite-05a3693fb7f6",name:"IDAM Analytics Suite",description:"",techniques:[{id:"d3f:AuthenticationEventThresholding",comment:""},{id:"d3f:AuthorizationEventThresholding",comment:""},{id:"d3f:UserGeolocationLogonPatternAnalysis",comment:""}],children:[],checked:!0,color:"#f67518"},"network-vulnerability-scanner-5bdfd415a60c":{id:"network-vulnerability-scanner-5bdfd415a60c",name:"Network Vulnerability Scanner",description:"",techniques:[{id:"d3f:AssetVulnerabilityEnumeration",comment:""},{id:"d3f:ContainerImageAnalysis",comment:""},{id:"d3f:NetworkNodeInventory",comment:""},{id:"d3f:PassiveLogicalLinkMapping",comment:""},{id:"d3f:ServiceDependencyMapping",comment:""}],children:[],checked:!0,color:"#0075ff"},"process-analysis-module-03228699d908":{id:"process-analysis-module-03228699d908",name:"Process Analysis Module",description:"",techniques:[{id:"d3f:ProcessSelf-ModificationDetection",comment:""},{id:"d3f:ProcessSpawnAnalysis",comment:""},{id:"d3f:ProcessLineageAnalysis",comment:""},{id:"d3f:ScriptExecutionAnalysis",comment:""},{id:"d3f:SystemCallAnalysis",comment:""},{id:"d3f:FileCreationAnalysis",comment:""},{id:"d3f:JobFunctionAccessPatternAnalysis",comment:""}],children:[],checked:!0,color:"#12f576"},"file-analysis-module-53b1557a8c3f":{id:"file-analysis-module-53b1557a8c3f",name:"File Analysis Module",description:"",techniques:[{id:"d3f:DynamicAnalysis",comment:""},{id:"d3f:FileHashing",comment:""},{id:"d3f:FileContentAnalysis",comment:""},{id:"d3f:FileContentRules",comment:""}],children:["custom-rules-9bcb48770338","vendor-supplied-rules-7efac2058dcb"],checked:!0,color:"#4cfe4b"},"inventory-module-cd27dd8b9898":{id:"inventory-module-cd27dd8b9898",name:"Inventory Module",description:"",techniques:[{id:"d3f:SoftwareInventory",comment:""},{id:"d3f:AssetVulnerabilityEnumeration",comment:""}],children:[],checked:!0,color:"#55fe38"},"custom-rules-9bcb48770338":{id:"custom-rules-9bcb48770338",name:"Custom Rules",description:"",techniques:[],children:["rule-1-fc6354ccbfc9","rule-2-11e6773a42cb"],checked:!0,color:"#37ff2a"},"rule-1-fc6354ccbfc9":{id:"rule-1-fc6354ccbfc9",name:"Rule 1",description:"",techniques:[{id:"d3f:FileContentRules",comment:""}],children:[],checked:!0,color:"#12f576"},"rule-2-11e6773a42cb":{id:"rule-2-11e6773a42cb",name:"Rule 2",description:"",techniques:[],children:[],checked:!0,color:"#36fe3b"},"vendor-supplied-rules-7efac2058dcb":{id:"vendor-supplied-rules-7efac2058dcb",name:"Vendor Supplied Rules",description:"",techniques:[{id:"d3f:AuthenticationEventThresholding",comment:""},{id:"d3f:AuthorizationEventThresholding",comment:""},{id:"d3f:ResourceAccessPatternAnalysis",comment:""}],children:[],checked:!0,color:"#23fe36"},"ueba-module-45cfb57fb917":{id:"ueba-module-45cfb57fb917",name:"UEBA Module",description:"",techniques:[{id:"d3f:AuthorizationEventThresholding",comment:""},{id:"d3f:JobFunctionAccessPatternAnalysis",comment:""},{id:"d3f:ResourceAccessPatternAnalysis",comment:""},{id:"d3f:SessionDurationAnalysis",comment:""},{id:"d3f:UserDataTransferAnalysis",comment:""},{id:"d3f:UserGeolocationLogonPatternAnalysis",comment:""},{id:"d3f:WebSessionActivityAnalysis",comment:""},{id:"d3f:AuthenticationEventThresholding",comment:""}],children:[],checked:!0,color:"#9ff604"},"anomaly-analytics-f62110fc7f8d":{id:"anomaly-analytics-f62110fc7f8d",name:"Anomaly Analytics",description:"",techniques:[{id:"d3f:AdministrativeNetworkActivityAnalysis",comment:""},{id:"d3f:Client-serverPayloadProfiling",comment:""},{id:"d3f:ConnectionAttemptAnalysis",comment:""},{id:"d3f:InboundSessionVolumeAnalysis",comment:""},{id:"d3f:NetworkTrafficCommunityDeviation",comment:""},{id:"d3f:PerHostDownload-UploadRatioAnalysis",comment:""},{id:"d3f:ProtocolMetadataAnomalyDetection",comment:""},{id:"d3f:RelayPatternAnalysis",comment:""},{id:"d3f:RemoteTerminalSessionDetection",comment:""},{id:"d3f:RPCTrafficAnalysis",comment:""}],children:[],checked:!0,color:"#9ff604"},"ids-vendor-signatures-99c3ce856ebe":{id:"ids-vendor-signatures-99c3ce856ebe",name:"IDS Vendor Signatures",description:"",techniques:[{id:"d3f:AdministrativeNetworkActivityAnalysis",comment:""},{id:"d3f:ConnectionAttemptAnalysis",comment:""}],children:[],checked:!0,color:"#f6bf37"},"security-orchestration-automation-and-response-861f9e04e823":{id:"security-orchestration-automation-and-response-861f9e04e823",name:"Security Orchestration Automation and Response",description:"",techniques:[{id:"d3f:EmailRemoval",comment:""},{id:"d3f:AccountLocking",comment:""},{id:"d3f:AuthenticationCacheInvalidation",comment:""},{id:"d3f:CredentialRevocation",comment:""},{id:"d3f:ProcessTermination",comment:""},{id:"d3f:ProcessSuspension",comment:""},{id:"d3f:RestoreNetworkAccess",comment:""},{id:"d3f:RestoreUserAccountAccess",comment:""},{id:"d3f:UnlockAccount",comment:""},{id:"d3f:RestoreFile",comment:""}],children:[],checked:!0,color:"#7ecdf5"},"operational-test-status-3e2e05ea8e07":{id:"operational-test-status-3e2e05ea8e07",name:"Operational Test Status",description:"",techniques:[{id:"d3f:DynamicAnalysis",comment:""},{id:"d3f:ConnectionAttemptAnalysis",comment:""},{id:"d3f:PerHostDownload-UploadRatioAnalysis",comment:""},{id:"d3f:RelayPatternAnalysis",comment:""},{id:"d3f:ProcessSpawnAnalysis",comment:""},{id:"d3f:ScriptExecutionAnalysis",comment:""},{id:"d3f:JobFunctionAccessPatternAnalysis",comment:""},{id:"d3f:ResourceAccessPatternAnalysis",comment:""},{id:"d3f:AuthenticationCacheInvalidation",comment:""}],children:[],checked:!0,color:"#ff260c"}},attack:{},rootTemplates:["firewall-kdjenyeurhg","threat-prevention-kdkvsaka"],templates:{"firewall-kdjenyeurhg":{id:"firewall-kdjenyeurhg",description:"Testing the description",name:"Firewall",techniques:[],checked:!0,color:"#7078A4",children:["bandwidth-control-and-monitoring-837fdrkdm"]},"bandwidth-control-and-monitoring-837fdrkdm":{id:"bandwidth-control-and-monitoring-837fdrkdm",description:"Testing the description",name:"Bandwidth Control and Monitoring",techniques:[{id:"d3f:SoftwareUpdate",comment:""},{id:"d3f:ByteSequenceEmulation",comment:""},{id:"d3f:JobFunctionAccessPatternAnalysis",comment:""},{id:"d3f:NetworkTrafficFiltering",comment:""}],children:[],color:"#7078A4",checked:!0},"web-filtering-3iejkdfmv":{id:"web-filtering-3iejkdfmv",name:"Web Filtering",description:"Testing the description",techniques:[],children:[],color:"#7078A4",checked:!0},"sandboxing-kdnvmvmmv":{id:"sandboxing-kdnvmvmmv",description:"Testing the description",name:"Sandboxing",techniques:[],children:[],checked:!0,color:"#BB5883"},"threat-prevention-kdkvsaka":{id:"threat-prevention-kdkvsaka",name:"Threat Prevention",description:"Testing the description",techniques:[],children:[],color:"#BB5883",checked:!0}},shownTactics:{"d3f:Model":!1,"d3f:Harden":!1,"d3f:Detect":!1,"d3f:Isolate":!1,"d3f:Deceive":!1,"d3f:Evict":!1}};try{const s=z.parser($,{requireStringValidation:!1,mode:"lax",includeErrors:!0,allErrors:!0}),{valid:e,error:t,errors:o}=s(JSON.stringify(R));if(!e)throw new AggregateError(o,`Error Parsing Initial Profile Layer: ${t}`)}catch(s){if(console.error(s.message),Array.isArray(s.errors))for(let e=0;e