{#if mapControlsCollapsed} {:else}
{/if}
Source: {dataSourceLabel}
{saveStateLabel()}
{#if hasLoadedInitialData && !writable}
{readOnlyNotice}
{/if} {#if isLoadingData}
Loading JSON...
{/if} {#if loadError}
{loadError}
{/if} {#if saveError}
{saveError}
{/if} {#if tooltip.visible}
{tooltip.text}
{/if}
{#if warnings.length > 0}
Data warnings ({warnings.length})
{/if} {#if validationIssues.length > 0}
Validation issues ({validationIssues.length})
{/if}
{#if selectedTarget?.type === 'machine' && selectedMachine}
{#if selectedMachineHostId && selectedMachineVmCount > 0} {/if}

Hardware

Virtual Machines

{#each selectedMachine.software.vms as vm, vmIndex (`${vm.name}:${vm.ipAddress}:${vmIndex}`)}
{/each}

Ports

{#each machineConnectableOwnerNames as ownerName (ownerName)} {/each}
{#each selectedMachine.ports ?? [] as port, portIndex (`${port.portName}:${portIndex}`)}
{/each}
{:else if selectedTarget?.type === 'device' && selectedDevice}

Ports

{#each deviceConnectableOwnerNames as ownerName (ownerName)} {/each}
{#each selectedDevice.ports ?? [] as port, portIndex (`${port.portName}:${portIndex}`)}
{/each}
{:else if selectedTarget?.type === 'vm' && selectedVm}
{/if}
{#if addModalKind === 'machine'}
{:else if addModalKind === 'device'}
{/if}
(deleteTarget = null)} >

This action will remove the selected item and clean up related links. Continue?

(showExportModal = false)}>