diff --git a/Addons/InGameToolbar/.gitignore b/Addons/InGameToolbar/.gitignore new file mode 100644 index 0000000..862805f --- /dev/null +++ b/Addons/InGameToolbar/.gitignore @@ -0,0 +1,3 @@ +_Temp/ +Packages/ +PackagesMetadata/ \ No newline at end of file diff --git a/Addons/InGameToolbar/MSFSLayoutGenerator.exe b/Addons/InGameToolbar/MSFSLayoutGenerator.exe new file mode 100644 index 0000000..60b2e59 Binary files /dev/null and b/Addons/InGameToolbar/MSFSLayoutGenerator.exe differ diff --git a/Addons/InGameToolbar/PackageDefinitions/pop-out-manager.xml b/Addons/InGameToolbar/PackageDefinitions/pop-out-manager.xml new file mode 100644 index 0000000..279368c --- /dev/null +++ b/Addons/InGameToolbar/PackageDefinitions/pop-out-manager.xml @@ -0,0 +1,30 @@ + + + SPB + pop-out-manager + Stanley Kwok + Stanley Kwok + + + false + false + + + + SPB + + false + + PackageSources\pop-out-manager\ + InGamePanels\ + + + Copy + + false + + PackageSources\html_ui\ + html_ui\ + + + \ No newline at end of file diff --git a/Addons/InGameToolbar/PackageSources/InGamePanels/pop-out-manager.spb b/Addons/InGameToolbar/PackageSources/InGamePanels/pop-out-manager.spb new file mode 100644 index 0000000..84b0114 Binary files /dev/null and b/Addons/InGameToolbar/PackageSources/InGamePanels/pop-out-manager.spb differ diff --git a/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.css b/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.css new file mode 100644 index 0000000..d94fb56 --- /dev/null +++ b/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.css @@ -0,0 +1,138 @@ +body.modal-open { + pointer-events: none; +} + +body.modal-open .stepDialog { + pointer-events: auto; +} + +pop-out-manager #popOutManager .ingameUiWrapper .horizontalLayout { + background-color: var(--backgroundColorPanel); + display: flex; + flex-direction: column; + padding: 1em 1em; +} + +pop-out-manager #popOutManager .ingameUiWrapper .horizontalLayout #profileInfo { + flex: 1 1 0; + margin-bottom: 1em; +} + +pop-out-manager #popOutManager .ingameUiWrapper .horizontalLayout #panelConfigTable { + display: flex; + flex-direction: column; + border: solid 1px white; + flex: 20 1 0; +} + +pop-out-manager #popOutManager .ingameUiWrapper .horizontalLayout #panelConfigButtons { + display: flex; + flex-direction: row; + position: relative; + margin: 2em 1em 1em 1em; + flex: 2 1 0; +} + +pop-out-manager #popOutManager .ingameUiWrapper .panelConfigButton { + display: flex; + justify-content: center; + width: 6em; + height: 3em; + margin-right: 1em; +} + +pop-out-manager #popOutManager .ingameUiWrapper .lockPanelsButton { + display: flex; + justify-content: center; + position: absolute; + right: 0; + width: 10em; + height: 3em; +} + +.panelRow { + display: flex; + margin: 0; + padding: 0; +} + +.panelRow .column1 { + width: 34%; +} + +.panelRow .column2 { + width: 8%; +} + +.panelRow .column3 { + width: 8%; +} + +.panelRow .column4 { + width: 8%; +} + +.panelRow .column5 { + width: 8%; +} + +.panelRow .column6 { + width: 8%; +} + +.panelRow .column7 { + width: 8%; +} + +.panelRow .column8 { + width: 10%; +} + +.panelRow .column9 { + width: 8%; +} + +.panelCell { + display: flex; + padding: 0.7em 1em; + margin: 0; + justify-content: center; + text-align: center; + border-bottom: solid 1px white; + border-right: solid 1px white; +} + +.panelCell:last-child { + border-right: none; +} + +.panelCell .alignCenter { + display: flex; + justify-content: center; + align-items: center; +} + +.panelCell ui-input .default-input input { + padding-left: 0.25em; + padding-right: 0.25em; +} + +.panelCell checkbox-element .checkbox .choices .iconWrapper .icon { + width: 1.6em; + height: 1.6em; +} + + +.stepDialog { + display: none; /* Hidden by default */ + position: fixed; /* Stay in place */ + z-index: 1; /* Sit on top */ + left: 20vw; + top: 20vh; + width: 60vw; /* Full width */ + height: 60vh; /* Full height */ + overflow: auto; /* Enable scroll if needed */ + background-color: rgba(161, 153, 153, 1); +} + + diff --git a/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.html b/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.html new file mode 100644 index 0000000..6977aef --- /dev/null +++ b/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.html @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Panel Locations and Settings -
+
+ Panel Selection + + + +
+
+ + + +
+
+ + +
+ + + +
+ + + + + \ No newline at end of file diff --git a/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.js b/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.js new file mode 100644 index 0000000..f1a0cd4 --- /dev/null +++ b/Addons/InGameToolbar/PackageSources/html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.js @@ -0,0 +1,388 @@ +class PopOutManagerPanelElement extends UIElement { + constructor() { + super(...arguments); + this.ingameUi = null; + this.isInitialized = false; + this.panelActive = false; + this.webSocket = null; + this.webSocketConnected = false; + this.webSocketInterval = null; + + this.tryConnectWebSocket = () => { + this.lockPanel(true); + + this.webSocket = new WebSocket("ws://localhost:27011/ws"); + + this.webSocket.onopen = () => { + clearInterval(this.webSocketInterval); + this.webSocketConnected = true; + }; + + this.webSocket.onclose = () => { + this.webSocketConnected = false; + + // Clear panel table + this.createPanelConfigTableHeader(this.panelConfigTable); + this.lockPanel(true); + + this.webSocketInterval = setInterval(() => { + if (!this.webSocketConnected) + this.tryConnectWebSocket(); + }, 2000) + }; + + this.webSocket.onerror = () => { + this.webSocket.close(); + }; + + this.webSocket.onmessage = (event) => { + if (event.data !== undefined) { + + var panelData = JSON.parse(event.data); + + // only recreate panel rows if panel is refreshed (minimize/maximize, pop out) + if (this.panelActive && document.getElementsByClassName("panelRow").length == 1) + this.createPanelConfigTableBody(this.panelConfigTable, panelData); + + if (panelData !== undefined && panelData !== null && panelData.length !== 0) { + this.lockPanel(false); + this.bindPanelData(panelData); + } + } + }; + } + + this.webSocketInterval = setInterval(() => { + if (!this.webSocketConnected) + this.tryConnectWebSocket(); + }, 2000) + } + + connectedCallback() { + super.connectedCallback(); + + this.ingameUi = this.querySelector('ingame-ui'); + this.panelSelection = document.getElementById("panelSelection"); + this.panelConfiguration = document.getElementById("panelConfiguration"); + this.planeProfileName = document.getElementById("planeProfileName"); + this.panelConfigTable = document.getElementById("panelConfigTable"); + this.btnLockPanels = this.querySelector('#btnLockPanels'); + this.btnPlusTen = this.querySelector('#btnPlusTen'); + this.btnPlusOne = this.querySelector('#btnPlusOne'); + this.btnMinusTen = this.querySelector('#btnMinusTen'); + this.btnMinusOne = this.querySelector('#btnMinusOne'); + + this.dropdownProfile = this.querySelector("#dropdownProfile"); + this.addProfile = document.getElementById("addProfile"); + this.deleteProfile = document.getElementById("deleteProfile"); + + this.stepBeginDialog = document.getElementById("stepBeginDialog"); + + + this.closeDialog = document.getElementById("closeDialog"); + + //this.deleteProfile.disable(!this.deleteProfile.disabled); + + //this.dropdownProfile.addEventListener("select", (event) = {}); + + let workflow = new Workflow(this); + workflow.bindAllButtonEvents(); + workflow.stepBegin(); + + + this.addProfile.addEventListener("click", (event) => { + addProfileDialog.style.display = "block"; + //this.ingameUi.toggleExternPanel(true); + document.body.classList.toggle('modal-open'); + + // let value = new DataValue; + // value.name = "New Profile " + dropDownValues.length; + // value.ID = dropDownValues.length; + // dropDownValues.push(value); + // this.dropdownProfile.setData(dropDownValues, dropDownValues.length - 1); + }); + + this.deleteProfile.addEventListener("click", (event) => { + // dropDownValues.splice(-1,1); + // this.dropdownProfile.setData(dropDownValues, dropDownValues.length - 1); + }); + + + this.isLocked = false; + + let profiles = ["Kodiak", "172", "737"]; + let dropDownValues = []; + profiles.forEach((profile, index) => { + let value = new DataValue; + value.name = profile; + value.ID = index; + dropDownValues.push(value); + }); + + setTimeout(() => { + this.dropdownProfile.setData(dropDownValues, 2) + + + }, 1000); + + + + this.btnLockPanels.addEventListener("click", () => { + if (this.btnLockPanels.disabled) + return; + + this.isLocked = !this.isLocked; + + this.lockPanel(this.isLocked); + + if (this.isLocked) { + this.btnLockPanels.disabled = false; + this.btnLockPanels.title = "Unlock Panels"; + this.btnLockPanels.style.backgroundColor = "red"; + } + else { + this.btnLockPanels.disabled = false; + this.btnLockPanels.title = "Lock Panels"; + this.btnLockPanels.style.backgroundColor = null; + } + + this.panelSelection.style.display = 'block'; + this.panelConfiguration.style.display = 'none'; + }); + + + if (this.ingameUi) { + this.ingameUi.addEventListener("panelActive", (e) => { + //document.getElementsByClassName("Extern")[0].style.display = "none"; // disable extern button + this.createPanelConfigTableHeader(this.panelConfigTable); + + this.panelActive = true; + this.lockPanel(true); + + if (this.webSocketConnected) + this.webSocket.send("RequestPanelData"); + }); + } + } + + createPanelConfigTableHeader(panelConfigTable) { + let panelRow; + + // remove all child of panelConfigTable + while (panelConfigTable.firstChild) { + panelConfigTable.removeChild(panelConfigTable.firstChild); + } + + // create header + panelRow = this.createPanelRow(true); + panelRow.appendChild(this.createPanelCell("div", "column1", "Panel Name")); + panelRow.appendChild(this.createPanelCell("div", "column2", "X-Pos")); + panelRow.appendChild(this.createPanelCell("div", "column3", "Y-Pos")); + panelRow.appendChild(this.createPanelCell("div", "column4", "Width")); + panelRow.appendChild(this.createPanelCell("div", "column5", "Height")); + panelRow.appendChild(this.createPanelCell("div", "column6", "Always on Top")); + panelRow.appendChild(this.createPanelCell("div", "column7", "Hide Title Bar")); + panelRow.appendChild(this.createPanelCell("div", "column8", "Full Screen Mode")); + panelRow.appendChild(this.createPanelCell("div", "column9", "Touch Enabled")); + panelConfigTable.appendChild(panelRow); + } + + createPanelConfigTableBody(panelConfigTable, panelData) { + let panelRow; + + if (panelConfigTable !== undefined) { + for (let index = 0; index < panelData.length; index++) { + panelRow = this.createPanelRow(false); + panelRow.appendChild(this.createPanelCell("div", "column1", this.createUiInput("PanelName_" + index))); + panelRow.appendChild(this.createPanelCell("div", "column2", this.createUiInput("XPos_" + index))); + panelRow.appendChild(this.createPanelCell("div", "column3", this.createUiInput("YPos_" + index))); + panelRow.appendChild(this.createPanelCell("div", "column4", this.createUiInput("Width_" + index))); + panelRow.appendChild(this.createPanelCell("div", "column5", this.createUiInput("Height_" + index))); + panelRow.appendChild(this.createPanelCell("div", "column6", this.createCheckbox("AlwaysOnTop_" + index))); + panelRow.appendChild(this.createPanelCell("div", "column7", this.createCheckbox("HideTitleBar_" + index))); + panelRow.appendChild(this.createPanelCell("div", "column8", this.createCheckbox("FullScreenMode_" + index))); + panelRow.appendChild(this.createPanelCell("div", "column9", this.createCheckbox("TouchEnabled_" + index))); + panelConfigTable.appendChild(panelRow); + } + } + } + + createPanelRow(isHeaderRow) { + let panelRow = document.createElement("div"); + + if (isHeaderRow) + panelRow.classList.add("panelHeaderRow"); + + panelRow.classList.add("panelRow"); + + return panelRow; + } + + createPanelCell(cellType, classes = null, childElement) { + let cell = document.createElement(cellType); + cell.classList.add("panelCell"); + + if (classes !== undefined || classes !== null) { + if (typeof (classes) === "string") { + cell.classList.add(classes); + } + else { + for (let index = 0; index < classes.length; index++) + cell.classList.add(classes[index]); + } + } + + if (typeof (childElement) === "string") + cell.innerHTML = `
${childElement}
`; + else + cell.appendChild(childElement); + + return cell; + } + + createUiInput(id) { + let input = document.createElement("ui-input"); + input.type = "text"; + input.id = id; + return input; + } + + createCheckbox(id) { + let checkbox = document.createElement("checkbox-element"); + checkbox.id = id; + checkbox.style.width = "1em"; + return checkbox; + } + + lockPanel(isLocked) { + if (this.panelActive) { + let uiInputs = document.getElementsByTagName("ui-input"); + for (let index = 0; index < uiInputs.length; index++) { + uiInputs[index].disabled = isLocked; + } + + let checkboxes = document.getElementsByTagName("checkbox-element"); + for (let index = 0; index < checkboxes.length; index++) { + checkboxes[index].SetData({ sTitle: "", bToggled: checkboxes.toggled, bDisabled: isLocked }); + checkboxes[index].RefreshValue(); + } + + this.btnLockPanels.disabled = isLocked; + if(isLocked) + { + this.btnLockPanels.title = "Lock Panels"; + this.btnLockPanels.style.backgroundColor = null; + } + + this.btnPlusTen.disabled = isLocked; + this.btnPlusOne.disabled = isLocked; + this.btnMinusTen.disabled = isLocked; + this.btnMinusOne.disabled = isLocked; + } + } + + bindPanelData(panelData) { + if (this.panelActive) { + panelData.forEach((panel, index) => { + this.bindUiInput("PanelName_" + index, panel.panelName, "text"); + this.bindUiInput("XPos_" + index, panel.xPos); + this.bindUiInput("YPos_" + index, panel.yPos); + this.bindUiInput("Width_" + index, panel.width); + this.bindUiInput("Height_" + index, panel.height); + this.bindCheckbox("AlwaysOnTop_" + index, panel.alwaysOnTop); + this.bindCheckbox("HideTitleBar_" + index, panel.hideTitleBar); + this.bindCheckbox("FullScreenMode_" + index, panel.fullScreenMode); + this.bindCheckbox("TouchEnabled_" + index, panel.touchEnabled); + }) + } + } + + bindUiInput(id, value, type) { + let input = document.getElementById(id); + input.style.width = "100%"; + input.setValue(value); + + if (type === "text") + input.children[0].children[0].style.textAlign = "left"; + } + + bindCheckbox(id, value) { + let checkbox = document.getElementById(id); + checkbox.SetData({ sTitle: "", bToggled: value, bDisabled: false }); + checkbox.RefreshValue(); + } +} +window.customElements.define("pop-out-manager", PopOutManagerPanelElement); + + + + + + +class Workflow { + constructor(owner) { + this.owner = owner; + } + + get workflowSteps() { + return [ + { + name: 'stepBegin', + results: + [ + { value: 'stepCreateNewProfile' }, + { value: 'stepStartPopOut' }, + { value: 'stepAdjustProfile' } + ] + }] + } + + getFuncName() { + return this.getFuncName.caller.name; + } + + bindAllButtonEvents(){ + let stepButtons = document.getElementsByClassName("stepButton"); + Array.from(stepButtons).forEach(btn => { + btn.addEventListener("click", (e) => { + let parentStep = e.target.getAttribute("parentStep"); + let resultValue = e.target.id.replace("btn", "step"); + this.handleButtonClick(parentStep, resultValue); + }) + }) + } + + handleButtonClick(currentStep, resultValue) { + let step = this.workflowSteps.find(c => c.name == currentStep); + let result = step.results.find(f => f.value == resultValue); + + if(result != null) + { + let func = this[result.value]; + func(); + } + } + + openDialog(step) + { + this.owner.stepBeginDialog = document.getElementById(step.replace("step", "dialog")); + this.owner.stepBeginDialog.style.display = "block"; + document.body.classList.toggle("modal-open"); + } + + stepBegin() { + this.openDialog("stepBegin"); + } + + stepStartPopOut() { + var a = "" + } + + stepCreateNewProfile() { + var a = "" + } + + stepAdjustProfile() { + var a = "" + } +} \ No newline at end of file diff --git a/Addons/InGameToolbar/PackageSources/html_ui/icons/toolbar/POP_OUT_MANAGER.svg b/Addons/InGameToolbar/PackageSources/html_ui/icons/toolbar/POP_OUT_MANAGER.svg new file mode 100644 index 0000000..de2f60e --- /dev/null +++ b/Addons/InGameToolbar/PackageSources/html_ui/icons/toolbar/POP_OUT_MANAGER.svg @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/Addons/InGameToolbar/PackageSources/layout.json b/Addons/InGameToolbar/PackageSources/layout.json new file mode 100644 index 0000000..8a2b1da --- /dev/null +++ b/Addons/InGameToolbar/PackageSources/layout.json @@ -0,0 +1,29 @@ +{ + "content": [ + { + "path": "html_ui/icons/toolbar/POP_OUT_MANAGER.svg", + "size": 740, + "date": 133013771715368552 + }, + { + "path": "html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.css", + "size": 1921, + "date": 133015501657300878 + }, + { + "path": "html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.html", + "size": 3194, + "date": 133023923647110813 + }, + { + "path": "html_ui/InGamePanels/PopOutManagerPanel/PopOutManager.js", + "size": 10854, + "date": 133023924937932717 + }, + { + "path": "InGamePanels/pop-out-manager.spb", + "size": 684, + "date": 133023927549810418 + } + ] +} \ No newline at end of file diff --git a/Addons/InGameToolbar/PackageSources/manifest.json b/Addons/InGameToolbar/PackageSources/manifest.json new file mode 100644 index 0000000..41780dc --- /dev/null +++ b/Addons/InGameToolbar/PackageSources/manifest.json @@ -0,0 +1,15 @@ +{ + "dependencies": [], + "content_type": "UNKNOWN", + "title": "pop-out-manager", + "manufacturer": "Stanley Kwok", + "creator": "Stanley Kwok", + "package_version": "1.0.0", + "minimum_game_version": "1.27.9", + "release_notes": { + "neutral": { + "LastUpdate": "", + "OlderHistory": "" + } + } +} \ No newline at end of file diff --git a/Addons/InGameToolbar/PackageSources/pop-out-manager/pop-out-manager.xml b/Addons/InGameToolbar/PackageSources/pop-out-manager/pop-out-manager.xml new file mode 100644 index 0000000..3c3b48b --- /dev/null +++ b/Addons/InGameToolbar/PackageSources/pop-out-manager/pop-out-manager.xml @@ -0,0 +1,6 @@ + + + InGamePanel_PopOutManager.spb + + + \ No newline at end of file diff --git a/Addons/InGameToolbar/build.bat b/Addons/InGameToolbar/build.bat new file mode 100644 index 0000000..8322f26 --- /dev/null +++ b/Addons/InGameToolbar/build.bat @@ -0,0 +1 @@ +FOR %%i IN (*.xml) DO "%MSFS_SDK%\Tools\bin\fspackagetool.exe" %%i diff --git a/Addons/InGameToolbar/icon.png b/Addons/InGameToolbar/icon.png new file mode 100644 index 0000000..002c539 Binary files /dev/null and b/Addons/InGameToolbar/icon.png differ diff --git a/Addons/InGameToolbar/pop-out-manager.xml b/Addons/InGameToolbar/pop-out-manager.xml new file mode 100644 index 0000000..3f549ed --- /dev/null +++ b/Addons/InGameToolbar/pop-out-manager.xml @@ -0,0 +1,7 @@ + + . + _Temp + + PackageDefinitions\pop-out-manager.xml + + \ No newline at end of file diff --git a/ArduinoAgent/Arduino/Arduino.ino b/ArduinoAgent/Arduino/Arduino.ino new file mode 100644 index 0000000..e4224d0 --- /dev/null +++ b/ArduinoAgent/Arduino/Arduino.ino @@ -0,0 +1,160 @@ +#include +#include + +// Rotary Encoder Inputs +#define CLK1 19 +#define DT1 18 +#define SW1 17 + +#define CLK2 2 +#define DT2 3 +#define SW2 4 + +#define VRx A0 +#define VRy A1 +#define JSW 8 + +// Rotatry encoder variables +int currentStateCLK1; +int lastStateCLK1; +int currentStateCLK2; +int lastStateCLK2; + +String currentEvent = ""; +String currentDir1 = ""; +String currentDir2 = ""; +boolean rotaryEncoderRotating1 = false; +boolean rotaryEncoderRotating2 = false; + +unsigned long lastButton1Press = 0; +unsigned long lastButton2Press = 0; + +Joystick joystick(VRx, VRy, JSW); + +NewEncoder encoderLower(DT1, CLK1, -32768, 32767, 0, FULL_PULSE); +NewEncoder encoderUpper(DT2, CLK2, -32768, 32767, 0, FULL_PULSE); +int16_t prevEncoderValueLower; +int16_t prevEncoderValueUpper; + +void setup() { + // Set encoder pins as inputs + pinMode(SW1, INPUT_PULLUP); + pinMode(SW2, INPUT_PULLUP); + + // Setup joystick + joystick.initialize(); + joystick.calibrate(); + joystick.setSensivity(3); + + // Setup Serial Monitor + Serial.begin(9600); + + NewEncoder::EncoderState encoderState1; + NewEncoder::EncoderState encoderState2; + + encoderLower.begin(); + encoderLower.getState(encoderState1); + prevEncoderValueLower = encoderState1.currentValue; + + encoderUpper.begin(); + encoderUpper.getState(encoderState2); + prevEncoderValueUpper = encoderState2.currentValue; +} + +void loop() { + int16_t currentEncoderValueLower; + int16_t currentEncoderValueUpper; + NewEncoder::EncoderState currentEncoderStateLower; + NewEncoder::EncoderState currentEncoderStateUpper; + + // Read rotary encoder lower + if (encoderLower.getState(currentEncoderStateLower)) { + currentEncoderValueLower = currentEncoderStateLower.currentValue; + if (currentEncoderValueLower != prevEncoderValueLower) { + if(currentEncoderValueLower > prevEncoderValueLower){ + Serial.println("EncoderLower:CW:" + String(currentEncoderValueLower - prevEncoderValueLower)); + } + else{ + Serial.println("EncoderLower:CCW:" + String(prevEncoderValueLower - currentEncoderValueLower)); + } + prevEncoderValueLower = currentEncoderValueLower; + } + } + + // Read rotary encoder upper + if (encoderUpper.getState(currentEncoderStateUpper)) { + currentEncoderValueUpper = currentEncoderStateUpper.currentValue; + if (currentEncoderValueUpper != prevEncoderValueUpper) { + if(currentEncoderValueUpper > prevEncoderValueUpper){ + Serial.println("EncoderUpper:CW:" + String(currentEncoderValueUpper - prevEncoderValueUpper)); + } + else{ + Serial.println("EncoderUpper:CCW:" + String(prevEncoderValueUpper - currentEncoderValueUpper)); + } + prevEncoderValueUpper = currentEncoderValueUpper; + } + } + + // Read the rotary encoder button state + int btnState1 = digitalRead(SW1); + int btnState2 = digitalRead(SW2); + + //If we detect LOW signal, button is pressed + if (btnState1 == LOW) { + //if 500ms have passed since last LOW pulse, it means that the + //button has been pressed, released and pressed again + if (millis() - lastButton1Press > 500) { + Serial.println("EncoderLower:SW"); + } + + // Remember last button press event + lastButton1Press = millis(); + } + + if (btnState2 == LOW) { + //if 500ms have passed since last LOW pulse, it means that the + //button has been pressed, released and pressed again + if (millis() - lastButton2Press > 500) { + Serial.println("EncoderUpper:SW"); + } + + // Remember last button press event + lastButton2Press = millis(); + } + + // Read joystick + if(joystick.isPressed()) + { + Serial.println("Joystick:SW"); + } + + if(joystick.isReleased()) + { + // left + if(joystick.isLeft()) + { + Serial.println("Joystick:LEFT"); + } + + // right + if(joystick.isRight()) + { + Serial.println("Joystick:RIGHT"); + } + + // up + if(joystick.isUp()) + { + Serial.println("Joystick:UP"); + } + + // down + if(joystick.isDown()) + { + Serial.println("Joystick:DOWN"); + } + } + + // slow down a bit + delay(200); +} diff --git a/ArduinoAgent/Arduino/fritzing/Fritzing Sketch.fzz b/ArduinoAgent/Arduino/fritzing/Fritzing Sketch.fzz new file mode 100644 index 0000000..20e7190 Binary files /dev/null and b/ArduinoAgent/Arduino/fritzing/Fritzing Sketch.fzz differ diff --git a/ArduinoAgent/Arduino/fritzing/KY-040_AZ_Rotary_encoder_v0.fzpz b/ArduinoAgent/Arduino/fritzing/KY-040_AZ_Rotary_encoder_v0.fzpz new file mode 100644 index 0000000..4756137 Binary files /dev/null and b/ArduinoAgent/Arduino/fritzing/KY-040_AZ_Rotary_encoder_v0.fzpz differ diff --git a/ArduinoAgent/Arduino/libraries/Arduino_Analog_Joystick_Library-master.zip b/ArduinoAgent/Arduino/libraries/Arduino_Analog_Joystick_Library-master.zip new file mode 100644 index 0000000..c3f2ee1 Binary files /dev/null and b/ArduinoAgent/Arduino/libraries/Arduino_Analog_Joystick_Library-master.zip differ diff --git a/ArduinoAgent/Arduino/libraries/NewEncoder-master.zip b/ArduinoAgent/Arduino/libraries/NewEncoder-master.zip new file mode 100644 index 0000000..073fee9 Binary files /dev/null and b/ArduinoAgent/Arduino/libraries/NewEncoder-master.zip differ diff --git a/ArduinoAgent/Arduino/libraries/keypad.zip b/ArduinoAgent/Arduino/libraries/keypad.zip new file mode 100644 index 0000000..a8abb7a Binary files /dev/null and b/ArduinoAgent/Arduino/libraries/keypad.zip differ diff --git a/ArduinoAgent/Arduino/with_keypad/Arduino-with-keypad.ino b/ArduinoAgent/Arduino/with_keypad/Arduino-with-keypad.ino new file mode 100644 index 0000000..76d8cd0 --- /dev/null +++ b/ArduinoAgent/Arduino/with_keypad/Arduino-with-keypad.ino @@ -0,0 +1,197 @@ +#include +#include +#include + +// Rotary Encoder Inputs +#define CLK1 19 +#define DT1 18 +#define SW1 17 + +#define CLK2 2 +#define DT2 3 +#define SW2 4 + +#define VRx A0 +#define VRy A1 + +const byte ROWS = 4; +const byte COLS = 4; + +char hexaKeys[ROWS][COLS] = { + {'1', '2', '3', 'A'}, + {'4', '5', '6', 'B'}, + {'7', '8', '9', 'C'}, + {'*', '0', '#', 'D'} +}; + +byte rowPins[ROWS] = {31, 33, 35, 37}; +byte colPins[COLS] = {39, 41, 43, 45}; +Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); + +// Rotatry encoder variables +int currentStateCLK1; +int lastStateCLK1; +int currentStateCLK2; +int lastStateCLK2; + +String currentEvent = ""; +String currentDir1 = ""; +String currentDir2 = ""; +boolean rotaryEncoderRotating1 = false; +boolean rotaryEncoderRotating2 = false; + +unsigned long lastButton1Press = 0; +unsigned long lastButton2Press = 0; + +Joystick joystick(VRx, VRy, 8); + +NewEncoder encoderLower(DT1, CLK1, -32768, 32767, 0, FULL_PULSE); +NewEncoder encoderUpper(DT2, CLK2, -32768, 32767, 0, FULL_PULSE); +int16_t prevEncoderValueLower; +int16_t prevEncoderValueUpper; + +void setup() { + // Set encoder pins as inputs + pinMode(SW1, INPUT_PULLUP); + pinMode(SW2, INPUT_PULLUP); + + // Setup joystick + joystick.initialize(); + joystick.calibrate(); + joystick.setSensivity(3); + + // Setup Serial Monitor + Serial.begin(9600); + + NewEncoder::EncoderState encoderState1; + NewEncoder::EncoderState encoderState2; + + encoderLower.begin(); + encoderLower.getState(encoderState1); + prevEncoderValueLower = encoderState1.currentValue; + + encoderUpper.begin(); + encoderUpper.getState(encoderState2); + prevEncoderValueUpper = encoderState2.currentValue; +} + +void loop() { + int16_t currentEncoderValueLower; + int16_t currentEncoderValueUpper; + NewEncoder::EncoderState currentEncoderStateLower; + NewEncoder::EncoderState currentEncoderStateUpper; + + // Read rotary encoder lower + if (encoderLower.getState(currentEncoderStateLower)) { + currentEncoderValueLower = currentEncoderStateLower.currentValue; + if (currentEncoderValueLower != prevEncoderValueLower) { + if(currentEncoderValueLower > prevEncoderValueLower){ + Serial.println("EncoderLower:CW:" + String(currentEncoderValueLower - prevEncoderValueLower)); + } + else{ + Serial.println("EncoderLower:CCW:" + String(prevEncoderValueLower - currentEncoderValueLower)); + } + prevEncoderValueLower = currentEncoderValueLower; + } + } + + // Read rotary encoder upper + if (encoderUpper.getState(currentEncoderStateUpper)) { + currentEncoderValueUpper = currentEncoderStateUpper.currentValue; + if (currentEncoderValueUpper != prevEncoderValueUpper) { + if(currentEncoderValueUpper > prevEncoderValueUpper){ + Serial.println("EncoderUpper:CW:" + String(currentEncoderValueUpper - prevEncoderValueUpper)); + } + else{ + Serial.println("EncoderUpper:CCW:" + String(prevEncoderValueUpper - currentEncoderValueUpper)); + } + prevEncoderValueUpper = currentEncoderValueUpper; + } + } + + // Read the rotary encoder button state + int btnState1 = digitalRead(SW1); + int btnState2 = digitalRead(SW2); + + //If we detect LOW signal, button is pressed + if (btnState1 == LOW) { + //if 500ms have passed since last LOW pulse, it means that the + //button has been pressed, released and pressed again + if (millis() - lastButton1Press > 500) { + Serial.println("EncoderLower:SW"); + } + + // Remember last button press event + lastButton1Press = millis(); + } + + if (btnState2 == LOW) { + //if 500ms have passed since last LOW pulse, it means that the + //button has been pressed, released and pressed again + if (millis() - lastButton2Press > 500) { + Serial.println("EncoderUpper:SW"); + } + + // Remember last button press event + lastButton2Press = millis(); + } + + // Read joystick + if(joystick.isPressed()) + { + Serial.println("Joystick:SW"); + } + + // Read joystick (updated for joystick mounted at 90 degree) + if(joystick.isReleased()) + { + // left + if(joystick.isLeft()) + { + //Serial.println("Joystick:LEFT"); + Serial.println("Joystick:UP"); + } + + // right + if(joystick.isRight()) + { + //Serial.println("Joystick:RIGHT"); + Serial.println("Joystick:DOWN"); + } + + // up + if(joystick.isUp()) + { + //Serial.println("Joystick:UP"); + Serial.println("Joystick:RIGHT"); + } + + // down + if(joystick.isDown()) + { + //Serial.println("Joystick:DOWN"); + Serial.println("Joystick:LEFT"); + } + } + + // Read keypad + char customKey = customKeypad.getKey(); + + if (customKey){ + if(customKey == '#') + { + Serial.println("Keypad:KeyPound"); + } + else if(customKey == '*') + { + Serial.println("Keypad:KeyAsterisk"); + } + else + { + Serial.println("Keypad:Key" + String(customKey)); + } + } + + // slow down a bit + delay(100); +} diff --git a/ArduinoAgent/ArduinoAgent.csproj b/ArduinoAgent/ArduinoAgent.csproj new file mode 100644 index 0000000..02f724a --- /dev/null +++ b/ArduinoAgent/ArduinoAgent.csproj @@ -0,0 +1,37 @@ + + + net6.0 + ArduinoAgent + MSFS 2020 Popout Panel Manager ArduinoAgent + MSFS 2020 Popout Panel Manager ArduinoAgent + Stanley Kwok + Stanley Kwok + Stanley Kwok 2021 + https://github.com/hawkeye-stan/msfs-popout-panel-manager + MSFSPopoutPanelManager.ArduinoAgent + x64 + 3.4.0.0 + 3.4.0.0 + 3.4.0.0 + win-x64 + Embedded + Debug;Release;DebugTouchPanel;ReleaseTouchPanel + + + + x64 + + + + x64 + + + + + + + + + + + diff --git a/ArduinoAgent/ArduinoInputData.cs b/ArduinoAgent/ArduinoInputData.cs new file mode 100644 index 0000000..1056971 --- /dev/null +++ b/ArduinoAgent/ArduinoInputData.cs @@ -0,0 +1,62 @@ +using System; + +namespace MSFSPopoutPanelManager.ArduinoAgent +{ + public class ArduinoInputData + { + public ArduinoInputData(string inputName, string inputAction, int acceleration) + { + InputName = (InputName)Enum.Parse(typeof(InputName), inputName); + InputAction = (InputAction)Enum.Parse(typeof(InputAction), inputAction); + Acceleration = acceleration; + } + + public InputName InputName { get; set; } + + public InputAction InputAction { get; set; } + + public int Acceleration { get; set; } + } + + public enum InputAction + { + NONE, + + // Rotary Encoder + CW, + CCW, + SW, + + // Joystick + UP, + DOWN, + LEFT, + RIGHT, + + // Keypad + Key1, + Key2, + Key3, + Key4, + Key5, + Key6, + Key7, + Key8, + Key9, + Key0, + KeyA, + KeyB, + KeyC, + KeyD, + KeyAsterisk, + KeyPound + } + + public enum InputName + { + EncoderLower, + EncoderUpper, + Joystick, + Keypad + } +} diff --git a/ArduinoAgent/ArduinoProvider.cs b/ArduinoAgent/ArduinoProvider.cs new file mode 100644 index 0000000..6ae245b --- /dev/null +++ b/ArduinoAgent/ArduinoProvider.cs @@ -0,0 +1,143 @@ +using MSFSPopoutPanelManager.Shared; +using System; +using System.Collections.Generic; +using System.IO.Ports; +using System.Threading; + +namespace MSFSPopoutPanelManager.ArduinoAgent +{ + public class ArduinoProvider + { + private const string ARDUINO_COM_PORT = "COM3"; + private const int ARDUINO_BAUD_RATE = 9600; + + private SerialPort _serialPort; + + public event EventHandler OnConnectionChanged; + public event EventHandler OnDataReceived; + + public ArduinoProvider() + { + try + { + _serialPort = new SerialPort + { + PortName = ARDUINO_COM_PORT, + BaudRate = ARDUINO_BAUD_RATE + }; + _serialPort.DataReceived += DataReceived; + } + catch (Exception ex) + { + FileLogger.WriteException($"Arduino Error: {ex.Message}", null); + } + } + + public void Start() + { + if (!IsConnected) + { + try + { + _serialPort.Open(); + OnConnectionChanged?.Invoke(this, true); + FileLogger.WriteLog($"Arduino connected.", StatusMessageType.Info); + } + catch (Exception ex) + { + FileLogger.WriteException($"Arduino Connection Error - {ex.Message}", ex); + } + } + } + + public void Stop() + { + if (_serialPort.IsOpen) + { + try + { + _serialPort.Close(); + FileLogger.WriteLog($"Arduino disconnected.", StatusMessageType.Info); + } + catch (Exception ex) + { + FileLogger.WriteException($"Arduino Connection Error - {ex.Message}", ex); + } + } + + OnConnectionChanged?.Invoke(this, false); + } + + public void SendToArduino(string data) + { + try + { + if (IsConnected) + _serialPort.WriteLine(data); + } + catch (Exception ex) + { + FileLogger.WriteException($"Arduino Connection Error - {ex.Message}", ex); + } + } + + private void DataReceived(object sender, SerialDataReceivedEventArgs e) + { + if (_serialPort.IsOpen) + { + try + { + var dataEvents = new List(); + + int byteToRead = _serialPort.BytesToRead; + + while (byteToRead > 0) + { + + var message = _serialPort.ReadTo("\r\n"); + var data = message.Split(":"); + + ArduinoInputData dataEvent; + + // Calculate acceleration + if (data.Length == 3) + { + var accelerationValue = Convert.ToInt32(data[2]); + //dataEvent = new ArduinoInputData(data[0], data[1], accelerationValue == 1 ? 1 : accelerationValue / 2); + dataEvent = new ArduinoInputData(data[0], data[1], accelerationValue <= 2 ? 1 : accelerationValue); + } + else + { + dataEvent = new ArduinoInputData(data[0], data[1], 1); + } + + dataEvents.Add(dataEvent); + + byteToRead = _serialPort.BytesToRead; + } + + foreach (var evt in dataEvents) + { + OnDataReceived?.Invoke(this, evt); + Thread.Sleep(10); + } + } + catch + { + _serialPort.DiscardInBuffer(); + } + } + } + + private bool IsConnected + { + get + { + if (_serialPort == null) + return false; + + return _serialPort.IsOpen; + } + } + } +} diff --git a/FsConnector/DataDefinition.cs b/FsConnector/DataDefinition.cs deleted file mode 100644 index 5e00671..0000000 --- a/FsConnector/DataDefinition.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.FlightSimulator.SimConnect; -using System; -using System.Collections.Generic; - -namespace MSFSPopoutPanelManager.FsConnector -{ - public class DataDefinition - { - public static List<(string PropName, string SimConnectName, string SimConnectUnit, SIMCONNECT_DATATYPE SimConnectDataType, Type ObjectType)> GetDefinition() - { - var def = new List<(string, string, string, SIMCONNECT_DATATYPE, Type)> - { - ("Title", "Title", null, SIMCONNECT_DATATYPE.STRING256, typeof(string)), - ("ElectricalMasterBattery", "ELECTRICAL MASTER BATTERY", "Bool", SIMCONNECT_DATATYPE.FLOAT64, typeof(bool)), - ("TrackIREnable", "TRACK IR ENABLE", "Bool", SIMCONNECT_DATATYPE.FLOAT64, typeof(bool)), - ("AtcOnParkingSpot", "ATC ON PARKING SPOT", "Bool", SIMCONNECT_DATATYPE.FLOAT64, typeof(bool)) - }; - - return def; - } - } -} diff --git a/FsConnector/Enums.cs b/FsConnector/Enums.cs deleted file mode 100644 index 7e468a2..0000000 --- a/FsConnector/Enums.cs +++ /dev/null @@ -1,28 +0,0 @@ -namespace MSFSPopoutPanelManager.FsConnector -{ - public enum SimConnectDefinition - { - SimConnectDataStruct - } - - public enum NotificationGroup - { - GROUP0 - } - - public enum DataRequest - { - REQUEST_1 - } - - public enum SimConnectSystemEvent - { - FOURSECS, - SIMSTART, - SIMSTOP, - FLIGHTLOADED, - VIEW, - PAUSED, - NONE - }; -} diff --git a/FsConnector/FsConnector.csproj b/FsConnector/FsConnector.csproj deleted file mode 100644 index eadfc60..0000000 --- a/FsConnector/FsConnector.csproj +++ /dev/null @@ -1,36 +0,0 @@ - - - - net5.0-windows - FsConnector - MSFS 2020 Popout Panel Manager FsConnector - MSFS 2020 Popout Panel Manager FsConnector - 3.3.7.0 - Stanley Kwok - Stanley Kwok - Stanley Kwok 2021 - https://github.com/hawkeye-stan/msfs-popout-panel-manager - MSFSPopoutPanelManager.FsConnector - x64 - 3.3.7.0 - 3.3.7.0 - - - - - - - - - Resources\Managed\Microsoft.FlightSimulator.SimConnect.dll - - - - - - PreserveNewest - SimConnect.dll - - - - diff --git a/FsConnector/Resources/Managed/Microsoft.FlightSimulator.SimConnect.dll b/FsConnector/Resources/Managed/Microsoft.FlightSimulator.SimConnect.dll deleted file mode 100644 index 09b2410..0000000 Binary files a/FsConnector/Resources/Managed/Microsoft.FlightSimulator.SimConnect.dll and /dev/null differ diff --git a/FsConnector/Resources/SimConnect.dll b/FsConnector/Resources/SimConnect.dll deleted file mode 100644 index da40b73..0000000 Binary files a/FsConnector/Resources/SimConnect.dll and /dev/null differ diff --git a/FsConnector/SimConnectStruct.cs b/FsConnector/SimConnectStruct.cs deleted file mode 100644 index 6bc04e7..0000000 --- a/FsConnector/SimConnectStruct.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Runtime.InteropServices; - -namespace MSFSPopoutPanelManager.FsConnector -{ - [StructLayout(LayoutKind.Sequential, Pack = 1)] - public class SimConnectStruct - { - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x100)] - public string Prop01; - - public double Prop02; - public double Prop03; - public double Prop04; - } -} diff --git a/FsConnector/SimConnector.cs b/FsConnector/SimConnector.cs deleted file mode 100644 index 82b3996..0000000 --- a/FsConnector/SimConnector.cs +++ /dev/null @@ -1,209 +0,0 @@ -using Microsoft.FlightSimulator.SimConnect; -using MSFSPopoutPanelManager.Shared; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Dynamic; -using System.Runtime.InteropServices; - -namespace MSFSPopoutPanelManager.FsConnector -{ - public class SimConnector - { - private const int MSFS_CONNECTION_RETRY_TIMEOUT = 1000; // timeout to retry connection to MSFS via Simconnect in milliseconds - private const int WM_USER_SIMCONNECT = 0x402; - private SimConnect _simConnect; - private System.Timers.Timer _timer; - - public event EventHandler> OnReceivedData; - public event EventHandler OnConnected; - public event EventHandler OnDisconnected; - public event EventHandler> OnReceiveSystemEvent; - - public dynamic SimData { get; set; } - - public void Start() - { - _timer = new System.Timers.Timer(); - _timer.Interval = MSFS_CONNECTION_RETRY_TIMEOUT; - _timer.Enabled = true; - _timer.Elapsed += (source, e) => - { - try - { - if (_simConnect == null) - { - _simConnect = new SimConnect("MSFS Pop Out Panel Manager", Process.GetCurrentProcess().MainWindowHandle, WM_USER_SIMCONNECT, null, 0); - - _simConnect.OnRecvQuit += HandleOnRecvQuit; - _simConnect.OnRecvException += HandleOnRecvException; - _simConnect.OnRecvSimobjectDataBytype += HandleOnRecvSimobjectDataBytype; - _simConnect.OnRecvEvent += HandleOnReceiveEvent; - - _simConnect.SubscribeToSystemEvent(SimConnectSystemEvent.SIMSTART, "SimStart"); - _simConnect.SubscribeToSystemEvent(SimConnectSystemEvent.SIMSTOP, "SimStop"); - _simConnect.SubscribeToSystemEvent(SimConnectSystemEvent.VIEW, "View"); - - // Setup SimConnect data structure definition using SimConnectStruct and SimConnect data definitions - var definitions = DataDefinition.GetDefinition(); - foreach (var (PropName, SimConnectName, SimConnectUnit, SimConnectDataType, ObjectType) in definitions) - _simConnect.AddToDataDefinition(SimConnectDefinition.SimConnectDataStruct, SimConnectName, SimConnectUnit, SimConnectDataType, 0.0f, SimConnect.SIMCONNECT_UNUSED); - _simConnect.RegisterDataDefineStruct(SimConnectDefinition.SimConnectDataStruct); - - // Setup SimEvent mapping - foreach (var item in Enum.GetValues(typeof(ActionEvent))) - { - if (item.ToString().StartsWith("KEY_")) - _simConnect.MapClientEventToSimEvent((ActionEvent)item, item.ToString()[4..]); - } - - _timer.Enabled = false; - - System.Threading.Thread.Sleep(2000); - - Debug.WriteLine("SimConnect is connected"); - - OnConnected?.Invoke(this, null); - } - } - catch (COMException) - { - // handle SimConnect instantiation error when MSFS is not connected - } - }; - } - - public void Stop() - { - _timer.Enabled = false; - _simConnect = null; - } - - public void StopAndReconnect() - { - _simConnect = null; - _timer.Enabled = true; - } - - public void RequestData() - { - if (_simConnect != null) - try - { - _simConnect.RequestDataOnSimObjectType(DataRequest.REQUEST_1, SimConnectDefinition.SimConnectDataStruct, 0, SIMCONNECT_SIMOBJECT_TYPE.USER); - } - catch (Exception ex) - { - if (ex.Message != "0xC00000B0") - { - Debug.WriteLine($"SimConnect request data exception: {ex.Message}"); - StopAndReconnect(); - OnDisconnected?.Invoke(this, null); - } - } - } - - public void ReceiveMessage() - { - if (_simConnect != null) - try - { - _simConnect.ReceiveMessage(); - } - catch (Exception ex) - { - if (ex.Message != "0xC00000B0") - Debug.WriteLine($"SimConnect receive message exception: {ex.Message}"); - } - } - - public void TransmitActionEvent(ActionEvent eventID, uint data) - { - if (_simConnect != null) - { - try - { - _simConnect.TransmitClientEvent(0U, eventID, data, NotificationGroup.GROUP0, SIMCONNECT_EVENT_FLAG.GROUPID_IS_PRIORITY); - } - catch (Exception ex) - { - var eventName = eventID.ToString()[4..]; // trim out KEY_ prefix - Debug.WriteLine($"SimConnect transmit event exception: EventName: {eventName} - {ex.Message}"); - } - } - } - - public void SetDataObject(SimConnectStruct simConnectStruct) - { - if (_simConnect != null) - { - try - { - _simConnect.SetDataOnSimObject(SimConnectDefinition.SimConnectDataStruct, SimConnect.SIMCONNECT_OBJECT_ID_USER, SIMCONNECT_DATA_SET_FLAG.DEFAULT, simConnectStruct); - } - catch (Exception ex) - { - Debug.WriteLine($"Unable to set SimConnect variable: {ex.Message}"); - } - } - } - - private void HandleOnRecvQuit(SimConnect sender, SIMCONNECT_RECV data) - { - OnDisconnected?.Invoke(this, null); - - StopAndReconnect(); - // Try to reconnect again - _timer.Enabled = true; - } - - private void HandleOnRecvException(SimConnect sender, SIMCONNECT_RECV_EXCEPTION data) - { - var exception = (SIMCONNECT_EXCEPTION)data.dwException; - - switch (exception) - { - case SIMCONNECT_EXCEPTION.DATA_ERROR: - case SIMCONNECT_EXCEPTION.NAME_UNRECOGNIZED: - case SIMCONNECT_EXCEPTION.EVENT_ID_DUPLICATE: - return; - default: - Debug.WriteLine($"MSFS Error - {exception}"); - break; - } - } - - private void HandleOnRecvSimobjectDataBytype(SimConnect sender, SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE data) - { - if (data.dwRequestID == 0) - { - try - { - var simConnectStruct = (SimConnectStruct)data.dwData[0]; - var simConnectStructFields = typeof(SimConnectStruct).GetFields(); - var simData = new ExpandoObject(); - - var definition = DataDefinition.GetDefinition(); - int i = 0; - foreach (var item in definition) - { - simData.TryAdd(item.PropName, Convert.ChangeType(simConnectStructFields[i++].GetValue(simConnectStruct), item.ObjectType)); - } - SimData = simData; - - OnReceivedData?.Invoke(this, new EventArgs(simData)); - } - catch (Exception ex) - { - Debug.WriteLine($"SimConnect receive data exception: {ex.Message}"); - } - } - } - - private void HandleOnReceiveEvent(SimConnect sender, SIMCONNECT_RECV_EVENT data) - { - var systemEvent = ((SimConnectSystemEvent)data.uEventID); - OnReceiveSystemEvent?.Invoke(this, new EventArgs(systemEvent)); - } - } -} diff --git a/MSFSPopoutPanelManager.sln b/MSFSPopoutPanelManager.sln index 4ad4bdb..6b31010 100644 --- a/MSFSPopoutPanelManager.sln +++ b/MSFSPopoutPanelManager.sln @@ -5,14 +5,8 @@ VisualStudioVersion = 17.2.32602.215 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WpfApp", "WpfApp\WpfApp.csproj", "{54712A0A-B344-45E4-85C4-0A913305A0E6}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Model", "Model\Model.csproj", "{4A778C1A-3782-4312-842D-33AA58A9D6D4}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shared", "Shared\Shared.csproj", "{4BDDE1F9-FBDD-479A-B88E-B27D0513C046}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Provider", "Provider\Provider.csproj", "{933E7D03-883D-4970-9AD7-7A2B5D6C3671}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FsConnector", "FsConnector\FsConnector.csproj", "{023426F4-9FD2-4198-B9F4-83F0B55B88FC}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{15FC98CD-0A69-437B-A5E5-67D025DB5CDC}" ProjectSection(SolutionItems) = preProject .gitignore = .gitignore @@ -23,42 +17,176 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution VERSION.md = VERSION.md EndProjectSection EndProject - - +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WindowsAgent", "WindowsAgent\WindowsAgent.csproj", "{BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ArduinoAgent", "ArduinoAgent\ArduinoAgent.csproj", "{E72F813F-EE30-4384-B02F-EB5D4BCFEC49}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimconnectAgent", "SimconnectAgent\SimconnectAgent.csproj", "{1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebServer", "WebServer\WebServer.csproj", "{D20EA590-22C2-4F93-AC25-AF6960F97E03}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UserDataAgent", "UserDataAgent\UserDataAgent.csproj", "{677B6DF0-8E19-4B08-8480-F7C365B6BB89}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Orchestration", "Orchestration\Orchestration.csproj", "{9CD4014F-B3EA-4E67-9329-9679931E2688}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TouchPanelAgent", "TouchPanelAgent\TouchPanelAgent.csproj", "{2F36A227-C92C-4B42-B1E4-480015492357}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 + DebugTouchPanel|Any CPU = DebugTouchPanel|Any CPU + DebugTouchPanel|x64 = DebugTouchPanel|x64 + Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 + ReleaseTouchPanel|Any CPU = ReleaseTouchPanel|Any CPU + ReleaseTouchPanel|x64 = ReleaseTouchPanel|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {54712A0A-B344-45E4-85C4-0A913305A0E6}.Debug|Any CPU.ActiveCfg = Debug|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.Debug|Any CPU.Build.0 = Debug|x64 {54712A0A-B344-45E4-85C4-0A913305A0E6}.Debug|x64.ActiveCfg = Debug|x64 {54712A0A-B344-45E4-85C4-0A913305A0E6}.Debug|x64.Build.0 = Debug|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.Release|Any CPU.ActiveCfg = Release|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.Release|Any CPU.Build.0 = Release|x64 {54712A0A-B344-45E4-85C4-0A913305A0E6}.Release|x64.ActiveCfg = Release|x64 {54712A0A-B344-45E4-85C4-0A913305A0E6}.Release|x64.Build.0 = Release|x64 - {4A778C1A-3782-4312-842D-33AA58A9D6D4}.Debug|x64.ActiveCfg = Debug|x64 - {4A778C1A-3782-4312-842D-33AA58A9D6D4}.Debug|x64.Build.0 = Debug|x64 - {4A778C1A-3782-4312-842D-33AA58A9D6D4}.Release|x64.ActiveCfg = Release|x64 - {4A778C1A-3782-4312-842D-33AA58A9D6D4}.Release|x64.Build.0 = Release|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {54712A0A-B344-45E4-85C4-0A913305A0E6}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.Debug|Any CPU.ActiveCfg = Debug|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.Debug|Any CPU.Build.0 = Debug|x64 {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.Debug|x64.ActiveCfg = Debug|x64 {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.Debug|x64.Build.0 = Debug|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.Release|Any CPU.ActiveCfg = Release|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.Release|Any CPU.Build.0 = Release|x64 {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.Release|x64.ActiveCfg = Release|x64 {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.Release|x64.Build.0 = Release|x64 - {933E7D03-883D-4970-9AD7-7A2B5D6C3671}.Debug|x64.ActiveCfg = Debug|x64 - {933E7D03-883D-4970-9AD7-7A2B5D6C3671}.Debug|x64.Build.0 = Debug|x64 - {933E7D03-883D-4970-9AD7-7A2B5D6C3671}.Release|x64.ActiveCfg = Release|x64 - {933E7D03-883D-4970-9AD7-7A2B5D6C3671}.Release|x64.Build.0 = Release|x64 - {023426F4-9FD2-4198-B9F4-83F0B55B88FC}.Debug|x64.ActiveCfg = Debug|x64 - {023426F4-9FD2-4198-B9F4-83F0B55B88FC}.Debug|x64.Build.0 = Debug|x64 - {023426F4-9FD2-4198-B9F4-83F0B55B88FC}.Release|x64.ActiveCfg = Release|x64 - {023426F4-9FD2-4198-B9F4-83F0B55B88FC}.Release|x64.Build.0 = Release|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {4BDDE1F9-FBDD-479A-B88E-B27D0513C046}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.Debug|Any CPU.ActiveCfg = Debug|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.Debug|Any CPU.Build.0 = Debug|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.Debug|x64.ActiveCfg = Debug|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.Debug|x64.Build.0 = Debug|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.Release|Any CPU.ActiveCfg = Release|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.Release|Any CPU.Build.0 = Release|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.Release|x64.ActiveCfg = Release|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.Release|x64.Build.0 = Release|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {BDD878A3-EF5B-43C7-94B7-CEFA04C67A9E}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.Debug|Any CPU.ActiveCfg = Debug|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.Debug|Any CPU.Build.0 = Debug|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.Debug|x64.ActiveCfg = Debug|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.Release|Any CPU.ActiveCfg = Release|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.Release|Any CPU.Build.0 = Release|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.Release|x64.ActiveCfg = Release|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {E72F813F-EE30-4384-B02F-EB5D4BCFEC49}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.Debug|Any CPU.ActiveCfg = Debug|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.Debug|Any CPU.Build.0 = Debug|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.Debug|x64.ActiveCfg = Debug|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.Debug|x64.Build.0 = Debug|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.Release|Any CPU.ActiveCfg = Release|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.Release|Any CPU.Build.0 = Release|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.Release|x64.ActiveCfg = Release|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.Release|x64.Build.0 = Release|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {1BBF7803-BA8D-4AEF-8319-061E93AE5F3D}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.Debug|Any CPU.ActiveCfg = Debug|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.Debug|Any CPU.Build.0 = Debug|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.Debug|x64.ActiveCfg = Debug|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.Release|Any CPU.ActiveCfg = Release|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.Release|Any CPU.Build.0 = Release|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.Release|x64.ActiveCfg = Release|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {D20EA590-22C2-4F93-AC25-AF6960F97E03}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.Debug|Any CPU.ActiveCfg = Debug|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.Debug|Any CPU.Build.0 = Debug|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.Debug|x64.ActiveCfg = Debug|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.Debug|x64.Build.0 = Debug|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.Release|Any CPU.ActiveCfg = Release|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.Release|Any CPU.Build.0 = Release|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.Release|x64.ActiveCfg = Release|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.Release|x64.Build.0 = Release|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {677B6DF0-8E19-4B08-8480-F7C365B6BB89}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.Debug|Any CPU.ActiveCfg = Debug|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.Debug|Any CPU.Build.0 = Debug|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.Debug|x64.ActiveCfg = Debug|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.Debug|x64.Build.0 = Debug|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.Release|Any CPU.ActiveCfg = Release|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.Release|Any CPU.Build.0 = Release|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.Release|x64.ActiveCfg = Release|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.Release|x64.Build.0 = Release|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {9CD4014F-B3EA-4E67-9329-9679931E2688}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.Debug|Any CPU.ActiveCfg = Debug|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.Debug|Any CPU.Build.0 = Debug|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.Debug|x64.ActiveCfg = Debug|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.Debug|x64.Build.0 = Debug|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.DebugTouchPanel|Any CPU.ActiveCfg = DebugTouchPanel|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.DebugTouchPanel|Any CPU.Build.0 = DebugTouchPanel|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.DebugTouchPanel|x64.ActiveCfg = DebugTouchPanel|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.DebugTouchPanel|x64.Build.0 = DebugTouchPanel|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.Release|Any CPU.ActiveCfg = Release|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.Release|Any CPU.Build.0 = Release|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.Release|x64.ActiveCfg = Release|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.Release|x64.Build.0 = Release|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.ReleaseTouchPanel|Any CPU.ActiveCfg = ReleaseTouchPanel|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.ReleaseTouchPanel|Any CPU.Build.0 = ReleaseTouchPanel|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.ReleaseTouchPanel|x64.ActiveCfg = ReleaseTouchPanel|x64 + {2F36A227-C92C-4B42-B1E4-480015492357}.ReleaseTouchPanel|x64.Build.0 = ReleaseTouchPanel|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {D8938324-934B-4602-B30E-66B60365B426} = {15FC98CD-0A69-437B-A5E5-67D025DB5CDC} - {E2AF3E4D-F5B6-44C0-8E15-528206E9F3C7} = {D8938324-934B-4602-B30E-66B60365B426} - EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {D1607553-61E8-4ED6-B382-ABA6F6944586} EndGlobalSection diff --git a/Model/AppSetting.cs b/Model/AppSetting.cs deleted file mode 100644 index 85e7e9d..0000000 --- a/Model/AppSetting.cs +++ /dev/null @@ -1,169 +0,0 @@ -using CommunityToolkit.Mvvm.ComponentModel; -using MSFSPopoutPanelManager.Shared; -using Newtonsoft.Json; -using System; -using System.IO; - -namespace MSFSPopoutPanelManager.Model -{ - public class AppSetting : ObservableObject - { - private const string APP_SETTING_DATA_FILENAME = "appsettingdata.json"; - private bool _saveEnabled; - - public event EventHandler> AlwaysOnTopChanged; - public event EventHandler> AutoPopOutPanelsChanged; - - public AppSetting() - { - // Set defaults - AutoUpdaterUrl = "https://raw.githubusercontent.com/hawkeye-stan/msfs-popout-panel-manager/master/autoupdate.xml"; - //AutoUpdaterUrl = "https://raw.githubusercontent.com/hawkeye-stan/AutoUpdateTest/main/autoupdate.xml"; // Test URL against test repo - LastUsedProfileId = -1; - MinimizeToTray = false; - AlwaysOnTop = true; - UseAutoPanning = true; - AutoPanningKeyBinding = "0"; - StartMinimized = false; - IncludeBuiltInPanel = false; - AutoDisableTrackIR = true; - AutoPopOutPanels = true; - AutoPopOutPanelsWaitDelay = new AutoPopOutPanelsWaitDelay(); - } - - public void Load() - { - var appSetting = ReadAppSetting(); - this.AutoUpdaterUrl = appSetting.AutoUpdaterUrl; - this.LastUsedProfileId = appSetting.LastUsedProfileId; - this.MinimizeToTray = appSetting.MinimizeToTray; - this.AlwaysOnTop = appSetting.AlwaysOnTop; - this.UseAutoPanning = appSetting.UseAutoPanning; - this.AutoPanningKeyBinding = appSetting.AutoPanningKeyBinding; - this.StartMinimized = appSetting.StartMinimized; - this.IncludeBuiltInPanel = appSetting.IncludeBuiltInPanel; - this.AutoDisableTrackIR = appSetting.AutoDisableTrackIR; - this.AutoPopOutPanels = appSetting.AutoPopOutPanels; - this.AutoPopOutPanelsWaitDelay = appSetting.AutoPopOutPanelsWaitDelay; - AutoPopOutPanelsWaitDelay.DataChanged += (e, source) => WriteAppSetting(this); - - _saveEnabled = true; - } - - public void OnPropertyChanged(string propertyName, object before, object after) - { - // Automatic save data - if (_saveEnabled && propertyName != "AutoStart" && before != after) - WriteAppSetting(this); - - switch (propertyName) - { - case "AlwaysOnTop": - AlwaysOnTopChanged?.Invoke(this, new EventArgs((bool)after)); - break; - case "AutoPopOutPanels": - AutoPopOutPanelsChanged?.Invoke(this, new EventArgs((bool)after)); - break; - } - } - - public string AutoUpdaterUrl { get; set; } - - public int LastUsedProfileId { get; set; } - - public bool MinimizeToTray { get; set; } - - public bool AlwaysOnTop { get; set; } - - public bool UseAutoPanning { get; set; } - - public string AutoPanningKeyBinding { get; set; } - - public bool StartMinimized { get; set; } - - public bool IncludeBuiltInPanel { get; set; } - - public bool AutoPopOutPanels { get; set; } - - public bool AutoDisableTrackIR { get; set; } - - public AutoPopOutPanelsWaitDelay AutoPopOutPanelsWaitDelay { get; set; } - - [JsonIgnore] - public bool AutoStart - { - get - { - return AppAutoStart.CheckIsAutoStart(); - } - set - { - if (value) - AppAutoStart.Activate(); - else - AppAutoStart.Deactivate(); - } - } - - public AppSetting ReadAppSetting() - { - try - { - using (StreamReader reader = new StreamReader(Path.Combine(FileIo.GetUserDataFilePath(), APP_SETTING_DATA_FILENAME))) - { - return JsonConvert.DeserializeObject(reader.ReadToEnd()); - } - } - catch - { - // if file does not exist, write default data - var appSetting = new AppSetting(); - WriteAppSetting(appSetting); - return appSetting; - } - } - - public void WriteAppSetting(AppSetting appSetting) - { - try - { - var userProfilePath = FileIo.GetUserDataFilePath(); - if (!Directory.Exists(userProfilePath)) - Directory.CreateDirectory(userProfilePath); - - using (StreamWriter file = File.CreateText(Path.Combine(userProfilePath, APP_SETTING_DATA_FILENAME))) - { - JsonSerializer serializer = new JsonSerializer(); - serializer.Serialize(file, appSetting); - } - } - catch - { - Logger.LogStatus($"Unable to write app setting data file: {APP_SETTING_DATA_FILENAME}", StatusMessageType.Error); - } - } - } - - public class AutoPopOutPanelsWaitDelay : ObservableObject - { - public event EventHandler> DataChanged; - - public AutoPopOutPanelsWaitDelay() - { - ReadyToFlyButton = 4; - InitialCockpitView = 1; - InstrumentationPowerOn = 1; - } - - public int ReadyToFlyButton { get; set; } - - public int InitialCockpitView { get; set; } - - public int InstrumentationPowerOn { get; set; } - - public void OnPropertyChanged(string propertyName, object before, object after) - { - DataChanged?.Invoke(this, new EventArgs(propertyName)); - } - } -} diff --git a/Model/Model.csproj b/Model/Model.csproj deleted file mode 100644 index 2f06502..0000000 --- a/Model/Model.csproj +++ /dev/null @@ -1,29 +0,0 @@ - - - - net5.0-windows - MSFSPopoutPanelManager.Model - Model - MSFS 2020 Popout Panel Manager Model - 3.3.7.0 - Stanley Kwok - Stanley Kwok - Stanley Kwok 2021 - MSFS 2020 Popout Panel Manager Model - https://github.com/hawkeye-stan/msfs-popout-panel-manager - x64 - 3.3.7.0 - 3.3.7.0 - - - - - - - - - - - - - diff --git a/Model/PanelConfig.cs b/Model/PanelConfig.cs deleted file mode 100644 index eacadc6..0000000 --- a/Model/PanelConfig.cs +++ /dev/null @@ -1,70 +0,0 @@ -using CommunityToolkit.Mvvm.ComponentModel; -using Newtonsoft.Json; -using System; - -namespace MSFSPopoutPanelManager.Model -{ - public class PanelConfig : ObservableObject - { - public int PanelIndex { get; set; } - - public string PanelName { get; set; } - - public PanelType PanelType { get; set; } - - public int Top { get; set; } - - public int Left { get; set; } - - public int Width { get; set; } - - public int Height { get; set; } - - public bool AlwaysOnTop { get; set; } - - public bool HideTitlebar { get; set; } - - public bool FullScreen { get; set; } - - public bool TouchEnabled { get; set; } - - [JsonIgnore] - public bool IsCustomPopout { get { return PanelType == PanelType.CustomPopout; } } - - [JsonIgnore] - public IntPtr PanelHandle { get; set; } - - [JsonIgnore] - public bool IsLockable - { - get - { - switch (PanelType) - { - case PanelType.CustomPopout: - case PanelType.BuiltInPopout: - case PanelType.MSFSTouchPanel: - return true; - default: - return false; - } - } - } - - [JsonIgnore] - public bool HasTouchableEvent - { - get - { - switch (PanelType) - { - case PanelType.CustomPopout: - case PanelType.BuiltInPopout: - return true; - default: - return false; - } - } - } - } -} diff --git a/Model/PanelSourceCoordinate.cs b/Model/PanelSourceCoordinate.cs deleted file mode 100644 index e70335b..0000000 --- a/Model/PanelSourceCoordinate.cs +++ /dev/null @@ -1,18 +0,0 @@ -using CommunityToolkit.Mvvm.ComponentModel; -using Newtonsoft.Json; -using System; - -namespace MSFSPopoutPanelManager.Model -{ - public class PanelSourceCoordinate : ObservableObject - { - public int PanelIndex { get; set; } - - public int X { get; set; } - - public int Y { get; set; } - - [JsonIgnore] - public IntPtr PanelHandle { get; set; } - } -} diff --git a/Model/UserProfile.cs b/Model/UserProfile.cs deleted file mode 100644 index a16d473..0000000 --- a/Model/UserProfile.cs +++ /dev/null @@ -1,100 +0,0 @@ -using CommunityToolkit.Mvvm.ComponentModel; -using Newtonsoft.Json; -using System; -using System.Collections.ObjectModel; - -namespace MSFSPopoutPanelManager.Model -{ - public class UserProfile : ObservableObject - { - public UserProfile() - { - PanelSourceCoordinates = new ObservableCollection(); - PanelConfigs = new ObservableCollection(); - BindingAircraftLiveries = new ObservableCollection(); - IsLocked = false; - } - - public int ProfileId { get; set; } - - public string ProfileName { get; set; } - - [JsonConverter(typeof(SingleValueArrayConvertor))] - public ObservableCollection BindingAircraftLiveries { get; set; } - - public bool IsLocked { get; set; } - - public ObservableCollection PanelSourceCoordinates { get; set; } - - public ObservableCollection PanelConfigs { get; set; } - - public bool PowerOnRequiredForColdStart { get; set; } - - public void Reset() - { - PanelSourceCoordinates.Clear(); - PanelConfigs.Clear(); - IsLocked = false; - } - - [JsonIgnore] - public bool IsActive { get; set; } - - [JsonIgnore] - public bool HasBindingAircraftLiveries - { - get { return BindingAircraftLiveries.Count > 0; } - } - - [JsonIgnore] - public bool HasPanelSourceCoordinates - { - get { return PanelSourceCoordinates.Count > 0; } - } - - #region Legacy Properties - - // Support pre-Version 3.3 tag for one time conversion - [JsonConverter(typeof(SingleValueArrayConvertor))] - public ObservableCollection BindingPlaneTitle - { - set { BindingAircraftLiveries = value; } - } - - #endregion - } - - public class SingleValueArrayConvertor : JsonConverter - { - public override bool CanConvert(Type objectType) - { - return true; - } - - public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) - { - object val = new object(); - - if (reader.TokenType == JsonToken.String) - { - var instance = (string)serializer.Deserialize(reader, typeof(string)); - val = new ObservableCollection() { instance }; - } - else if (reader.TokenType == JsonToken.StartArray) - { - val = serializer.Deserialize(reader, objectType); - } - else if (reader.TokenType == JsonToken.Null) - { - val = new ObservableCollection(); - } - - return val; - } - - public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) - { - serializer.Serialize(writer, value); - } - } -} diff --git a/Orchestration/AppSettingData.cs b/Orchestration/AppSettingData.cs new file mode 100644 index 0000000..f6931ca --- /dev/null +++ b/Orchestration/AppSettingData.cs @@ -0,0 +1,53 @@ +using MSFSPopoutPanelManager.Shared; +using MSFSPopoutPanelManager.UserDataAgent; +using System; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class AppSettingData : ObservableObject + { + public event EventHandler AppSettingUpdated; + public event EventHandler AlwaysOnTopChanged; + public event EventHandler AutoPopOutPanelsChanged; + public event EventHandler TouchPanelIntegrationChanged; + + public AppSetting AppSetting { get; private set; } + + public void ReadSettings() + { + AppSetting = AppSettingManager.ReadAppSetting(); + + if (AppSetting == null) + { + AppSetting = new AppSetting(); + AppSettingManager.WriteAppSetting(AppSetting); + } + + // Autosave data + AppSetting.PropertyChanged += (sender, e) => + { + var arg = e as PropertyChangedExtendedEventArgs; + + if (arg.OldValue != arg.NewValue) + { + AppSettingManager.WriteAppSetting(AppSetting); + + switch (arg.PropertyName) + { + case "AlwaysOnTop": + AlwaysOnTopChanged?.Invoke(this, (bool)arg.NewValue); + break; + case "AutoPopOutPanels": + AutoPopOutPanelsChanged?.Invoke(this, (bool)arg.NewValue); + break; + case "EnableTouchPanelIntegration": + TouchPanelIntegrationChanged?.Invoke(this, (bool)arg.NewValue); + break; + } + + AppSettingUpdated?.Invoke(this, null); + } + }; + } + } +} diff --git a/Orchestration/FlightSimData.cs b/Orchestration/FlightSimData.cs new file mode 100644 index 0000000..05fbf82 --- /dev/null +++ b/Orchestration/FlightSimData.cs @@ -0,0 +1,42 @@ +using MSFSPopoutPanelManager.Shared; +using System; +using System.ComponentModel; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class FlightSimData : ObservableObject + { + public event PropertyChangedEventHandler CurrentMsfsPlaneTitleChanged; + + public string CurrentMsfsPlaneTitle { get; set; } + + public bool HasCurrentMsfsPlaneTitle + { + get { return !String.IsNullOrEmpty(CurrentMsfsPlaneTitle); } + } + + public bool ElectricalMasterBatteryStatus { get; set; } + + public bool IsSimulatorStarted { get; set; } + + public bool IsEnteredFlight { get; set; } + + public new void OnPropertyChanged(string propertyName, object oldValue, object newValue) + { + if (oldValue != newValue) + { + if (propertyName == "CurrentMsfsPlaneTitle") + CurrentMsfsPlaneTitleChanged?.Invoke(this, null); + + base.OnPropertyChanged(propertyName, oldValue, newValue); + } + } + + public void ClearData() + { + CurrentMsfsPlaneTitle = null; + ElectricalMasterBatteryStatus = false; + IsEnteredFlight = false; + } + } +} diff --git a/Orchestration/FlightSimOrchestrator.cs b/Orchestration/FlightSimOrchestrator.cs new file mode 100644 index 0000000..f0a7b69 --- /dev/null +++ b/Orchestration/FlightSimOrchestrator.cs @@ -0,0 +1,124 @@ +using MSFSPopoutPanelManager.Shared; +using MSFSPopoutPanelManager.SimConnectAgent; +using System; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class FlightSimOrchestrator : ObservableObject + { + private SimConnectProvider _simConnectProvider; + + public FlightSimOrchestrator() + { + _simConnectProvider = new SimConnectProvider(); + } + + internal ProfileData ProfileData { get; set; } + + internal AppSettingData AppSettingData { get; set; } + + internal FlightSimData FlightSimData { get; set; } + + internal SimConnectProvider SimConnectProvider { get { return _simConnectProvider; } } + + public event EventHandler OnSimulatorStarted; + public event EventHandler OnSimulatorStopped; + public event EventHandler OnFlightStarted; + public event EventHandler OnFlightStopped; + public event EventHandler OnFlightStartedForAutoPopOut; + + public void StartSimConnectServer() + { + _simConnectProvider.OnConnected += (sender, e) => + { + FlightSimData.IsSimulatorStarted = true; + OnSimulatorStarted?.Invoke(this, null); + }; + _simConnectProvider.OnDisconnected += (sender, e) => + { + FlightSimData.IsSimulatorStarted = false; + FlightSimData.ClearData(); + + OnSimulatorStopped?.Invoke(this, null); + }; + _simConnectProvider.OnSimConnectDataRefreshed += (sender, e) => + { + var title = Convert.ToString(e.Find(d => d.PropName == "Title").Value); + var electricalMasterBattery = Convert.ToBoolean(e.Find(d => d.PropName == "ElectricalMasterBattery").Value); + + // Automatic switching of active profile when SimConnect active aircraft livery changes + if (FlightSimData.CurrentMsfsPlaneTitle != title) + { + FlightSimData.CurrentMsfsPlaneTitle = title; + ProfileData.AutoSwitchProfile(title); + } + + if (electricalMasterBattery != FlightSimData.ElectricalMasterBatteryStatus) + FlightSimData.ElectricalMasterBatteryStatus = electricalMasterBattery; + }; + _simConnectProvider.OnFlightStarted += (sender, e) => OnFlightStarted?.Invoke(this, null); + _simConnectProvider.OnFlightStopped += HandleOnFlightStopped; + _simConnectProvider.Start(); + } + + public void EndSimConnectServer(bool appExit) + { + _simConnectProvider.Stop(appExit); + } + + public void TurnOnTrackIR() + { + if (AppSettingData.AppSetting.AutoDisableTrackIR) + _simConnectProvider.TurnOnTrackIR(); + } + + public void TurnOffTrackIR() + { + if (AppSettingData.AppSetting.AutoDisableTrackIR) + _simConnectProvider.TurnOffTrackIR(); + } + + public void TurnOnPower() + { + if (ProfileData.ActiveProfile != null) + _simConnectProvider.TurnOnPower(ProfileData.ActiveProfile.PowerOnRequiredForColdStart); + } + + public void TurnOnAvionics() + { + if (ProfileData.ActiveProfile != null) + _simConnectProvider.TurnOnAvionics(ProfileData.ActiveProfile.PowerOnRequiredForColdStart); + } + + public void TurnOffPower() + { + if (ProfileData.ActiveProfile != null) + _simConnectProvider.TurnOffpower(ProfileData.ActiveProfile.PowerOnRequiredForColdStart); + } + + public void TurnOffAvionics() + { + if (ProfileData.ActiveProfile != null) + _simConnectProvider.TurnOffAvionics(ProfileData.ActiveProfile.PowerOnRequiredForColdStart); + } + + public void AutoPanelPopOutActivation(bool activate) + { + if (activate) + _simConnectProvider.OnFlightStarted += HandleOnFlightStartedForAutoPopOut; + else + _simConnectProvider.OnFlightStarted -= HandleOnFlightStartedForAutoPopOut; + } + + private void HandleOnFlightStartedForAutoPopOut(object sender, EventArgs e) + { + OnFlightStartedForAutoPopOut?.Invoke(this, null); + } + + private void HandleOnFlightStopped(object sender, EventArgs e) + { + FlightSimData.IsEnteredFlight = false; + OnFlightStopped?.Invoke(this, null); + } + } +} diff --git a/Model/FodyWeavers.xml b/Orchestration/FodyWeavers.xml similarity index 100% rename from Model/FodyWeavers.xml rename to Orchestration/FodyWeavers.xml diff --git a/Model/FodyWeavers.xsd b/Orchestration/FodyWeavers.xsd similarity index 100% rename from Model/FodyWeavers.xsd rename to Orchestration/FodyWeavers.xsd diff --git a/Orchestration/MainOrchestrator.cs b/Orchestration/MainOrchestrator.cs new file mode 100644 index 0000000..8220b42 --- /dev/null +++ b/Orchestration/MainOrchestrator.cs @@ -0,0 +1,137 @@ +using AutoUpdaterDotNET; +using MSFSPopoutPanelManager.Shared; +using System; +using System.IO; +using System.Reflection; +using System.Threading.Tasks; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class MainOrchestrator : ObservableObject + { + public MainOrchestrator() + { + Profile = new ProfileOrchestrator(); + PanelSource = new PanelSourceOrchestrator(); + PanelPopOut = new PanelPopOutOrchestrator(); + PanelConfiguration = new PanelConfigurationOrchestrator(); + FlightSim = new FlightSimOrchestrator(); + OnlineFeature = new OnlineFeatureOrchestrator(); + TouchPanel = new TouchPanelOrchestrator(); + + FlightSimData = new FlightSimData(); + FlightSimData.CurrentMsfsPlaneTitleChanged += (sernder, e) => ProfileData.RefreshProfile(); + + AppSettingData = new AppSettingData(); + AppSettingData.AutoPopOutPanelsChanged += (sender, e) => FlightSim.AutoPanelPopOutActivation(e); + AppSettingData.TouchPanelIntegrationChanged += async (sender, e) => + { + await TouchPanel.TouchPanelIntegrationUpdated(e); + }; + + ProfileData = new ProfileData(); + ProfileData.FlightSimData = FlightSimData; + ProfileData.AppSettingData = AppSettingData; + ProfileData.ActiveProfileChanged += (sender, e) => + { + PanelSource.CloseAllPanelSource(); + }; + } + + public ProfileOrchestrator Profile { get; set; } + + public PanelSourceOrchestrator PanelSource { get; set; } + + public PanelPopOutOrchestrator PanelPopOut { get; set; } + + public PanelConfigurationOrchestrator PanelConfiguration { get; set; } + + public TouchPanelOrchestrator TouchPanel { get; set; } + + public ProfileData ProfileData { get; set; } + + public AppSettingData AppSettingData { get; private set; } + + public FlightSimData FlightSimData { get; private set; } + + public FlightSimOrchestrator FlightSim { get; set; } + + public OnlineFeatureOrchestrator OnlineFeature { get; set; } + + public IntPtr ApplicationHandle { get; set; } + + public async void Initialize() + { + MigrateData.MigrateUserDataFiles(); + + AppSettingData.ReadSettings(); + ProfileData.ReadProfiles(); + + Profile.ProfileData = ProfileData; + + PanelSource.ProfileData = ProfileData; + PanelSource.AppSettingData = AppSettingData; + PanelSource.FlightSimData = FlightSimData; + PanelSource.FlightSimOrchestrator = FlightSim; + + PanelPopOut.ProfileData = ProfileData; + PanelPopOut.AppSettingData = AppSettingData; + PanelPopOut.FlightSimData = FlightSimData; + PanelPopOut.FlightSimOrchestrator = FlightSim; + PanelPopOut.PanelSourceOrchestrator = PanelSource; + PanelPopOut.TouchPanelOrchestrator = TouchPanel; + PanelPopOut.OnPopOutCompleted += (sender, e) => TouchPanel.ReloadTouchPanelSimConnectDataDefinition(); + + PanelConfiguration.ProfileData = ProfileData; + PanelConfiguration.AppSettingData = AppSettingData; + + FlightSim.ProfileData = ProfileData; + FlightSim.AppSettingData = AppSettingData; + FlightSim.FlightSimData = FlightSimData; + FlightSim.OnFlightStartedForAutoPopOut += (sender, e) => PanelPopOut.AutoPopOut(); + + TouchPanel.ProfileData = ProfileData; + TouchPanel.AppSettingData = AppSettingData; + TouchPanel.ApplicationHandle = ApplicationHandle; + + CheckForAutoUpdate(); + + ProfileData.UpdateActiveProfile(AppSettingData.AppSetting.LastUsedProfileId); // Load last used profile + FlightSim.AutoPanelPopOutActivation(AppSettingData.AppSetting.AutoPopOutPanels); // Activate auto pop out panel if defined in preferences + FlightSim.StartSimConnectServer(); // Start the SimConnect server + + // Enable/Disable touch panel feature (Personal use only feature) + try + { + var assembly = Assembly.LoadFrom(Path.Combine(AppContext.BaseDirectory, "WebServer.dll")); + if (assembly != null) + AppSettingData.AppSetting.IsEnabledTouchPanelServer = true; + + if (AppSettingData.AppSetting.TouchPanelSettings.EnableTouchPanelIntegration) + await TouchPanel.StartServer(); + + assembly = null; + } + catch { } + } + + public async Task ApplicationClose() + { + // Force unhook all win events + PanelConfiguration.EndConfiguration(); + FlightSim.EndSimConnectServer(true); + await TouchPanel.StopServer(); + } + + private void CheckForAutoUpdate() + { + string jsonPath = Path.Combine(Path.Combine(FileIo.GetUserDataFilePath(), "autoupdate.json")); + AutoUpdater.PersistenceProvider = new JsonFilePersistenceProvider(jsonPath); + AutoUpdater.Synchronous = true; + AutoUpdater.AppTitle = "MSFS Pop Out Panel Manager"; + AutoUpdater.RunUpdateAsAdmin = false; + AutoUpdater.UpdateFormSize = new System.Drawing.Size(930, 675); + AutoUpdater.Start(AppSettingData.AppSetting.AutoUpdaterUrl); + } + } +} diff --git a/Orchestration/MigrateData.cs b/Orchestration/MigrateData.cs new file mode 100644 index 0000000..3c0b36d --- /dev/null +++ b/Orchestration/MigrateData.cs @@ -0,0 +1,133 @@ +using MSFSPopoutPanelManager.Shared; +using System; +using System.IO; + +namespace MSFSPopoutPanelManager.Orchestration +{ + internal class MigrateData + { + public static void MigrateUserDataFiles() + { + var packageFile = new FileInfo("MSFSPopoutPanelManager.exe"); + + var newDataPath = Path.Combine(FileIo.GetUserDataFilePath()); + var oldDataPath = Path.Combine(packageFile.DirectoryName, "userdata"); + + try + { + // Check if migration is necessary + if (new DirectoryInfo(newDataPath).Exists) + return; + + // Check if upgrading from older version of app + if (!new DirectoryInfo(oldDataPath).Exists) + return; + + const string APPSETTING_DATA_JSON = "appsettingdata.json"; + const string USERPROFILE_DATA_JSON = "userprofiledata.json"; + + var installationPathDirInfo = packageFile.Directory; + + var oldAppSettingDataJsonPath = Path.Combine(oldDataPath, APPSETTING_DATA_JSON); + var newAppSettingDataJsonPath = Path.Combine(newDataPath, APPSETTING_DATA_JSON); + var oldUserProfileDataJsonPath = Path.Combine(oldDataPath, USERPROFILE_DATA_JSON); + var newUserProfileDataJsonPath = Path.Combine(newDataPath, USERPROFILE_DATA_JSON); + + StatusMessageWriter.WriteMessage($"Performing user data migration to your Windows 'Documents' folder. Please wait.....", StatusMessageType.Info, true, 3, true); + + // Try to create user folder + if (!new DirectoryInfo(newDataPath).Exists) + { + var userDocumentFolder = Directory.CreateDirectory(newDataPath); + + if (!new DirectoryInfo(newDataPath).Exists) + { + StatusMessageWriter.WriteMessage($"Unable to create folder '{userDocumentFolder}'. Application will close.", StatusMessageType.Error, true, 5, true); + Environment.Exit(0); + } + } + + // Try move appsettingdata.json + if (new FileInfo(oldAppSettingDataJsonPath).Exists) + { + File.Copy(oldAppSettingDataJsonPath, newAppSettingDataJsonPath); + + // Verify file has been copied + if (!new FileInfo(newAppSettingDataJsonPath).Exists) + { + StatusMessageWriter.WriteMessage("An error has occured when moving 'appsettingdata.json' to new folder location. Please try manually move this file and restart the app again.", StatusMessageType.Error, true, 5, true); + Environment.Exit(0); + } + + File.Delete(oldAppSettingDataJsonPath); + } + + // Try move userprofiledata.json + if (new FileInfo(oldUserProfileDataJsonPath).Exists) + { + File.Copy(oldUserProfileDataJsonPath, newUserProfileDataJsonPath); + + // Verify file has been copied + if (!new FileInfo(newUserProfileDataJsonPath).Exists) + { + StatusMessageWriter.WriteMessage("An error has occured when moving 'userprofiledata.json' to new folder location. Please try manually move this file and restart the app again.", StatusMessageType.Error, true, 5, true); + Environment.Exit(0); + } + + File.Delete(oldUserProfileDataJsonPath); + } + + // Now remove all orphan files and folder + CleanFolderRecursive(installationPathDirInfo); + + // Force an update of AppSetting file + var appSettingData = new AppSettingData(); + appSettingData.ReadSettings(); + appSettingData.AppSetting.AlwaysOnTop = false; + System.Threading.Thread.Sleep(500); + appSettingData.AppSetting.AlwaysOnTop = true; + + StatusMessageWriter.WriteMessage(String.Empty, StatusMessageType.Info, false); + } + catch (Exception ex) + { + var msg = "An unknown user data migration error has occured. Application will close"; + FileLogger.WriteException(msg, ex); + StatusMessageWriter.WriteMessage(msg, StatusMessageType.Error, true, 5, true); + + Environment.Exit(0); + } + } + + private static void CleanFolderRecursive(DirectoryInfo directory) + { + foreach (FileInfo filePath in directory.GetFiles()) + { + var name = filePath.Name.ToLower(); + if (name != "msfspopoutpanelmanager.exe") + { + try + { + filePath.Delete(); + } + catch { } + } + } + + foreach (DirectoryInfo dir in directory.GetDirectories()) + { + CleanFolderRecursive(new DirectoryInfo(dir.FullName)); + + var name = dir.Name.ToLower(); + if (name == "resources" || name == "userdata") + { + try + { + dir.Delete(); + } + catch { } + } + } + } + } +} diff --git a/Orchestration/OnlineFeatureOrchestrator.cs b/Orchestration/OnlineFeatureOrchestrator.cs new file mode 100644 index 0000000..6517ba2 --- /dev/null +++ b/Orchestration/OnlineFeatureOrchestrator.cs @@ -0,0 +1,18 @@ +using MSFSPopoutPanelManager.Shared; +using MSFSPopoutPanelManager.WindowsAgent; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class OnlineFeatureOrchestrator : ObservableObject + { + public void OpenUserGuide() + { + WindowProcessManager.OpenOnlineUserGuide(); + } + + public void OpenLatestDownload() + { + WindowProcessManager.OpenOnlineLatestDownload(); + } + } +} diff --git a/Orchestration/Orchestration.csproj b/Orchestration/Orchestration.csproj new file mode 100644 index 0000000..47dfb26 --- /dev/null +++ b/Orchestration/Orchestration.csproj @@ -0,0 +1,49 @@ + + + net6.0 + Orchestration + MSFS 2020 Popout Panel Manager Orchestration + MSFS 2020 Popout Panel Manager Orchestration + Stanley Kwok + Stanley Kwok + Stanley Kwok 2021 + https://github.com/hawkeye-stan/msfs-popout-panel-manager + MSFSPopoutPanelManager.Orchestration + x64 + 3.4.0.0 + 3.4.0.0 + 3.4.0.0 + win-x64 + Embedded + Debug;Release;DebugTouchPanel;ReleaseTouchPanel + + + true + + + true + + + true + + + true + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + \ No newline at end of file diff --git a/Orchestration/PanelAnalyzer.cs b/Orchestration/PanelAnalyzer.cs new file mode 100644 index 0000000..09ec8fa --- /dev/null +++ b/Orchestration/PanelAnalyzer.cs @@ -0,0 +1,202 @@ +using MSFSPopoutPanelManager.WindowsAgent; +using System; +using System.Drawing; +using System.Drawing.Imaging; +using System.Threading; + +namespace MSFSPopoutPanelManager.Orchestration +{ + [System.Runtime.Versioning.SupportedOSPlatform("windows")] + public class PanelAnalyzer + { + public static Point GetMagnifyingGlassIconCoordinate(IntPtr hwnd) + { + var sourceImage = TakeScreenShot(hwnd); + + if (sourceImage == null) + return new Point(0, 0); + + Rectangle rectangle = WindowActionManager.GetClientRect(hwnd); + + var panelMenubarTop = GetPanelMenubarTop(sourceImage, rectangle); + if (panelMenubarTop > sourceImage.Height) + return Point.Empty; + + var panelMenubarBottom = GetPanelMenubarBottom(sourceImage, rectangle); + if (panelMenubarBottom > sourceImage.Height) + return Point.Empty; + + var panelsStartingLeft = GetPanelMenubarStartingLeft(sourceImage, rectangle, panelMenubarTop + 5); + + // The center of magnifying glass icon is around (3.2 x height of menubar) to the right of the panel menubar starting left + // But need to use higher number here to click the left side of magnifying glass icon because on some panel, the ratio is smaller + var menubarHeight = panelMenubarBottom - panelMenubarTop; + var magnifyingIconXCoor = panelsStartingLeft - Convert.ToInt32(menubarHeight * 3.2); // ToDo: play around with this multiplier to find the best for all resolutions + var magnifyingIconYCoor = panelMenubarTop + Convert.ToInt32(menubarHeight / 2); + + return new Point(magnifyingIconXCoor, magnifyingIconYCoor); + } + + private static Bitmap TakeScreenShot(IntPtr windowHandle) + { + if (!WindowActionManager.IsWindow(windowHandle)) + return null; + + // Set window to foreground so nothing can hide the window + PInvoke.SetForegroundWindow(windowHandle); + Thread.Sleep(300); + + Rectangle rectangle = WindowActionManager.GetWindowRect(windowHandle); + + Rectangle clientRectangle = WindowActionManager.GetClientRect(windowHandle); + + // Take a screen shot by removing the titlebar of the window + var left = rectangle.Left; + var top = rectangle.Top + (rectangle.Height - clientRectangle.Height) - 8; // 8 pixels adjustments + + var bmp = new Bitmap(clientRectangle.Width, clientRectangle.Height, PixelFormat.Format24bppRgb); + + using (Graphics g = Graphics.FromImage(bmp)) + { + g.CopyFromScreen(new Point(left, top), Point.Empty, rectangle.Size); + } + + // Place the above image in the same canvas size as before + Bitmap backingImage = new Bitmap(rectangle.Width, rectangle.Height); + using (Graphics gfx = Graphics.FromImage(backingImage)) + { + using (SolidBrush brush = new SolidBrush(Color.FromArgb(255, 0, 0))) + { + gfx.FillRectangle(brush, 0, 0, rectangle.Width, rectangle.Height); + gfx.DrawImage(bmp, new Point(0, top)); + } + } + + return backingImage; + } + + private static int GetPanelMenubarTop(Bitmap sourceImage, Rectangle rectangle) + { + // Get a snippet of 1 pixel wide vertical strip of windows. We will choose the strip left of center. + // This is to determine when the actual panel's vertical pixel starts in the window. This will allow accurate sizing of the template image + var left = Convert.ToInt32((rectangle.Width) * 0.70); // look at around 70% from the left + var top = sourceImage.Height - rectangle.Height; + + if (top < 0 || left < 0) + return -1; + + unsafe + { + var stripData = sourceImage.LockBits(new Rectangle(left, top, 1, rectangle.Height), ImageLockMode.ReadWrite, sourceImage.PixelFormat); + + int bytesPerPixel = Bitmap.GetPixelFormatSize(stripData.PixelFormat) / 8; + int heightInPixels = stripData.Height; + int widthInBytes = stripData.Width * bytesPerPixel; + byte* ptrFirstPixel = (byte*)stripData.Scan0; + + for (int y = 0; y < heightInPixels; y++) + { + byte* currentLine = ptrFirstPixel + (y * stripData.Stride); + for (int x = 0; x < widthInBytes; x = x + bytesPerPixel) + { + int red = currentLine[x + 2]; + int green = currentLine[x + 1]; + int blue = currentLine[x]; + + if (red == 255 && green == 255 && blue == 255) + { + sourceImage.UnlockBits(stripData); + return y + top; + } + } + } + + sourceImage.UnlockBits(stripData); + } + + return -1; + } + + private static int GetPanelMenubarBottom(Bitmap sourceImage, Rectangle rectangle) + { + // Get a snippet of 1 pixel wide vertical strip of windows. We will choose the strip about 70% from the left of the window + var left = Convert.ToInt32((rectangle.Width) * 0.7); // look at around 70% from the left + var top = sourceImage.Height - rectangle.Height; + + if (top < 0 || left < 0) + return -1; + + unsafe + { + var stripData = sourceImage.LockBits(new Rectangle(left, top, 1, rectangle.Height), ImageLockMode.ReadWrite, sourceImage.PixelFormat); + + int bytesPerPixel = Bitmap.GetPixelFormatSize(stripData.PixelFormat) / 8; + int heightInPixels = stripData.Height; + int widthInBytes = stripData.Width * bytesPerPixel; + byte* ptrFirstPixel = (byte*)stripData.Scan0; + + int menubarBottom = -1; + + for (int y = 0; y < heightInPixels; y++) + { + byte* currentLine = ptrFirstPixel + (y * stripData.Stride); + for (int x = 0; x < widthInBytes; x = x + bytesPerPixel) + { + int red = currentLine[x + 2]; + int green = currentLine[x + 1]; + int blue = currentLine[x]; + + if (red > 250 && green > 250 && blue > 250) // allows the color to be a little off white (ie. Fenix A30 EFB) + { + // found the top of menu bar + menubarBottom = y + top; + } + else if (menubarBottom > -1) /// it is no longer white in color, we hit menubar bottom + { + sourceImage.UnlockBits(stripData); + return menubarBottom; + } + } + } + + sourceImage.UnlockBits(stripData); + } + + return -1; + } + + private static int GetPanelMenubarStartingLeft(Bitmap sourceImage, Rectangle rectangle, int top) + { + unsafe + { + var stripData = sourceImage.LockBits(new Rectangle(0, top, rectangle.Width, 1), ImageLockMode.ReadWrite, sourceImage.PixelFormat); + + int bytesPerPixel = Bitmap.GetPixelFormatSize(stripData.PixelFormat) / 8; + int widthInPixels = stripData.Width; + int heightInBytes = stripData.Height * bytesPerPixel; + byte* ptrFirstPixel = (byte*)stripData.Scan0; + + for (int x = 0; x < widthInPixels; x++) + { + byte* currentLine = ptrFirstPixel - (x * bytesPerPixel); + for (int y = 0; y < heightInBytes; y = y + bytesPerPixel) + { + int red = currentLine[y + 2]; + int green = currentLine[y + 1]; + int blue = currentLine[y]; + + if (red > 250 && green > 250 && blue > 250) // allows the color to be a little off white (ie. Fenix A30 EFB) + { + sourceImage.UnlockBits(stripData); + return sourceImage.Width - x; + } + } + } + + sourceImage.UnlockBits(stripData); + } + + return -1; + } + } +} diff --git a/Provider/PanelConfigurationManager.cs b/Orchestration/PanelConfigurationOrchestrator.cs similarity index 52% rename from Provider/PanelConfigurationManager.cs rename to Orchestration/PanelConfigurationOrchestrator.cs index d85d11c..2de81ee 100644 --- a/Provider/PanelConfigurationManager.cs +++ b/Orchestration/PanelConfigurationOrchestrator.cs @@ -1,164 +1,181 @@ -using MSFSPopoutPanelManager.Model; +using MSFSPopoutPanelManager.Shared; +using MSFSPopoutPanelManager.UserDataAgent; +using MSFSPopoutPanelManager.WindowsAgent; using System; using System.Drawing; using System.Linq; using System.Threading; using System.Threading.Tasks; -namespace MSFSPopoutPanelManager.Provider +namespace MSFSPopoutPanelManager.Orchestration { - public class PanelConfigurationManager + public class PanelConfigurationOrchestrator : ObservableObject { - private UserProfileManager _userProfileManager; - private IntPtr _winEventHook; private static PInvoke.WinEventProc _winEvent; // keep this as static to prevent garbage collect or the app will crash - private Rectangle _lastWindowRectangle; + private static IntPtr _winEventHook; private uint _prevWinEvent = PInvokeConstant.EVENT_SYSTEM_CAPTUREEND; private int _winEventClickLock = 0; + private Rectangle _lastWindowRectangle; + private object _hookLock = new object(); + private bool _isHookMouseDown = false; - public UserProfile UserProfile { get; set; } - - public bool AllowEdit { get; set; } - - public PanelConfigurationManager(UserProfileManager userProfileManager) + public PanelConfigurationOrchestrator() { - _userProfileManager = userProfileManager; _winEvent = new PInvoke.WinEventProc(EventCallback); AllowEdit = true; } - public void HookWinEvent() + internal ProfileData ProfileData { get; set; } + + internal AppSettingData AppSettingData { get; set; } + + private Profile ActiveProfile { get { return ProfileData == null ? null : ProfileData.ActiveProfile; } } + + public bool AllowEdit { get; set; } + + public void StartConfiguration() { - // Setup panel config event hooks - _winEventHook = PInvoke.SetWinEventHook(PInvokeConstant.EVENT_SYSTEM_CAPTURESTART, PInvokeConstant.EVENT_OBJECT_LOCATIONCHANGE, DiagnosticManager.GetApplicationProcess().Handle, _winEvent, 0, 0, PInvokeConstant.WINEVENT_OUTOFCONTEXT); + HookWinEvent(); } - public void UnhookWinEvent() + public void EndConfiguration() { - // Unhook all Win API events - PInvoke.UnhookWinEvent(_winEventHook); + UnhookWinEvent(); } - public void LockPanelsUpdated() + public void LockStatusUpdated() { - UserProfile.IsLocked = !UserProfile.IsLocked; - _userProfileManager.WriteUserProfiles(); + ActiveProfile.IsLocked = !ActiveProfile.IsLocked; + ProfileData.WriteProfiles(); } - public void PanelConfigPropertyUpdated(PanelConfigItem panelConfigItem) + public void PanelConfigPropertyUpdated(int panelIndex, PanelConfigPropertyName configPropertyName) { - if (panelConfigItem == null || !AllowEdit || UserProfile.IsLocked) + if (panelIndex == -1 || !AllowEdit || ActiveProfile.IsLocked) return; - var panelConfig = UserProfile.PanelConfigs.ToList().Find(p => p.PanelIndex == panelConfigItem.PanelIndex); + var panelConfig = ActiveProfile.PanelConfigs.FirstOrDefault(p => p.PanelIndex == panelIndex); if (panelConfig != null) { - if (panelConfigItem.PanelConfigProperty == PanelConfigPropertyName.FullScreen) + if (configPropertyName == PanelConfigPropertyName.FullScreen) { InputEmulationManager.ToggleFullScreenPanel(panelConfig.PanelHandle); panelConfig.HideTitlebar = false; panelConfig.AlwaysOnTop = false; } - else if (panelConfigItem.PanelConfigProperty == PanelConfigPropertyName.PanelName) + else if (configPropertyName == PanelConfigPropertyName.PanelName) { var name = panelConfig.PanelName; - if (name.IndexOf("(Custom)") == -1) + + if (panelConfig.PanelType == PanelType.CustomPopout && name.IndexOf("(Custom)") == -1) + { name = name + " (Custom)"; - PInvoke.SetWindowText(panelConfig.PanelHandle, name); + PInvoke.SetWindowText(panelConfig.PanelHandle, name); + } } else if (!panelConfig.FullScreen) { - switch (panelConfigItem.PanelConfigProperty) + switch (configPropertyName) { case PanelConfigPropertyName.Left: case PanelConfigPropertyName.Top: - WindowManager.MoveWindow(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); + WindowActionManager.MoveWindow(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); break; case PanelConfigPropertyName.Width: case PanelConfigPropertyName.Height: if (panelConfig.HideTitlebar) - WindowManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, false); + WindowActionManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, false); - WindowManager.MoveWindowWithMsfsBugOverrirde(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); + WindowActionManager.MoveWindowWithMsfsBugOverrirde(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); if (panelConfig.HideTitlebar) - WindowManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, true); + WindowActionManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, true); break; case PanelConfigPropertyName.AlwaysOnTop: - WindowManager.ApplyAlwaysOnTop(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.AlwaysOnTop, new Rectangle(panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height)); + WindowActionManager.ApplyAlwaysOnTop(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.AlwaysOnTop, new Rectangle(panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height)); break; case PanelConfigPropertyName.HideTitlebar: - WindowManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, panelConfig.HideTitlebar); + WindowActionManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, panelConfig.HideTitlebar); break; } } - _userProfileManager.WriteUserProfiles(); + ProfileData.WriteProfiles(); } } - public void PanelConfigIncreaseDecrease(PanelConfigItem panelConfigItem, int changeAmount) + public void PanelConfigIncreaseDecrease(int panelIndex, PanelConfigPropertyName configPropertyName, int changeAmount) { - if (panelConfigItem == null || !AllowEdit || UserProfile.IsLocked || UserProfile.PanelConfigs == null || UserProfile.PanelConfigs.Count == 0) + if (panelIndex == -1 || !AllowEdit || ActiveProfile.IsLocked || ActiveProfile.PanelConfigs == null || ActiveProfile.PanelConfigs.Count == 0) return; - var index = UserProfile.PanelConfigs.ToList().FindIndex(p => p.PanelIndex == panelConfigItem.PanelIndex); + var panelConfig = ActiveProfile.PanelConfigs.FirstOrDefault(p => p.PanelIndex == panelIndex); - if (index > -1) + if (panelConfig != null) { - var panelConfig = UserProfile.PanelConfigs[index]; - - // Cannot apply any other settings if panel is full screen mode + // Should not apply any other settings if panel is full screen mode if (panelConfig.FullScreen) return; int orignalLeft = panelConfig.Left; - switch (panelConfigItem.PanelConfigProperty) + switch (configPropertyName) { case PanelConfigPropertyName.Left: panelConfig.Left += changeAmount; - WindowManager.MoveWindow(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); + WindowActionManager.MoveWindow(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); break; case PanelConfigPropertyName.Top: panelConfig.Top += changeAmount; - WindowManager.MoveWindow(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); + WindowActionManager.MoveWindow(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); break; case PanelConfigPropertyName.Width: panelConfig.Width += changeAmount; if (panelConfig.HideTitlebar) - WindowManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, false); + WindowActionManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, false); - WindowManager.MoveWindowWithMsfsBugOverrirde(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); + WindowActionManager.MoveWindowWithMsfsBugOverrirde(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); if (panelConfig.HideTitlebar) - WindowManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, true); + WindowActionManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, true); break; case PanelConfigPropertyName.Height: panelConfig.Height += changeAmount; if (panelConfig.HideTitlebar) - WindowManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, false); + WindowActionManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, false); - WindowManager.MoveWindowWithMsfsBugOverrirde(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); + WindowActionManager.MoveWindowWithMsfsBugOverrirde(panelConfig.PanelHandle, panelConfig.PanelType, panelConfig.Left, panelConfig.Top, panelConfig.Width, panelConfig.Height); if (panelConfig.HideTitlebar) - WindowManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, true); + WindowActionManager.ApplyHidePanelTitleBar(panelConfig.PanelHandle, true); break; default: return; } - _userProfileManager.WriteUserProfiles(); + ProfileData.WriteProfiles(); } } - private void EventCallback(IntPtr hWinEventHook, uint iEvent, IntPtr hWnd, int idObject, int idChild, int dwEventThread, int dwmsEventTime) + private void HookWinEvent() + { + // Setup panel config event hooks + _winEventHook = PInvoke.SetWinEventHook(PInvokeConstant.EVENT_SYSTEM_CAPTURESTART, PInvokeConstant.EVENT_OBJECT_LOCATIONCHANGE, IntPtr.Zero, _winEvent, 0, 0, PInvokeConstant.WINEVENT_OUTOFCONTEXT); + } + + private void UnhookWinEvent() + { + // Unhook all Win API events + PInvoke.UnhookWinEvent(_winEventHook); + } + + private void EventCallback(IntPtr hWinEventHook, uint iEvent, IntPtr hwnd, int idObject, int idChild, int dwEventThread, int dwmsEventTime) { switch (iEvent) { @@ -167,31 +184,36 @@ namespace MSFSPopoutPanelManager.Provider case PInvokeConstant.EVENT_SYSTEM_CAPTURESTART: case PInvokeConstant.EVENT_SYSTEM_CAPTUREEND: // check by priority to speed up comparing of escaping constraints - if (hWnd == IntPtr.Zero + if (hwnd == IntPtr.Zero || idObject != 0 || hWinEventHook != _winEventHook || !AllowEdit - || UserProfile.PanelConfigs == null - || UserProfile.PanelConfigs.Count == 0) + || ActiveProfile == null + || ActiveProfile.PanelConfigs == null + || ActiveProfile.PanelConfigs.Count == 0) { return; } - HandleEventCallback(hWnd, iEvent); + HandleEventCallback(hwnd, iEvent); break; default: break; } } - private void HandleEventCallback(IntPtr hWnd, uint iEvent) + private void HandleEventCallback(IntPtr hwnd, uint iEvent) { - var panelConfig = UserProfile.PanelConfigs.FirstOrDefault(panel => panel.PanelHandle == hWnd); + var panelConfig = ActiveProfile.PanelConfigs.FirstOrDefault(panel => panel.PanelHandle == hwnd); if (panelConfig == null) return; - if (panelConfig.IsLockable && UserProfile.IsLocked) + // Should not apply any other settings if panel is full screen mode + if (panelConfig.FullScreen) + return; + + if (panelConfig.IsLockable && ActiveProfile.IsLocked) { switch (iEvent) { @@ -203,12 +225,18 @@ namespace MSFSPopoutPanelManager.Provider // Detect if window is maximized, if so, save settings WINDOWPLACEMENT wp = new WINDOWPLACEMENT(); wp.length = System.Runtime.InteropServices.Marshal.SizeOf(wp); - PInvoke.GetWindowPlacement(hWnd, ref wp); + PInvoke.GetWindowPlacement(hwnd, ref wp); if (wp.showCmd == PInvokeConstant.SW_SHOWMAXIMIZED || wp.showCmd == PInvokeConstant.SW_SHOWMINIMIZED || wp.showCmd == PInvokeConstant.SW_SHOWNORMAL) { - PInvoke.ShowWindow(hWnd, PInvokeConstant.SW_RESTORE); + PInvoke.ShowWindow(hwnd, PInvokeConstant.SW_RESTORE); } break; + case PInvokeConstant.EVENT_SYSTEM_CAPTURESTART: + if (!panelConfig.HasTouchableEvent || _prevWinEvent == PInvokeConstant.EVENT_SYSTEM_CAPTURESTART) + break; + + HandleTouchDownEvent(panelConfig); + break; case PInvokeConstant.EVENT_SYSTEM_CAPTUREEND: if (!panelConfig.TouchEnabled || _prevWinEvent == PInvokeConstant.EVENT_OBJECT_LOCATIONCHANGE) break; @@ -216,7 +244,7 @@ namespace MSFSPopoutPanelManager.Provider if (!panelConfig.HasTouchableEvent || _prevWinEvent == PInvokeConstant.EVENT_SYSTEM_CAPTUREEND) break; - HandleTouchEvent(panelConfig); + HandleTouchUpEvent(panelConfig); break; } } @@ -252,15 +280,21 @@ namespace MSFSPopoutPanelManager.Provider // Detect if window is maximized, if so, save settings WINDOWPLACEMENT wp = new WINDOWPLACEMENT(); wp.length = System.Runtime.InteropServices.Marshal.SizeOf(wp); - PInvoke.GetWindowPlacement(hWnd, ref wp); + PInvoke.GetWindowPlacement(hwnd, ref wp); if (wp.showCmd == PInvokeConstant.SW_SHOWMAXIMIZED || wp.showCmd == PInvokeConstant.SW_SHOWMINIMIZED) { - _userProfileManager.WriteUserProfiles(); + ProfileData.WriteProfiles(); } break; case PInvokeConstant.EVENT_SYSTEM_MOVESIZEEND: - _userProfileManager.WriteUserProfiles(); + ProfileData.WriteProfiles(); + break; + case PInvokeConstant.EVENT_SYSTEM_CAPTURESTART: + if (!panelConfig.HasTouchableEvent || _prevWinEvent == PInvokeConstant.EVENT_SYSTEM_CAPTURESTART) + break; + + HandleTouchDownEvent(panelConfig); break; case PInvokeConstant.EVENT_SYSTEM_CAPTUREEND: if (!panelConfig.TouchEnabled || _prevWinEvent == PInvokeConstant.EVENT_OBJECT_LOCATIONCHANGE) @@ -269,7 +303,7 @@ namespace MSFSPopoutPanelManager.Provider if (!panelConfig.HasTouchableEvent || _prevWinEvent == PInvokeConstant.EVENT_SYSTEM_CAPTUREEND) break; - HandleTouchEvent(panelConfig); + HandleTouchUpEvent(panelConfig); break; } } @@ -277,7 +311,27 @@ namespace MSFSPopoutPanelManager.Provider _prevWinEvent = iEvent; } - private void HandleTouchEvent(PanelConfig panelConfig) + private void HandleTouchDownEvent(PanelConfig panelConfig) + { + Point point; + PInvoke.GetCursorPos(out point); + + // Disable left clicking if user is touching the title bar area + if (point.Y - panelConfig.Top > (panelConfig.HideTitlebar ? 5 : 31)) + { + if (!_isHookMouseDown) + { + lock (_hookLock) + { + _isHookMouseDown = true; + InputEmulationManager.LeftClickMouseDown(point.X, point.Y); + } + } + } + } + + + private void HandleTouchUpEvent(PanelConfig panelConfig) { Point point; PInvoke.GetCursorPos(out point); @@ -287,11 +341,20 @@ namespace MSFSPopoutPanelManager.Provider { var prevWinEventClickLock = ++_winEventClickLock; - UnhookWinEvent(); - InputEmulationManager.LeftClickFast(point.X, point.Y); - HookWinEvent(); + if (_isHookMouseDown) + { + Thread.Sleep(AppSettingData.AppSetting.TouchScreenSettings.MouseUpDownDelay); - if (prevWinEventClickLock == _winEventClickLock) + lock (_hookLock) + { + _isHookMouseDown = false; + UnhookWinEvent(); + InputEmulationManager.LeftClickMouseUp(0, 0); + HookWinEvent(); + } + } + + if (prevWinEventClickLock == _winEventClickLock && AppSettingData.AppSetting.TouchScreenSettings.RefocusGameWindow) { Task.Run(() => RefocusMsfs(prevWinEventClickLock)); } @@ -304,11 +367,16 @@ namespace MSFSPopoutPanelManager.Provider if (prevWinEventClickLock == _winEventClickLock) { - var simulatorProcess = DiagnosticManager.GetSimulatorProcess(); + var simulatorProcess = WindowProcessManager.GetSimulatorProcess(); Rectangle rectangle; PInvoke.GetWindowRect(simulatorProcess.Handle, out rectangle); - PInvoke.SetCursorPos(rectangle.X + 18, rectangle.Y + 80); + + if (!_isHookMouseDown) + { + PInvoke.SetCursorPos(rectangle.X + 18, rectangle.Y + 80); + } + } } } diff --git a/Orchestration/PanelPopOutOrchestrator.cs b/Orchestration/PanelPopOutOrchestrator.cs new file mode 100644 index 0000000..792f450 --- /dev/null +++ b/Orchestration/PanelPopOutOrchestrator.cs @@ -0,0 +1,452 @@ +using MSFSPopoutPanelManager.Shared; +using MSFSPopoutPanelManager.UserDataAgent; +using MSFSPopoutPanelManager.WindowsAgent; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Drawing; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class PanelPopOutOrchestrator : ObservableObject + { + // This will be replaced by a signal from Ready to Fly Skipper into webserver in version 4.0 + private const int READY_TO_FLY_BUTTON_APPEARANCE_DELAY = 2000; + + internal ProfileData ProfileData { get; set; } + + internal AppSettingData AppSettingData { get; set; } + + internal FlightSimData FlightSimData { get; set; } + + internal FlightSimOrchestrator FlightSimOrchestrator { private get; set; } + + internal PanelSourceOrchestrator PanelSourceOrchestrator { private get; set; } + + internal TouchPanelOrchestrator TouchPanelOrchestrator { private get; set; } + + private Profile ActiveProfile { get { return ProfileData == null ? null : ProfileData.ActiveProfile; } } + + private AppSetting AppSetting { get { return AppSettingData == null ? null : AppSettingData.AppSetting; } } + + public event EventHandler OnPopOutStarted; + public event EventHandler OnPopOutCompleted; + public event EventHandler OnTouchPanelOpened; + + public void ManualPopOut() + { + if (ActiveProfile == null) + return; + + InputHookManager.EndHook(); + + if (ActiveProfile.PanelSourceCoordinates.Count > 0 || ActiveProfile.TouchPanelBindings.Count > 0) + { + StatusMessageWriter.WriteMessage($"Panels pop out in progress for profile:\n{ActiveProfile.ProfileName}", StatusMessageType.Info, true); + CorePopOutSteps(); + } + } + + public void AutoPopOut() + { + if (ActiveProfile == null) + return; + + ProfileData.AutoSwitchProfile(FlightSimData.CurrentMsfsPlaneTitle); + + FlightSimData.IsEnteredFlight = true; + + // find the profile with the matching binding plane title + var profile = ProfileData.Profiles.FirstOrDefault(p => p.BindingAircraftLiveries.Any(p => p == FlightSimData.CurrentMsfsPlaneTitle)); + + // Do not do auto pop out if no profile matches the current livery + if (profile == null) + return; + + // Match the delay for Ready to Fly button to disappear + Thread.Sleep(READY_TO_FLY_BUTTON_APPEARANCE_DELAY); + + if (ActiveProfile.PanelSourceCoordinates.Count > 0 || ActiveProfile.TouchPanelBindings.Count > 0) + { + StatusMessageWriter.WriteMessage($"Automatic pop out is starting for profile:\n{profile.ProfileName}", StatusMessageType.Info, true); + + // Extra wait for cockpit view to align + Thread.Sleep(1000); + + CorePopOutSteps(); + } + } + + private void CorePopOutSteps() + { + // Has custom pop out panels + if (ActiveProfile.PanelSourceCoordinates.Count > 0) + { + // Turn off TrackIR if TrackIR is started + FlightSimOrchestrator.TurnOffTrackIR(); + + // Turn on power if required to pop out panels at least one (fix Cessna 208b grand caravan mod bug where battery is reported as on) + if (ActiveProfile.PowerOnRequiredForColdStart) + { + int count = 0; + do + { + FlightSimOrchestrator.TurnOnPower(); + Thread.Sleep(500); + count++; + } + while (!FlightSimData.ElectricalMasterBatteryStatus && count < 10); + } + + // Turn on avionics if required to pop out panels + if (ActiveProfile.PowerOnRequiredForColdStart) + FlightSimOrchestrator.TurnOnAvionics(); + } + + StartPopout(); + + // Has custom pop out panels + if (ActiveProfile.PanelSourceCoordinates.Count > 0) + { + // Turn off avionics if needed after pop out + FlightSimOrchestrator.TurnOffAvionics(); + + // Turn off power if needed after pop out + FlightSimOrchestrator.TurnOffPower(); + + // Return to custom camera view + ReturnToAfterPopOutCameraView(); + + // Turn TrackIR back on + FlightSimOrchestrator.TurnOnTrackIR(); + } + } + + private void StartPopout() + { + List panelConfigs = new List(); + + var simulatorProcess = WindowProcessManager.GetSimulatorProcess(); + + if (simulatorProcess == null || simulatorProcess.Handle == IntPtr.Zero) + { + StatusMessageWriter.WriteMessage("MSFS/SimConnect has not been started. Please try again at a later time.", StatusMessageType.Error, false); + return; + } + + if (ActiveProfile == null) + { + StatusMessageWriter.WriteMessage("No profile has been selected. Please select a profile to continue.", StatusMessageType.Error, false); + return; + } + + if (ActiveProfile.PanelSourceCoordinates.Count == 0 && ActiveProfile.TouchPanelBindings.Count == 0) + { + StatusMessageWriter.WriteMessage("No panel has been selected for the profile. Please select at least one panel to continue.", StatusMessageType.Error, false); + return; + } + + // Close all existing custom pop out panels + WindowActionManager.CloseAllPopOuts(); + + // Close all panel source overlays + PanelSourceOrchestrator.CloseAllPanelSource(); + + OnPopOutStarted?.Invoke(this, null); + + // Must close out all existing custom pop out panels + if (WindowActionManager.GetWindowsCountByPanelType(new List() { PanelType.CustomPopout, PanelType.MSFSTouchPanel }) > 0) + { + StatusMessageWriter.WriteMessage("Please close all existing panel pop outs to continue.", StatusMessageType.Error, false); + return; + } + + // Try to pop out and separate custom panels + if (ActiveProfile.PanelSourceCoordinates.Count > 0) + { + if (AppSetting.UseAutoPanning) + InputEmulationManager.LoadCustomView(AppSetting.AutoPanningKeyBinding); + + var panelResults = ExecutePopoutAndSeparation(); + + if (panelResults == null) + return; + + panelConfigs.AddRange(panelResults); + } + + // Add the MSFS Touch Panel (My other github project) windows to the panel list + if (AppSetting.TouchPanelSettings.EnableTouchPanelIntegration) + { + var panelResults = AddMsfsTouchPanels(panelConfigs.Count + 1); + if (panelResults == null) + return; + + panelConfigs.AddRange(panelResults); + } + + if (panelConfigs.Count == 0) + { + OnPopOutCompleted?.Invoke(this, null); + StatusMessageWriter.WriteMessage("No panels have been found. Please select at least one in-game panel.", StatusMessageType.Error, false); + return; + } + + // Line up all the panels + for (var i = panelConfigs.Count - 1; i >= 0; i--) + { + if (panelConfigs[i].PanelType == PanelType.CustomPopout) + { + WindowActionManager.MoveWindow(panelConfigs[i].PanelHandle, panelConfigs[i].PanelType, panelConfigs[i].Top, panelConfigs[i].Left, panelConfigs[i].Width, panelConfigs[i].Height); + PInvoke.SetForegroundWindow(panelConfigs[i].PanelHandle); + Thread.Sleep(200); + } + } + + if (panelConfigs.Count > 0 || ActiveProfile.PanelConfigs.Count > 0) + { + + LoadAndApplyPanelConfigs(panelConfigs); + ActiveProfile.PanelConfigs = new ObservableCollection(panelConfigs); + StatusMessageWriter.WriteMessage("Panels have been popped out succesfully and saved panel settings have been applied.", StatusMessageType.Info, true); + OnPopOutCompleted?.Invoke(this, null); + } + else + { + ActiveProfile.PanelConfigs = new ObservableCollection(panelConfigs); + StatusMessageWriter.WriteMessage("Panels have been popped out succesfully.", StatusMessageType.Info, true); + OnPopOutCompleted?.Invoke(this, null); + } + } + + private List ExecutePopoutAndSeparation() + { + List panels = new List(); + + // PanelIndex starts at 1 + for (var i = 1; i <= ActiveProfile.PanelSourceCoordinates.Count; i++) + { + var x = ActiveProfile.PanelSourceCoordinates[i - 1].X; + var y = ActiveProfile.PanelSourceCoordinates[i - 1].Y; + InputEmulationManager.PopOutPanel(x, y, AppSetting.UseLeftRightControlToPopOut); + + var handle = PInvoke.FindWindow("AceApp", String.Empty); // Get an AceApp window with empty title + + // Need to move the window to upper left corner first. There is a possible bug in the game that panel pop out to full screen that prevents further clicking. + if (handle != IntPtr.Zero) + WindowActionManager.MoveWindow(handle, PanelType.CustomPopout, 0, 0, 800, 600); + + if (i > 1) + SeparatePanel(panels[0].PanelHandle); // The joined panel is always the first panel that got popped out + + handle = PInvoke.FindWindow("AceApp", String.Empty); // Get an AceApp window with empty title + + if (handle == IntPtr.Zero && i == 1) + { + StatusMessageWriter.WriteMessage("Unable to pop out the first panel. Please check the first panel's number circle is positioned inside the panel, check for panel obstruction, and check if panel can be popped out. Pop out process stopped.", StatusMessageType.Error, true); + return null; + } + else if (handle == IntPtr.Zero) + { + StatusMessageWriter.WriteMessage($"Unable to pop out panel number {i}. Please check panel's number circle is positioned inside the panel, check for panel obstruction, and check if panel can be popped out. Pop out process stopped.", StatusMessageType.Error, true); + return null; + } + + var panel = new PanelConfig(); + panel.PanelHandle = handle; + panel.PanelType = PanelType.CustomPopout; + panel.PanelIndex = i; + panel.PanelName = $"Panel{i}"; + panel.Top = (i - 1) * 30; + panel.Left = (i - 1) * 30; + panel.Width = 800; + panel.Height = 600; + panels.Add(panel); + + PInvoke.SetWindowText(panel.PanelHandle, panel.PanelName + " (Custom)"); + } + + //Performance validation, make sure the number of pop out panels is equal to the number of selected panel + if (WindowActionManager.GetWindowsCountByPanelType(new List() { PanelType.CustomPopout }) != ActiveProfile.PanelSourceCoordinates.Count) + { + StatusMessageWriter.WriteMessage("Unable to pop out all panels. Please align all panel number circles with in-game panel locations.", StatusMessageType.Error, false); + return null; + } + + return panels; + } + + private void SeparatePanel(IntPtr hwnd) + { + // Resize all windows to 800x600 when separating and shimmy the panel + // MSFS draws popout panel differently at different time for same panel + + // ToDo: Need to figure mouse click code to separate window + WindowActionManager.MoveWindow(hwnd, PanelType.CustomPopout, -8, 0, 800, 600); + PInvoke.SetForegroundWindow(hwnd); + Thread.Sleep(500); + + // Find the magnifying glass coordinate + var point = PanelAnalyzer.GetMagnifyingGlassIconCoordinate(hwnd); + + InputEmulationManager.LeftClick(point.X, point.Y); + } + + private List AddMsfsTouchPanels(int panelIndex) + { + List touchPanels = new List(); + + if (AppSetting.TouchPanelSettings.EnableTouchPanelIntegration) + { + TouchPanelOrchestrator.LoadPlaneProfiles(); + + if (TouchPanelOrchestrator.PlaneProfiles == null) + return null; + + // Find all selected panels + var panelConfigs = TouchPanelOrchestrator.PlaneProfiles.SelectMany(p => p.Panels.Where(c => c.IsSelected)); + + foreach (var panelConfig in panelConfigs) + { + var caption = $"{panelConfig.Name} (Touch Panel)"; + + // Change width and height to 1080p aspect ratio + double aspectRatio = 1; + if (panelConfig.Width > 1920) + { + aspectRatio = Convert.ToDouble(1920) / panelConfig.Width; + panelConfig.Width = 1920; // there are hidden padding to make it to 1920 + panelConfig.Height = Convert.ToInt32(panelConfig.Height * aspectRatio); + } + + OnTouchPanelOpened?.Invoke(this, new TouchPanelOpenEventArg() { PlaneId = panelConfig.PlaneId, PanelId = panelConfig.PanelId, Caption = caption, Width = panelConfig.Width, Height = panelConfig.Height }); + + // detect for a max of 5 seconds + int tryCount = 0; + while (tryCount < 10) + { + var touchPanelHandle = WindowActionManager.FindWindowByCaption(caption); + if (touchPanelHandle != IntPtr.Zero) + { + var dimension = WindowActionManager.GetWindowRect(touchPanelHandle); + var panelInfo = new PanelConfig + { + PanelIndex = panelIndex, + PanelHandle = touchPanelHandle, + PanelName = caption, + PanelType = PanelType.MSFSTouchPanel, + Top = dimension.Top, + Left = dimension.Left, + Width = panelConfig.Width, + Height = panelConfig.Height, + AlwaysOnTop = true // default to always on top + }; + + touchPanels.Add(panelInfo); + break; + } + Thread.Sleep(500); + tryCount++; + } + + if (tryCount == 10) + return null; + + panelIndex++; + } + } + + return touchPanels; + } + + private void LoadAndApplyPanelConfigs(List panelResults) + { + Parallel.ForEach(panelResults, panel => + { + // Something is wrong here where panel has no window handle + if (panel.PanelHandle == IntPtr.Zero) + return; + + var savedPanelConfig = ActiveProfile.PanelConfigs.FirstOrDefault(s => s.PanelIndex == panel.PanelIndex); + + // Assign previous saved values + if (savedPanelConfig != null) + { + panel.PanelName = savedPanelConfig.PanelName; + panel.Top = savedPanelConfig.Top; + panel.Left = savedPanelConfig.Left; + panel.Width = savedPanelConfig.Width; + panel.Height = savedPanelConfig.Height; + panel.FullScreen = savedPanelConfig.FullScreen; + panel.AlwaysOnTop = savedPanelConfig.AlwaysOnTop; + panel.HideTitlebar = savedPanelConfig.HideTitlebar; + panel.TouchEnabled = savedPanelConfig.TouchEnabled; + } + + // Apply panel name + if (panel.PanelType == PanelType.CustomPopout) + { + var caption = panel.PanelName + " (Custom)"; + PInvoke.SetWindowText(panel.PanelHandle, caption); + Thread.Sleep(500); + } + + // Apply locations + if (panel.Width != 0 && panel.Height != 0) + { + PInvoke.ShowWindow(panel.PanelHandle, PInvokeConstant.SW_RESTORE); + Thread.Sleep(250); + WindowActionManager.MoveWindow(panel.PanelHandle, panel.PanelType, panel.Left, panel.Top, panel.Width, panel.Height); + Thread.Sleep(1000); + } + + if (!panel.FullScreen) + { + // Apply always on top + if (panel.AlwaysOnTop) + { + WindowActionManager.ApplyAlwaysOnTop(panel.PanelHandle, panel.PanelType, true, new Rectangle(panel.Left, panel.Top, panel.Width, panel.Height)); + Thread.Sleep(1000); + } + + // Apply hide title bar + if (panel.HideTitlebar) + WindowActionManager.ApplyHidePanelTitleBar(panel.PanelHandle, true); + } + + PInvoke.ShowWindow(panel.PanelHandle, PInvokeConstant.SW_RESTORE); + }); + + // Apply full screen (cannot combine with always on top or hide title bar) + // Cannot run in parallel process + panelResults.ForEach(panel => + { + if (panel.FullScreen && (!panel.AlwaysOnTop && !panel.HideTitlebar)) + { + InputEmulationManager.ToggleFullScreenPanel(panel.PanelHandle); + Thread.Sleep(250); + } + }); + } + + private void ReturnToAfterPopOutCameraView() + { + if (!AppSetting.AfterPopOutCameraView.EnableReturnToCameraView) + return; + + switch (AppSetting.AfterPopOutCameraView.CameraView) + { + case AfterPopOutCameraViewType.CockpitCenterView: + InputEmulationManager.CenterView(); + break; + case AfterPopOutCameraViewType.CustomCameraView: + InputEmulationManager.LoadCustomView(AppSetting.AfterPopOutCameraView.CustomCameraKeyBinding); + break; + } + } + } +} + diff --git a/Orchestration/PanelSourceOrchestrator.cs b/Orchestration/PanelSourceOrchestrator.cs new file mode 100644 index 0000000..5d043a3 --- /dev/null +++ b/Orchestration/PanelSourceOrchestrator.cs @@ -0,0 +1,173 @@ +using MSFSPopoutPanelManager.Shared; +using MSFSPopoutPanelManager.UserDataAgent; +using MSFSPopoutPanelManager.WindowsAgent; +using System; +using System.Collections.ObjectModel; +using System.Drawing; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class PanelSourceOrchestrator : ObservableObject + { + private int _panelIndex; + + internal ProfileData ProfileData { get; set; } + + internal AppSettingData AppSettingData { get; set; } + + internal FlightSimData FlightSimData { get; set; } + + internal FlightSimOrchestrator FlightSimOrchestrator { get; set; } + + private Profile ActiveProfile { get { return ProfileData == null ? null : ProfileData.ActiveProfile; } } + + private AppSetting AppSetting { get { return AppSettingData == null ? null : AppSettingData.AppSetting; } } + + public event EventHandler onOverlayShowed; + public event EventHandler OnLastOverlayRemoved; + public event EventHandler OnAllOverlaysRemoved; + public event EventHandler OnSelectionStarted; + public event EventHandler OnSelectionCompleted; + + public bool IsEditingPanelSource { get; set; } + + public void StartPanelSelection() + { + if (ActiveProfile == null) + return; + + _panelIndex = 1; + + // remove all existing panel overlay display + for (var i = 0; i < ActiveProfile.PanelSourceCoordinates.Count; i++) + OnLastOverlayRemoved?.Invoke(this, null); + + ActiveProfile.PanelSourceCoordinates = new ObservableCollection(); + ActiveProfile.PanelConfigs.Clear(); + ActiveProfile.IsLocked = false; + + InputHookManager.OnLeftClick -= HandleOnPanelSelectionAdded; + InputHookManager.OnLeftClick += HandleOnPanelSelectionAdded; + InputHookManager.OnShiftLeftClick -= HandleOnLastPanelSelectionRemoved; + InputHookManager.OnShiftLeftClick += HandleOnLastPanelSelectionRemoved; + InputHookManager.OnCtrlLeftClick -= HandleOnPanelSelectionCompleted; + InputHookManager.OnCtrlLeftClick += HandleOnPanelSelectionCompleted; + + // Turn off TrackIR if TrackIR is started + FlightSimOrchestrator.TurnOffTrackIR(); + + OnSelectionStarted?.Invoke(this, null); + + InputHookManager.StartHook(); + } + + public void SaveAutoPanningCamera() + { + var simualatorProcess = WindowProcessManager.GetSimulatorProcess(); + if (simualatorProcess == null) + { + StatusMessageWriter.WriteMessage("MSFS/SimConnect has not been started. Please try again at a later time.", StatusMessageType.Error, false); + return; + } + + InputEmulationManager.SaveCustomView(AppSettingData.AppSetting.AutoPanningKeyBinding); + StatusMessageWriter.WriteMessage("Auto Panning Camera has been saved succesfully.", StatusMessageType.Info, false); + } + + public void EditPanelSource() + { + IsEditingPanelSource = !IsEditingPanelSource; + + if (IsEditingPanelSource) + StartEditPanelSource(); + else + EndEditPanelSource(); + } + + public void CloseAllPanelSource() + { + IsEditingPanelSource = false; + OnAllOverlaysRemoved?.Invoke(this, null); + } + + public void HandleOnPanelSelectionAdded(object sender, Point e) + { + if (ActiveProfile == null) + return; + + var newCoor = new PanelSourceCoordinate() { PanelIndex = _panelIndex, X = e.X, Y = e.Y }; + + ActiveProfile.PanelSourceCoordinates.Add(newCoor); + _panelIndex++; + + onOverlayShowed?.Invoke(this, newCoor); + } + + public void HandleOnLastPanelSelectionRemoved(object sender, Point e) + { + if (ActiveProfile == null) + return; + + if (ActiveProfile.PanelSourceCoordinates.Count > 0) + { + ActiveProfile.PanelSourceCoordinates.RemoveAt(ActiveProfile.PanelSourceCoordinates.Count - 1); + _panelIndex--; + + OnLastOverlayRemoved?.Invoke(this, null); + } + } + + private void StartEditPanelSource() + { + if (ActiveProfile == null) + return; + + // remove all existing panel overlay display + for (var i = 0; i < ActiveProfile.PanelSourceCoordinates.Count; i++) + OnAllOverlaysRemoved?.Invoke(this, null); + + foreach (var coor in ActiveProfile.PanelSourceCoordinates) + onOverlayShowed?.Invoke(this, new PanelSourceCoordinate() { PanelIndex = coor.PanelIndex, X = coor.X, Y = coor.Y }); + + // Turn off TrackIR if TrackIR is started + FlightSimOrchestrator.TurnOffTrackIR(); + + if (AppSetting.UseAutoPanning && FlightSimData.IsEnteredFlight) + InputEmulationManager.LoadCustomView(AppSetting.AutoPanningKeyBinding); + } + + private void EndEditPanelSource() + { + if (ActiveProfile == null) + return; + + // remove all existing panel overlay display + for (var i = 0; i < ActiveProfile.PanelSourceCoordinates.Count; i++) + OnAllOverlaysRemoved?.Invoke(this, null); + + // Turn TrackIR back on + FlightSimOrchestrator.TurnOnTrackIR(); + } + + private void HandleOnPanelSelectionCompleted(object sender, Point e) + { + if (ActiveProfile == null) + return; + + //If enable, save the current viewport into custom view by Ctrl-Alt-0 + if (AppSetting.UseAutoPanning) + InputEmulationManager.SaveCustomView(AppSetting.AutoPanningKeyBinding); + + ProfileData.WriteProfiles(); + + InputHookManager.EndHook(); + + // Turn TrackIR back on + FlightSimOrchestrator.TurnOnTrackIR(); + + IsEditingPanelSource = false; + + OnSelectionCompleted?.Invoke(this, null); + } + } +} diff --git a/Orchestration/ProfileData.cs b/Orchestration/ProfileData.cs new file mode 100644 index 0000000..533a1f3 --- /dev/null +++ b/Orchestration/ProfileData.cs @@ -0,0 +1,169 @@ +using MSFSPopoutPanelManager.Shared; +using MSFSPopoutPanelManager.UserDataAgent; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Linq; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class ProfileData : ObservableObject + { + public event PropertyChangedEventHandler ActiveProfileChanged; + + public ProfileData() + { + Profiles = new ObservableCollection(); + } + + public ObservableCollection Profiles { get; private set; } + + public FlightSimData FlightSimData { private get; set; } + + public AppSettingData AppSettingData { private get; set; } + + public int AddProfile(string profileName) + { + var newProfileId = ProfileManager.AddProfile(profileName, Profiles); + UpdateActiveProfile(newProfileId); + AppSettingData.AppSetting.LastUsedProfileId = newProfileId; + return newProfileId; + } + + public int AddProfile(string profileName, int copyFromProfileId) + { + var newProfileId = ProfileManager.AddProfile(profileName, copyFromProfileId, Profiles); + UpdateActiveProfile(newProfileId); + AppSettingData.AppSetting.LastUsedProfileId = newProfileId; + return newProfileId; + } + + public bool DeleteProfile(int profileId) + { + if (ActiveProfile == null) + return false; + + return ProfileManager.DeleteProfile(profileId, Profiles); + } + + public void AddProfileBinding(string planeTitle, int activeProfileId) + { + if (ActiveProfile == null) + return; + + ProfileManager.AddProfileBinding(planeTitle, activeProfileId, Profiles); + RefreshProfile(); + } + + public void DeleteProfileBinding(string planeTitle, int activeProfileId) + { + if (ActiveProfile == null) + return; + + ProfileManager.DeleteProfileBinding(planeTitle, activeProfileId, Profiles); + RefreshProfile(); + } + + public void ReadProfiles() + { + Profiles = new ObservableCollection(ProfileManager.ReadProfiles()); + } + + public void WriteProfiles() + { + ProfileManager.WriteProfiles(Profiles); + } + + public void UpdateActiveProfile(int profileId) + { + if (profileId == -1 && Profiles.Count > 0) + ActiveProfile = Profiles.FirstOrDefault(p => p.ProfileId == Profiles[0].ProfileId); + else if (profileId == -1 || Profiles.Count == 0) + ActiveProfile = null; + else + ActiveProfile = Profiles.FirstOrDefault(p => p.ProfileId == profileId); + + // Set active profile flag, this is used only for MVVM binding + Profiles.ToList().ForEach(p => p.IsActive = false); + + if (ActiveProfile != null) + { + ActiveProfile.IsActive = true; + AppSettingData.AppSetting.LastUsedProfileId = ActiveProfile.ProfileId; + } + else + { + AppSettingData.AppSetting.LastUsedProfileId = -1; + } + + ActiveProfileChanged?.Invoke(this, null); + } + + public Profile ActiveProfile { get; private set; } + + public bool HasActiveProfile { get { return ActiveProfile != null; } } + + public bool IsAircraftBoundToProfile + { + get + { + if (ActiveProfile == null) + return false; + + return ActiveProfile.BindingAircraftLiveries.Any(p => p == FlightSimData.CurrentMsfsPlaneTitle); + } + } + + public bool IsAllowedDeleteAircraftBinding + { + get + { + if (ActiveProfile == null || !FlightSimData.HasCurrentMsfsPlaneTitle) + return false; + + var uProfile = Profiles.FirstOrDefault(u => u.BindingAircraftLiveries.Any(p => p == FlightSimData.CurrentMsfsPlaneTitle)); + if (uProfile != null && uProfile.ProfileId != ActiveProfile.ProfileId) + return false; + + return ActiveProfile.BindingAircraftLiveries.Any(p => p == FlightSimData.CurrentMsfsPlaneTitle); + } + } + + public bool IsAllowedAddAircraftBinding + { + get + { + if (ActiveProfile == null || !FlightSimData.HasCurrentMsfsPlaneTitle) + return false; + + var uProfile = Profiles.FirstOrDefault(u => u.BindingAircraftLiveries.Any(p => p == FlightSimData.CurrentMsfsPlaneTitle)); + if (uProfile != null && uProfile.ProfileId != ActiveProfile.ProfileId) + return false; + + return !ActiveProfile.BindingAircraftLiveries.Any(p => p == FlightSimData.CurrentMsfsPlaneTitle); + } + } + + public void RefreshProfile() + { + int currentProfileId; + if (ActiveProfile == null) + currentProfileId = -1; + else + currentProfileId = ActiveProfile.ProfileId; + + ActiveProfile = null; + UpdateActiveProfile(currentProfileId); + } + + public void AutoSwitchProfile(string activeAircraftTitle) + { + // Automatic switching of active profile when SimConnect active aircraft livery changes + if (Profiles != null) + { + var matchedProfile = Profiles.FirstOrDefault(p => p.BindingAircraftLiveries.Any(t => t == activeAircraftTitle)); + if (matchedProfile != null) + UpdateActiveProfile(matchedProfile.ProfileId); + } + } + } +} diff --git a/Orchestration/ProfileOrchestrator.cs b/Orchestration/ProfileOrchestrator.cs new file mode 100644 index 0000000..14676f4 --- /dev/null +++ b/Orchestration/ProfileOrchestrator.cs @@ -0,0 +1,41 @@ +using MSFSPopoutPanelManager.Shared; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class ProfileOrchestrator : ObservableObject + { + internal ProfileData ProfileData { get; set; } + + public void AddProfile(string profileName, int copyProfileId) + { + if (copyProfileId == -1) + ProfileData.AddProfile(profileName); + else + ProfileData.AddProfile(profileName, copyProfileId); + } + + public void DeleteActiveProfile() + { + if (ProfileData.ActiveProfile != null) + ProfileData.DeleteProfile(ProfileData.ActiveProfile.ProfileId); + } + + public void ChangeProfile(int profileId) + { + if (ProfileData != null) + ProfileData.UpdateActiveProfile(profileId); + } + + public void AddProfileBinding(string bindingLiveryName) + { + if (ProfileData.ActiveProfile != null) + ProfileData.AddProfileBinding(bindingLiveryName, ProfileData.ActiveProfile.ProfileId); + } + + public void DeleteProfileBinding(string bindingLiveryName) + { + if (ProfileData.ActiveProfile != null) + ProfileData.DeleteProfileBinding(bindingLiveryName, ProfileData.ActiveProfile.ProfileId); + } + } +} diff --git a/Orchestration/TouchPanelOrchestrator.cs b/Orchestration/TouchPanelOrchestrator.cs new file mode 100644 index 0000000..9d1eed5 --- /dev/null +++ b/Orchestration/TouchPanelOrchestrator.cs @@ -0,0 +1,187 @@ +using MSFSPopoutPanelManager.Shared; +using MSFSPopoutPanelManager.TouchPanelAgent; +using MSFSPopoutPanelManager.UserDataAgent; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Dynamic; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace MSFSPopoutPanelManager.Orchestration +{ + public class TouchPanelOrchestrator : ObservableObject + { + private ITouchPanelServer _touchPanelServer; + + internal ProfileData ProfileData { get; set; } + + internal AppSettingData AppSettingData { get; set; } + + public ObservableCollection PlaneProfiles { get; private set; } + + public IntPtr ApplicationHandle { get; set; } + + public void LoadPlaneProfiles() + { + if (_touchPanelServer == null || ProfileData.ActiveProfile == null) + return; + + var dataItems = TouchPanelManager.GetPlaneProfiles(); + + // Map plane profiles to bindable objects + PlaneProfiles = new ObservableCollection(); + + foreach (var dataItem in dataItems) + { + var planeProfile = new PlaneProfile(); + planeProfile.PlaneId = dataItem.PlaneId; + planeProfile.Name = dataItem.Name; + + if (dataItem.Panels != null && dataItem.Panels.Count > 0) + { + planeProfile.Panels = new ObservableCollection(); + + foreach (var dataItemPanel in dataItem.Panels) + { + planeProfile.Panels.Add(new PanelProfile() + { + PlaneId = dataItem.PlaneId, + PanelId = dataItemPanel.PanelId, + Name = dataItemPanel.Name, + Width = dataItemPanel.PanelSize.Width, + Height = dataItemPanel.PanelSize.Height, + IsSelected = ProfileData.ActiveProfile.TouchPanelBindings == null ? false : ProfileData.ActiveProfile.TouchPanelBindings.Any(b => b.PlaneId == dataItem.PlaneId && b.PanelId == dataItemPanel.PanelId) + }); + } + } + + PlaneProfiles.Add(planeProfile); + } + } + + public void PanelSelected(IList PlaneProfiles) + { + ProfileData.ActiveProfile.PanelConfigs.RemoveAll(panelConfig => panelConfig.PanelType == PanelType.MSFSTouchPanel); + ProfileData.ActiveProfile.TouchPanelBindings.Clear(); + ProfileData.ActiveProfile.IsLocked = false; + + foreach (var planeProfile in PlaneProfiles) + { + foreach (var panel in planeProfile.Panels) + { + if (panel.IsSelected) + ProfileData.ActiveProfile.TouchPanelBindings.Add(new TouchPanelBinding() { PlaneId = planeProfile.PlaneId, PanelId = panel.PanelId }); + } + } + + ProfileData.WriteProfiles(); + } + + internal async Task StartServer() + { + if (_touchPanelServer == null) + { + // This is use to remove all references and dependencies so single file package will not include any ASP.NET core dlls +#if DEBUGTOUCHPANEL || RELEASETOUCHPANEL + _touchPanelServer = new MSFSPopoutPanelManager.WebServer.WebHost(); +#endif + if (_touchPanelServer != null) + { + _touchPanelServer.WindowHandle = ApplicationHandle; + _touchPanelServer.DataRefreshInterval = AppSettingData.AppSetting.TouchPanelSettings.DataRefreshInterval; + _touchPanelServer.MapRefreshInterval = AppSettingData.AppSetting.TouchPanelSettings.MapRefreshInterval; + _touchPanelServer.IsUsedArduino = AppSettingData.AppSetting.TouchPanelSettings.UseArduino; + _touchPanelServer.IsEnabledSound = AppSettingData.AppSetting.TouchPanelSettings.EnableSound; + await _touchPanelServer.StartAsync(default(CancellationToken)); + } + } + } + + internal async Task StopServer() + { + if (_touchPanelServer != null && _touchPanelServer.ServerStarted) + { + await _touchPanelServer.StopAsync(default(CancellationToken)); + _touchPanelServer = null; + } + } + + internal async Task TouchPanelIntegrationUpdated(bool enabled) + { + if ((_touchPanelServer == null || !_touchPanelServer.ServerStarted) && enabled) + await StartServer(); + else if (_touchPanelServer.ServerStarted && !enabled) + await StopServer(); + } + + internal async void ReloadTouchPanelSimConnectDataDefinition() + { + if (_touchPanelServer == null) + return; + + // Communicate with Touch Panel API server to reload SimConnect data definitions + if (ProfileData.ActiveProfile != null && ProfileData.ActiveProfile.TouchPanelBindings.Count > 0 && _touchPanelServer.ServerStarted) + { + var planeId = ProfileData.ActiveProfile.TouchPanelBindings.Count > 0 ? + ProfileData.ActiveProfile.TouchPanelBindings[0].PlaneId : + null; + + using (var client = new HttpClient()) + { + dynamic data = new ExpandoObject(); + data.PlaneId = planeId; + var payload = JsonConvert.SerializeObject(data); + + var url = "http://localhost:27012/posttouchpanelloaded"; + + try + { + var response = await client.PostAsync(url, new StringContent(payload, Encoding.UTF8, "application/json")); + var token = response.Content.ReadAsStringAsync().Result; + } + catch { } + } + } + } + } + + public class PlaneProfile : ObservableObject + { + public string PlaneId { get; set; } + + public string Name { get; set; } + + public ObservableCollection Panels { get; set; } + + public bool HasSelected + { + get + { + if (Panels == null) + return false; + + return Panels.Any(p => p.IsSelected); + } + } + } + + public class PanelProfile : ObservableObject + { + public string PlaneId { get; set; } + + public string PanelId { get; set; } + + public string Name { get; set; } + + public int Width { get; set; } + + public int Height { get; set; } + + public bool IsSelected { get; set; } + } +} diff --git a/Provider/ImageOperation.cs b/Provider/ImageOperation.cs deleted file mode 100644 index 2b7e480..0000000 --- a/Provider/ImageOperation.cs +++ /dev/null @@ -1,51 +0,0 @@ -using MSFSPopoutPanelManager.Shared; -using System; -using System.Drawing; -using System.Drawing.Imaging; -using System.Threading; - -namespace MSFSPopoutPanelManager.Provider -{ - public class ImageOperation - { - public static Bitmap TakeScreenShot(IntPtr windowHandle) - { - if (!PInvoke.IsWindow(windowHandle)) - throw new PopoutManagerException("Pop out windows were closed unexpectedly."); - - // Set window to foreground so nothing can hide the window - PInvoke.SetForegroundWindow(windowHandle); - Thread.Sleep(300); - - Rectangle rectangle; - PInvoke.GetWindowRect(windowHandle, out rectangle); - - Rectangle clientRectangle; - PInvoke.GetClientRect(windowHandle, out clientRectangle); - - // Take a screen shot by removing the titlebar of the window - var left = rectangle.Left; - var top = rectangle.Top + (rectangle.Height - clientRectangle.Height) - 8; // 8 pixels adjustments - - var bmp = new Bitmap(clientRectangle.Width, clientRectangle.Height, PixelFormat.Format24bppRgb); - - using (Graphics g = Graphics.FromImage(bmp)) - { - g.CopyFromScreen(new Point(left, top), Point.Empty, rectangle.Size); - } - - // Place the above image in the same canvas size as before - Bitmap backingImage = new Bitmap(rectangle.Width, rectangle.Height); - using (Graphics gfx = Graphics.FromImage(backingImage)) - { - using (SolidBrush brush = new SolidBrush(Color.FromArgb(255, 0, 0))) - { - gfx.FillRectangle(brush, 0, 0, rectangle.Width, rectangle.Height); - gfx.DrawImage(bmp, new Point(0, top)); - } - } - - return backingImage; - } - } -} diff --git a/Provider/InputHookManager.cs b/Provider/InputHookManager.cs deleted file mode 100644 index 814fcd2..0000000 --- a/Provider/InputHookManager.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Gma.System.MouseKeyHook; -using System; -using System.Drawing; -using System.Windows.Forms; - -namespace MSFSPopoutPanelManager.Provider -{ - public class InputHookManager - { - private const string CTRL_KEY = "Control"; - private const string SHIFT_KEY = "Shift"; - - private static IKeyboardMouseEvents _mouseHook; - - public static bool SubscribeToPanelSelectionEvent { get; set; } - public static bool SubscribeToStartPopOutEvent { get; set; } - - public static event EventHandler OnPanelSelectionCompleted; - public static event EventHandler OnPanelSelectionAdded; - public static event EventHandler OnPanelSelectionRemoved; - - public static void StartHook() - { - if (_mouseHook == null) - { - _mouseHook = Hook.GlobalEvents(); - _mouseHook.MouseDownExt += HandleMouseHookMouseDownExt; - } - } - - public static void EndHook() - { - if (_mouseHook != null) - { - _mouseHook.MouseDownExt -= HandleMouseHookMouseDownExt; - _mouseHook.Dispose(); - _mouseHook = null; - } - } - - private static void HandleMouseHookMouseDownExt(object sender, MouseEventExtArgs e) - { - if (_mouseHook == null || !SubscribeToPanelSelectionEvent) - return; - - if (e.Button == MouseButtons.Left) - { - var ctrlPressed = Control.ModifierKeys.ToString() == CTRL_KEY; - var shiftPressed = Control.ModifierKeys.ToString() == SHIFT_KEY; - - if (ctrlPressed) - { - OnPanelSelectionCompleted?.Invoke(null, null); - } - else if (shiftPressed) - { - OnPanelSelectionRemoved?.Invoke(null, null); - } - else if (!shiftPressed) - { - OnPanelSelectionAdded?.Invoke(null, new Point(e.X, e.Y)); - } - } - } - } -} diff --git a/Provider/PanelPopoutManager.cs b/Provider/PanelPopoutManager.cs deleted file mode 100644 index ba77dbe..0000000 --- a/Provider/PanelPopoutManager.cs +++ /dev/null @@ -1,563 +0,0 @@ -using MSFSPopoutPanelManager.Model; -using MSFSPopoutPanelManager.Shared; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Drawing; -using System.Drawing.Imaging; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; - -namespace MSFSPopoutPanelManager.Provider -{ - public class PanelPopOutManager - { - private const int RETRY_COUNT = 5; - - private UserProfileManager _userProfileManager; - private SimConnectManager _simConnectManager; - private IntPtr _simulatorHandle; - private List _panels; - private int _currentPanelIndex; - - public event EventHandler OnPopOutStarted; - public event EventHandler> OnPopOutCompleted; - - public UserProfile UserProfile { get; set; } - - public AppSetting AppSetting { get; set; } - - public PanelPopOutManager(UserProfileManager userProfileManager, SimConnectManager simConnectManager) - { - _userProfileManager = userProfileManager; - _simConnectManager = simConnectManager; - } - - public void StartPopout() - { - var simulatorProcess = DiagnosticManager.GetSimulatorProcess(); - - if (simulatorProcess != null) - _simulatorHandle = simulatorProcess.Handle; - - _panels = new List(); - - OnPopOutStarted?.Invoke(this, null); - - if (AppSetting.UseAutoPanning) - InputEmulationManager.LoadCustomView(AppSetting.AutoPanningKeyBinding); - - Task> popoutPanelTask = Task>.Factory.StartNew(() => - { - return ExecutePopoutSeparation(); - }); - - popoutPanelTask.Wait(); - var popoutResults = popoutPanelTask.Result; - - if (popoutResults != null) - { - if (UserProfile.PanelConfigs.Count > 0) - { - LoadAndApplyPanelConfigs(popoutResults); - Logger.LogStatus("Panels have been popped out succesfully and saved panel settings have been applied.", StatusMessageType.Info); - } - else - { - UserProfile.PanelConfigs = new ObservableCollection(popoutResults); - Logger.LogStatus("Panels have been popped out succesfully.", StatusMessageType.Info); - } - - // Recenter the view port by Ctrl-Space, needs to click on game window - var simualatorProcess = DiagnosticManager.GetSimulatorProcess(); - if (simualatorProcess != null) - { - InputEmulationManager.CenterView(simualatorProcess.Handle); - } - - _userProfileManager.WriteUserProfiles(); - - OnPopOutCompleted?.Invoke(this, new EventArgs(true)); - } - else - { - OnPopOutCompleted?.Invoke(this, new EventArgs(false)); - } - } - - public List ExecutePopoutSeparation() - { - _currentPanelIndex = 0; - - _panels.Clear(); - - // Must close out all existing custom pop out panels - PInvoke.EnumWindows(new PInvoke.CallBack(EnumCustomPopoutCallBack), 0); - if (_panels.Count > 0) - { - Logger.LogStatus("Please close all existing panel pop outs before continuing.", StatusMessageType.Error); - return null; - } - - _panels.Clear(); - - if (_simulatorHandle != IntPtr.Zero) - PInvoke.SetForegroundWindow(_simulatorHandle); - - try - { - // PanelIndex starts at 1 - for (var i = 1; i <= UserProfile.PanelSourceCoordinates.Count; i++) - { - PopoutPanel(UserProfile.PanelSourceCoordinates[i - 1].X, UserProfile.PanelSourceCoordinates[i - 1].Y); - - if (i > 1) - { - SeparatePanel(i - 1, _panels[0].PanelHandle); // The joined panel is always the first panel that got popped out - } - - var handle = PInvoke.FindWindow("AceApp", String.Empty); - - if (handle == IntPtr.Zero && i == 1) - throw new PopoutManagerException("Unable to pop out the first panel. Please check the first panel's number circle is positioned inside the panel, check for panel obstruction, and check if panel can be popped out. Pop out process stopped."); - else if (handle == IntPtr.Zero) - throw new PopoutManagerException($"Unable to pop out panel number {i}. Please check panel's number circle is positioned inside the panel, check for panel obstruction, and check if panel can be popped out. Pop out process stopped."); - - var panelInfo = GetPanelWindowInfo(handle); - panelInfo.PanelIndex = i; - panelInfo.PanelName = $"Panel{i}"; - _panels.Add(panelInfo); - - PInvoke.SetWindowText(panelInfo.PanelHandle, panelInfo.PanelName + " (Custom)"); - - if (i > 1) - WindowManager.MoveWindow(panelInfo.PanelHandle, panelInfo.PanelType, 0, 0, 800, 600); - } - - _currentPanelIndex = _panels.Count; - - // Performance validation, make sure the number of pop out panels is equal to the number of selected panel - if (GetPopoutPanelCountByType(PanelType.CustomPopout) != UserProfile.PanelSourceCoordinates.Count) - throw new PopoutManagerException("Unable to pop out all panels. Please align all panel number circles with in-game panel locations."); - - // Add the built-in pop outs (ie. ATC, VFR Map) to the panel list - if (AppSetting.IncludeBuiltInPanel) - PInvoke.EnumWindows(new PInvoke.CallBack(EnumBuiltinPopoutCallBack), 0); - - // Add the MSFS Touch Panel (My other github project) windows to the panel list - PInvoke.EnumWindows(new PInvoke.CallBack(EnumMSFSTouchPanelPopoutCallBack), 0); - - if (_panels.Count == 0) - throw new PopoutManagerException("No panels have been found. Please select at least one in-game panel."); - - // Line up all the panels and fill in meta data - for (var i = _panels.Count - 1; i >= 0; i--) - { - if (_panels[i].PanelType == PanelType.CustomPopout) - { - var shift = _panels.Count - i - 1; - _panels[i].Top = shift * 30; - _panels[i].Left = shift * 30; - _panels[i].Width = 800; - _panels[i].Height = 600; - - WindowManager.MoveWindow(_panels[i].PanelHandle, _panels[i].PanelType, _panels[i].Top, _panels[i].Left, _panels[i].Width, _panels[i].Height); - PInvoke.SetForegroundWindow(_panels[i].PanelHandle); - Thread.Sleep(200); - } - } - - return _panels; - } - catch (PopoutManagerException ex) - { - Logger.LogStatus(ex.Message, StatusMessageType.Error); - return null; - } - catch - { - throw; - } - } - - private void LoadAndApplyPanelConfigs(List popoutResults) - { - int index; - popoutResults.ForEach(resultPanel => - { - if (resultPanel.PanelType == PanelType.CustomPopout) - { - index = UserProfile.PanelConfigs.ToList().FindIndex(x => x.PanelIndex == resultPanel.PanelIndex); - if (index > -1) - UserProfile.PanelConfigs[index].PanelHandle = resultPanel.PanelHandle; - } - else - { - index = UserProfile.PanelConfigs.ToList().FindIndex(x => x.PanelName == resultPanel.PanelName); - if (index > -1) - UserProfile.PanelConfigs[index].PanelHandle = resultPanel.PanelHandle; - else - UserProfile.PanelConfigs.Add(resultPanel); - } - - }); - - // Remove pop out that do not exist for this pop out iteration - //foreach(var panelConfig in UserProfile.PanelConfigs.ToList()) - //{ - // if(panelConfig.PanelHandle == IntPtr.Zero) - // { - // UserProfile.PanelConfigs.Remove(panelConfig); - // } - //} - - Parallel.ForEach(UserProfile.PanelConfigs, panel => - { - if (panel != null && panel.PanelHandle != IntPtr.Zero && panel.Width != 0 && panel.Height != 0) - { - // Apply panel name - if (panel.PanelType == PanelType.CustomPopout) - { - var name = panel.PanelName; - if (name.IndexOf("(Custom)") == -1) - name = name + " (Custom)"; - - PInvoke.SetWindowText(panel.PanelHandle, name); - Thread.Sleep(500); - } - - if (!panel.FullScreen) - { - // Apply locations - PInvoke.ShowWindow(panel.PanelHandle, PInvokeConstant.SW_RESTORE); - Thread.Sleep(250); - WindowManager.MoveWindow(panel.PanelHandle, panel.PanelType, panel.Left, panel.Top, panel.Width, panel.Height); - Thread.Sleep(1000); - - // Built-in panels (ie. Checklist, ATC) needs another window resize since there is a bug where when move between - // monitors, it changes its size - if (panel.PanelType == PanelType.BuiltInPopout) - { - PInvoke.MoveWindow(panel.PanelHandle, panel.Left, panel.Top, panel.Width, panel.Height, false); - Thread.Sleep(1000); - } - - // Apply always on top - if (panel.AlwaysOnTop) - { - WindowManager.ApplyAlwaysOnTop(panel.PanelHandle, panel.PanelType, true, new Rectangle(panel.Left, panel.Top, panel.Width, panel.Height)); - Thread.Sleep(1000); - } - - // Apply hide title bar - if (panel.HideTitlebar) - { - WindowManager.ApplyHidePanelTitleBar(panel.PanelHandle, true); - } - } - - PInvoke.ShowWindow(panel.PanelHandle, PInvokeConstant.SW_RESTORE); - } - }); - - // Apply full screen (cannot combine with always on top or hide title bar) - // Cannot run in parallel process - UserProfile.PanelConfigs.ToList().ForEach(panel => - { - if (panel.FullScreen && (!panel.AlwaysOnTop && !panel.HideTitlebar)) - { - WindowManager.MoveWindow(panel.PanelHandle, panel.Left, panel.Top); - Thread.Sleep(500); - InputEmulationManager.ToggleFullScreenPanel(panel.PanelHandle); - Thread.Sleep(250); - } - }); - } - - private int GetPopoutPanelCountByType(PanelType panelType) - { - return _panels.FindAll(x => x.PanelType == panelType).Count; - } - - private PanelConfig GetCustomPopoutPanelByIndex(int index) - { - return _panels.Find(x => x.PanelType == PanelType.CustomPopout && x.PanelIndex == index + 1); - } - - private void PopoutPanel(int x, int y) - { - InputEmulationManager.PopOutPanel(x, y); - } - - private void SeparatePanel(int index, IntPtr hwnd) - { - // Resize all windows to 800x600 when separating and shimmy the panel - // MSFS draws popout panel differently at different time for same panel - WindowManager.MoveWindow(hwnd, PanelType.CustomPopout, -8, 0, 800, 600); - PInvoke.SetForegroundWindow(hwnd); - Thread.Sleep(500); - InputEmulationManager.LeftClick(0, 0); - - // Find the magnifying glass coordinate - var point = AnalyzeMergedWindows(hwnd); - - InputEmulationManager.LeftClick(point.X, point.Y); - } - - public bool EnumCustomPopoutCallBack(IntPtr hwnd, int lParam) - { - var panelInfo = GetPanelWindowInfo(hwnd); - - if (panelInfo != null && panelInfo.PanelType == PanelType.CustomPopout) - { - if (!_panels.Exists(x => x.PanelHandle == hwnd)) - { - Interlocked.Increment(ref _currentPanelIndex); - panelInfo.PanelIndex = _currentPanelIndex; - _panels.Add(panelInfo); - } - } - - return true; - } - - public bool EnumBuiltinPopoutCallBack(IntPtr hwnd, int lParam) - { - var panelInfo = GetPanelWindowInfo(hwnd); - - if (panelInfo != null && panelInfo.PanelType == PanelType.BuiltInPopout) - { - if (!_panels.Exists(x => x.PanelHandle == hwnd)) - { - Interlocked.Increment(ref _currentPanelIndex); - panelInfo.PanelIndex = _currentPanelIndex; - _panels.Add(panelInfo); - } - } - - return true; - } - - public bool EnumMSFSTouchPanelPopoutCallBack(IntPtr hwnd, int index) - { - var panelInfo = GetPanelWindowInfo(hwnd); - - if (panelInfo != null && panelInfo.PanelType == PanelType.MSFSTouchPanel) - { - if (!_panels.Exists(x => x.PanelHandle == hwnd)) - { - Interlocked.Increment(ref _currentPanelIndex); - panelInfo.PanelIndex = _currentPanelIndex; - _panels.Add(panelInfo); - - // Apply always on top to these panels - //WindowManager.ApplyAlwaysOnTop(panelInfo.PanelHandle, true); - } - } - - return true; - } - - private PanelConfig GetPanelWindowInfo(IntPtr hwnd) - { - var className = PInvoke.GetClassName(hwnd); - - if (className == "AceApp") // MSFS windows designation - { - var caption = PInvoke.GetWindowText(hwnd); - - Rectangle rectangle; - PInvoke.GetWindowRect(hwnd, out rectangle); - - var panelInfo = new PanelConfig(); - panelInfo.PanelHandle = hwnd; - panelInfo.PanelName = caption; - panelInfo.Top = rectangle.Top; - panelInfo.Left = rectangle.Left; - panelInfo.Width = rectangle.Width; - panelInfo.Height = rectangle.Height; - - if (String.IsNullOrEmpty(caption) || caption.IndexOf("Custom") > -1) - panelInfo.PanelType = PanelType.CustomPopout; - else if (caption.IndexOf("Microsoft Flight Simulator") > -1) // MSFS main game window - return null; - else if (caption.IndexOf("WINDOW") > -1) - panelInfo.PanelType = PanelType.MultiMonitorWindow; - else - panelInfo.PanelType = PanelType.BuiltInPopout; - - return panelInfo; - } - else // For MSFS Touch Panel window - { - var caption = PInvoke.GetWindowText(hwnd); - - var panelInfo = new PanelConfig(); - panelInfo.PanelHandle = hwnd; - panelInfo.PanelName = caption; - - if (caption.IndexOf("Touch Panel |") > -1) - { - panelInfo.PanelType = PanelType.MSFSTouchPanel; - return panelInfo; - } - else - return null; - } - } - - private Point AnalyzeMergedWindows(IntPtr hwnd) - { - var sourceImage = ImageOperation.TakeScreenShot(hwnd); - - if (sourceImage == null) - return new Point(0, 0); - - Rectangle rectangle; - PInvoke.GetClientRect(hwnd, out rectangle); - - var panelMenubarTop = GetPanelMenubarTop(sourceImage, rectangle); - if (panelMenubarTop > sourceImage.Height) - return Point.Empty; - - var panelMenubarBottom = GetPanelMenubarBottom(sourceImage, rectangle); - if (panelMenubarBottom > sourceImage.Height) - return Point.Empty; - - var panelsStartingLeft = GetPanelMenubarStartingLeft(sourceImage, rectangle, panelMenubarTop + 5); - - // The center of magnifying glass icon is around (3.2 x height of menubar) to the right of the panel menubar starting left - // But need to use higher number here to click the left side of magnifying glass icon because on some panel, the ratio is smaller - var menubarHeight = panelMenubarBottom - panelMenubarTop; - var magnifyingIconXCoor = panelsStartingLeft - Convert.ToInt32(menubarHeight * 3.2); // ToDo: play around with this multiplier to find the best for all resolutions - var magnifyingIconYCoor = panelMenubarTop + Convert.ToInt32(menubarHeight / 2); - - return new Point(magnifyingIconXCoor, magnifyingIconYCoor); - } - - private int GetPanelMenubarTop(Bitmap sourceImage, Rectangle rectangle) - { - // Get a snippet of 1 pixel wide vertical strip of windows. We will choose the strip left of center. - // This is to determine when the actual panel's vertical pixel starts in the window. This will allow accurate sizing of the template image - var left = Convert.ToInt32((rectangle.Width) * 0.70); // look at around 70% from the left - var top = sourceImage.Height - rectangle.Height; - - if (top < 0 || left < 0) - return -1; - - unsafe - { - var stripData = sourceImage.LockBits(new Rectangle(left, top, 1, rectangle.Height), ImageLockMode.ReadWrite, sourceImage.PixelFormat); - - int bytesPerPixel = Bitmap.GetPixelFormatSize(stripData.PixelFormat) / 8; - int heightInPixels = stripData.Height; - int widthInBytes = stripData.Width * bytesPerPixel; - byte* ptrFirstPixel = (byte*)stripData.Scan0; - - for (int y = 0; y < heightInPixels; y++) - { - byte* currentLine = ptrFirstPixel + (y * stripData.Stride); - for (int x = 0; x < widthInBytes; x = x + bytesPerPixel) - { - int red = currentLine[x + 2]; - int green = currentLine[x + 1]; - int blue = currentLine[x]; - - if (red == 255 && green == 255 && blue == 255) - { - sourceImage.UnlockBits(stripData); - return y + top; - } - } - } - - sourceImage.UnlockBits(stripData); - } - - return -1; - } - - private int GetPanelMenubarBottom(Bitmap sourceImage, Rectangle rectangle) - { - // Get a snippet of 1 pixel wide vertical strip of windows. We will choose the strip about 70% from the left of the window - var left = Convert.ToInt32((rectangle.Width) * 0.7); // look at around 70% from the left - var top = sourceImage.Height - rectangle.Height; - - if (top < 0 || left < 0) - return -1; - - unsafe - { - var stripData = sourceImage.LockBits(new Rectangle(left, top, 1, rectangle.Height), ImageLockMode.ReadWrite, sourceImage.PixelFormat); - - int bytesPerPixel = Bitmap.GetPixelFormatSize(stripData.PixelFormat) / 8; - int heightInPixels = stripData.Height; - int widthInBytes = stripData.Width * bytesPerPixel; - byte* ptrFirstPixel = (byte*)stripData.Scan0; - - int menubarBottom = -1; - - for (int y = 0; y < heightInPixels; y++) - { - byte* currentLine = ptrFirstPixel + (y * stripData.Stride); - for (int x = 0; x < widthInBytes; x = x + bytesPerPixel) - { - int red = currentLine[x + 2]; - int green = currentLine[x + 1]; - int blue = currentLine[x]; - - if (red > 250 && green > 250 && blue > 250) // allows the color to be a little off white (ie. Fenix A30 EFB) - { - // found the top of menu bar - menubarBottom = y + top; - } - else if (menubarBottom > -1) /// it is no longer white in color, we hit menubar bottom - { - sourceImage.UnlockBits(stripData); - return menubarBottom; - } - } - } - - sourceImage.UnlockBits(stripData); - } - - return -1; - } - - private int GetPanelMenubarStartingLeft(Bitmap sourceImage, Rectangle rectangle, int top) - { - unsafe - { - var stripData = sourceImage.LockBits(new Rectangle(0, top, rectangle.Width, 1), ImageLockMode.ReadWrite, sourceImage.PixelFormat); - - int bytesPerPixel = Bitmap.GetPixelFormatSize(stripData.PixelFormat) / 8; - int widthInPixels = stripData.Width; - int heightInBytes = stripData.Height * bytesPerPixel; - byte* ptrFirstPixel = (byte*)stripData.Scan0; - - for (int x = 0; x < widthInPixels; x++) - { - byte* currentLine = ptrFirstPixel - (x * bytesPerPixel); - for (int y = 0; y < heightInBytes; y = y + bytesPerPixel) - { - int red = currentLine[y + 2]; - int green = currentLine[y + 1]; - int blue = currentLine[y]; - - if (red > 250 && green > 250 && blue > 250) // allows the color to be a little off white (ie. Fenix A30 EFB) - { - sourceImage.UnlockBits(stripData); - return sourceImage.Width - x; - } - } - } - - sourceImage.UnlockBits(stripData); - } - - return -1; - } - } -} diff --git a/Provider/PanelSelectionManager.cs b/Provider/PanelSelectionManager.cs deleted file mode 100644 index 46964e4..0000000 --- a/Provider/PanelSelectionManager.cs +++ /dev/null @@ -1,100 +0,0 @@ -using MSFSPopoutPanelManager.Model; -using MSFSPopoutPanelManager.Shared; -using System; -using System.Collections.Generic; - -namespace MSFSPopoutPanelManager.Provider -{ - public class PanelSelectionManager - { - private UserProfileManager _userProfileManager; - private int _panelIndex; - private List _panelCoordinates; - - public event EventHandler OnPanelSelectionCompleted; - public event EventHandler> OnPanelLocationAdded; - public event EventHandler OnPanelLocationRemoved; - public event EventHandler OnAllPanelLocationsRemoved; - - public UserProfile UserProfile { get; set; } - - public AppSetting AppSetting { get; set; } - - public PanelSelectionManager(UserProfileManager userProfileManager) - { - _userProfileManager = userProfileManager; - - InputHookManager.OnPanelSelectionAdded += HandleOnPanelSelectionAdded; - InputHookManager.OnPanelSelectionRemoved += HandleOnPanelSelectionRemoved; - InputHookManager.OnPanelSelectionCompleted += HandleOnPanelSelectionCompleted; - } - - public void Start() - { - _panelIndex = 1; - _panelCoordinates = new List(); - //ShowPanelLocationOverlay(_panelCoordinates, true); - InputHookManager.SubscribeToPanelSelectionEvent = true; - InputHookManager.StartHook(); - } - - public void ShowPanelLocationOverlay(List panelCoordinates, bool show) - { - // close all overlays - OnAllPanelLocationsRemoved?.Invoke(this, null); - - if (show && panelCoordinates.Count > 0) - { - foreach (var coor in panelCoordinates) - { - var panelSourceCoordinate = new PanelSourceCoordinate() { PanelIndex = coor.PanelIndex, X = coor.X, Y = coor.Y }; - OnPanelLocationAdded?.Invoke(this, new EventArgs(panelSourceCoordinate)); - } - } - } - - private void HandleOnPanelSelectionAdded(object sender, System.Drawing.Point e) - { - var newPanelCoordinates = new PanelSourceCoordinate() { PanelIndex = _panelIndex, X = e.X, Y = e.Y }; - _panelCoordinates.Add(newPanelCoordinates); - _panelIndex++; - - OnPanelLocationAdded?.Invoke(this, new EventArgs(newPanelCoordinates)); - } - - private void HandleOnPanelSelectionRemoved(object sender, EventArgs e) - { - if (_panelCoordinates.Count > 0) - { - _panelCoordinates.RemoveAt(_panelCoordinates.Count - 1); - _panelIndex--; - - OnPanelLocationRemoved?.Invoke(this, null); - } - } - - private void HandleOnPanelSelectionCompleted(object sender, EventArgs e) - { - // If enable, save the current viewport into custom view by Ctrl-Alt-0 - if (AppSetting.UseAutoPanning) - { - var simualatorProcess = DiagnosticManager.GetSimulatorProcess(); - if (simualatorProcess != null) - { - InputEmulationManager.SaveCustomView(simualatorProcess.Handle, AppSetting.AutoPanningKeyBinding); - } - } - - // Assign and save panel coordinates to active profile - UserProfile.PanelSourceCoordinates.Clear(); - _panelCoordinates.ForEach(c => UserProfile.PanelSourceCoordinates.Add(c)); - UserProfile.PanelConfigs.Clear(); - UserProfile.IsLocked = false; - - _userProfileManager.WriteUserProfiles(); - - InputHookManager.SubscribeToPanelSelectionEvent = false; - OnPanelSelectionCompleted?.Invoke(this, null); - } - } -} diff --git a/Provider/Provider.csproj b/Provider/Provider.csproj deleted file mode 100644 index 983bcea..0000000 --- a/Provider/Provider.csproj +++ /dev/null @@ -1,43 +0,0 @@ - - - - Library - net5.0-windows - true - MSFSPopoutPanelManager.Provider - MSFS 2020 Popout Panel Manager Provider - MSFS 2020 Popout Panel Manager Provider - 3.3.7.0 - Stanley Kwok - Stanley Kwok 2021 - https://github.com/hawkeye-stan/msfs-popout-panel-manager - true - - - x64 - - - - - true - - - - true - - - - - - - - - - - - - - - - - diff --git a/Provider/SimConnectManager.cs b/Provider/SimConnectManager.cs deleted file mode 100644 index 6a73236..0000000 --- a/Provider/SimConnectManager.cs +++ /dev/null @@ -1,189 +0,0 @@ -using MSFSPopoutPanelManager.FsConnector; -using MSFSPopoutPanelManager.Shared; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Threading; -using System.Timers; - -namespace MSFSPopoutPanelManager.Provider -{ - public class SimConnectManager - { - private const int MSFS_DATA_REFRESH_TIMEOUT = 1000; - - private SimConnector _simConnector; - private dynamic _simData; - - private System.Timers.Timer _requestDataTimer; - private bool _isPowerOnForPopOut; - private bool _isTrackIRManaged; - - public event EventHandler OnConnected; - public event EventHandler OnDisconnected; - public event EventHandler> OnSimConnectDataRefreshed; - public event EventHandler OnFlightStarted; - public event EventHandler OnFlightStopped; - - public bool IsSimConnectStarted { get; set; } - - public SimConnectManager() - { - _simConnector = new SimConnector(); - _simConnector.OnConnected += (sender, e) => { OnConnected?.Invoke(this, null); }; - _simConnector.OnDisconnected += (sender, e) => { OnDisconnected?.Invoke(this, null); }; - _simConnector.OnReceivedData += HandleDataReceived; - _simConnector.OnReceiveSystemEvent += HandleReceiveSystemEvent; - _simConnector.OnConnected += (sender, e) => - { - _requestDataTimer = new System.Timers.Timer(); - _requestDataTimer.Interval = MSFS_DATA_REFRESH_TIMEOUT; - _requestDataTimer.Enabled = true; - _requestDataTimer.Elapsed += HandleDataRequested; - _requestDataTimer.Elapsed += HandleMessageReceived; - }; - - _simConnector.Start(); - } - - public void Stop() - { - _simConnector.Stop(); - } - - public void Restart() - { - _simConnector.StopAndReconnect(); - } - - public void TurnOnPower(bool isRequiredForColdStart) - { - // Wait for _simData.AtcOnParkingSpot to refresh - Thread.Sleep(MSFS_DATA_REFRESH_TIMEOUT + 250); - - if (isRequiredForColdStart && _simData != null && (_simData.AtcOnParkingSpot || !_simData.ElectricalMasterBattery)) - { - _isPowerOnForPopOut = true; - _simConnector.TransmitActionEvent(ActionEvent.KEY_MASTER_BATTERY_SET, 1); - Thread.Sleep(100); - _simConnector.TransmitActionEvent(ActionEvent.KEY_TOGGLE_AVIONICS_MASTER, 1); - Thread.Sleep(100); - } - } - - public void TurnOffpower() - { - if (_isPowerOnForPopOut) - { - _simConnector.TransmitActionEvent(ActionEvent.KEY_TOGGLE_AVIONICS_MASTER, 1); - Thread.Sleep(100); - _simConnector.TransmitActionEvent(ActionEvent.KEY_MASTER_BATTERY_SET, 0); - Thread.Sleep(100); - - _isPowerOnForPopOut = false; - } - } - - public void TurnOffTrackIR() - { - Debug.Write("TrackIR OFF............" + Environment.NewLine); - if (_simData != null && _simData.TrackIREnable) - { - SetTrackIREnable(false); - _isTrackIRManaged = true; - } - } - - public void TurnOnTrackIR() - { - Debug.Write("TrackIR ON............" + Environment.NewLine); - if (_isTrackIRManaged && _simData != null && !_simData.TrackIREnable) - { - SetTrackIREnable(true); - _isTrackIRManaged = false; - } - } - - private void SetTrackIREnable(bool enable) - { - // Wait for _simData.ElectricalMasterBattery to refresh - Thread.Sleep(MSFS_DATA_REFRESH_TIMEOUT + 250); - - // It is prop3 in SimConnectStruct (by DataDefinitions.cs) - SimConnectStruct simConnectStruct = new SimConnectStruct(); - - simConnectStruct.Prop01 = _simData.Title; // must set "Title" for TrackIR variable to write correctly - simConnectStruct.Prop02 = _simData.ElectricalMasterBattery ? Convert.ToDouble(1) : Convert.ToDouble(0); // must set "ElectricalMasterBattery" for TrackIR variable to write correctly - simConnectStruct.Prop03 = enable ? Convert.ToDouble(1) : Convert.ToDouble(0); // this is the TrackIR variable - simConnectStruct.Prop04 = _simData.AtcOnParkingSpot ? Convert.ToDouble(1) : Convert.ToDouble(0); // must set "AtcOnParkingSpot" for TrackIR variable to write correctly - _simConnector.SetDataObject(simConnectStruct); - } - - private void HandleDataRequested(object sender, ElapsedEventArgs e) - { - try - { - _simConnector.RequestData(); - } - catch { } - } - - private void HandleMessageReceived(object sender, ElapsedEventArgs e) - { - try - { - _simConnector.ReceiveMessage(); - } - catch { } - } - - public void HandleDataReceived(object sender, EventArgs e) - { - _simData = e.Value; - OnSimConnectDataRefreshed?.Invoke(this, new EventArgs(e.Value)); - } - - private List _systemEventBuffer; - private List FlightRestartBeginBufferDef = new List() { SimConnectSystemEvent.SIMSTOP, SimConnectSystemEvent.VIEW }; - private List FlightRestartEndBufferDef = new List() { SimConnectSystemEvent.SIMSTART, SimConnectSystemEvent.VIEW }; - private List FlightStartBufferDef = new List() { SimConnectSystemEvent.SIMSTOP, SimConnectSystemEvent.SIMSTART, SimConnectSystemEvent.SIMSTOP, SimConnectSystemEvent.SIMSTART, SimConnectSystemEvent.VIEW }; - private List FlightEndBufferDef = new List() { SimConnectSystemEvent.SIMSTOP, SimConnectSystemEvent.SIMSTART, SimConnectSystemEvent.VIEW, SimConnectSystemEvent.SIMSTOP, SimConnectSystemEvent.SIMSTART }; - private bool _systemEventInFlightRestartSequence; - - private void HandleReceiveSystemEvent(object sender, EventArgs e) - { - if (_systemEventBuffer == null) - _systemEventBuffer = new List(); - - var systemEvent = e.Value; - - _systemEventBuffer.Add(systemEvent); - - Debug.WriteLine($"SimConnectSystemEvent Received: {systemEvent}"); - - if (_systemEventBuffer.TakeLast(2).SequenceEqual(FlightRestartBeginBufferDef)) - { - OnFlightStopped?.Invoke(this, null); - _systemEventBuffer = null; - _systemEventInFlightRestartSequence = true; - } - else if (_systemEventInFlightRestartSequence && _systemEventBuffer.TakeLast(2).SequenceEqual(FlightRestartEndBufferDef)) - { - OnFlightStarted?.Invoke(this, null); - _systemEventBuffer = null; - _systemEventInFlightRestartSequence = false; - } - else if (_systemEventBuffer.TakeLast(5).SequenceEqual(FlightStartBufferDef)) - { - OnFlightStarted?.Invoke(this, null); - _systemEventBuffer = null; - } - else if (_systemEventBuffer.TakeLast(5).SequenceEqual(FlightEndBufferDef)) - { - OnFlightStopped?.Invoke(this, null); - _systemEventBuffer = null; - } - } - } -} diff --git a/Provider/UserProfileManager.cs b/Provider/UserProfileManager.cs deleted file mode 100644 index 1be7290..0000000 --- a/Provider/UserProfileManager.cs +++ /dev/null @@ -1,136 +0,0 @@ -using MSFSPopoutPanelManager.Model; -using MSFSPopoutPanelManager.Shared; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.IO; -using System.Linq; - -namespace MSFSPopoutPanelManager.Provider -{ - public class UserProfileManager - { - private const string USER_PROFILE_DATA_FILENAME = "userprofiledata.json"; - - public ObservableCollection UserProfiles { get; set; } - - public int AddUserProfile(string newProfileName) - { - return AddProfile(new UserProfile(), newProfileName); - } - - public int AddUserProfileByCopyingProfile(string newProfileName, int copyProfileId) - { - if (UserProfiles == null) - throw new Exception("User Profiles is null."); - - var matchedProfile = UserProfiles.FirstOrDefault(p => p.ProfileId == copyProfileId); - - var copiedProfile = matchedProfile.Copy(); // Using Shared/ObjectExtensions.cs extension method - copiedProfile.BindingAircraftLiveries = new ObservableCollection(); - - return AddProfile(copiedProfile, newProfileName); - } - - public bool DeleteUserProfile(int profileId) - { - if (UserProfiles == null) - throw new Exception("User Profiles is null."); - - if (profileId == -1) - return false; - - var profileToRemove = UserProfiles.First(x => x.ProfileId == profileId); - UserProfiles.Remove(profileToRemove); - WriteUserProfiles(); - - Logger.LogStatus($"Profile '{profileToRemove.ProfileName}' has been deleted successfully.", StatusMessageType.Info); - - return true; - } - - public void AddProfileBinding(string planeTitle, int activeProfileId) - { - var boundProfile = UserProfiles.FirstOrDefault(p => p.BindingAircraftLiveries.ToList().Exists(p => p == planeTitle)); - if (boundProfile != null) - { - Logger.LogStatus($"Unable to add binding to the profile because '{planeTitle}' was already bound to profile '{boundProfile.ProfileName}'.", StatusMessageType.Error); - return; - } - - UserProfiles.First(p => p.ProfileId == activeProfileId).BindingAircraftLiveries.Add(planeTitle); - WriteUserProfiles(); - - Logger.LogStatus($"Binding for the profile has been added successfully.", StatusMessageType.Info); - } - - public void DeleteProfileBinding(string planeTitle, int activeProfileId) - { - UserProfiles.First(p => p.ProfileId == activeProfileId).BindingAircraftLiveries.Remove(planeTitle); - WriteUserProfiles(); - Logger.LogStatus($"Binding for the profile has been deleted successfully.", StatusMessageType.Info); - } - - public void ReadUserProfiles() - { - try - { - using (StreamReader reader = new StreamReader(Path.Combine(FileIo.GetUserDataFilePath(), USER_PROFILE_DATA_FILENAME))) - { - UserProfiles = new ObservableCollection(JsonConvert.DeserializeObject>(reader.ReadToEnd())); - } - } - catch - { - UserProfiles = new ObservableCollection(new List()); - } - } - - public void WriteUserProfiles() - { - if (UserProfiles == null) - throw new Exception("User Profiles is null."); - - try - { - var userProfilePath = FileIo.GetUserDataFilePath(); - - if (!Directory.Exists(userProfilePath)) - Directory.CreateDirectory(userProfilePath); - - using (StreamWriter file = File.CreateText(Path.Combine(userProfilePath, USER_PROFILE_DATA_FILENAME))) - { - JsonSerializer serializer = new JsonSerializer(); - serializer.Serialize(file, UserProfiles); - } - } - catch - { - Logger.LogStatus($"Unable to write user data file: {USER_PROFILE_DATA_FILENAME}", StatusMessageType.Error); - } - } - - private int AddProfile(UserProfile userProfile, string newProfileName) - { - if (UserProfiles == null) - throw new Exception("User Profiles is null."); - - var newPlaneProfile = userProfile; - var newProfileId = UserProfiles.Count > 0 ? UserProfiles.Max(x => x.ProfileId) + 1 : 1; - - newPlaneProfile.ProfileName = newProfileName; - newPlaneProfile.ProfileId = newProfileId; - - var tmpList = UserProfiles.ToList(); - tmpList.Add(newPlaneProfile); - var index = tmpList.OrderBy(x => x.ProfileName).ToList().FindIndex(x => x.ProfileId == newProfileId); - UserProfiles.Insert(index, newPlaneProfile); - WriteUserProfiles(); - - Logger.LogStatus($"Profile '{newPlaneProfile.ProfileName}' has been added successfully.", StatusMessageType.Info); - - return newProfileId; - } - } -} diff --git a/Provider/WindowManager.cs b/Provider/WindowManager.cs deleted file mode 100644 index 5ca3421..0000000 --- a/Provider/WindowManager.cs +++ /dev/null @@ -1,154 +0,0 @@ -using MSFSPopoutPanelManager.Model; -using System; -using System.Drawing; -using System.Runtime.InteropServices; - -namespace MSFSPopoutPanelManager.Provider -{ - public class WindowManager - { - public static void ApplyHidePanelTitleBar(IntPtr handle, bool hideTitleBar) - { - var currentStyle = PInvoke.GetWindowLong(handle, PInvokeConstant.GWL_STYLE).ToInt64(); - - if (hideTitleBar) - PInvoke.SetWindowLong(handle, PInvokeConstant.GWL_STYLE, (uint)(currentStyle & ~(PInvokeConstant.WS_CAPTION | PInvokeConstant.WS_SIZEBOX))); - else - PInvoke.SetWindowLong(handle, PInvokeConstant.GWL_STYLE, (uint)(currentStyle | (PInvokeConstant.WS_CAPTION | PInvokeConstant.WS_SIZEBOX))); - } - - public static void ApplyAlwaysOnTop(IntPtr handle, PanelType panelType, bool alwaysOnTop, Rectangle panelRectangle) - { - // Override weird size adjustment for Touch Panel WPF window - int newWidth = panelType == PanelType.MSFSTouchPanel ? panelRectangle.Width - 16 : panelRectangle.Width; - int newHeight = panelType == PanelType.MSFSTouchPanel ? panelRectangle.Height - 39 : panelRectangle.Height; - - if (alwaysOnTop) - PInvoke.SetWindowPos(handle, new IntPtr(PInvokeConstant.HWND_TOPMOST), panelRectangle.Left, panelRectangle.Top, newWidth, newHeight, PInvokeConstant.SWP_ALWAYS_ON_TOP); - else - PInvoke.SetWindowPos(handle, new IntPtr(PInvokeConstant.HWND_NOTOPMOST), panelRectangle.Left, panelRectangle.Top, newWidth, newHeight, 0); - } - - public static void ApplyAlwaysOnTop(IntPtr handle, bool alwaysOnTop) - { - Rectangle rect; - PInvoke.GetWindowRect(handle, out rect); - - Rectangle clientRectangle; - PInvoke.GetClientRect(handle, out clientRectangle); - - ApplyAlwaysOnTop(handle, PanelType.WPFWindow, alwaysOnTop, new Rectangle(rect.X, rect.Y, clientRectangle.Width, clientRectangle.Height)); - } - - public static void CloseWindow(IntPtr handle) - { - PInvoke.SendMessage(handle, PInvokeConstant.WM_CLOSE, IntPtr.Zero, IntPtr.Zero); - } - - public static void MoveWindow(IntPtr handle, int x, int y) - { - Rectangle rectangle; - PInvoke.GetClientRect(handle, out rectangle); - PInvoke.MoveWindow(handle, x, y, rectangle.Width, rectangle.Height, true); - } - - public static void MoveWindow(IntPtr handle, PanelType panelType, int x, int y, int width, int height) - { - // Override weird size adjustment for Touch Panel WPF window - int newWidth = panelType == PanelType.MSFSTouchPanel ? width - 16 : width; - int newHeight = panelType == PanelType.MSFSTouchPanel ? height - 39 : height; - - PInvoke.MoveWindow(handle, x, y, newWidth, newHeight, true); - } - - public static void MoveWindowWithMsfsBugOverrirde(IntPtr handle, PanelType panelType, int x, int y, int width, int height) - { - int originalX = x; - - // Override weird size adjustment for Touch Panel WPF window - int newWidth = panelType == PanelType.MSFSTouchPanel ? width - 16 : width; - int newHeight = panelType == PanelType.MSFSTouchPanel ? height - 39 : height; - - PInvoke.MoveWindow(handle, x, y, newWidth, newHeight, true); - - // Fixed MSFS bug, create workaround where on 2nd or later instance of width adjustment, the panel shift to the left by itself - // Wait for system to catch up on panel coordinate that were just applied - System.Threading.Thread.Sleep(200); - - Rectangle rectangle; - PInvoke.GetWindowRect(handle, out rectangle); - - if (rectangle.Left != originalX) - PInvoke.MoveWindow(handle, originalX, y, newWidth, newHeight, false); - } - - public static void MinimizeWindow(IntPtr handle) - { - PInvoke.ShowWindow(handle, PInvokeConstant.SW_MINIMIZE); - } - - public static void BringWindowToForeground(IntPtr handle) - { - PInvoke.ShowWindowAsync(new HandleRef(null, handle), PInvokeConstant.SW_RESTORE); - PInvoke.SetForegroundWindow(handle); - } - - public static void CloseAllCustomPopoutPanels() - { - PInvoke.EnumWindows(new PInvoke.CallBack(EnumAllCustomPopoutPanels), 1); - } - - public static void MinimizeAllPopoutPanels(bool active) - { - if (active) - { - PInvoke.EnumWindows(new PInvoke.CallBack(EnumToMinimizePopoutPanels), 0); - } - else - { - PInvoke.EnumWindows(new PInvoke.CallBack(EnumToMinimizePopoutPanels), 1); - } - } - - public static IntPtr FindWindowByCaption(string caption) - { - return PInvoke.FindWindowByCaption(IntPtr.Zero, caption); - } - - private static bool EnumToMinimizePopoutPanels(IntPtr hwnd, int index) - { - var className = PInvoke.GetClassName(hwnd); - var caption = PInvoke.GetWindowText(hwnd); - - if (className == "AceApp" && caption.IndexOf("Microsoft Flight Simulator") == -1) // MSFS windows designation - { - if (index == 0) - PInvoke.ShowWindow(hwnd, PInvokeConstant.SW_MINIMIZE); - else - PInvoke.ShowWindow(hwnd, PInvokeConstant.SW_RESTORE); - } - - return true; - } - - private static bool EnumAllCustomPopoutPanels(IntPtr hwnd, int index) - { - var className = PInvoke.GetClassName(hwnd); - var caption = PInvoke.GetWindowText(hwnd); - - if (className == "AceApp" && caption.IndexOf("WINDOW") > -1) // For multi monitor window, do nothing - return true; - - if (className == "AceApp" && (caption.IndexOf("(Custom)") > -1 || caption == String.Empty)) // Only close non-builtin pop out panels - { - WindowManager.CloseWindow(hwnd); - } - else if (className == "AceApp" && caption.IndexOf("Microsoft Flight Simulator") == -1) // For builtin pop out (ATC, VFR Map, ect) - { - WindowManager.MoveWindow(hwnd, 0, 0); - } - - return true; - } - } -} diff --git a/Provider/WindowProcess.cs b/Provider/WindowProcess.cs deleted file mode 100644 index a0308a9..0000000 --- a/Provider/WindowProcess.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; - -namespace MSFSPopoutPanelManager.Provider -{ - public class WindowProcess - { - public int ProcessId { get; set; } - - public string ProcessName { get; set; } - - public IntPtr Handle { get; set; } - } -} diff --git a/README.md b/README.md index 193b1c9..32afb2b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # MSFS Pop Out Panel Manager

- +

MSFS Pop Out Panel Manager is an application for MSFS 2020 which helps pop out, save and position pop out panels to be used by utilities such as Sim Innovations Air Manager or to place pop out panels onto your screen or another monitor at predetermined locations automatically. @@ -45,7 +45,7 @@ What if you can do the setup once by defining on screen where the pop out panels 2. Start the application **MSFSPopoutPanelManager.exe** and it will automatically connect when MSFS/SimConnect starts. You maybe prompt to download .NET framework 5.0 x64 desktop runtime. Please see the screenshot below to download and install x64 desktop version of the framework.

- +

## How to Update @@ -67,19 +67,19 @@ What if you can do the setup once by defining on screen where the pop out panels 1. First start the application and the game. Once you're in the main menu of the game, you can create a new profile by clicking the "plus" button in step 1 of the app.

- +

2. For step 2, if you want to associate the profile to the current aircraft livery to use in [Auto Pop Out](#auto-pop-out-feature) feature or for automatic profile switching when selecting a different aircraft, click the "plus" button next to the aircraft livery name. The aircraft livery title will become green once the livery is bound to the profile. Your chosen livery may not be available to select in the application for your newly selected plane until a flight is started.

- +

3. Now start a flight with your chosen aircraft. Once your flight is started, you're ready to select the panels you want to pop out. Please click "Start Panel Selection" to define where the pop out panels will be using **LEFT CLICK**. Use **CTRL-LEFT CLICK** when selection is completed. You can also move the number circles at this point to do final adjustment.

- +

4. Next, click "Start Pop Out". At this point, please be patient. The application will start popping out and separating panels one by one and you will see a lot of movements on screen. If something goes wrong, just follow the instruction in the status message and try again. Once the process is done, you will see a list of panels line up in the upper left corner of the screen. All the panels are given a default name. You can name them anything you want as needed. @@ -87,7 +87,7 @@ What if you can do the setup once by defining on screen where the pop out panels 5. You can now start panel configuration by dragging the pop out panels into their final position (to your main monitor or another monitor). You can also type value directly into the data grid to move and resize a panel. The +/- pixel buttons by the lower left corner of the grid allow you to change panel position at the chosen increment/decrement by selecting the data grid cell first (X-Pos, Y-Pos, Width, Height). You can also check "Always on Top", "Hide Title Bar", or "Full Screen Mode" if desire. If the panel is touch capable, you can check "Touch Enabled". Please see [Touch Enable Pop Out Feature](#touch-enable-pop-out-feature) regarding this experimental feature. Once all the panels are at their final position, just click "Lock Panel" to prevent further panel changes.

- +

6. To test if everything is working, please click "Restart" in the File menu. This will close all pop outs. Now click "Start Pop Out" and see the magic happens! @@ -95,11 +95,11 @@ What if you can do the setup once by defining on screen where the pop out panels 7. With auto panning feature enabled in preferences setting, you do not have to line up the circles that identified the panels in order for the panels to be popped out. But if you would like to do it manually without auto-panning, on next start of the flight, just line up the panels before clicking "Start Pop Out" if needed.

- +

- +


@@ -148,13 +148,13 @@ In MSFS, when operating the above panels with pop outs, there are currently 2 li - Bug - If the pop out panel is also display on the main screen, a click through at incorrect coordinate will occur at the relative position where the pop out panel is located. If you click at this particular location in the pop out panel, the click event will register at the wrong coordinate. I haven’t been able to figure out how to work around this issue yet since the bug is deep in the closed source CoherentGT code in how MSFS implements the internal browser control to display to pop out panel. So touch will not work in the relative position of the pop out panel where panel appears on the main screen. This only affects instrumentation pop outs. The built-in ones such as ATC and checklist are fine since once they’re popped out, they no longer appear on the main screen. Below is the screenshot where click through at incorrect coordinate occurs. See the relative position (red box) in the pop out where the same instrumentation appears on the main screen.

- +

If you're a home cockpit builder and your main screen has a view that looks like something below, than touch enable feature will work almost 100% of the time since there is no click through target on your main screen.

- +

#### How to enable touch support diff --git a/ReactClient/.env b/ReactClient/.env new file mode 100644 index 0000000..8675d02 --- /dev/null +++ b/ReactClient/.env @@ -0,0 +1,2 @@ +BROWSER=none +PORT=30101 \ No newline at end of file diff --git a/ReactClient/.gitignore b/ReactClient/.gitignore new file mode 100644 index 0000000..4d29575 --- /dev/null +++ b/ReactClient/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/ReactClient/package-lock.json b/ReactClient/package-lock.json new file mode 100644 index 0000000..02658ff --- /dev/null +++ b/ReactClient/package-lock.json @@ -0,0 +1,34128 @@ +{ + "name": "pwa", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "pwa", + "version": "0.1.0", + "dependencies": { + "@elfalem/leaflet-curve": "^0.8.2", + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "@mui/icons-material": "^5.0.1", + "@mui/material": "^5.0.1", + "@mui/styles": "^5.0.1", + "@testing-library/jest-dom": "^5.14.1", + "@testing-library/react": "^11.2.7", + "@testing-library/user-event": "^12.8.3", + "console-feed": "^3.2.2", + "geolib": "^3.3.1", + "json-ref-lite": "^1.1.0", + "leaflet": "^1.7.1", + "leaflet-easybutton": "^2.4.0", + "leaflet-marker-rotation": "^0.4.0", + "leaflet.marker.slideto": "^0.2.0", + "react": "^17.0.2", + "react-dial-knob": "^1.3.0", + "react-dom": "^17.0.2", + "react-leaflet": "^3.2.1", + "react-leaflet-bing-v2": "^5.2.3", + "react-lineto": "^3.2.1", + "react-router-dom": "^5.3.0", + "react-scripts": "4.0.3", + "rimraf": "^2.7.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.14.7", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.14.6", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.14.6", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.14.7", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.14.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.14.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.14.6", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.14.7", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.7", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.7", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-jsx": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "regenerator-transform": "^0.14.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.14.6", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.14.6", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.6", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-typescript": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.14.7", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-transform-react-display-name": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.5", + "@babel/plugin-transform-react-jsx-development": "^7.14.5", + "@babel/plugin-transform-react-pure-annotations": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.14.7", + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.15.0", + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.14.7", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.7", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "license": "MIT" + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "license": "Apache-2.0", + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@csstools/convert-colors": { + "version": "1.4.0", + "license": "CC0-1.0", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@csstools/normalize.css": { + "version": "10.1.0", + "license": "CC0-1.0" + }, + "node_modules/@elfalem/leaflet-curve": { + "version": "0.8.2", + "license": "MIT", + "optionalDependencies": { + "@tweenjs/tween.js": "^17.2.0" + }, + "peerDependencies": { + "leaflet": "^1.1.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.3.0", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/runtime": "^7.13.10", + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.5", + "@emotion/serialize": "^1.0.2", + "babel-plugin-macros": "^2.6.1", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "^4.0.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": { + "version": "0.7.5", + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/serialize": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/utils": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/cache": { + "version": "10.0.29", + "license": "MIT", + "dependencies": { + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" + } + }, + "node_modules/@emotion/core": { + "version": "10.1.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.27", + "@emotion/css": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" + }, + "peerDependencies": { + "react": ">=16.3.0" + } + }, + "node_modules/@emotion/css": { + "version": "10.0.27", + "license": "MIT", + "dependencies": { + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "license": "MIT" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.7.4" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.4.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@emotion/cache": "^11.4.0", + "@emotion/serialize": "^1.0.2", + "@emotion/sheet": "^1.0.2", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/react/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/react/node_modules/@emotion/cache": { + "version": "11.4.0", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.7.4", + "@emotion/sheet": "^1.0.0", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "stylis": "^4.0.3" + } + }, + "node_modules/@emotion/react/node_modules/@emotion/serialize": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/react/node_modules/@emotion/sheet": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/@emotion/react/node_modules/@emotion/utils": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/@emotion/react/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/@emotion/serialize": { + "version": "0.11.16", + "license": "MIT", + "dependencies": { + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", + "csstype": "^2.5.7" + } + }, + "node_modules/@emotion/sheet": { + "version": "0.9.4", + "license": "MIT" + }, + "node_modules/@emotion/styled": { + "version": "11.3.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@emotion/babel-plugin": "^11.3.0", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/serialize": "^1.0.2", + "@emotion/utils": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/styled-base": { + "version": "10.0.31", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@emotion/is-prop-valid": "0.8.8", + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3" + }, + "peerDependencies": { + "@emotion/core": "^10.0.28", + "react": ">=16.3.0" + } + }, + "node_modules/@emotion/styled-base/node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/@emotion/styled/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/styled/node_modules/@emotion/serialize": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/styled/node_modules/@emotion/utils": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/@emotion/styled/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/@emotion/stylis": { + "version": "0.8.5", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "license": "MIT" + }, + "node_modules/@emotion/utils": { + "version": "0.11.3", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.2.5", + "license": "MIT" + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.2", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.9.0", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@hapi/address": { + "version": "2.1.4", + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/bourne": { + "version": "1.3.2", + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/hoek": { + "version": "8.5.1", + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/joi": { + "version": "15.1.1", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "node_modules/@hapi/topo": { + "version": "3.1.6", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^8.3.0" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/jest-resolve": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core/node_modules/read-pkg": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/read-pkg-up": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@jest/core/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/type-fest": { + "version": "0.8.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/fake-timers": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/globals": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/reporters": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/jest-resolve": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/reporters/node_modules/read-pkg": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/read-pkg-up": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@jest/reporters/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/type-fest": { + "version": "0.8.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/source-map": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@mui/core": { + "version": "5.0.0-alpha.48", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@emotion/is-prop-valid": "^1.1.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/core/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mui/icons-material": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@mui/material": "^5.0.0-rc.0", + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/icons-material/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mui/material": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@mui/core": "5.0.0-alpha.48", + "@mui/system": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "@popperjs/core": "^2.4.4", + "@types/react-transition-group": "^4.4.3", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "hoist-non-react-statics": "^3.3.2", + "prop-types": "^15.7.2", + "react-is": "^17.0.2", + "react-transition-group": "^4.4.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mui/material/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/@mui/private-theming": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@mui/utils": "^5.0.1", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/private-theming/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@emotion/cache": "^11.4.0", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mui/styled-engine/node_modules/@emotion/cache": { + "version": "11.4.0", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.7.4", + "@emotion/sheet": "^1.0.0", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "stylis": "^4.0.3" + } + }, + "node_modules/@mui/styled-engine/node_modules/@emotion/sheet": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/@mui/styled-engine/node_modules/@emotion/utils": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/@mui/styles": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@emotion/hash": "^0.8.0", + "@mui/private-theming": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.8.0", + "jss-plugin-camel-case": "^10.8.0", + "jss-plugin-default-unit": "^10.8.0", + "jss-plugin-global": "^10.8.0", + "jss-plugin-nested": "^10.8.0", + "jss-plugin-props-sort": "^10.8.0", + "jss-plugin-rule-value-function": "^10.8.0", + "jss-plugin-vendor-prefixer": "^10.8.0", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styles/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mui/styles/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/@mui/system": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@mui/private-theming": "^5.0.1", + "@mui/styled-engine": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/system/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mui/system/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/@mui/types": { + "version": "7.0.0", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/prop-types": "^15.7.4", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "react": "^17.0.2" + } + }, + "node_modules/@mui/utils/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.7", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.4.3", + "license": "MIT", + "dependencies": { + "ansi-html": "^0.0.7", + "error-stack-parser": "^2.0.6", + "html-entities": "^1.2.1", + "native-url": "^0.2.6", + "schema-utils": "^2.6.5", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.x" + }, + "peerDependencies": { + "@types/webpack": "4.x", + "react-refresh": ">=0.8.3 <0.10.0", + "sockjs-client": "^1.4.0", + "type-fest": "^0.13.1", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { + "version": "0.7.3", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.10.1", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@react-leaflet/core": { + "version": "1.1.0", + "license": "Hippocratic-2.1", + "peerDependencies": { + "leaflet": "^1.7.1", + "react": "^17.0.1", + "react-dom": "^17.0.1" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "7.1.3", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.0.8", + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.14.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "1.4.2", + "license": "Apache-2.0", + "dependencies": { + "ejs": "^2.6.1", + "magic-string": "^0.25.0" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "8.14.0", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/dom/node_modules/@babel/runtime": { + "version": "7.18.3", + "license": "MIT", + "peer": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.0.0", + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT", + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.14.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^4.2.2", + "chalk": "^3.0.0", + "css": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@testing-library/jest-dom/node_modules/css": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/source-map-resolve": { + "version": "0.6.0", + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "11.2.7", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^7.28.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@testing-library/react/node_modules/@babel/runtime": { + "version": "7.14.6", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@testing-library/react/node_modules/@testing-library/dom": { + "version": "7.31.2", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.6", + "lz-string": "^1.4.4", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@testing-library/react/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/react/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/react/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/react/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/@testing-library/react/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/user-event": { + "version": "12.8.3", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@testing-library/user-event/node_modules/@babel/runtime": { + "version": "7.14.6", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@tweenjs/tween.js": { + "version": "17.6.0", + "license": "MIT", + "optional": true + }, + "node_modules/@types/aria-query": { + "version": "4.2.1", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.1.14", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.2", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.0", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.14.0", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/eslint": { + "version": "7.2.13", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.48", + "license": "MIT" + }, + "node_modules/@types/glob": { + "version": "7.1.3", + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "5.1.1", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "26.0.23", + "license": "MIT", + "dependencies": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.7", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "license": "MIT" + }, + "node_modules/@types/minimatch": { + "version": "3.0.4", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "15.12.5", + "license": "MIT" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.3.0", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.4", + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "1.5.4", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "17.0.24", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-is": { + "version": "17.0.2", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.3", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/@types/resolve": { + "version": "0.0.8", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "license": "MIT" + }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/@types/tapable": { + "version": "1.0.7", + "license": "MIT" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.0", + "license": "MIT", + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/uglify-js": { + "version": "3.13.0", + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/@types/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/webpack": { + "version": "4.41.29", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/webpack-sources": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.3", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/webpack/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/yargs": { + "version": "15.0.13", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.0", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.28.1", + "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "4.28.1", + "@typescript-eslint/scope-manager": "4.28.1", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.5", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.28.1", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.1", + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/typescript-estree": "4.28.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.28.1", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "4.28.1", + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/typescript-estree": "4.28.1", + "debug": "^4.3.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.28.1", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/visitor-keys": "4.28.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.28.1", + "license": "MIT", + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.28.1", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/visitor-keys": "4.28.1", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.5", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.28.1", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "4.28.1", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "license": "ISC" + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "license": "Apache-2.0" + }, + "node_modules/abab": { + "version": "2.0.5", + "license": "BSD-3-Clause" + }, + "node_modules/accepts": { + "version": "1.3.7", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "license": "MIT", + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html": { + "version": "0.0.7", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/argparse": { + "version": "1.0.10", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "4.2.2", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/arity-n": { + "version": "1.0.4", + "license": "MIT" + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.3", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.2.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.2.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/assert": { + "version": "1.5.0", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "license": "ISC" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "license": "MIT", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "license": "ISC" + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.3", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.6", + "license": "MIT", + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/axe-core": { + "version": "4.2.3", + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "2.2.0", + "license": "Apache-2.0" + }, + "node_modules/babel-eslint": { + "version": "10.1.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-extract-comments": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "babylon": "^6.18.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-jest": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 6.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/json5": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-emotion": { + "version": "10.2.2", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.7", + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.2.3", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-syntax-jsx": { + "version": "6.18.0", + "license": "MIT" + }, + "node_modules/babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "license": "MIT" + }, + "node_modules/babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "license": "MIT", + "dependencies": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "license": "MIT" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.0", + "license": "MIT", + "dependencies": { + "@babel/core": "7.12.3", + "@babel/plugin-proposal-class-properties": "7.12.1", + "@babel/plugin-proposal-decorators": "7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1", + "@babel/plugin-proposal-numeric-separator": "7.12.1", + "@babel/plugin-proposal-optional-chaining": "7.12.1", + "@babel/plugin-transform-flow-strip-types": "7.12.1", + "@babel/plugin-transform-react-display-name": "7.12.1", + "@babel/plugin-transform-runtime": "7.12.1", + "@babel/preset-env": "7.12.1", + "@babel/preset-react": "7.12.1", + "@babel/preset-typescript": "7.12.1", + "@babel/runtime": "7.12.1", + "babel-plugin-macros": "2.8.0", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/core": { + "version": "7.12.3", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.1", + "@babel/parser": "^7.12.3", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/preset-env": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.12.1", + "@babel/helper-compilation-targets": "^7.12.1", + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.1", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.1", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.1", + "core-js-compat": "^3.6.2", + "semver": "^5.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/preset-react": { + "version": "7.12.1", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-react-display-name": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.1", + "@babel/plugin-transform-react-jsx-development": "^7.12.1", + "@babel/plugin-transform-react-jsx-self": "^7.12.1", + "@babel/plugin-transform-react-jsx-source": "^7.12.1", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-react-app/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "license": "MIT", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "hasInstallScript": true, + "license": "MIT" + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "license": "MIT" + }, + "node_modules/babylon": { + "version": "6.18.0", + "license": "MIT", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "license": "MIT" + }, + "node_modules/bfj": { + "version": "7.0.2", + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "license": "MIT" + }, + "node_modules/bn.js": { + "version": "5.2.0", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.19.0", + "license": "MIT", + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/bonjour": { + "version": "3.5.0", + "license": "MIT", + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "license": "BSD-2-Clause" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "license": "ISC", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "license": "MIT", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.16.6", + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "license": "MIT", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "15.2.0", + "license": "ISC", + "dependencies": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001241", + "license": "CC-BY-4.0", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "license": "ISC", + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "11.1.2", + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.5.2", + "license": "MIT", + "optional": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cjs-module-lexer": { + "version": "0.6.0", + "license": "MIT" + }, + "node_modules/class-utils": { + "version": "0.3.6", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-css": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/clsx": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.3", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.5.5", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorette": { + "version": "1.2.2", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.0", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/compose-function": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "arity-n": "^1.0.4" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.10", + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0" + }, + "node_modules/console-feed": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "@emotion/core": "^10.0.10", + "@emotion/styled": "^10.0.12", + "emotion-theming": "^10.0.10", + "linkifyjs": "^2.1.6", + "react-inspector": "^5.1.0" + }, + "peerDependencies": { + "react": "^15.x || ^16.x || ^17.x" + } + }, + "node_modules/console-feed/node_modules/@emotion/styled": { + "version": "10.0.27", + "license": "MIT", + "dependencies": { + "@emotion/styled-base": "^10.0.27", + "babel-plugin-emotion": "^10.0.27" + }, + "peerDependencies": { + "@emotion/core": "^10.0.27", + "react": ">=16.3.0" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "license": "MIT" + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "3.15.2", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.15.2", + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.6", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-js-pure": { + "version": "3.15.2", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.0.0", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "license": "MIT", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-random-string": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/css": { + "version": "2.2.4", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "node_modules/css-blank-pseudo": { + "version": "0.1.4", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-blank-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-has-pseudo": { + "version": "0.10.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "bin": { + "css-has-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/cssesc": { + "version": "2.0.0", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "camelcase": "^6.0.0", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^2.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.3", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.1", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "3.1.1", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-prefers-color-scheme": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-select": { + "version": "4.1.3", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-vendor": { + "version": "2.0.8", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, + "node_modules/css-what": { + "version": "5.0.1", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "license": "MIT" + }, + "node_modules/css/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssdb": { + "version": "4.4.0", + "license": "CC0-1.0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "4.1.11", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.8", + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano/node_modules/cosmiconfig": { + "version": "5.2.1", + "license": "MIT", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano/node_modules/import-fresh": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano/node_modules/parse-json": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano/node_modules/resolve-from": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "license": "CC0-1.0" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "2.6.17", + "license": "MIT" + }, + "node_modules/cyclist": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/d": { + "version": "1.0.1", + "license": "ISC", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.7", + "license": "BSD-2-Clause" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.3.1", + "license": "MIT" + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "license": "MIT" + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "4.2.0", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/cross-spawn": { + "version": "6.0.5", + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/default-gateway/node_modules/path-key": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/default-gateway/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/default-gateway/node_modules/shebang-command": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway/node_modules/shebang-regex": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway/node_modules/which": { + "version": "1.3.1", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "license": "MIT", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/del/node_modules/array-union": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/p-map": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/del/node_modules/rimraf": { + "version": "2.7.1", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "license": "MIT" + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/diff-sequences": { + "version": "26.6.2", + "license": "MIT", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "1.3.4", + "license": "MIT", + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.14", + "license": "MIT" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-helpers/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.2.0", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.7.0", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "8.2.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "license": "BSD-2-Clause" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/duplexify": { + "version": "3.7.1", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "2.7.4", + "hasInstallScript": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.763", + "license": "ISC" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/emittery": { + "version": "0.7.2", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emotion-theming": { + "version": "10.0.27", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@emotion/weak-memoize": "0.2.5", + "hoist-non-react-statics": "^3.3.0" + }, + "peerDependencies": { + "@emotion/core": "^10.0.27", + "react": ">=16.3.0" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "license": "MIT", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.0.6", + "license": "MIT", + "dependencies": { + "stackframe": "^1.1.1" + } + }, + "node_modules/es-abstract": { + "version": "1.18.3", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "license": "ISC", + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "license": "ISC", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.2.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.29.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "confusing-browser-globals": "^1.0.10" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0", + "@typescript-eslint/parser": "^4.0.0", + "babel-eslint": "^10.0.0", + "eslint": "^7.5.0", + "eslint-plugin-flowtype": "^5.2.0", + "eslint-plugin-import": "^2.22.0", + "eslint-plugin-jest": "^24.0.0", + "eslint-plugin-jsx-a11y": "^6.3.1", + "eslint-plugin-react": "^7.20.3", + "eslint-plugin-react-hooks": "^4.0.8", + "eslint-plugin-testing-library": "^3.9.0" + }, + "peerDependenciesMeta": { + "eslint-plugin-jest": { + "optional": true + }, + "eslint-plugin-testing-library": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.4", + "license": "MIT", + "dependencies": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/eslint-module-utils": { + "version": "2.6.1", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "5.8.0", + "license": "BSD-3-Clause", + "dependencies": { + "lodash": "^4.17.15", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.23.4", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.1", + "find-up": "^2.0.0", + "has": "^1.0.3", + "is-core-module": "^2.4.0", + "minimatch": "^3.0.4", + "object.values": "^1.1.3", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.9.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/find-up": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/locate-path": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/eslint-plugin-import/node_modules/p-limit": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/p-locate": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/p-try": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/resolve": { + "version": "1.20.0", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "24.3.6", + "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "^4.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": ">= 4", + "eslint": ">=5" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.4.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^3.1.0", + "language-tags": "^1.0.5" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.24.0", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.4", + "object.fromentries": "^2.0.4", + "object.values": "^1.1.4", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.5" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.3", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "3.10.2", + "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "^3.10.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^5 || ^6 || ^7" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/experimental-utils": { + "version": "3.10.1", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { + "version": "3.10.1", + "license": "MIT", + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { + "version": "3.10.1", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/visitor-keys": "3.10.1", + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { + "version": "3.10.1", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/eslint-utils": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "2.5.4", + "license": "MIT", + "dependencies": { + "@types/eslint": "^7.2.6", + "arrify": "^2.0.1", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0", + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.9.0", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "license": "MIT" + }, + "node_modules/execa": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/expect": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/expect/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/express": { + "version": "4.17.1", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/ext": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "type": "^2.0.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.5.0", + "license": "ISC" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.6", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.11.0", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "license": "ISC" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.1.1", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "6.1.0", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.1.1", + "license": "ISC" + }, + "node_modules/flatten": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.14.1", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "engines": { + "node": ">=6.11.5", + "yarn": ">=1.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces": { + "version": "2.3.2", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": { + "version": "3.1.10", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/to-regex-range": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/geolib": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "license": "ISC" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.1.8", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/google-maps": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "license": "ISC" + }, + "node_modules/growly": { + "version": "1.3.0", + "license": "MIT", + "optional": true + }, + "node_modules/gzip-size": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "license": "(Apache-2.0 OR MPL-1.1)" + }, + "node_modules/has": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/history": { + "version": "4.10.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" + }, + "node_modules/hoopy": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "license": "ISC" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-webpack-plugin": { + "version": "4.5.0", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/json5": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "1.7.2", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "license": "ISC" + }, + "node_modules/http-parser-js": { + "version": "0.5.3", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.19.1", + "license": "MIT", + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/braces": { + "version": "2.3.2", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/fill-range": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/is-number": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/micromatch": { + "version": "3.1.10", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/to-regex-range": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/hyphenate-style-name": { + "version": "1.0.4", + "license": "BSD-3-Clause" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "4.1.1", + "license": "ISC", + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/iferr": { + "version": "0.1.5", + "license": "MIT" + }, + "node_modules/ignore": { + "version": "4.0.6", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "8.0.1", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "import-from": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from/node_modules/resolve-from": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "license": "ISC" + }, + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "license": "ISC" + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "license": "MIT" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arguments": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "license": "MIT", + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "license": "MIT" + }, + "node_modules/is-callable": { + "version": "1.2.3", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.4.0", + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-dom": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "is-object": "^1.0.1", + "is-window": "^1.0.2" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-in-browser": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/is-module": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-object": { + "version": "1.0.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.1.3", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/is-root": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-string": { + "version": "1.0.6", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/is-window": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "26.6.0", + "license": "MIT", + "dependencies": { + "@jest/core": "^26.6.0", + "import-local": "^3.0.2", + "jest-cli": "^26.6.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-circus": { + "version": "26.6.0", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.0", + "@jest/test-result": "^26.6.0", + "@jest/types": "^26.6.0", + "@types/babel__traverse": "^7.0.4", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^26.6.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.0", + "jest-matcher-utils": "^26.6.0", + "jest-message-util": "^26.6.0", + "jest-runner": "^26.6.0", + "jest-runtime": "^26.6.0", + "jest-snapshot": "^26.6.0", + "jest-util": "^26.6.0", + "pretty-format": "^26.6.0", + "stack-utils": "^2.0.2", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/jest-resolve": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-config/node_modules/read-pkg": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/read-pkg-up": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-config/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/type-fest": { + "version": "0.8.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "26.0.0", + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-each": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-node": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-get-type": { + "version": "26.3.0", + "license": "MIT", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-matcher-utils": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "26.0.0", + "license": "MIT", + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve": { + "version": "26.6.0", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.0", + "read-pkg-up": "^7.0.1", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/read-pkg": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/read-pkg-up": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-resolve/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/type-fest": { + "version": "0.8.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/jest-resolve": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner/node_modules/read-pkg": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/read-pkg-up": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-runner/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/type-fest": { + "version": "0.8.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "26.6.3", + "license": "MIT", + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/jest-resolve": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runtime/node_modules/read-pkg": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/read-pkg-up": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-runtime/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/type-fest": { + "version": "0.8.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/jest-resolve": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot/node_modules/read-pkg": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/read-pkg-up": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-snapshot/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/type-fest": { + "version": "0.8.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "0.6.1", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^26.0.0", + "jest-watcher": "^26.3.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "jest": "^26.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-watch-typeahead/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jquery": { + "version": "3.6.0", + "license": "MIT", + "peer": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.6.0", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.5", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "8.4.1", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/json-ref-lite": { + "version": "1.1.0", + "license": "ISC", + "dependencies": { + "property-expr": "^1.3.1" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/json3": { + "version": "3.3.3", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jss": { + "version": "10.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "csstype": "^3.0.2", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/jss" + } + }, + "node_modules/jss-plugin-camel-case": { + "version": "10.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.8.0" + } + }, + "node_modules/jss-plugin-default-unit": { + "version": "10.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0" + } + }, + "node_modules/jss-plugin-global": { + "version": "10.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0" + } + }, + "node_modules/jss-plugin-nested": { + "version": "10.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-props-sort": { + "version": "10.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0" + } + }, + "node_modules/jss-plugin-rule-value-function": { + "version": "10.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-vendor-prefixer": { + "version": "10.8.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.8", + "jss": "10.8.0" + } + }, + "node_modules/jss/node_modules/csstype": { + "version": "3.0.9", + "license": "MIT" + }, + "node_modules/jsx-ast-utils": { + "version": "3.2.0", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.4", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.21", + "license": "ODC-By-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/last-call-webpack-plugin": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "node_modules/leaflet": { + "version": "1.7.1", + "license": "BSD-2-Clause" + }, + "node_modules/leaflet-easybutton": { + "version": "2.4.0", + "license": "MIT", + "dependencies": { + "leaflet": "^1.0.1" + } + }, + "node_modules/leaflet-marker-rotation": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/leaflet.marker.slideto": { + "version": "0.2.0", + "license": "Beerware" + }, + "node_modules/leven": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "license": "MIT" + }, + "node_modules/linkifyjs": { + "version": "2.1.9", + "license": "MIT", + "peerDependencies": { + "jquery": ">= 1.11.0", + "react": ">= 0.14.0", + "react-dom": ">= 0.14.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "license": "MIT", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "license": "MIT" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "license": "MIT" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "license": "MIT" + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "license": "MIT", + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "license": "MIT" + }, + "node_modules/loglevel": { + "version": "1.7.1", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lz-string": { + "version": "1.4.4", + "license": "WTFPL", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.11", + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "license": "MIT", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microevent.ts": { + "version": "0.1.1", + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.4", + "license": "MIT", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/mime": { + "version": "1.6.0", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.48.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.31", + "license": "MIT", + "dependencies": { + "mime-db": "1.48.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-create-react-context": { + "version": "0.4.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + }, + "peerDependencies": { + "prop-types": "^15.0.0", + "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "0.11.3", + "license": "MIT", + "dependencies": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json5": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "license": "MIT" + }, + "node_modules/minipass": { + "version": "3.1.3", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "license": "BSD-2-Clause", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "license": "MIT", + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.1.23", + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/native-url": { + "version": "0.2.6", + "license": "Apache-2.0", + "dependencies": { + "querystring": "^0.2.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "license": "MIT" + }, + "node_modules/next-tick": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "0.10.0", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "license": "MIT", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "license": "MIT" + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-notifier": { + "version": "8.0.2", + "license": "MIT", + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node_modules/node-releases": { + "version": "1.1.73", + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "1.9.1", + "license": "MIT", + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.0.0", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "license": "MIT" + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.10.3", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.2", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "7.4.2", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opn/node_modules/is-wsl": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/optimize-css-assets-webpack-plugin": { + "version": "5.0.4", + "license": "MIT", + "dependencies": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/original": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "license": "MIT" + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "license": "(MIT AND Zlib)" + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "license": "ISC", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "license": "MIT", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir/node_modules/p-try": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-try": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pnp-webpack-plugin": { + "version": "1.6.4", + "license": "MIT", + "dependencies": { + "ts-pnp": "^1.1.6" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "license": "MIT", + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.36", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "3.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "browserslist": "^4" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.5", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "2.0.1", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-gray": { + "version": "5.0.0", + "license": "ISC", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "5.0.3", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-mod-function": { + "version": "3.0.3", + "license": "CC0-1.0", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-colormin/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-custom-media": { + "version": "7.0.8", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-properties": { + "version": "8.0.11", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors/node_modules/cssesc": { + "version": "2.0.0", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "5.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { + "version": "2.0.0", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "1.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-env-function": { + "version": "2.0.2", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "4.2.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.26" + } + }, + "node_modules/postcss-focus-visible": { + "version": "4.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-within": { + "version": "3.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-font-variant": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-gap-properties": { + "version": "2.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-image-set-function": { + "version": "3.0.1", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-lab-function": { + "version": "2.0.1", + "license": "CC0-1.0", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-load-config": { + "version": "2.1.2", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-load-config/node_modules/cosmiconfig": { + "version": "5.2.1", + "license": "MIT", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/import-fresh": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/parse-json": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/resolve-from": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-loader": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-loader/node_modules/json5": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/postcss-loader/node_modules/loader-utils": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-loader/node_modules/schema-utils": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-logical": { + "version": "3.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-media-minmax": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "license": "MIT", + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "license": "MIT", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "license": "MIT", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "2.0.0", + "license": "ISC", + "dependencies": { + "postcss": "^7.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-scope": { + "version": "2.2.0", + "license": "ISC", + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-values": { + "version": "3.0.0", + "license": "ISC", + "dependencies": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "node_modules/postcss-nesting": { + "version": "7.0.1", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-normalize": { + "version": "8.0.1", + "license": "CC0-1.0", + "dependencies": { + "@csstools/normalize.css": "^10.1.0", + "browserslist": "^4.6.2", + "postcss": "^7.0.17", + "postcss-browser-comments": "^3.0.0", + "sanitize.css": "^10.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url/node_modules/normalize-url": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-overflow-shorthand": { + "version": "2.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-page-break": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-place": { + "version": "4.0.1", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-preset-env": { + "version": "6.7.0", + "license": "CC0-1.0", + "dependencies": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "6.0.0", + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { + "version": "2.0.0", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-safe-parser": { + "version": "5.0.2", + "license": "MIT", + "dependencies": { + "postcss": "^8.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-safe-parser/node_modules/postcss": { + "version": "8.3.5", + "license": "MIT", + "dependencies": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-selector-matches": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-not": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.6", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-svgo/node_modules/postcss-value-parser": { + "version": "3.3.1", + "license": "MIT" + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "license": "MIT" + }, + "node_modules/postcss-values-parser": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "2.1.2", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "node_modules/pretty-format": { + "version": "26.6.2", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/pretty-format/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/process": { + "version": "0.11.10", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/prompts": { + "version": "2.4.0", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.7.2", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" + }, + "node_modules/property-expr": { + "version": "1.5.1", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/psl": { + "version": "1.8.0", + "license": "MIT" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.7.0", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.1", + "license": "MIT", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/raf": { + "version": "3.4.1", + "license": "MIT", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "license": "MIT", + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "17.0.2", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "core-js": "^3.6.5", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "whatwg-fetch": "^3.4.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/react-dev-utils": { + "version": "11.0.4", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.10.4", + "address": "1.1.2", + "browserslist": "4.14.2", + "chalk": "2.4.2", + "cross-spawn": "7.0.3", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "2.0.0", + "filesize": "6.1.0", + "find-up": "4.1.0", + "fork-ts-checker-webpack-plugin": "4.1.6", + "global-modules": "2.0.0", + "globby": "11.0.1", + "gzip-size": "5.1.1", + "immer": "8.0.1", + "is-root": "2.1.0", + "loader-utils": "2.0.0", + "open": "^7.0.2", + "pkg-up": "3.1.0", + "prompts": "2.4.0", + "react-error-overlay": "^6.0.9", + "recursive-readdir": "2.2.2", + "shell-quote": "1.7.2", + "strip-ansi": "6.0.0", + "text-table": "0.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/react-dev-utils/node_modules/@babel/code-frame": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/react-dev-utils/node_modules/browserslist": { + "version": "4.14.2", + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001125", + "electron-to-chromium": "^1.3.564", + "escalade": "^3.0.2", + "node-releases": "^1.1.61" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + }, + "node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/globby": { + "version": "11.0.1", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/ignore": { + "version": "5.1.8", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-dev-utils/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/react-dev-utils/node_modules/pkg-up": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-dial-knob": { + "version": "1.3.0", + "license": "MIT", + "peerDependencies": { + "react": "^17.0.1" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.9", + "license": "MIT" + }, + "node_modules/react-inspector": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "is-dom": "^1.0.0", + "prop-types": "^15.0.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "license": "MIT" + }, + "node_modules/react-leaflet": { + "version": "3.2.1", + "license": "Hippocratic-2.1", + "dependencies": { + "@react-leaflet/core": "^1.1.0" + }, + "peerDependencies": { + "leaflet": "^1.7.1", + "react": "^17.0.1", + "react-dom": "^17.0.1" + } + }, + "node_modules/react-leaflet-bing-v2": { + "version": "5.2.3", + "license": "MIT", + "dependencies": { + "react-leaflet-google-v2": "^5.1.3" + }, + "peerDependencies": { + "leaflet": "^1.7.1", + "react": "^15.0.0 || ^16.0.0 || ^17.0.0", + "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0", + "react-leaflet": "^3.0.5" + } + }, + "node_modules/react-leaflet-google-v2": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@react-leaflet/core": "^1.1.0", + "google-maps": "^3.3.0", + "react-leaflet": "^3.0.5" + }, + "peerDependencies": { + "leaflet": "^1.7.1", + "react": "^15.0.0 || ^16.0.0 || ^17.0.0", + "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0", + "react-leaflet": "^3.0.5" + } + }, + "node_modules/react-lineto": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "prop-types": "15.7.2", + "react": "17.0.2" + } + }, + "node_modules/react-refresh": { + "version": "0.8.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "5.2.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.1", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-dom/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/react-router/node_modules/@babel/runtime": { + "version": "7.15.4", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/react-router/node_modules/isarray": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/react-router/node_modules/path-to-regexp": { + "version": "1.8.0", + "license": "MIT", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/react-router/node_modules/react-is": { + "version": "16.13.1", + "license": "MIT" + }, + "node_modules/react-scripts": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "@babel/core": "7.12.3", + "@pmmmwh/react-refresh-webpack-plugin": "0.4.3", + "@svgr/webpack": "5.5.0", + "@typescript-eslint/eslint-plugin": "^4.5.0", + "@typescript-eslint/parser": "^4.5.0", + "babel-eslint": "^10.1.0", + "babel-jest": "^26.6.0", + "babel-loader": "8.1.0", + "babel-plugin-named-asset-import": "^0.3.7", + "babel-preset-react-app": "^10.0.0", + "bfj": "^7.0.2", + "camelcase": "^6.1.0", + "case-sensitive-paths-webpack-plugin": "2.3.0", + "css-loader": "4.3.0", + "dotenv": "8.2.0", + "dotenv-expand": "5.1.0", + "eslint": "^7.11.0", + "eslint-config-react-app": "^6.0.0", + "eslint-plugin-flowtype": "^5.2.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-jest": "^24.1.0", + "eslint-plugin-jsx-a11y": "^6.3.1", + "eslint-plugin-react": "^7.21.5", + "eslint-plugin-react-hooks": "^4.2.0", + "eslint-plugin-testing-library": "^3.9.2", + "eslint-webpack-plugin": "^2.5.2", + "file-loader": "6.1.1", + "fs-extra": "^9.0.1", + "html-webpack-plugin": "4.5.0", + "identity-obj-proxy": "3.0.0", + "jest": "26.6.0", + "jest-circus": "26.6.0", + "jest-resolve": "26.6.0", + "jest-watch-typeahead": "0.6.1", + "mini-css-extract-plugin": "0.11.3", + "optimize-css-assets-webpack-plugin": "5.0.4", + "pnp-webpack-plugin": "1.6.4", + "postcss-flexbugs-fixes": "4.2.1", + "postcss-loader": "3.0.0", + "postcss-normalize": "8.0.1", + "postcss-preset-env": "6.7.0", + "postcss-safe-parser": "5.0.2", + "prompts": "2.4.0", + "react-app-polyfill": "^2.0.0", + "react-dev-utils": "^11.0.3", + "react-refresh": "^0.8.3", + "resolve": "1.18.1", + "resolve-url-loader": "^3.1.2", + "sass-loader": "^10.0.5", + "semver": "7.3.2", + "style-loader": "1.3.0", + "terser-webpack-plugin": "4.2.3", + "ts-pnp": "1.2.0", + "url-loader": "4.1.1", + "webpack": "4.44.2", + "webpack-dev-server": "3.11.1", + "webpack-manifest-plugin": "2.2.0", + "workbox-webpack-plugin": "5.1.4" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.1.3" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/@babel/core": { + "version": "7.12.3", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.1", + "@babel/parser": "^7.12.3", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/react-scripts/node_modules/@babel/core/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.2", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "license": "MIT", + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.2", + "license": "MIT", + "dependencies": { + "minimatch": "3.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.1", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.6.9", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/renderkid": { + "version": "2.0.7", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/renderkid/node_modules/ansi-regex": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/renderkid/node_modules/strip-ansi": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.18.1", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "license": "MIT" + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/resolve-url-loader": { + "version": "3.1.4", + "license": "MIT", + "dependencies": { + "adjust-sourcemap-loader": "3.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.36", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/resolve-url-loader/node_modules/camelcase": { + "version": "5.3.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.7.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/resolve-url-loader/node_modules/emojis-list": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-url-loader/node_modules/json5": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "1.2.3", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rework": { + "version": "1.0.1", + "dependencies": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + } + }, + "node_modules/rework-visit": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/rework/node_modules/convert-source-map": { + "version": "0.3.5", + "license": "MIT" + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "2.7.1", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rollup": { + "version": "1.32.1", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + }, + "bin": { + "rollup": "dist/bin/rollup" + } + }, + "node_modules/rollup-plugin-babel": { + "version": "4.4.0", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "rollup-pluginutils": "^2.8.1" + }, + "peerDependencies": { + "@babel/core": "7 || ^7.0.0-rc.2", + "rollup": ">=0.60.0 <3" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "5.3.1", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" + }, + "peerDependencies": { + "rollup": ">=0.66.0 <3" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "24.9.0", + "license": "MIT", + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "license": "MIT", + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "license": "MIT" + }, + "node_modules/rsvp": { + "version": "4.8.5", + "license": "MIT", + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/sane": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "license": "ISC", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/path-key": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/sane/node_modules/shebang-command": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/shebang-regex": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/which": { + "version": "1.3.1", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/sanitize.css": { + "version": "10.0.0", + "license": "CC0-1.0" + }, + "node_modules/sass-loader": { + "version": "10.2.0", + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/sass-loader/node_modules/schema-utils": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "5.0.1", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.20.2", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "1.10.11", + "license": "MIT", + "dependencies": { + "node-forge": "^0.10.0" + } + }, + "node_modules/semver": { + "version": "7.3.2", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.17.1", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/serve-static": { + "version": "1.14.1", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/set-value": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "license": "ISC" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "license": "MIT" + }, + "node_modules/shellwords": { + "version": "0.1.1", + "license": "MIT", + "optional": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "license": "ISC" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "license": "MIT" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/sockjs": { + "version": "0.3.21", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs-client": { + "version": "1.5.1", + "license": "MIT", + "dependencies": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.1" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "3.4.0", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.5.7", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "0.6.2", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "license": "MIT" + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "license": "MIT" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.9", + "license": "CC0-1.0" + }, + "node_modules/spdy": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "8.0.1", + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "license": "MIT" + }, + "node_modules/stack-utils": { + "version": "2.0.3", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.2.0", + "license": "MIT" + }, + "node_modules/static-extend": { + "version": "0.1.2", + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "license": "MIT", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/string-length": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.2", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.5", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.3.1", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "license": "MIT", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylis": { + "version": "4.0.10", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "license": "BSD-2-Clause" + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "license": "MIT" + }, + "node_modules/table": { + "version": "6.7.1", + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "1.1.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.0", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/temp-dir": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tempy": { + "version": "0.3.0", + "license": "MIT", + "dependencies": { + "temp-dir": "^1.0.0", + "type-fest": "^0.3.1", + "unique-string": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.3.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=6" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "4.8.0", + "license": "BSD-2-Clause", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.5.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.4", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, + "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { + "version": "3.3.1", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/make-dir": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-limit": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser": { + "version": "5.7.1", + "license": "BSD-2-Clause", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "license": "MIT" + }, + "node_modules/throat": { + "version": "5.0.0", + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "license": "MIT", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "license": "MIT" + }, + "node_modules/tiny-invariant": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/tmpl": { + "version": "1.0.4", + "license": "BSD-3-Clause" + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.1.2", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/ts-pnp": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.9.0", + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "license": "0BSD" + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "license": "MIT" + }, + "node_modules/type": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.4.0", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "license": "(MIT OR CC0-1.0)", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "license": "MIT" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.7.4", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/uniqs": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "license": "ISC", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unique-string": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "license": "MIT" + }, + "node_modules/url": { + "version": "0.11.0", + "license": "MIT", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/url-parse": { + "version": "1.5.1", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/url/node_modules/querystring": { + "version": "0.2.0", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/use": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "license": "MIT", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/util.promisify": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "license": "ISC" + }, + "node_modules/utila": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "7.1.2", + "license": "ISC", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/watchpack": { + "version": "1.7.5", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "license": "MIT", + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "license": "ISC", + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "license": "MIT", + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "license": "MIT", + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "license": "MIT", + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "license": "MIT", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "license": "ISC", + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "license": "MIT", + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "license": "MIT", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "license": "MIT", + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "license": "MIT", + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "4.44.2", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.3.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "license": "MIT", + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.5.2", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.11.1", + "license": "MIT", + "dependencies": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch": { + "version": "2.0.0", + "license": "ISC", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/binary-extensions": { + "version": "1.13.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/braces": { + "version": "2.3.2", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/camelcase": { + "version": "5.3.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "2.1.8", + "license": "MIT", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui": { + "version": "5.0.0", + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/emoji-regex": { + "version": "7.0.3", + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/fill-range": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/find-up": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent": { + "version": "3.1.0", + "license": "ISC", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/import-local": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/is-absolute-url": { + "version": "3.0.3", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/is-binary-path": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/is-number": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/locate-path": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/micromatch": { + "version": "3.1.10", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/p-locate": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/path-exists": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/pkg-dir": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "2.2.1", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/webpack-dev-server/node_modules/resolve-cwd": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/resolve-from": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-dev-server/node_modules/semver": { + "version": "6.3.0", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { + "version": "4.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/to-regex-range": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "6.2.2", + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "13.3.2", + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs-parser": { + "version": "13.1.2", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-log": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-log/node_modules/ansi-colors": { + "version": "3.2.4", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-log/node_modules/uuid": { + "version": "3.4.0", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "fs-extra": "^7.0.0", + "lodash": ">=3.5 <5", + "object.entries": "^1.1.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.11.5" + }, + "peerDependencies": { + "webpack": "2 || 3 || 4" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/fs-extra": { + "version": "7.0.1", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/jsonfile": { + "version": "4.0.0", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/universalify": { + "version": "0.1.2", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.2", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/braces": { + "version": "2.3.2", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/cacache": { + "version": "12.0.4", + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/webpack/node_modules/chownr": { + "version": "1.1.4", + "license": "ISC" + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.3", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/fill-range": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-number": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-wsl": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack/node_modules/json5": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/webpack/node_modules/loader-utils": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/lru-cache": { + "version": "5.1.1", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/webpack/node_modules/micromatch": { + "version": "3.1.10", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/rimraf": { + "version": "2.7.1", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack/node_modules/serialize-javascript": { + "version": "4.0.0", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/webpack/node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/ssri": { + "version": "6.0.2", + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/webpack/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "license": "MIT", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack/node_modules/to-regex-range": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/yallist": { + "version": "3.1.1", + "license": "ISC" + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.2", + "license": "MIT" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/workbox-build": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.4", + "@babel/preset-env": "^7.8.4", + "@babel/runtime": "^7.8.4", + "@hapi/joi": "^15.1.0", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-replace": "^2.3.1", + "@surma/rollup-plugin-off-main-thread": "^1.1.1", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.6", + "lodash.template": "^4.5.0", + "pretty-bytes": "^5.3.0", + "rollup": "^1.31.1", + "rollup-plugin-babel": "^4.3.3", + "rollup-plugin-terser": "^5.3.1", + "source-map": "^0.7.3", + "source-map-url": "^0.4.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "tempy": "^0.3.0", + "upath": "^1.2.0", + "workbox-background-sync": "^5.1.4", + "workbox-broadcast-update": "^5.1.4", + "workbox-cacheable-response": "^5.1.4", + "workbox-core": "^5.1.4", + "workbox-expiration": "^5.1.4", + "workbox-google-analytics": "^5.1.4", + "workbox-navigation-preload": "^5.1.4", + "workbox-precaching": "^5.1.4", + "workbox-range-requests": "^5.1.4", + "workbox-routing": "^5.1.4", + "workbox-strategies": "^5.1.4", + "workbox-streams": "^5.1.4", + "workbox-sw": "^5.1.4", + "workbox-window": "^5.1.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/workbox-build/node_modules/jsonfile": { + "version": "4.0.0", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.7.3", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/universalify": { + "version": "0.1.2", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/workbox-core": { + "version": "5.1.4", + "license": "MIT" + }, + "node_modules/workbox-expiration": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/workbox-google-analytics": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-background-sync": "^5.1.4", + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4", + "workbox-strategies": "^5.1.4" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/workbox-precaching": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/workbox-range-requests": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/workbox-routing": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/workbox-strategies": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4" + } + }, + "node_modules/workbox-streams": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4" + } + }, + "node_modules/workbox-sw": { + "version": "5.1.4", + "license": "MIT" + }, + "node_modules/workbox-webpack-plugin": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "fast-json-stable-stringify": "^2.0.0", + "source-map-url": "^0.4.0", + "upath": "^1.1.2", + "webpack-sources": "^1.3.0", + "workbox-build": "^5.1.4" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/workbox-window": { + "version": "5.1.4", + "license": "MIT", + "dependencies": { + "workbox-core": "^5.1.4" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "license": "MIT", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-rpc": { + "version": "0.1.1", + "license": "MIT", + "dependencies": { + "microevent.ts": "~0.1.1" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.1", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "license": "Apache-2.0" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "15.4.1", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/compat-data": { + "version": "7.14.7" + }, + "@babel/core": { + "version": "7.14.6", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/generator": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.14.6", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.14.7", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.5", + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.14.5", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5" + }, + "@babel/helper-validator-option": { + "version": "7.14.5" + }, + "@babel/helper-wrap-function": { + "version": "7.14.5", + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helpers": { + "version": "7.14.6", + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.14.7" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.12.1", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.12.1" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.7", + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.14.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.12.1", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.14.5", + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.14.5", + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "requires": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.7", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.14.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-jsx": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.14.5", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.14.5" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.14.5", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.12.1", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.14.6", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.14.6", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.6", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-typescript": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.14.7", + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" + }, + "dependencies": { + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } + }, + "semver": { + "version": "6.3.0" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.14.5", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-transform-react-display-name": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.5", + "@babel/plugin-transform-react-jsx-development": "^7.14.5", + "@babel/plugin-transform-react-pure-annotations": "^7.14.5" + } + }, + "@babel/preset-typescript": { + "version": "7.12.1", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.12.1" + } + }, + "@babel/runtime": { + "version": "7.12.1", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.14.7", + "requires": { + "core-js-pure": "^3.15.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.14.5", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.14.7", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.7", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.5", + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3" + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@csstools/convert-colors": { + "version": "1.4.0" + }, + "@csstools/normalize.css": { + "version": "10.1.0" + }, + "@elfalem/leaflet-curve": { + "version": "0.8.2", + "requires": { + "@tweenjs/tween.js": "^17.2.0" + } + }, + "@emotion/babel-plugin": { + "version": "11.3.0", + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/runtime": "^7.13.10", + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.5", + "@emotion/serialize": "^1.0.2", + "babel-plugin-macros": "^2.6.1", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "^4.0.3" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@emotion/memoize": { + "version": "0.7.5" + }, + "@emotion/serialize": { + "version": "1.0.2", + "requires": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + } + }, + "@emotion/utils": { + "version": "1.0.0" + }, + "csstype": { + "version": "3.0.9" + }, + "escape-string-regexp": { + "version": "4.0.0" + } + } + }, + "@emotion/cache": { + "version": "10.0.29", + "requires": { + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" + } + }, + "@emotion/core": { + "version": "10.1.1", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.27", + "@emotion/css": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" + } + }, + "@emotion/css": { + "version": "10.0.27", + "requires": { + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/hash": { + "version": "0.8.0" + }, + "@emotion/is-prop-valid": { + "version": "1.1.0", + "requires": { + "@emotion/memoize": "^0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.4" + }, + "@emotion/react": { + "version": "11.4.1", + "requires": { + "@babel/runtime": "^7.13.10", + "@emotion/cache": "^11.4.0", + "@emotion/serialize": "^1.0.2", + "@emotion/sheet": "^1.0.2", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "hoist-non-react-statics": "^3.3.1" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@emotion/cache": { + "version": "11.4.0", + "requires": { + "@emotion/memoize": "^0.7.4", + "@emotion/sheet": "^1.0.0", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "stylis": "^4.0.3" + } + }, + "@emotion/serialize": { + "version": "1.0.2", + "requires": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.0.2" + }, + "@emotion/utils": { + "version": "1.0.0" + }, + "csstype": { + "version": "3.0.9" + } + } + }, + "@emotion/serialize": { + "version": "0.11.16", + "requires": { + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", + "csstype": "^2.5.7" + } + }, + "@emotion/sheet": { + "version": "0.9.4" + }, + "@emotion/styled": { + "version": "11.3.0", + "requires": { + "@babel/runtime": "^7.13.10", + "@emotion/babel-plugin": "^11.3.0", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/serialize": "^1.0.2", + "@emotion/utils": "^1.0.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@emotion/serialize": { + "version": "1.0.2", + "requires": { + "@emotion/hash": "^0.8.0", + "@emotion/memoize": "^0.7.4", + "@emotion/unitless": "^0.7.5", + "@emotion/utils": "^1.0.0", + "csstype": "^3.0.2" + } + }, + "@emotion/utils": { + "version": "1.0.0" + }, + "csstype": { + "version": "3.0.9" + } + } + }, + "@emotion/styled-base": { + "version": "10.0.31", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/is-prop-valid": "0.8.8", + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3" + }, + "dependencies": { + "@emotion/is-prop-valid": { + "version": "0.8.8", + "requires": { + "@emotion/memoize": "0.7.4" + } + } + } + }, + "@emotion/stylis": { + "version": "0.8.5" + }, + "@emotion/unitless": { + "version": "0.7.5" + }, + "@emotion/utils": { + "version": "0.11.3" + }, + "@emotion/weak-memoize": { + "version": "0.2.5" + }, + "@eslint/eslintrc": { + "version": "0.4.2", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.9.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "@hapi/address": { + "version": "2.1.4" + }, + "@hapi/bourne": { + "version": "1.3.2" + }, + "@hapi/hoek": { + "version": "8.5.1" + }, + "@hapi/joi": { + "version": "15.1.1", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3" + }, + "@jest/console": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "26.6.3", + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-resolve": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1" + } + } + }, + "@jest/environment": { + "version": "26.6.2", + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-resolve": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "source-map": { + "version": "0.6.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1" + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "@jest/test-result": { + "version": "26.6.2", + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "source-map": { + "version": "0.6.1" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@mui/core": { + "version": "5.0.0-alpha.48", + "requires": { + "@babel/runtime": "^7.15.4", + "@emotion/is-prop-valid": "^1.1.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "@mui/icons-material": { + "version": "5.0.1", + "requires": { + "@babel/runtime": "^7.15.4" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "@mui/material": { + "version": "5.0.1", + "requires": { + "@babel/runtime": "^7.15.4", + "@mui/core": "5.0.0-alpha.48", + "@mui/system": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "@popperjs/core": "^2.4.4", + "@types/react-transition-group": "^4.4.3", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "hoist-non-react-statics": "^3.3.2", + "prop-types": "^15.7.2", + "react-is": "^17.0.2", + "react-transition-group": "^4.4.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "csstype": { + "version": "3.0.9" + } + } + }, + "@mui/private-theming": { + "version": "5.0.1", + "requires": { + "@babel/runtime": "^7.15.4", + "@mui/utils": "^5.0.1", + "prop-types": "^15.7.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "@mui/styled-engine": { + "version": "5.0.1", + "requires": { + "@babel/runtime": "^7.15.4", + "@emotion/cache": "^11.4.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@emotion/cache": { + "version": "11.4.0", + "requires": { + "@emotion/memoize": "^0.7.4", + "@emotion/sheet": "^1.0.0", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "stylis": "^4.0.3" + } + }, + "@emotion/sheet": { + "version": "1.0.2" + }, + "@emotion/utils": { + "version": "1.0.0" + } + } + }, + "@mui/styles": { + "version": "5.0.1", + "requires": { + "@babel/runtime": "^7.15.4", + "@emotion/hash": "^0.8.0", + "@mui/private-theming": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.8.0", + "jss-plugin-camel-case": "^10.8.0", + "jss-plugin-default-unit": "^10.8.0", + "jss-plugin-global": "^10.8.0", + "jss-plugin-nested": "^10.8.0", + "jss-plugin-props-sort": "^10.8.0", + "jss-plugin-rule-value-function": "^10.8.0", + "jss-plugin-vendor-prefixer": "^10.8.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "csstype": { + "version": "3.0.9" + } + } + }, + "@mui/system": { + "version": "5.0.1", + "requires": { + "@babel/runtime": "^7.15.4", + "@mui/private-theming": "^5.0.1", + "@mui/styled-engine": "^5.0.1", + "@mui/types": "^7.0.0", + "@mui/utils": "^5.0.1", + "clsx": "^1.1.1", + "csstype": "^3.0.9", + "prop-types": "^15.7.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "csstype": { + "version": "3.0.9" + } + } + }, + "@mui/types": { + "version": "7.0.0", + "requires": {} + }, + "@mui/utils": { + "version": "5.0.1", + "requires": { + "@babel/runtime": "^7.15.4", + "@types/prop-types": "^15.7.4", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5" + }, + "@nodelib/fs.walk": { + "version": "1.2.7", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4" + }, + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.4.3", + "requires": { + "ansi-html": "^0.0.7", + "error-stack-parser": "^2.0.6", + "html-entities": "^1.2.1", + "native-url": "^0.2.6", + "schema-utils": "^2.6.5", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3" + } + } + }, + "@popperjs/core": { + "version": "2.10.1" + }, + "@react-leaflet/core": { + "version": "1.1.0", + "requires": {} + }, + "@rollup/plugin-node-resolve": { + "version": "7.1.3", + "requires": { + "@rollup/pluginutils": "^3.0.8", + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.14.2" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39" + } + } + }, + "@sinonjs/commons": { + "version": "1.8.3", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "1.4.2", + "requires": { + "ejs": "^2.6.1", + "magic-string": "^0.25.0" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@testing-library/dom": { + "version": "8.14.0", + "peer": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.18.3", + "peer": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "ansi-styles": { + "version": "4.3.0", + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "aria-query": { + "version": "5.0.0", + "peer": true + }, + "chalk": { + "version": "4.1.2", + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "peer": true + }, + "pretty-format": { + "version": "27.5.1", + "peer": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "peer": true + } + } + }, + "supports-color": { + "version": "7.2.0", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/jest-dom": { + "version": "5.14.1", + "requires": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^4.2.2", + "chalk": "^3.0.0", + "css": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "css": { + "version": "3.0.0", + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "source-map": { + "version": "0.6.1" + }, + "source-map-resolve": { + "version": "0.6.0", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/react": { + "version": "11.2.7", + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^7.28.1" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.14.6", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@testing-library/dom": { + "version": "7.31.2", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.6", + "lz-string": "^1.4.4", + "pretty-format": "^26.6.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/user-event": { + "version": "12.8.3", + "requires": { + "@babel/runtime": "^7.12.5" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.14.6", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "@tootallnate/once": { + "version": "1.1.2" + }, + "@tweenjs/tween.js": { + "version": "17.6.0", + "optional": true + }, + "@types/aria-query": { + "version": "4.2.1" + }, + "@types/babel__core": { + "version": "7.1.14", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.14.0", + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/eslint": { + "version": "7.2.13", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/estree": { + "version": "0.0.48" + }, + "@types/glob": { + "version": "7.1.3", + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "5.1.1" + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "26.0.23", + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.7" + }, + "@types/json5": { + "version": "0.0.29" + }, + "@types/minimatch": { + "version": "3.0.4" + }, + "@types/node": { + "version": "15.12.5" + }, + "@types/normalize-package-data": { + "version": "2.4.0" + }, + "@types/parse-json": { + "version": "4.0.0" + }, + "@types/prettier": { + "version": "2.3.0" + }, + "@types/prop-types": { + "version": "15.7.4" + }, + "@types/q": { + "version": "1.5.4" + }, + "@types/react": { + "version": "17.0.24", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.9" + } + } + }, + "@types/react-is": { + "version": "17.0.2", + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "4.4.3", + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "0.0.8", + "requires": { + "@types/node": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2" + }, + "@types/source-list-map": { + "version": "0.1.2" + }, + "@types/stack-utils": { + "version": "2.0.0" + }, + "@types/tapable": { + "version": "1.0.7" + }, + "@types/testing-library__jest-dom": { + "version": "5.14.0", + "requires": { + "@types/jest": "*" + } + }, + "@types/uglify-js": { + "version": "3.13.0", + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "@types/webpack": { + "version": "4.41.29", + "requires": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "@types/webpack-sources": { + "version": "2.1.0", + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3" + } + } + }, + "@types/yargs": { + "version": "15.0.13", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0" + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.28.1", + "requires": { + "@typescript-eslint/experimental-utils": "4.28.1", + "@typescript-eslint/scope-manager": "4.28.1", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.28.1", + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.1", + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/typescript-estree": "4.28.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.28.1", + "requires": { + "@typescript-eslint/scope-manager": "4.28.1", + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/typescript-estree": "4.28.1", + "debug": "^4.3.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.28.1", + "requires": { + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/visitor-keys": "4.28.1" + } + }, + "@typescript-eslint/types": { + "version": "4.28.1" + }, + "@typescript-eslint/typescript-estree": { + "version": "4.28.1", + "requires": { + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/visitor-keys": "4.28.1", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.28.1", + "requires": { + "@typescript-eslint/types": "4.28.1", + "eslint-visitor-keys": "^2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0" + }, + "@xtuc/long": { + "version": "4.2.2" + }, + "abab": { + "version": "2.0.5" + }, + "accepts": { + "version": "1.3.7", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1" + }, + "acorn-globals": { + "version": "6.0.0", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.1", + "requires": {} + }, + "acorn-walk": { + "version": "7.2.0" + }, + "address": { + "version": "1.1.2" + }, + "adjust-sourcemap-loader": { + "version": "3.0.0", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "agent-base": { + "version": "6.0.2", + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "requires": {} + }, + "ajv-keywords": { + "version": "3.5.2", + "requires": {} + }, + "alphanum-sort": { + "version": "1.0.2" + }, + "ansi-colors": { + "version": "4.1.1" + }, + "ansi-escapes": { + "version": "4.3.2", + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3" + } + } + }, + "ansi-html": { + "version": "0.0.7" + }, + "ansi-regex": { + "version": "5.0.1" + }, + "ansi-styles": { + "version": "3.2.1", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0" + }, + "argparse": { + "version": "1.0.10", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arity-n": { + "version": "1.0.4" + }, + "arr-diff": { + "version": "4.0.0" + }, + "arr-flatten": { + "version": "1.1.0" + }, + "arr-union": { + "version": "3.1.0" + }, + "array-flatten": { + "version": "2.1.2" + }, + "array-includes": { + "version": "3.1.3", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "2.1.0" + }, + "array-uniq": { + "version": "1.0.3" + }, + "array-unique": { + "version": "0.3.2" + }, + "array.prototype.flat": { + "version": "1.2.4", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "array.prototype.flatmap": { + "version": "1.2.4", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "function-bind": "^1.1.1" + } + }, + "arrify": { + "version": "2.0.1" + }, + "asap": { + "version": "2.0.6" + }, + "asn1.js": { + "version": "5.4.1", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "assert": { + "version": "1.5.0", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1" + }, + "util": { + "version": "0.10.3", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0" + }, + "ast-types-flow": { + "version": "0.0.7" + }, + "astral-regex": { + "version": "2.0.0" + }, + "async": { + "version": "2.6.3", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3" + }, + "async-limiter": { + "version": "1.0.1" + }, + "asynckit": { + "version": "0.4.0" + }, + "at-least-node": { + "version": "1.0.0" + }, + "atob": { + "version": "2.1.2" + }, + "autoprefixer": { + "version": "9.8.6", + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "axe-core": { + "version": "4.2.3" + }, + "axobject-query": { + "version": "2.2.0" + }, + "babel-eslint": { + "version": "10.1.0", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0" + } + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-jest": { + "version": "26.6.3", + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "8.1.0", + "requires": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-emotion": { + "version": "10.2.2", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "2.8.0", + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + } + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.7", + "requires": {} + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.3", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0" + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0" + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24" + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.0", + "requires": { + "@babel/core": "7.12.3", + "@babel/plugin-proposal-class-properties": "7.12.1", + "@babel/plugin-proposal-decorators": "7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1", + "@babel/plugin-proposal-numeric-separator": "7.12.1", + "@babel/plugin-proposal-optional-chaining": "7.12.1", + "@babel/plugin-transform-flow-strip-types": "7.12.1", + "@babel/plugin-transform-react-display-name": "7.12.1", + "@babel/plugin-transform-runtime": "7.12.1", + "@babel/preset-env": "7.12.1", + "@babel/preset-react": "7.12.1", + "@babel/preset-typescript": "7.12.1", + "@babel/runtime": "7.12.1", + "babel-plugin-macros": "2.8.0", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.3", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.1", + "@babel/parser": "^7.12.3", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.1", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.1", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.12.1", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.12.1", + "requires": { + "@babel/compat-data": "^7.12.1", + "@babel/helper-compilation-targets": "^7.12.1", + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.1", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.1", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.1", + "core-js-compat": "^3.6.2", + "semver": "^5.5.0" + } + }, + "@babel/preset-react": { + "version": "7.12.1", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-react-display-name": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.1", + "@babel/plugin-transform-react-jsx-development": "^7.12.1", + "@babel/plugin-transform-react-jsx-self": "^7.12.1", + "@babel/plugin-transform-react-jsx-source": "^7.12.1", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" + } + }, + "semver": { + "version": "5.7.1" + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.12" + }, + "regenerator-runtime": { + "version": "0.11.1" + } + } + }, + "babylon": { + "version": "6.18.0" + }, + "balanced-match": { + "version": "1.0.2" + }, + "base": { + "version": "0.11.2", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1" + }, + "batch": { + "version": "0.6.1" + }, + "bfj": { + "version": "7.0.2", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2" + }, + "binary-extensions": { + "version": "2.2.0", + "optional": true + }, + "bluebird": { + "version": "3.7.2" + }, + "bn.js": { + "version": "5.2.0" + }, + "body-parser": { + "version": "1.19.0", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0" + }, + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "bonjour": { + "version": "3.5.0", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0" + }, + "brace-expansion": { + "version": "1.1.11", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0" + }, + "browser-process-hrtime": { + "version": "1.0.0" + }, + "browserify-aes": { + "version": "1.2.0", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1" + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.16.6", + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "bser": { + "version": "2.1.1", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.2", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1" + }, + "buffer-indexof": { + "version": "1.1.1" + }, + "buffer-xor": { + "version": "1.0.3" + }, + "builtin-modules": { + "version": "3.2.0" + }, + "builtin-status-codes": { + "version": "3.0.0" + }, + "bytes": { + "version": "3.0.0" + }, + "cacache": { + "version": "15.2.0", + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4" + }, + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0" + } + } + }, + "caller-path": { + "version": "2.0.0", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0" + }, + "camel-case": { + "version": "4.1.2", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.2.0" + }, + "caniuse-api": { + "version": "3.0.0", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001241" + }, + "capture-exit": { + "version": "2.0.0", + "requires": { + "rsvp": "^4.8.4" + } + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.3.0" + }, + "chalk": { + "version": "2.4.2", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2" + }, + "check-types": { + "version": "11.1.2" + }, + "chokidar": { + "version": "3.5.2", + "optional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chownr": { + "version": "2.0.0" + }, + "chrome-trace-event": { + "version": "1.0.3" + }, + "ci-info": { + "version": "2.0.0" + }, + "cipher-base": { + "version": "1.0.4", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "0.6.0" + }, + "class-utils": { + "version": "0.3.6", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0" + } + } + }, + "clean-css": { + "version": "4.2.3", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "clean-stack": { + "version": "2.2.0" + }, + "cliui": { + "version": "6.0.0", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "clsx": { + "version": "1.1.1" + }, + "co": { + "version": "4.6.0" + }, + "coa": { + "version": "2.0.2", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collect-v8-coverage": { + "version": "1.0.1" + }, + "collection-visit": { + "version": "1.0.0", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.3", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "color-convert": { + "version": "1.9.3", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3" + }, + "color-string": { + "version": "1.5.5", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.2" + }, + "combined-stream": { + "version": "1.0.8", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "4.1.1" + }, + "common-tags": { + "version": "1.8.0" + }, + "commondir": { + "version": "1.0.1" + }, + "component-emitter": { + "version": "1.3.0" + }, + "compose-function": { + "version": "3.0.3", + "requires": { + "arity-n": "^1.0.4" + } + }, + "compressible": { + "version": "2.0.18", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "concat-map": { + "version": "0.0.1" + }, + "concat-stream": { + "version": "1.6.2", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "confusing-browser-globals": { + "version": "1.0.10" + }, + "connect-history-api-fallback": { + "version": "1.6.0" + }, + "console-browserify": { + "version": "1.2.0" + }, + "console-feed": { + "version": "3.2.2", + "requires": { + "@emotion/core": "^10.0.10", + "@emotion/styled": "^10.0.12", + "emotion-theming": "^10.0.10", + "linkifyjs": "^2.1.6", + "react-inspector": "^5.1.0" + }, + "dependencies": { + "@emotion/styled": { + "version": "10.0.27", + "requires": { + "@emotion/styled-base": "^10.0.27", + "babel-plugin-emotion": "^10.0.27" + } + } + } + }, + "constants-browserify": { + "version": "1.0.0" + }, + "content-disposition": { + "version": "0.5.3", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4" + }, + "convert-source-map": { + "version": "1.8.0", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0" + }, + "cookie-signature": { + "version": "1.0.6" + }, + "copy-concurrently": { + "version": "1.0.5", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1" + }, + "core-js": { + "version": "3.15.2" + }, + "core-js-compat": { + "version": "3.15.2", + "requires": { + "browserslist": "^4.16.6", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0" + } + } + }, + "core-js-pure": { + "version": "3.15.2" + }, + "core-util-is": { + "version": "1.0.2" + }, + "cosmiconfig": { + "version": "7.0.0", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "create-hash": { + "version": "1.2.0", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "7.0.3", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "1.0.0" + }, + "css": { + "version": "2.2.4", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "css-blank-pseudo": { + "version": "0.1.4", + "requires": { + "postcss": "^7.0.5" + } + }, + "css-color-names": { + "version": "0.0.4" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-has-pseudo": { + "version": "0.10.0", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "css-loader": { + "version": "4.3.0", + "requires": { + "camelcase": "^6.0.0", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^2.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.3", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.1", + "semver": "^7.3.2" + } + }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "requires": { + "postcss": "^7.0.5" + } + }, + "css-select": { + "version": "4.1.3", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-select-base-adapter": { + "version": "0.1.1" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "css-vendor": { + "version": "2.0.8", + "requires": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, + "css-what": { + "version": "5.0.1" + }, + "css.escape": { + "version": "1.5.1" + }, + "cssdb": { + "version": "4.4.0" + }, + "cssesc": { + "version": "3.0.0" + }, + "cssnano": { + "version": "4.1.11", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0" + } + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0" + }, + "cssnano-util-get-match": { + "version": "4.0.0" + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1" + }, + "csso": { + "version": "4.2.0", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14" + }, + "source-map": { + "version": "0.6.1" + } + } + }, + "cssom": { + "version": "0.4.4" + }, + "cssstyle": { + "version": "2.3.0", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8" + } + } + }, + "csstype": { + "version": "2.6.17" + }, + "cyclist": { + "version": "1.0.1" + }, + "d": { + "version": "1.0.1", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "damerau-levenshtein": { + "version": "1.0.7" + }, + "data-urls": { + "version": "2.0.0", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.1", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0" + }, + "decimal.js": { + "version": "10.3.1" + }, + "decode-uri-component": { + "version": "0.2.0" + }, + "dedent": { + "version": "0.7.0" + }, + "deep-equal": { + "version": "1.1.1", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3" + }, + "deepmerge": { + "version": "4.2.2" + }, + "default-gateway": { + "version": "4.2.0", + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0" + }, + "npm-run-path": { + "version": "2.0.2", + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1" + }, + "semver": { + "version": "5.7.1" + }, + "shebang-command": { + "version": "1.2.0", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0" + }, + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "define-properties": { + "version": "1.1.3", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "del": { + "version": "4.1.1", + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "globby": { + "version": "6.1.0", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0" + } + } + }, + "p-map": { + "version": "2.1.0" + }, + "rimraf": { + "version": "2.7.1", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0" + }, + "depd": { + "version": "1.1.2" + }, + "des.js": { + "version": "1.0.1", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4" + }, + "detect-newline": { + "version": "3.1.0" + }, + "detect-node": { + "version": "2.1.0" + }, + "detect-port-alt": { + "version": "1.1.6", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "diff-sequences": { + "version": "26.6.2" + }, + "diffie-hellman": { + "version": "5.0.3", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "dir-glob": { + "version": "3.0.1", + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0" + }, + "dns-packet": { + "version": "1.3.4", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.14" + }, + "dom-converter": { + "version": "0.2.0", + "requires": { + "utila": "~0.4" + } + }, + "dom-helpers": { + "version": "5.2.1", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.9" + } + } + }, + "dom-serializer": { + "version": "1.3.2", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domain-browser": { + "version": "1.2.0" + }, + "domelementtype": { + "version": "2.2.0" + }, + "domexception": { + "version": "2.0.1", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0" + } + } + }, + "domhandler": { + "version": "4.2.0", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.7.0", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dot-prop": { + "version": "5.3.0", + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0" + } + } + }, + "dotenv": { + "version": "8.2.0" + }, + "dotenv-expand": { + "version": "5.1.0" + }, + "duplexer": { + "version": "0.1.2" + }, + "duplexify": { + "version": "3.7.1", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ee-first": { + "version": "1.1.1" + }, + "ejs": { + "version": "2.7.4" + }, + "electron-to-chromium": { + "version": "1.3.763" + }, + "elliptic": { + "version": "6.5.4", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "emittery": { + "version": "0.7.2" + }, + "emoji-regex": { + "version": "9.2.2" + }, + "emojis-list": { + "version": "3.0.0" + }, + "emotion-theming": { + "version": "10.0.27", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/weak-memoize": "0.2.5", + "hoist-non-react-statics": "^3.3.0" + } + }, + "encodeurl": { + "version": "1.0.2" + }, + "end-of-stream": { + "version": "1.4.4", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "enquirer": { + "version": "2.3.6", + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.2.0" + }, + "errno": { + "version": "0.1.8", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.18.3", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escalade": { + "version": "3.1.1" + }, + "escape-html": { + "version": "1.0.3" + }, + "escape-string-regexp": { + "version": "1.0.5" + }, + "escodegen": { + "version": "2.0.0", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0" + }, + "levn": { + "version": "0.3.0", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2" + }, + "source-map": { + "version": "0.6.1", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.29.0", + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "escape-string-regexp": { + "version": "4.0.0" + }, + "eslint-utils": { + "version": "2.1.0", + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0" + } + } + }, + "globals": { + "version": "13.9.0", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2" + } + } + }, + "eslint-config-react-app": { + "version": "6.0.0", + "requires": { + "confusing-browser-globals": "^1.0.10" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "eslint-module-utils": { + "version": "2.6.1", + "requires": { + "debug": "^3.2.7", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "5.8.0", + "requires": { + "lodash": "^4.17.15", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.23.4", + "requires": { + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.1", + "find-up": "^2.0.0", + "has": "^1.0.3", + "is-core-module": "^2.4.0", + "minimatch": "^3.0.4", + "object.values": "^1.1.3", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "find-up": { + "version": "2.1.0", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0" + }, + "p-limit": { + "version": "1.3.0", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0" + }, + "path-exists": { + "version": "3.0.0" + }, + "resolve": { + "version": "1.20.0", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-plugin-jest": { + "version": "24.3.6", + "requires": { + "@typescript-eslint/experimental-utils": "^4.0.1" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.4.1", + "requires": { + "@babel/runtime": "^7.11.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^3.1.0", + "language-tags": "^1.0.5" + } + }, + "eslint-plugin-react": { + "version": "7.24.0", + "requires": { + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.4", + "object.fromentries": "^2.0.4", + "object.values": "^1.1.4", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.5" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.3", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.2.0", + "requires": {} + }, + "eslint-plugin-testing-library": { + "version": "3.10.2", + "requires": { + "@typescript-eslint/experimental-utils": "^3.10.1" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "3.10.1", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/types": { + "version": "3.10.1" + }, + "@typescript-eslint/typescript-estree": { + "version": "3.10.1", + "requires": { + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/visitor-keys": "3.10.1", + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "3.10.1", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-utils": { + "version": "2.1.0", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0" + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0" + }, + "eslint-webpack-plugin": { + "version": "2.5.4", + "requires": { + "@types/eslint": "^7.2.6", + "arrify": "^2.0.1", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.0.0", + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "espree": { + "version": "7.3.1", + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0" + } + } + }, + "esprima": { + "version": "4.0.1" + }, + "esquery": { + "version": "1.4.0", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0" + } + } + }, + "estraverse": { + "version": "4.3.0" + }, + "estree-walker": { + "version": "1.0.1" + }, + "esutils": { + "version": "2.0.3" + }, + "etag": { + "version": "1.8.1" + }, + "eventemitter3": { + "version": "4.0.7" + }, + "events": { + "version": "3.3.0" + }, + "eventsource": { + "version": "1.1.0", + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.6" + }, + "execa": { + "version": "4.1.0", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2" + }, + "expand-brackets": { + "version": "2.1.4", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1" + }, + "kind-of": { + "version": "5.1.0" + }, + "ms": { + "version": "2.0.0" + } + } + }, + "expect": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + } + } + }, + "express": { + "version": "4.17.1", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1" + }, + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "ext": { + "version": "1.4.0", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.5.0" + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "extglob": { + "version": "2.0.4", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3" + }, + "fast-glob": { + "version": "3.2.6", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0" + }, + "fast-levenshtein": { + "version": "2.0.6" + }, + "fastq": { + "version": "1.11.0", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "requires": { + "bser": "2.1.1" + } + }, + "figgy-pudding": { + "version": "3.5.2" + }, + "file-entry-cache": { + "version": "6.0.1", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.1.1", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.0.0", + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "filesize": { + "version": "6.1.0" + }, + "fill-range": { + "version": "7.0.1", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0" + }, + "pkg-dir": { + "version": "3.0.0", + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "find-root": { + "version": "1.1.0" + }, + "find-up": { + "version": "4.1.0", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.1.1" + }, + "flatten": { + "version": "1.0.3" + }, + "flush-write-stream": { + "version": "1.1.1", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.14.1" + }, + "for-in": { + "version": "1.0.2" + }, + "fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "requires": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1" + }, + "is-number": { + "version": "3.0.0", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "semver": { + "version": "5.7.1" + }, + "to-regex-range": { + "version": "2.1.1", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "form-data": { + "version": "3.0.1", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0" + }, + "fragment-cache": { + "version": "0.2.1", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2" + }, + "from2": { + "version": "2.3.0", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "9.1.0", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0" + }, + "function-bind": { + "version": "1.1.1" + }, + "functional-red-black-tree": { + "version": "1.0.1" + }, + "gensync": { + "version": "1.0.0-beta.2" + }, + "geolib": { + "version": "3.3.1" + }, + "get-caller-file": { + "version": "2.0.5" + }, + "get-intrinsic": { + "version": "1.1.1", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2" + }, + "get-package-type": { + "version": "0.1.0" + }, + "get-stream": { + "version": "5.2.0", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6" + }, + "glob": { + "version": "7.1.7", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "2.0.0", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0" + }, + "globby": { + "version": "11.0.4", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8" + } + } + }, + "google-maps": { + "version": "3.3.0" + }, + "graceful-fs": { + "version": "4.2.6" + }, + "growly": { + "version": "1.3.0", + "optional": true + }, + "gzip-size": { + "version": "5.1.1", + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1" + }, + "harmony-reflect": { + "version": "1.6.2" + }, + "has": { + "version": "1.0.3", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.1" + }, + "has-flag": { + "version": "3.0.0" + }, + "has-symbols": { + "version": "1.0.2" + }, + "has-value": { + "version": "1.0.0", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1" + } + } + }, + "hash.js": { + "version": "1.1.7", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0" + }, + "hex-color-regex": { + "version": "1.1.0" + }, + "history": { + "version": "4.10.1", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1" + } + } + }, + "hoopy": { + "version": "0.1.4" + }, + "hosted-git-info": { + "version": "2.8.9" + }, + "hpack.js": { + "version": "2.1.6", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0" + }, + "hsla-regex": { + "version": "1.0.0" + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "1.4.0" + }, + "html-escaper": { + "version": "2.0.2" + }, + "html-minifier-terser": { + "version": "5.1.1", + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + } + }, + "html-webpack-plugin": { + "version": "4.5.0", + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "htmlparser2": { + "version": "6.1.0", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7" + }, + "http-errors": { + "version": "1.7.2", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3" + } + } + }, + "http-parser-js": { + "version": "0.5.3" + }, + "http-proxy": { + "version": "1.18.1", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1" + }, + "is-number": { + "version": "3.0.0", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "https-browserify": { + "version": "1.0.0" + }, + "https-proxy-agent": { + "version": "5.0.0", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "1.1.1" + }, + "hyphenate-style-name": { + "version": "1.0.4" + }, + "iconv-lite": { + "version": "0.4.24", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "requires": { + "postcss": "^7.0.14" + } + }, + "identity-obj-proxy": { + "version": "3.0.0", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ieee754": { + "version": "1.2.1" + }, + "iferr": { + "version": "0.1.5" + }, + "ignore": { + "version": "4.0.6" + }, + "immer": { + "version": "8.0.1" + }, + "import-cwd": { + "version": "2.1.0", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0" + } + } + }, + "import-from": { + "version": "2.1.0", + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0" + } + } + }, + "import-local": { + "version": "3.0.2", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "pkg-dir": { + "version": "4.2.0", + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4" + }, + "indent-string": { + "version": "4.0.0" + }, + "indexes-of": { + "version": "1.0.1" + }, + "infer-owner": { + "version": "1.0.4" + }, + "inflight": { + "version": "1.0.6", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4" + }, + "ini": { + "version": "1.3.8" + }, + "internal-ip": { + "version": "4.3.0", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "internal-slot": { + "version": "1.0.3", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ip": { + "version": "1.1.5" + }, + "ip-regex": { + "version": "2.1.0" + }, + "ipaddr.js": { + "version": "1.9.1" + }, + "is-absolute-url": { + "version": "2.1.0" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arguments": { + "version": "1.1.0", + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1" + }, + "is-bigint": { + "version": "1.0.2" + }, + "is-binary-path": { + "version": "2.1.0", + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.1", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-buffer": { + "version": "1.1.6" + }, + "is-callable": { + "version": "1.2.3" + }, + "is-ci": { + "version": "2.0.0", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.4.0", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.4" + }, + "is-descriptor": { + "version": "1.0.2", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-directory": { + "version": "0.3.1" + }, + "is-docker": { + "version": "2.2.1" + }, + "is-dom": { + "version": "1.1.0", + "requires": { + "is-object": "^1.0.1", + "is-window": "^1.0.2" + } + }, + "is-extendable": { + "version": "1.0.1", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-extglob": { + "version": "2.1.1" + }, + "is-fullwidth-code-point": { + "version": "3.0.0" + }, + "is-generator-fn": { + "version": "2.1.0" + }, + "is-glob": { + "version": "4.0.1", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-in-browser": { + "version": "1.1.3" + }, + "is-module": { + "version": "1.0.0" + }, + "is-negative-zero": { + "version": "2.0.1" + }, + "is-number": { + "version": "7.0.0" + }, + "is-number-object": { + "version": "1.0.5" + }, + "is-obj": { + "version": "1.0.1" + }, + "is-object": { + "version": "1.0.2" + }, + "is-path-cwd": { + "version": "2.2.0" + }, + "is-path-in-cwd": { + "version": "2.1.0", + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0" + }, + "is-plain-object": { + "version": "2.0.4", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1" + }, + "is-regex": { + "version": "1.1.3", + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + } + }, + "is-regexp": { + "version": "1.0.0" + }, + "is-resolvable": { + "version": "1.1.0" + }, + "is-root": { + "version": "2.1.0" + }, + "is-stream": { + "version": "2.0.0" + }, + "is-string": { + "version": "1.0.6" + }, + "is-symbol": { + "version": "1.0.4", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0" + }, + "is-window": { + "version": "1.0.2" + }, + "is-windows": { + "version": "1.0.2" + }, + "is-wsl": { + "version": "2.2.0", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0" + }, + "isexe": { + "version": "2.0.0" + }, + "isobject": { + "version": "3.0.1" + }, + "istanbul-lib-coverage": { + "version": "3.0.0" + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "make-dir": { + "version": "3.1.0", + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.6.0", + "requires": { + "@jest/core": "^26.6.0", + "import-local": "^3.0.2", + "jest-cli": "^26.6.0" + } + }, + "jest-changed-files": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + } + }, + "jest-circus": { + "version": "26.6.0", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.0", + "@jest/test-result": "^26.6.0", + "@jest/types": "^26.6.0", + "@types/babel__traverse": "^7.0.4", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^26.6.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.0", + "jest-matcher-utils": "^26.6.0", + "jest-message-util": "^26.6.0", + "jest-runner": "^26.6.0", + "jest-runtime": "^26.6.0", + "jest-snapshot": "^26.6.0", + "jest-util": "^26.6.0", + "pretty-format": "^26.6.0", + "stack-utils": "^2.0.2", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "26.6.3", + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-resolve": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1" + } + } + }, + "jest-diff": { + "version": "26.6.2", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "26.0.0", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0" + }, + "jest-haste-map": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "26.6.2", + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "requires": {} + }, + "jest-regex-util": { + "version": "26.0.0" + }, + "jest-resolve": { + "version": "26.6.0", + "requires": { + "@jest/types": "^26.6.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.0", + "read-pkg-up": "^7.0.1", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "read-pkg": { + "version": "5.2.0", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1" + } + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-resolve": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1" + } + } + }, + "jest-runtime": { + "version": "26.6.3", + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-resolve": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1" + } + } + }, + "jest-serializer": { + "version": "26.6.2", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "jest-resolve": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1" + } + } + }, + "jest-util": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watch-typeahead": { + "version": "0.6.1", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^26.0.0", + "jest-watcher": "^26.3.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + }, + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "26.6.2", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jquery": { + "version": "3.6.0", + "peer": true + }, + "js-tokens": { + "version": "4.0.0" + }, + "js-yaml": { + "version": "3.14.1", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.6.0", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.5", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.4.1" + } + } + }, + "jsesc": { + "version": "2.5.2" + }, + "json-parse-better-errors": { + "version": "1.0.2" + }, + "json-parse-even-better-errors": { + "version": "2.3.1" + }, + "json-ref-lite": { + "version": "1.1.0", + "requires": { + "property-expr": "^1.3.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1" + }, + "json3": { + "version": "3.3.3" + }, + "json5": { + "version": "2.2.0", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "6.1.0", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jss": { + "version": "10.8.0", + "requires": { + "@babel/runtime": "^7.3.1", + "csstype": "^3.0.2", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + }, + "dependencies": { + "csstype": { + "version": "3.0.9" + } + } + }, + "jss-plugin-camel-case": { + "version": "10.8.0", + "requires": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.8.0" + } + }, + "jss-plugin-default-unit": { + "version": "10.8.0", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0" + } + }, + "jss-plugin-global": { + "version": "10.8.0", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0" + } + }, + "jss-plugin-nested": { + "version": "10.8.0", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-props-sort": { + "version": "10.8.0", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0" + } + }, + "jss-plugin-rule-value-function": { + "version": "10.8.0", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.0", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-vendor-prefixer": { + "version": "10.8.0", + "requires": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.8", + "jss": "10.8.0" + } + }, + "jsx-ast-utils": { + "version": "3.2.0", + "requires": { + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" + } + }, + "killable": { + "version": "1.0.1" + }, + "kind-of": { + "version": "6.0.3" + }, + "kleur": { + "version": "3.0.3" + }, + "klona": { + "version": "2.0.4" + }, + "language-subtag-registry": { + "version": "0.3.21" + }, + "language-tags": { + "version": "1.0.5", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "leaflet": { + "version": "1.7.1" + }, + "leaflet-easybutton": { + "version": "2.4.0", + "requires": { + "leaflet": "^1.0.1" + } + }, + "leaflet-marker-rotation": { + "version": "0.4.0" + }, + "leaflet.marker.slideto": { + "version": "0.2.0" + }, + "leven": { + "version": "3.1.0" + }, + "levn": { + "version": "0.4.1", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.1.6" + }, + "linkifyjs": { + "version": "2.1.9", + "requires": {} + }, + "load-json-file": { + "version": "4.0.0", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0" + }, + "strip-bom": { + "version": "3.0.0" + } + } + }, + "loader-runner": { + "version": "2.4.0" + }, + "loader-utils": { + "version": "2.0.0", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "5.0.0", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21" + }, + "lodash._reinterpolate": { + "version": "3.0.0" + }, + "lodash.clonedeep": { + "version": "4.5.0" + }, + "lodash.debounce": { + "version": "4.0.8" + }, + "lodash.memoize": { + "version": "4.1.2" + }, + "lodash.merge": { + "version": "4.6.2" + }, + "lodash.template": { + "version": "4.5.0", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.truncate": { + "version": "4.4.2" + }, + "lodash.uniq": { + "version": "4.5.0" + }, + "loglevel": { + "version": "1.7.1" + }, + "loose-envify": { + "version": "1.4.0", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "requires": { + "yallist": "^4.0.0" + } + }, + "lz-string": { + "version": "1.4.4" + }, + "magic-string": { + "version": "0.25.7", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "2.1.0", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1" + } + } + }, + "makeerror": { + "version": "1.0.11", + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2" + }, + "map-visit": { + "version": "1.0.0", + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4" + }, + "media-typer": { + "version": "0.3.0" + }, + "memory-fs": { + "version": "0.4.1", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1" + }, + "merge-stream": { + "version": "2.0.0" + }, + "merge2": { + "version": "1.4.1" + }, + "methods": { + "version": "1.1.2" + }, + "microevent.ts": { + "version": "0.1.1" + }, + "micromatch": { + "version": "4.0.4", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "miller-rabin": { + "version": "4.0.1", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "mime": { + "version": "1.6.0" + }, + "mime-db": { + "version": "1.48.0" + }, + "mime-types": { + "version": "2.1.31", + "requires": { + "mime-db": "1.48.0" + } + }, + "mimic-fn": { + "version": "2.1.0" + }, + "min-indent": { + "version": "1.0.1" + }, + "mini-create-react-context": { + "version": "0.4.1", + "requires": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + } + }, + "mini-css-extract-plugin": { + "version": "0.11.3", + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1" + }, + "minimatch": { + "version": "3.0.4", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5" + }, + "minipass": { + "version": "3.1.3", + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "ms": { + "version": "2.1.2" + }, + "multicast-dns": { + "version": "6.2.3", + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0" + }, + "nanoid": { + "version": "3.1.23" + }, + "nanomatch": { + "version": "1.2.13", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "native-url": { + "version": "0.2.6", + "requires": { + "querystring": "^0.2.0" + } + }, + "natural-compare": { + "version": "1.4.0" + }, + "negotiator": { + "version": "0.6.2" + }, + "neo-async": { + "version": "2.6.2" + }, + "next-tick": { + "version": "1.0.0" + }, + "nice-try": { + "version": "1.0.5" + }, + "no-case": { + "version": "3.0.4", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "0.10.0" + }, + "node-int64": { + "version": "0.4.0" + }, + "node-libs-browser": { + "version": "2.2.1", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1" + } + } + }, + "node-modules-regexp": { + "version": "1.0.0" + }, + "node-notifier": { + "version": "8.0.2", + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node-releases": { + "version": "1.1.73" + }, + "normalize-package-data": { + "version": "2.5.0", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1" + } + } + }, + "normalize-path": { + "version": "3.0.0" + }, + "normalize-range": { + "version": "0.1.2" + }, + "normalize-url": { + "version": "1.9.1", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npm-run-path": { + "version": "4.0.1", + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.0.0", + "requires": { + "boolbase": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2" + }, + "nwsapi": { + "version": "2.2.0" + }, + "object-assign": { + "version": "4.1.1" + }, + "object-copy": { + "version": "0.1.0", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0" + } + } + }, + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.10.3" + }, + "object-is": { + "version": "1.1.5", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1" + }, + "object-visit": { + "version": "1.0.1", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.4", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" + } + }, + "object.fromentries": { + "version": "2.0.4", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.2", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, + "object.pick": { + "version": "1.3.0", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.4", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" + } + }, + "obuf": { + "version": "1.1.2" + }, + "on-finished": { + "version": "2.3.0", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2" + }, + "once": { + "version": "1.4.0", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "7.4.2", + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "opn": { + "version": "5.5.0", + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0" + } + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.4", + "requires": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "optionator": { + "version": "0.9.1", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "original": { + "version": "1.0.2", + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0" + }, + "p-each-series": { + "version": "2.2.0" + }, + "p-finally": { + "version": "1.0.0" + }, + "p-limit": { + "version": "2.3.0", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "3.0.1", + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0" + }, + "pako": { + "version": "1.0.11" + }, + "parallel-transform": { + "version": "1.2.0", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "3.0.4", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.2.0", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1" + }, + "parseurl": { + "version": "1.3.3" + }, + "pascal-case": { + "version": "3.1.2", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "pascalcase": { + "version": "0.1.1" + }, + "path-browserify": { + "version": "0.0.1" + }, + "path-dirname": { + "version": "1.0.2" + }, + "path-exists": { + "version": "4.0.0" + }, + "path-is-absolute": { + "version": "1.0.1" + }, + "path-is-inside": { + "version": "1.0.2" + }, + "path-key": { + "version": "3.1.1" + }, + "path-parse": { + "version": "1.0.7" + }, + "path-to-regexp": { + "version": "0.1.7" + }, + "path-type": { + "version": "4.0.0" + }, + "pbkdf2": { + "version": "3.1.2", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0" + }, + "picomatch": { + "version": "2.3.0" + }, + "pify": { + "version": "4.0.1" + }, + "pinkie": { + "version": "2.0.4" + }, + "pinkie-promise": { + "version": "2.0.1", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0" + }, + "path-exists": { + "version": "3.0.0" + } + } + }, + "pkg-up": { + "version": "2.0.0", + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0" + }, + "path-exists": { + "version": "3.0.0" + } + } + }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "portfinder": { + "version": "1.0.28", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1" + }, + "postcss": { + "version": "7.0.36", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + }, + "supports-color": { + "version": "6.1.0", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + } + }, + "postcss-browser-comments": { + "version": "3.0.0", + "requires": { + "postcss": "^7" + } + }, + "postcss-calc": { + "version": "7.0.5", + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "requires": { + "postcss": "^7.0.14" + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-env-function": { + "version": "2.0.2", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "4.2.1", + "requires": { + "postcss": "^7.0.26" + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-font-variant": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-initial": { + "version": "3.0.4", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.2", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0" + } + } + }, + "postcss-loader": { + "version": "3.0.0", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-logical": { + "version": "3.0.0", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.3", + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-nesting": { + "version": "7.0.1", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-normalize": { + "version": "8.0.1", + "requires": { + "@csstools/normalize.css": "^10.1.0", + "browserslist": "^4.6.2", + "postcss": "^7.0.17", + "postcss-browser-comments": "^3.0.0", + "sanitize.css": "^10.0.0" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "normalize-url": { + "version": "3.3.0" + }, + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-page-break": { + "version": "2.0.0", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-place": { + "version": "4.0.1", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "requires": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-safe-parser": { + "version": "5.0.2", + "requires": { + "postcss": "^8.1.0" + }, + "dependencies": { + "postcss": { + "version": "8.3.5", + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + } + } + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "postcss-selector-not": { + "version": "4.0.1", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1" + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0" + }, + "postcss-values-parser": { + "version": "2.0.1", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "prelude-ls": { + "version": "1.2.1" + }, + "prepend-http": { + "version": "1.0.4" + }, + "pretty-bytes": { + "version": "5.6.0" + }, + "pretty-error": { + "version": "2.1.2", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "pretty-format": { + "version": "26.6.2", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + } + } + }, + "process": { + "version": "0.11.10" + }, + "process-nextick-args": { + "version": "2.0.1" + }, + "progress": { + "version": "2.0.3" + }, + "promise": { + "version": "8.1.0", + "requires": { + "asap": "~2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1" + }, + "prompts": { + "version": "2.4.0", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.7.2", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1" + } + } + }, + "property-expr": { + "version": "1.5.1" + }, + "proxy-addr": { + "version": "2.0.7", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1" + }, + "psl": { + "version": "1.8.0" + }, + "public-encrypt": { + "version": "4.0.3", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0" + } + } + }, + "pump": { + "version": "3.0.0", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1" + }, + "q": { + "version": "1.5.1" + }, + "qs": { + "version": "6.7.0" + }, + "query-string": { + "version": "4.3.4", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.1" + }, + "querystring-es3": { + "version": "0.2.1" + }, + "querystringify": { + "version": "2.2.0" + }, + "queue-microtask": { + "version": "1.2.3" + }, + "raf": { + "version": "3.4.1", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1" + }, + "raw-body": { + "version": "2.4.0", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0" + } + } + }, + "react": { + "version": "17.0.2", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-app-polyfill": { + "version": "2.0.0", + "requires": { + "core-js": "^3.6.5", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "whatwg-fetch": "^3.4.1" + } + }, + "react-dev-utils": { + "version": "11.0.4", + "requires": { + "@babel/code-frame": "7.10.4", + "address": "1.1.2", + "browserslist": "4.14.2", + "chalk": "2.4.2", + "cross-spawn": "7.0.3", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "2.0.0", + "filesize": "6.1.0", + "find-up": "4.1.0", + "fork-ts-checker-webpack-plugin": "4.1.6", + "global-modules": "2.0.0", + "globby": "11.0.1", + "gzip-size": "5.1.1", + "immer": "8.0.1", + "is-root": "2.1.0", + "loader-utils": "2.0.0", + "open": "^7.0.2", + "pkg-up": "3.1.0", + "prompts": "2.4.0", + "react-error-overlay": "^6.0.9", + "recursive-readdir": "2.2.2", + "shell-quote": "1.7.2", + "strip-ansi": "6.0.0", + "text-table": "0.2.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "browserslist": { + "version": "4.14.2", + "requires": { + "caniuse-lite": "^1.0.30001125", + "electron-to-chromium": "^1.3.564", + "escalade": "^3.0.2", + "node-releases": "^1.1.61" + } + }, + "escape-string-regexp": { + "version": "2.0.0" + }, + "globby": { + "version": "11.0.1", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "ignore": { + "version": "5.1.8" + }, + "locate-path": { + "version": "3.0.0", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0" + }, + "pkg-up": { + "version": "3.1.0", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "requires": { + "locate-path": "^3.0.0" + } + } + } + } + } + }, + "react-dial-knob": { + "version": "1.3.0", + "requires": {} + }, + "react-dom": { + "version": "17.0.2", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "react-error-overlay": { + "version": "6.0.9" + }, + "react-inspector": { + "version": "5.1.1", + "requires": { + "@babel/runtime": "^7.0.0", + "is-dom": "^1.0.0", + "prop-types": "^15.0.0" + } + }, + "react-is": { + "version": "17.0.2" + }, + "react-leaflet": { + "version": "3.2.1", + "requires": { + "@react-leaflet/core": "^1.1.0" + } + }, + "react-leaflet-bing-v2": { + "version": "5.2.3", + "requires": { + "react-leaflet-google-v2": "^5.1.3" + } + }, + "react-leaflet-google-v2": { + "version": "5.2.0", + "requires": { + "@react-leaflet/core": "^1.1.0", + "google-maps": "^3.3.0", + "react-leaflet": "^3.0.5" + } + }, + "react-lineto": { + "version": "3.2.1", + "requires": { + "prop-types": "15.7.2", + "react": "17.0.2" + } + }, + "react-refresh": { + "version": "0.8.3" + }, + "react-router": { + "version": "5.2.1", + "requires": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "isarray": { + "version": "0.0.1" + }, + "path-to-regexp": { + "version": "1.8.0", + "requires": { + "isarray": "0.0.1" + } + }, + "react-is": { + "version": "16.13.1" + } + } + }, + "react-router-dom": { + "version": "5.3.0", + "requires": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.1", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "react-scripts": { + "version": "4.0.3", + "requires": { + "@babel/core": "7.12.3", + "@pmmmwh/react-refresh-webpack-plugin": "0.4.3", + "@svgr/webpack": "5.5.0", + "@typescript-eslint/eslint-plugin": "^4.5.0", + "@typescript-eslint/parser": "^4.5.0", + "babel-eslint": "^10.1.0", + "babel-jest": "^26.6.0", + "babel-loader": "8.1.0", + "babel-plugin-named-asset-import": "^0.3.7", + "babel-preset-react-app": "^10.0.0", + "bfj": "^7.0.2", + "camelcase": "^6.1.0", + "case-sensitive-paths-webpack-plugin": "2.3.0", + "css-loader": "4.3.0", + "dotenv": "8.2.0", + "dotenv-expand": "5.1.0", + "eslint": "^7.11.0", + "eslint-config-react-app": "^6.0.0", + "eslint-plugin-flowtype": "^5.2.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-jest": "^24.1.0", + "eslint-plugin-jsx-a11y": "^6.3.1", + "eslint-plugin-react": "^7.21.5", + "eslint-plugin-react-hooks": "^4.2.0", + "eslint-plugin-testing-library": "^3.9.2", + "eslint-webpack-plugin": "^2.5.2", + "file-loader": "6.1.1", + "fs-extra": "^9.0.1", + "fsevents": "^2.1.3", + "html-webpack-plugin": "4.5.0", + "identity-obj-proxy": "3.0.0", + "jest": "26.6.0", + "jest-circus": "26.6.0", + "jest-resolve": "26.6.0", + "jest-watch-typeahead": "0.6.1", + "mini-css-extract-plugin": "0.11.3", + "optimize-css-assets-webpack-plugin": "5.0.4", + "pnp-webpack-plugin": "1.6.4", + "postcss-flexbugs-fixes": "4.2.1", + "postcss-loader": "3.0.0", + "postcss-normalize": "8.0.1", + "postcss-preset-env": "6.7.0", + "postcss-safe-parser": "5.0.2", + "prompts": "2.4.0", + "react-app-polyfill": "^2.0.0", + "react-dev-utils": "^11.0.3", + "react-refresh": "^0.8.3", + "resolve": "1.18.1", + "resolve-url-loader": "^3.1.2", + "sass-loader": "^10.0.5", + "semver": "7.3.2", + "style-loader": "1.3.0", + "terser-webpack-plugin": "4.2.3", + "ts-pnp": "1.2.0", + "url-loader": "4.1.1", + "webpack": "4.44.2", + "webpack-dev-server": "3.11.1", + "webpack-manifest-plugin": "2.2.0", + "workbox-webpack-plugin": "5.1.4" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.3", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.1", + "@babel/parser": "^7.12.3", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1" + } + } + } + } + }, + "react-transition-group": { + "version": "4.4.2", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "read-pkg": { + "version": "3.0.0", + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0" + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0" + }, + "path-exists": { + "version": "3.0.0" + } + } + }, + "readable-stream": { + "version": "2.3.7", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "requires": { + "minimatch": "3.0.4" + } + }, + "redent": { + "version": "3.0.0", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regenerate": { + "version": "1.4.2" + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7" + }, + "regenerator-transform": { + "version": "0.14.5", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regex-parser": { + "version": "2.2.11" + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "3.2.0" + }, + "regexpu-core": { + "version": "4.7.1", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2" + }, + "regjsparser": { + "version": "0.6.9", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0" + } + } + }, + "relateurl": { + "version": "0.2.7" + }, + "remove-trailing-separator": { + "version": "1.1.0" + }, + "renderkid": { + "version": "2.0.7", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1" + }, + "strip-ansi": { + "version": "3.0.1", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.4" + }, + "repeat-string": { + "version": "1.6.1" + }, + "require-directory": { + "version": "2.1.1" + }, + "require-from-string": { + "version": "2.0.2" + }, + "require-main-filename": { + "version": "2.0.0" + }, + "requires-port": { + "version": "1.0.0" + }, + "resolve": { + "version": "1.18.1", + "requires": { + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0" + }, + "resolve-pathname": { + "version": "3.0.0" + }, + "resolve-url": { + "version": "0.2.1" + }, + "resolve-url-loader": { + "version": "3.1.4", + "requires": { + "adjust-sourcemap-loader": "3.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.36", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1" + }, + "convert-source-map": { + "version": "1.7.0", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "emojis-list": { + "version": "2.1.0" + }, + "json5": { + "version": "1.0.1", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1" + } + } + }, + "ret": { + "version": "0.1.15" + }, + "retry": { + "version": "0.12.0" + }, + "reusify": { + "version": "1.0.4" + }, + "rework": { + "version": "1.0.1", + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5" + } + } + }, + "rework-visit": { + "version": "1.0.0" + }, + "rgb-regex": { + "version": "1.0.1" + }, + "rgba-regex": { + "version": "1.0.0" + }, + "rimraf": { + "version": "2.7.1", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "1.32.1", + "requires": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + } + }, + "rollup-plugin-babel": { + "version": "4.4.0", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-terser": { + "version": "5.3.1", + "requires": { + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" + }, + "dependencies": { + "jest-worker": { + "version": "24.9.0", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "requires": { + "randombytes": "^2.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1" + } + } + }, + "rsvp": { + "version": "4.8.5" + }, + "run-parallel": { + "version": "1.2.0", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-queue": { + "version": "1.0.3", + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2" + }, + "safe-regex": { + "version": "1.1.0", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2" + }, + "sane": { + "version": "4.1.0", + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "get-stream": { + "version": "4.1.0", + "requires": { + "pump": "^3.0.0" + } + }, + "is-extendable": { + "version": "0.1.1" + }, + "is-number": { + "version": "3.0.0", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-stream": { + "version": "1.1.0" + }, + "micromatch": { + "version": "3.1.10", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1" + }, + "semver": { + "version": "5.7.1" + }, + "shebang-command": { + "version": "1.2.0", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0" + }, + "to-regex-range": { + "version": "2.1.1", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "which": { + "version": "1.3.1", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "sanitize.css": { + "version": "10.0.0" + }, + "sass-loader": { + "version": "10.2.0", + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "dependencies": { + "schema-utils": { + "version": "3.0.0", + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "sax": { + "version": "1.2.4" + }, + "saxes": { + "version": "5.0.1", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.20.2", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0" + }, + "selfsigned": { + "version": "1.10.11", + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.3.2" + }, + "send": { + "version": "0.17.1", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0" + } + } + }, + "ms": { + "version": "2.1.1" + } + } + }, + "serialize-javascript": { + "version": "5.0.1", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3" + }, + "ms": { + "version": "2.0.0" + }, + "setprototypeof": { + "version": "1.1.0" + } + } + }, + "serve-static": { + "version": "1.14.1", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0" + }, + "set-value": { + "version": "2.0.1", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1" + } + } + }, + "setimmediate": { + "version": "1.0.5" + }, + "setprototypeof": { + "version": "1.1.1" + }, + "sha.js": { + "version": "2.4.11", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "2.0.0", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0" + }, + "shell-quote": { + "version": "1.7.2" + }, + "shellwords": { + "version": "0.1.1", + "optional": true + }, + "side-channel": { + "version": "1.0.4", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.3" + }, + "simple-swizzle": { + "version": "0.2.2", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2" + } + } + }, + "sisteransi": { + "version": "1.0.5" + }, + "slash": { + "version": "3.0.0" + }, + "slice-ansi": { + "version": "4.0.0", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + } + } + }, + "snapdragon": { + "version": "0.8.2", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1" + }, + "kind-of": { + "version": "5.1.0" + }, + "ms": { + "version": "2.0.0" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.21", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "3.4.0" + } + } + }, + "sockjs-client": { + "version": "1.5.1", + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1" + }, + "source-map": { + "version": "0.5.7" + }, + "source-map-js": { + "version": "0.6.2" + }, + "source-map-resolve": { + "version": "0.5.3", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "source-map-url": { + "version": "0.4.1" + }, + "sourcemap-codec": { + "version": "1.4.8" + }, + "spdx-correct": { + "version": "3.1.1", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.9" + }, + "spdy": { + "version": "4.0.2", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3" + }, + "ssri": { + "version": "8.0.1", + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8" + }, + "stack-utils": { + "version": "2.0.3", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0" + } + } + }, + "stackframe": { + "version": "1.2.0" + }, + "static-extend": { + "version": "0.1.2", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0" + } + } + }, + "statuses": { + "version": "1.5.0" + }, + "stream-browserify": { + "version": "2.0.2", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1" + }, + "strict-uri-encode": { + "version": "1.1.0" + }, + "string_decoder": { + "version": "1.3.0", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1" + } + } + }, + "string-length": { + "version": "4.0.2", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1" + }, + "string-width": { + "version": "4.2.2", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.5", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.3.1", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "stringify-object": { + "version": "3.3.0", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0" + }, + "strip-comments": { + "version": "1.0.2", + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-eof": { + "version": "1.0.0" + }, + "strip-final-newline": { + "version": "2.0.0" + }, + "strip-indent": { + "version": "3.0.0", + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1" + }, + "style-loader": { + "version": "1.3.0", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.0" + } + }, + "stylehacks": { + "version": "4.0.3", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "stylis": { + "version": "4.0.10" + }, + "supports-color": { + "version": "5.5.0", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0" + }, + "supports-color": { + "version": "7.2.0", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "svg-parser": { + "version": "2.0.4" + }, + "svgo": { + "version": "1.3.2", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2" + }, + "dom-serializer": { + "version": "0.2.2", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1" + } + } + }, + "nth-check": { + "version": "1.0.2", + "requires": { + "boolbase": "~1.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4" + }, + "table": { + "version": "6.7.1", + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.6.0", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0" + } + } + }, + "tapable": { + "version": "1.1.3" + }, + "tar": { + "version": "6.1.0", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4" + } + } + }, + "temp-dir": { + "version": "1.0.0" + }, + "tempy": { + "version": "0.3.0", + "requires": { + "temp-dir": "^1.0.0", + "type-fest": "^0.3.1", + "unique-string": "^1.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.3.1" + } + } + }, + "terminal-link": { + "version": "2.1.1", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "4.8.0", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3" + }, + "source-map": { + "version": "0.6.1" + } + } + }, + "terser-webpack-plugin": { + "version": "4.2.3", + "requires": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.5.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.4", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "commander": { + "version": "2.20.3" + }, + "find-cache-dir": { + "version": "3.3.1", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "requires": { + "find-up": "^4.0.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0" + }, + "source-map": { + "version": "0.6.1" + }, + "terser": { + "version": "5.7.1", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3" + } + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0" + }, + "throat": { + "version": "5.0.0" + }, + "through2": { + "version": "2.0.5", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0" + }, + "timers-browserify": { + "version": "2.0.12", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0" + }, + "tiny-invariant": { + "version": "1.1.0" + }, + "tiny-warning": { + "version": "1.0.3" + }, + "tmpl": { + "version": "1.0.4" + }, + "to-arraybuffer": { + "version": "1.0.1" + }, + "to-fast-properties": { + "version": "2.0.0" + }, + "to-object-path": { + "version": "0.3.0", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0" + }, + "tough-cookie": { + "version": "4.0.0", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "dependencies": { + "universalify": { + "version": "0.1.2" + } + } + }, + "tr46": { + "version": "2.1.0", + "requires": { + "punycode": "^2.1.1" + } + }, + "tryer": { + "version": "1.0.1" + }, + "ts-pnp": { + "version": "1.2.0" + }, + "tsconfig-paths": { + "version": "3.9.0", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0" + } + } + }, + "tslib": { + "version": "2.3.0" + }, + "tsutils": { + "version": "3.21.0", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1" + } + } + }, + "tty-browserify": { + "version": "0.0.0" + }, + "type": { + "version": "1.2.0" + }, + "type-check": { + "version": "0.4.0", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8" + }, + "type-fest": { + "version": "0.13.1", + "optional": true, + "peer": true + }, + "type-is": { + "version": "1.6.18", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.7.4", + "peer": true + }, + "unbox-primitive": { + "version": "1.0.1", + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0" + }, + "union-value": { + "version": "1.0.1", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1" + } + } + }, + "uniq": { + "version": "1.0.1" + }, + "uniqs": { + "version": "2.0.0" + }, + "unique-filename": { + "version": "1.1.1", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universalify": { + "version": "2.0.0" + }, + "unpipe": { + "version": "1.0.0" + }, + "unquote": { + "version": "1.1.1" + }, + "unset-value": { + "version": "1.0.0", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4" + } + } + }, + "upath": { + "version": "1.2.0" + }, + "uri-js": { + "version": "4.4.1", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0" + }, + "url": { + "version": "0.11.0", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2" + }, + "querystring": { + "version": "0.2.0" + } + } + }, + "url-loader": { + "version": "4.1.1", + "requires": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.0.0", + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "url-parse": { + "version": "1.5.1", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1" + }, + "util": { + "version": "0.11.1", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3" + } + } + }, + "util-deprecate": { + "version": "1.0.2" + }, + "util.promisify": { + "version": "1.0.0", + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0" + }, + "utils-merge": { + "version": "1.0.1" + }, + "uuid": { + "version": "8.3.2", + "optional": true + }, + "v8-compile-cache": { + "version": "2.3.0" + }, + "v8-to-istanbul": { + "version": "7.1.2", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3" + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-equal": { + "version": "1.0.1" + }, + "vary": { + "version": "1.1.2" + }, + "vendors": { + "version": "1.0.4" + }, + "vm-browserify": { + "version": "1.1.2" + }, + "w3c-hr-time": { + "version": "1.0.2", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "requires": { + "makeerror": "1.0.x" + } + }, + "watchpack": { + "version": "1.7.5", + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "optional": true + }, + "braces": { + "version": "2.3.2", + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "optional": true + }, + "is-number": { + "version": "3.0.0", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "6.1.0" + }, + "webpack": { + "version": "4.44.2", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.3.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2" + }, + "braces": { + "version": "2.3.2", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cacache": { + "version": "12.0.4", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "chownr": { + "version": "1.1.4" + }, + "eslint-scope": { + "version": "4.0.3", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1" + }, + "is-number": { + "version": "3.0.0", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-wsl": { + "version": "1.1.0" + }, + "json5": { + "version": "1.0.1", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "lru-cache": { + "version": "5.1.1", + "requires": { + "yallist": "^3.0.2" + } + }, + "micromatch": { + "version": "3.1.10", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "requires": { + "glob": "^7.1.3" + } + }, + "schema-utils": { + "version": "1.0.0", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1" + }, + "ssri": { + "version": "6.0.2", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "yallist": { + "version": "3.1.1" + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.5.2" + } + } + }, + "webpack-dev-server": { + "version": "3.11.1", + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1" + }, + "anymatch": { + "version": "2.0.0", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1" + }, + "braces": { + "version": "2.3.2", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "camelcase": { + "version": "5.3.1" + }, + "chokidar": { + "version": "2.1.8", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0" + }, + "strip-ansi": { + "version": "5.2.0", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "emoji-regex": { + "version": "7.0.3" + }, + "fill-range": { + "version": "4.0.0", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "3.0.0", + "requires": { + "locate-path": "^3.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "import-local": { + "version": "2.0.0", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "is-absolute-url": { + "version": "3.0.3" + }, + "is-binary-path": { + "version": "1.0.1", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1" + }, + "is-fullwidth-code-point": { + "version": "2.0.0" + }, + "is-number": { + "version": "3.0.0", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "p-locate": { + "version": "3.0.0", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0" + }, + "pkg-dir": { + "version": "3.0.0", + "requires": { + "find-up": "^3.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0" + }, + "schema-utils": { + "version": "1.0.0", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0" + }, + "string-width": { + "version": "3.1.0", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0" + }, + "strip-ansi": { + "version": "5.2.0", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0" + }, + "strip-ansi": { + "version": "5.2.0", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ws": { + "version": "6.2.2", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4" + }, + "uuid": { + "version": "3.4.0" + } + } + }, + "webpack-manifest-plugin": { + "version": "2.2.0", + "requires": { + "fs-extra": "^7.0.0", + "lodash": ">=3.5 <5", + "object.entries": "^1.1.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2" + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1" + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4" + }, + "whatwg-encoding": { + "version": "1.0.5", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-fetch": { + "version": "3.6.2" + }, + "whatwg-mimetype": { + "version": "2.3.0" + }, + "whatwg-url": { + "version": "8.7.0", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0" + }, + "word-wrap": { + "version": "1.2.3" + }, + "workbox-background-sync": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-broadcast-update": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-build": { + "version": "5.1.4", + "requires": { + "@babel/core": "^7.8.4", + "@babel/preset-env": "^7.8.4", + "@babel/runtime": "^7.8.4", + "@hapi/joi": "^15.1.0", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-replace": "^2.3.1", + "@surma/rollup-plugin-off-main-thread": "^1.1.1", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.6", + "lodash.template": "^4.5.0", + "pretty-bytes": "^5.3.0", + "rollup": "^1.31.1", + "rollup-plugin-babel": "^4.3.3", + "rollup-plugin-terser": "^5.3.1", + "source-map": "^0.7.3", + "source-map-url": "^0.4.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "tempy": "^0.3.0", + "upath": "^1.2.0", + "workbox-background-sync": "^5.1.4", + "workbox-broadcast-update": "^5.1.4", + "workbox-cacheable-response": "^5.1.4", + "workbox-core": "^5.1.4", + "workbox-expiration": "^5.1.4", + "workbox-google-analytics": "^5.1.4", + "workbox-navigation-preload": "^5.1.4", + "workbox-precaching": "^5.1.4", + "workbox-range-requests": "^5.1.4", + "workbox-routing": "^5.1.4", + "workbox-strategies": "^5.1.4", + "workbox-streams": "^5.1.4", + "workbox-sw": "^5.1.4", + "workbox-window": "^5.1.4" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "source-map": { + "version": "0.7.3" + }, + "universalify": { + "version": "0.1.2" + } + } + }, + "workbox-cacheable-response": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-core": { + "version": "5.1.4" + }, + "workbox-expiration": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-google-analytics": { + "version": "5.1.4", + "requires": { + "workbox-background-sync": "^5.1.4", + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4", + "workbox-strategies": "^5.1.4" + } + }, + "workbox-navigation-preload": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-precaching": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-range-requests": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-routing": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "workbox-strategies": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4" + } + }, + "workbox-streams": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4", + "workbox-routing": "^5.1.4" + } + }, + "workbox-sw": { + "version": "5.1.4" + }, + "workbox-webpack-plugin": { + "version": "5.1.4", + "requires": { + "@babel/runtime": "^7.5.5", + "fast-json-stable-stringify": "^2.0.0", + "source-map-url": "^0.4.0", + "upath": "^1.1.2", + "webpack-sources": "^1.3.0", + "workbox-build": "^5.1.4" + } + }, + "workbox-window": { + "version": "5.1.4", + "requires": { + "workbox-core": "^5.1.4" + } + }, + "worker-farm": { + "version": "1.7.0", + "requires": { + "errno": "~0.1.7" + } + }, + "worker-rpc": { + "version": "0.1.1", + "requires": { + "microevent.ts": "~0.1.1" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4" + } + } + }, + "wrappy": { + "version": "1.0.2" + }, + "write-file-atomic": { + "version": "3.0.3", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.1", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0" + }, + "xmlchars": { + "version": "2.2.0" + }, + "xtend": { + "version": "4.0.2" + }, + "y18n": { + "version": "4.0.3" + }, + "yallist": { + "version": "4.0.0" + }, + "yaml": { + "version": "1.10.2" + }, + "yargs": { + "version": "15.4.1", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1" + } + } + }, + "yocto-queue": { + "version": "0.1.0" + } + } +} diff --git a/ReactClient/package.json b/ReactClient/package.json new file mode 100644 index 0000000..2daa58f --- /dev/null +++ b/ReactClient/package.json @@ -0,0 +1,51 @@ +{ + "name": "pwa", + "version": "0.1.0", + "private": true, + "dependencies": { + "@elfalem/leaflet-curve": "^0.8.2", + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "@mui/icons-material": "^5.0.1", + "@mui/material": "^5.0.1", + "@mui/styles": "^5.0.1", + "@testing-library/jest-dom": "^5.14.1", + "@testing-library/react": "^11.2.7", + "@testing-library/user-event": "^12.8.3", + "console-feed": "^3.2.2", + "geolib": "^3.3.1", + "json-ref-lite": "^1.1.0", + "leaflet": "^1.7.1", + "leaflet-easybutton": "^2.4.0", + "leaflet-marker-rotation": "^0.4.0", + "leaflet.marker.slideto": "^0.2.0", + "react": "^17.0.2", + "react-dial-knob": "^1.3.0", + "react-dom": "^17.0.2", + "react-leaflet": "^3.2.1", + "react-leaflet-bing-v2": "^5.2.3", + "react-lineto": "^3.2.1", + "react-router-dom": "^5.3.0", + "react-scripts": "4.0.3", + "rimraf": "^2.7.1" + }, + "scripts": { + "start": "rimraf ./build && react-scripts start", + "build": "rimraf ./build && react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject", + "serve": "http-server build -p 27010", + "buildserve": "rimraf ./build && react-scripts build && http-server build -p 27010" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": [ + ">0.2%", + "not dead", + "not op_mini all" + ] +} diff --git a/ReactClient/public/config/PlanePanelProfile.json b/ReactClient/public/config/PlanePanelProfile.json new file mode 100644 index 0000000..7da876d --- /dev/null +++ b/ReactClient/public/config/PlanePanelProfile.json @@ -0,0 +1,342 @@ +[ + { + "planeId": "kodiak", + "name": "Kodiak 100", + "panels": [ + { + "panelId": "kodiak", + "name": "Kodiak Full Instrumentation", + "rootPath": "kodiak", + "panelSize": { + "width": 2458, + "height": 1310 + }, + "showMenuBar": true, + "enableMap": true, + "subPanels": [ + { + "panelId": "pfd-mfd", + "name": "PFD MFD", + "definitions": "KODIAK_PFD_MFD_DEF", + "rootPath": "pfdmfd", + "left": 0, + "top": 0, + "scale": 1 + }, + { + "panelId": "electrical", + "name": "Electrical", + "definitions": "KODIAK_ELECTRICAL_DEF", + "rootPath": "electrical", + "left": 0, + "top": 915, + "scale": 1 + }, + { + "panelId": "lights", + "name": "Lights", + "definitions": "KODIAK_LIGHTS_DEF", + "rootPath": "lights", + "left": 830, + "top": 915, + "scale": 1 + }, + { + "panelId": "fuel", + "name": "Fuel", + "definitions": "KODIAK_FUEL_DEF", + "rootPath": "fuel", + "left": 1770, + "top": 980, + "scale": 1 + }, + { + "panelId": "oxygen", + "name": "Oxygen", + "definitions": "KODIAK_OXYGEN_DEF", + "rootPath": "oxygen", + "left": 2230, + "top": 985, + "scale": 1 + } + ] + }, + { + "panelId": "kodiak-pfd", + "name": "Kodiak PFD", + "rootPath": "kodiak", + "panelSize": { + "width": 1408, + "height": 914 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "pfd", + "name": "PFD", + "definitions": "KODIAK_PFD_ONLY_DEF", + "rootPath": "pfdmfd", + "left": 0, + "top": 0, + "scale": 1 + } + ] + }, + { + "panelId": "kodiak-mfd", + "name": "Kodiak MFD", + "rootPath": "kodiak", + "panelSize": { + "width": 1408, + "height": 914 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "mfd", + "name": "MFD", + "definitions": "KODIAK_MFD_ONLY_DEF", + "rootPath": "pfdmfd", + "left": 0, + "top": 0, + "scale": 1 + } + ] + }, + { + "panelId": "kodiak-electrical", + "name": "Kodiak Electrical", + "rootPath": "kodiak", + "panelSize": { + "width": 812, + "height": 377 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "electrical", + "name": "Electrical", + "definitions": "KODIAK_ELECTRICAL_DEF", + "rootPath": "electrical", + "left": 0, + "top": 0, + "scale": 1 + } + + ] + }, + { + "panelId": "kodiak-lights", + "name": "Kodiak Lights", + "rootPath": "kodiak", + "panelSize": { + "width": 929, + "height": 380 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "lights", + "name": "Lights", + "definitions": "KODIAK_LIGHTS_DEF", + "rootPath": "lights", + "left": 0, + "top": 0, + "scale": 1 + } + ] + }, + { + "panelId": "kodiak-fuel", + "name": "Kodiak Fuel Switch", + "rootPath": "kodiak", + "panelSize": { + "width": 440, + "height": 226 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "fuel", + "name": "Fuel", + "definitions": "KODIAK_FUEL_DEF", + "rootPath": "fuel", + "left": 0, + "top": 0, + "scale": 1 + } + ] + }, + { + "panelId": "kodiak-oxygen", + "name": "Kodiak Oxygen Switch", + "rootPath": "kodiak", + "panelSize": { + "width": 215, + "height": 215 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "oxygen", + "name": "Oxygen", + "definitions": "KODIAK_OXYGEN_DEF", + "rootPath": "oxygen", + "left": 0, + "top": 0, + "scale": 1 + } + ] + } + ] + }, + { + "planeId": "pmdg-737-700", + "name": "PMDG 737-700", + "panels": [ + { + "panelId": "pmdg-737-700-full-instrumentation", + "name": "PMDG 737 Full Instrumentation", + "rootPath": "pmdg-737-700", + "panelSize": { + "width": 1920, + "height": 1010 + }, + "showMenuBar": true, + "enableMap": true, + "subPanels": [ + { + "panelId": "mcp", + "name": "MCP", + "rootPath": "mcp", + "definitions": "PMDG_737_700_MCP_DEF", + "left": 0, + "top": 0, + "scale": 1 + }, + { + "panelId": "efis-cpt", + "name": "EFIS-CPT", + "rootPath": "efis-cpt", + "definitions": "PMDG_737_700_EFIS_CPT_DEF", + "left": 90, + "top": 335, + "scale": 1 + }, + { + "panelId": "xpndr", + "name": "XPNDR", + "rootPath": "xpndr", + "definitions": "PMDG_737_700_XPNDR_DEF", + "left": 210, + "top": 735, + "scale": 1 + }, + { + "panelId": "radio", + "name": "Radio", + "rootPath": "radio", + "definitions": "PMDG_737_700_RADIO_DEF", + "left": 850, + "top": 335, + "scale": 1 + } + ] + }, + { + "panelId": "pmdg-737-700-mcp", + "name": "PMDG 737 MCP", + "rootPath": "pmdg-737-700", + "panelSize": { + "width": 1920, + "height": 329 + }, + "showMenuBar": true, + "enableMap": false, + "subPanels": [ + { + "panelId": "mcp", + "name": "MCP", + "rootPath": "mcp", + "definitions": "PMDG_737_700_MCP_DEF", + "left": 0, + "top": 0, + "scale": 1 + } + ] + }, + { + "panelId": "pmdg-737-700-radio", + "name": "PMDG 737 Radio", + "rootPath": "pmdg-737-700", + "panelSize": { + "width": 995, + "height": 485 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "radio", + "name": "Radio", + "rootPath": "radio", + "definitions": "PMDG_737_700_RADIO_DEF", + "left": 0, + "top": 0, + "scale": 1 + } + ] + }, + { + "panelId": "pmdg-737-700-xpndr", + "name": "PMDG 737 Transponder", + "rootPath": "pmdg-737-700", + "panelSize": { + "width": 498, + "height": 259 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "xpndr", + "name": "XPNDR", + "rootPath": "xpndr", + "definitions": "PMDG_737_700_XPNDR_DEF", + "left": 0, + "top": 0, + "scale": 1 + } + ] + }, + { + "panelId": "pmdg-737-700-efis-cpt", + "name": "PMDG 737 EFIS (Captain)", + "rootPath": "pmdg-737-700", + "panelSize": { + "width": 724, + "height": 394 + }, + "showMenuBar": false, + "enableMap": false, + "subPanels": [ + { + "panelId": "efis-cpt", + "name": "EFIS-CPT", + "rootPath": "efis-cpt", + "definitions": "PMDG_737_700_EFIS_CPT_DEF", + "left": 0, + "top": 0, + "scale": 1 + } + ] + } + ] + } +] \ No newline at end of file diff --git a/ReactClient/public/config/mobiFlightPresets/msfs2020_eventids.cip b/ReactClient/public/config/mobiFlightPresets/msfs2020_eventids.cip new file mode 100644 index 0000000..cf5b791 --- /dev/null +++ b/ReactClient/public/config/mobiFlightPresets/msfs2020_eventids.cip @@ -0,0 +1,4666 @@ +Aerosoft/CRJ 550-700-1000/Air Condition / Pressurization:GROUP +ASCRJ_AIRC_AFT_CARGO_AIRCOND_SWITCH +ASCRJ_AIRC_PACK_L_SWITCH +ASCRJ_AIRC_PACK_R_SWITCH +ASCRJ_AIRC_RECIC_FAN_SWCH_OFF +ASCRJ_AIRC_RECIC_FAN_SWCH_ON +ASCRJ_AIRC_RECIRC_FAN_SWITCH +ASCRJ_AIRC_RECIRC_FAN_SWITCH_OFF +ASCRJ_AIRC_RECIRC_FAN_SWITCH_ON +ASCRJ_AIRC_TEMPCTRL_CABIN_DEC +ASCRJ_AIRC_TEMPCTRL_CABIN_INC +ASCRJ_AIRC_TEMPCTRL_CKPT_DEC +ASCRJ_AIRC_TEMPCTRL_CKPT_INC +ASCRJ_OVHD_OXY_BUTTON_ON_PRESS +ASCRJ_OVHD_OXY_BUTTON_ON_RELEASE +ASCRJ_PRESS_EMER_DEPRESS_BTN_REL +ASCRJ_PRESS_EMER_DEPRESS_PRESS +ASCRJ_PRESS_LDG_ELEV_KNOB_DEC +ASCRJ_PRESS_LDG_ELEV_KNOB_INC +ASCRJ_PRESS_PRESS_CONT_BTN_PRESS +ASCRJ_PRESS_PRESS_CONT_BTN_REL +ASCRJ_ROT_LDG_ELEV_KNOB_DEC_FAST +ASCRJ_ROT_LDG_ELEV_KNOB_INC_FAST +Aerosoft/CRJ 550-700-1000/Anti-Ice:GROUP +ASCRJ_AICE_COWL_L_SWITCH +ASCRJ_AICE_COWL_L_SWITCH_OFF +ASCRJ_AICE_COWL_L_SWITCH_ON +ASCRJ_AICE_COWL_R_SWITCH +ASCRJ_AICE_COWL_R_SWITCH_OFF +ASCRJ_AICE_COWL_R_SWITCH_ON +ASCRJ_AICE_PHEAT_L_SWITCH +ASCRJ_AICE_PHEAT_L_SWITCH_OFF +ASCRJ_AICE_PHEAT_L_SWITCH_ON +ASCRJ_AICE_PHEAT_R_SWITCH +ASCRJ_AICE_PHEAT_R_SWITCH_OFF +ASCRJ_AICE_PHEAT_R_SWITCH_ON +ASCRJ_AICE_WING_SWITCH +ASCRJ_AICE_WING_SWITCH_OFF +ASCRJ_AICE_WING_SWITCH_ON +ASCRJ_AICE_WSHLD_L_SWITCH +ASCRJ_AICE_WSHLD_L_SWITCH_HIGH +ASCRJ_AICE_WSHLD_L_SWITCH_LOW +ASCRJ_AICE_WSHLD_L_SWITCH_OFF +ASCRJ_AICE_WSHLD_R_SWITCH +ASCRJ_AICE_WSHLD_R_SWITCH_HIGH +ASCRJ_AICE_WSHLD_R_SWITCH_LOW +ASCRJ_AICE_WSHLD_R_SWITCH_OFF +ASCRJ_AICE_WSHLD_TEST_BTN_PRESS +ASCRJ_AICE_WSHLD_TEST_BTN_REL +Aerosoft/CRJ 550-700-1000/Autopilot:GROUP +ASCRJ_AP_TOGGLE +ASCRJ_FCP_12BANK_PRESS +ASCRJ_FCP_12BANK_RELEASE +ASCRJ_FCP_ALT_CANCEL_PRESS +ASCRJ_FCP_ALT_CANCEL_RELEASE +ASCRJ_FCP_ALT_PRESS +ASCRJ_FCP_ALT_RELEASE +ASCRJ_FCP_ALT_SEL_DEC +ASCRJ_FCP_ALT_SEL_INC +ASCRJ_FCP_APPR_PRESS +ASCRJ_FCP_APPR_RELEASE +ASCRJ_FCP_AP_DISC_PRESS +ASCRJ_FCP_AP_DISC_RELEASE +ASCRJ_FCP_AP_ENG_PRESS +ASCRJ_FCP_AP_ENG_RELEASE +ASCRJ_FCP_BC_PRESS +ASCRJ_FCP_BC_RELEASE +ASCRJ_FCP_CRS1_DIRECT_PRESS +ASCRJ_FCP_CRS1_DIRECT_RELEASE +ASCRJ_FCP_CRS1_SEL_DEC +ASCRJ_FCP_CRS1_SEL_INC +ASCRJ_FCP_CRS2_DIRECT_PRESS +ASCRJ_FCP_CRS2_DIRECT_RELEASE +ASCRJ_FCP_CRS2_SEL_DEC +ASCRJ_FCP_CRS2_SEL_INC +ASCRJ_FCP_FD1_PRESS +ASCRJ_FCP_FD1_RELEASE +ASCRJ_FCP_FD2_PRESS +ASCRJ_FCP_FD2_RELEASE +ASCRJ_FCP_HDG_PRESS +ASCRJ_FCP_HDG_RELEASE +ASCRJ_FCP_HDG_SEL_DEC +ASCRJ_FCP_HDG_SEL_INC +ASCRJ_FCP_HDG_SYNC_PRESS +ASCRJ_FCP_HDG_SYNC_RELEASE +ASCRJ_FCP_IAS_MACH_PRESS +ASCRJ_FCP_IAS_MACH_RELEASE +ASCRJ_FCP_NAV_PRESS +ASCRJ_FCP_NAV_RELEASE +ASCRJ_FCP_SPEED_MODE_PRESS +ASCRJ_FCP_SPEED_MODE_RELEASE +ASCRJ_FCP_SPEED_PRESS +ASCRJ_FCP_SPEED_RELEASE +ASCRJ_FCP_SPEED_SEL_DEC +ASCRJ_FCP_SPEED_SEL_INC +ASCRJ_FCP_TURB_PRESS +ASCRJ_FCP_TURB_RELEASE +ASCRJ_FCP_VNAV_PRESS +ASCRJ_FCP_VNAV_RELEASE +ASCRJ_FCP_VS_PRESS +ASCRJ_FCP_VS_RELEASE +ASCRJ_FCP_WHEEL_SEL_DEC +ASCRJ_FCP_WHEEL_SEL_INC +ASCRJ_FCP_XFR_PRESS +ASCRJ_FCP_XFR_RELEASE +ASCRJ_TQ_TOGA_SWITCH +Aerosoft/CRJ 550-700-1000/Avionics:GROUP +ASCRJ_ECAM_AICE_PRESS +ASCRJ_ECAM_AICE_RELEASE +ASCRJ_ECAM_CAS_PRESS +ASCRJ_ECAM_CAS_RELEASE +ASCRJ_ECAM_DOORS_PRESS +ASCRJ_ECAM_DOORS_RELEASE +ASCRJ_ECAM_DOWN_PRESS +ASCRJ_ECAM_DOWN_RELEASE +ASCRJ_ECAM_ECS +ASCRJ_ECAM_ELEC_PRESS +ASCRJ_ECAM_ELEC_RELEASE +ASCRJ_ECAM_FCTL_PRESS +ASCRJ_ECAM_FCTL_RELEASE +ASCRJ_ECAM_FUEL_PRESS +ASCRJ_ECAM_FUEL_RELEASE +ASCRJ_ECAM_HYD_PRESS +ASCRJ_ECAM_HYD_RELEASE +ASCRJ_ECAM_MENU_PRESS +ASCRJ_ECAM_MENU_RELEASE +ASCRJ_ECAM_PRI_PRESS +ASCRJ_ECAM_SEL_PRESS +ASCRJ_ECAM_SEL_RELEASE +ASCRJ_ECAM_STAT_PRESS +ASCRJ_ECAM_STAT_RELEASE +ASCRJ_ECAM_STEP_PRESS +ASCRJ_ECAM_UP_PRESS +ASCRJ_ECAM_UP_RELEASE +ASCRJ_LSP_CLCK_CHR_BTN_PRESS +ASCRJ_LSP_CLCK_CHR_BTN_RELEASE +Aerosoft/CRJ 550-700-1000/Electrical:GROUP +ASCRJ_APU_PWRFUEL_PRESS +ASCRJ_APU_PWRFUEL_RELEASE +ASCRJ_APU_STARTSTOP_PRESS +ASCRJ_APU_STARTSTOP_RELEASE +ASCRJ_APU_STARTSTOP_TOGGLE +ASCRJ_ELEC_ACESSXFER +ASCRJ_ELEC_APUGEN +ASCRJ_ELEC_APUGEN_OFF +ASCRJ_ELEC_APUGEN_RESET +ASCRJ_ELEC_AUTOXFER1 +ASCRJ_ELEC_AUTOXFER2 +ASCRJ_ELEC_BATTMASTER_SWITCH +ASCRJ_ELEC_BATTMASTER_SWITCH_OFF +ASCRJ_ELEC_BATTMASTER_SWITCH_ON +ASCRJ_ELEC_DCSERVICE +ASCRJ_ELEC_DCSERVICE_OFF +ASCRJ_ELEC_DCSERVICE_ON +ASCRJ_ELEC_GEN1 +ASCRJ_ELEC_GEN1_OFF +ASCRJ_ELEC_GEN1_RESET +ASCRJ_ELEC_GEN2 +ASCRJ_ELEC_GEN2_OFF +ASCRJ_ELEC_GEN2_RESET +ASCRJ_ELEC_GPU_INUSE_SWITCH +ASCRJ_ELEC_IDG1 +ASCRJ_ELEC_IDG2 +ASCRJ_FIRE_TEST_BTN_PRESS +ASCRJ_FIRE_TEST_BTN_RELEASE +ASCRJ_HYDRO_SOV_L_PRESS +ASCRJ_HYDRO_SOV_L_REL +ASCRJ_HYDRO_SOV_R_PRESS +ASCRJ_HYDRO_SOV_R_REL +ASCRJ_IRS1_KNOB_SWITCH +ASCRJ_IRS2_KNOB_SWITCH +ASCRJ_LAMP_TEST_SWITCH +ASCRJ_MASTER_CAUT_PRESS +ASCRJ_MASTER_CAUT_RELEASE +ASCRJ_MASTER_WARN_PRESS +ASCRJ_MASTER_WARN_RELEASE +Aerosoft/CRJ 550-700-1000/Engines:GROUP +ASCRJ_CONT_IGN_BTN +ASCRJ_CONT_IGN_BTN_PRESS +ASCRJ_CONT_IGN_BTN_REL +ASCRJ_ENGS_START_L_PRESS +ASCRJ_ENGS_START_L_RELEASE +ASCRJ_ENGS_START_R_PRESS +ASCRJ_ENGS_START_R_RELEASE +ASCRJ_ENGS_STOP_L_PRESS +ASCRJ_ENGS_STOP_L_RELEASE +ASCRJ_ENGS_STOP_R_PRESS +ASCRJ_ENGS_STOP_R_RELEASE +ASCRJ_FUEL_PUMP_L_SWITCH +ASCRJ_FUEL_PUMP_R_SWITCH +ASCRJ_REV_1_ARM_SWITCH_TOGGLE +ASCRJ_REV_2_ARM_SWITCH_TOGGLE +ASCRJ_TQ_CUTOFF_1_LEVER +ASCRJ_TQ_CUTOFF_2_LEVER +ASCRJ_TQ_THROTTLE_1_POS_IDLE +ASCRJ_TQ_THROTTLE_1_POS_SHUTOFF +ASCRJ_TQ_THROTTLE_2_POS_IDLE +ASCRJ_TQ_THROTTLE_2_POS_SHUTOFF +Aerosoft/CRJ 550-700-1000/Flight Controls:GROUP +ASCRJ_FLAPS_DECR +ASCRJ_FLAPS_INCR +ASCRJ_GLD_MODE_SWITCH3_PRESS +ASCRJ_GLD_MODE_SWITCH3_RELEASE +ASCRJ_MACH_TRIM_SWITCH +ASCRJ_STAB_TRIM_CH_1_SWITCH +ASCRJ_STAB_TRIM_CH_2_SWITCH +ASCRJ_YD1_SWITCH +ASCRJ_YD2_SWITCH +ASCRJ_YD_DISC_SWITCH +Aerosoft/CRJ 550-700-1000/Flight Instrumentation:GROUP +ASCRJ_LSP_BRG1_PRESS +ASCRJ_LSP_BRG1_RELEASE +ASCRJ_LSP_BRG2_PRESS +ASCRJ_LSP_BRG2_RELEASE +ASCRJ_LSP_HEIGHT_MODE_DA +ASCRJ_LSP_HEIGHT_MODE_MDA +ASCRJ_LSP_HEIGHT_SEL_DEC +ASCRJ_LSP_HEIGHT_SEL_INC +ASCRJ_LSP_RDR_PRESS +ASCRJ_LSP_RDR_RELEASE +ASCRJ_LSP_SEL_PRESS +ASCRJ_LSP_SEL_RELEASE +ASCRJ_LSP_SPEED_MODE_DEC +ASCRJ_LSP_SPEED_MODE_INC +ASCRJ_LSP_SPEED_SEL +ASCRJ_LSP_SPEED_SEL +ASCRJ_LSP_SPEED_SEL_DEC +ASCRJ_LSP_SPEED_SEL_INC +Aerosoft/CRJ 550-700-1000/Fuel:GROUP +ASCRJ_FUEL_GRAVITY_FLOW_PRESS +ASCRJ_FUEL_GRAVITY_FLOW_REL +ASCRJ_FUEL_XFLOW_L_PRESS +ASCRJ_FUEL_XFLOW_L_REL +ASCRJ_FUEL_XFLOW_OVRD_PRESS +ASCRJ_FUEL_XFLOW_OVRD_REL +ASCRJ_FUEL_XFLOW_R_PRESS +ASCRJ_FUEL_XFLOW_R_REL +ASCRJ_L_FUEL_PUMP_PRESS +ASCRJ_L_FUEL_PUMP_REL +ASCRJ_R_FUEL_PUMP_PRESS +ASCRJ_R_FUEL_PUMP_REL +Aerosoft/CRJ 550-700-1000/Gear:GROUP +ASCRJ_GEAR_GEAR_LEVER_SWITCH_OFF +ASCRJ_GEAR_GEAR_LEVER_SWITCH_ON +ASCRJ_PARK_BRAKE_SWITCH_OFF +ASCRJ_PARK_BRAKE_SWITCH_ON +Aerosoft/CRJ 550-700-1000/Hydraulic:GROUP +ASCRJ_HYDRAULIC_L_HYD_SOV_GUARD_COUNT_TIMER +ASCRJ_HYDRAULIC_L_HYD_SOV_GUARD_SW +ASCRJ_HYDRAULIC_L_HYD_SOV_SW +ASCRJ_HYDRAULIC_R_HYD_SOV_GUARD_COUNT_TIMER +ASCRJ_HYDRAULIC_R_HYD_SOV_GUARD_SW +ASCRJ_HYDRAULIC_R_HYD_SOV_SW +ASCRJ_HYDR_PUMP_1_AUTO_SWITCH +ASCRJ_HYDR_PUMP_1_BUTTON +ASCRJ_HYDR_PUMP_1_OFF_SWITCH +ASCRJ_HYDR_PUMP_1_ON_SWITCH +ASCRJ_HYDR_PUMP_2_AUTO_SWITCH +ASCRJ_HYDR_PUMP_2_BUTTON +ASCRJ_HYDR_PUMP_2_OFF_SWITCH +ASCRJ_HYDR_PUMP_2_ON_SWITCH +ASCRJ_HYDR_PUMP_3A_BUTTON +ASCRJ_HYDR_PUMP_3A_ON-OFF_SWITCH +ASCRJ_HYDR_PUMP_3A_SWITCH_OFF +ASCRJ_HYDR_PUMP_3A_SWITCH_ON +ASCRJ_HYDR_PUMP_3B_AUTO_SWITCH +ASCRJ_HYDR_PUMP_3B_BUTTON +ASCRJ_HYDR_PUMP_3B_OFF_SWITCH +ASCRJ_HYDR_PUMP_3B_ON_SWITCH +Aerosoft/CRJ 550-700-1000/Lights:GROUP +ASCRJ_DM_LT_CPT_DEC +ASCRJ_DM_LT_CPT_INC +ASCRJ_DM_LT_FO_DEC +ASCRJ_DM_LT_FO_INC +ASCRJ_EXTL_BEACON_SWITCH +ASCRJ_EXTL_BEACON_SWITCH_OFF +ASCRJ_EXTL_BEACON_SWITCH_ON +ASCRJ_EXTL_LOGO_SWITCH +ASCRJ_EXTL_LOGO_SWITCH_OFF +ASCRJ_EXTL_LOGO_SWITCH_ON +ASCRJ_EXTL_NAV_SWITCH +ASCRJ_EXTL_NAV_SWITCH_OFF +ASCRJ_EXTL_NAV_SWITCH_ON +ASCRJ_EXTL_STROBE_SWITCH +ASCRJ_EXTL_STROBE_SWITCH_OFF +ASCRJ_EXTL_STROBE_SWITCH_ON +ASCRJ_EXTL_WING_SWITCH +ASCRJ_EXTL_WING_SWITCH_OFF +ASCRJ_EXTL_WING_SWITCH_ON +ASCRJ_INTL_CB_PNL_BRT_DEC +ASCRJ_INTL_CB_PNL_BRT_INC +ASCRJ_INTL_COMP_SWITCH_ON +ASCRJ_INTL_COMP_SWITCH_DIM +ASCRJ_INTL_COMP_SWITCH_OFF +ASCRJ_INTL_DOME_SWITCH_OFF +ASCRJ_INTL_DOME_SWITCH_ON +ASCRJ_INTL_DSPL_BRT_DEC +ASCRJ_INTL_DSPL_BRT_INC +ASCRJ_INTL_FLOOD_BRT_DEC +ASCRJ_INTL_FLOOD_BRT_INC +ASCRJ_INTL_INTEG_BRT_DEC +ASCRJ_INTL_INTEG_BRT_INC +ASCRJ_INTL_OVHD_DEC +ASCRJ_INTL_OVHD_INC +ASCRJ_LSP_DSPL_DEC +ASCRJ_LSP_DSPL_INC +ASCRJ_LSP_FLOOD_DEC +ASCRJ_LSP_FLOOD_INC +ASCRJ_LSP_INTEG_DEC +ASCRJ_LSP_INTEG_INC +ASCRJ_OVHD_ELT_SWITCH_OFF +ASCRJ_OVHD_ELT_SWITCH_ON +ASCRJ_OVHD_ELT_SWITCH_XXX +ASCRJ_OVHD_EMER_LTS_SWITCH +ASCRJ_OVHD_EMER_LTS_SWITCH_ARM +ASCRJ_OVHD_EMER_LTS_SWITCH_OFF +ASCRJ_OVHD_EMER_LTS_SWITCH_ON +ASCRJ_OVHD_LDG_LEFT_SWITCH +ASCRJ_OVHD_LDG_LTS_LEFT_SWITCH_OFF +ASCRJ_OVHD_LDG_LTS_LEFT_SWITCH_ON +ASCRJ_OVHD_LDG_LTS_NOSE_SWITCH_OFF +ASCRJ_OVHD_LDG_LTS_NOSE_SWITCH_ON +ASCRJ_OVHD_LDG_LTS_RIGHT_SWITCH_OFF +ASCRJ_OVHD_LDG_LTS_RIGHT_SWITCH_ON +ASCRJ_OVHD_LDG_NOSE_SWITCH +ASCRJ_OVHD_LDG_RIGHT_SWITCH +ASCRJ_OVHD_TAXI_LTS_SWITCH_OFF +ASCRJ_OVHD_TAXI_LTS_SWITCH_ON +ASCRJ_OVHD_TAXI_SWITCH +ASCRJ_RSP_DSPL_DEC +ASCRJ_RSP_DSPL_INC +ASCRJ_RSP_FLOOD_DEC +ASCRJ_RSP_FLOOD_INC +ASCRJ_RSP_INTEG_DEC +ASCRJ_RSP_INTEG_INC +Aerosoft/CRJ 550-700-1000/Navigation:GROUP +ASCRJ_LSP_BARO_CHANGE_DEC +ASCRJ_LSP_BARO_CHANGE_INC +ASCRJ_LSP_BARO_STD_PRESS +ASCRJ_LSP_BARO_STD_RELEASE +ASCRJ_LSP_FORMAT_CHANGE_ENCOD_DEC +ASCRJ_LSP_FORMAT_CHANGE_ENCOD_INC +ASCRJ_LSP_NAV_SOURCE_CHANGE_DEC +ASCRJ_LSP_NAV_SOURCE_CHANGE_INC +ASCRJ_LSP_NAV_SOURCE_XSIDE_PRESS +ASCRJ_LSP_NAV_SOURCE_XSIDE_RELEASE +ASCRJ_LSP_ZOOM_RANGE_CHANGE_DEC +ASCRJ_LSP_ZOOM_RANGE_CHANGE_INC +ASCRJ_MCDU1_BRT_DEC +ASCRJ_MCDU1_BRT_INC +ASCRJ_MCDU2_BRT_DEC +ASCRJ_MCDU2_BRT_INC +BARO_Hpa_In +Aerosoft/CRJ 550-700-1000/Passengers/Crew:GROUP +ASCRJ_OVHD_NO_SMOKING_SWITCH +ASCRJ_OVHD_NO_SMOKING_SWITCH_AUTO +ASCRJ_OVHD_NO_SMOKING_SWITCH_OFF +ASCRJ_OVHD_NO_SMOKING_SWITCH_ON +ASCRJ_OVHD_SEATBELTS_SWITCH_AUTO +ASCRJ_OVHD_SEATBELTS_SWITCH_OFF +ASCRJ_OVHD_SEATBELTS_SWITCH_ON +ASCRJ_OVHD_SEAT_BELTS_SWITCH +Aerosoft/CRJ 550-700-1000/Radio:GROUP +ASCRJ_RTU1_IDENT_PRESS +ASCRJ_RTU1_KNOB_INNER_DEC +ASCRJ_RTU1_KNOB_INNER_INC +ASCRJ_RTU1_KNOB_OUTER_DEC +ASCRJ_RTU1_KNOB_OUTER_INC +ASCRJ_RTU1_LSK1L_SWITCH_PRESS +ASCRJ_RTU1_LSK1R_SWITCH_PRESS +ASCRJ_RTU1_LSK2L_SWITCH_PRESS +ASCRJ_RTU1_LSK2R_SWITCH_PRESS +ASCRJ_RTU1_LSK3L_SWITCH_PRESS +ASCRJ_RTU1_LSK3R_SWITCH_PRESS +ASCRJ_RTU1_LSK4L_SWITCH_PRESS +ASCRJ_RTU1_LSK4R_SWITCH_PRESS +ASCRJ_XPDR_ATC_SEL_PRESS_PRESS +ASCRJ_XPDR_ATC_SEL_PRESS_RELEASE +ASCRJ_XPDR_ATC_SEL_SWITCH +Aerosoft/CRJ 550-700-1000/Warning System:GROUP +FIRE_DETECTION_FIREX_MONITOR_TEST_SWITCH +Asobo/DA40NG/Anti-Ice:GROUP +DA40NG_PITOT_OFF +DA40NG_PITOT_ON +Asobo/Baron G58/Anti-Ice:GROUP +G58_PROP_DEICE_OFF +G58_PROP_DEICE_ON +Asobo/DA40NG/Controls:GROUP +DA40NG_FLAPS_DECR +DA40NG_FLAPS_INCR +Asobo/Baron G58/Electrical:GROUP +G58_MAGNETO1_BOTH +G58_MAGNETO1_LEFT +G58_MAGNETO1_OFF +G58_MAGNETO1_RIGHT +G58_MAGNETO1_START +G58_MAGNETO2_BOTH +G58_MAGNETO2_LEFT +G58_MAGNETO2_OFF +G58_MAGNETO2_RIGHT +G58_MAGNETO2_START +G58_MASTER_BATTERY_1_OFF +G58_MASTER_BATTERY_1_ON +G58_MASTER_BATTERY_2_OFF +G58_MASTER_BATTERY_2_ON +Asobo/DA40NG/Fuel:GROUP +DA40NG_FUEL_TRANSFER_OFF +DA40NG_FUEL_TRANSFER_ON +Asobo/DA40NG/Gear:GROUP +DA40NG_PARKING_BRAKE_OFF +DA40NG_PARKING_BRAKE_ON +Asobo/DA40NG/Lights:GROUP +DA40NG_LANDING_OFF +DA40NG_LANDING_ON +DA40NG_POSITION_OFF +DA40NG_POSITION_ON +DA40NG_STROBE_OFF +DA40NG_STROBE_ON +DA40NG_TAXI_OFF +DA40NG_TAXI_ON +Asobo/330 Extra/Avionics:GROUP +AS3X_1_CLR_Push +AS3X_1_DIRECTTO +AS3X_1_ENT_Push +AS3X_1_FPL_Push +AS3X_1_JOYSTICK_DOWN +AS3X_1_JOYSTICK_LEFT +AS3X_1_JOYSTICK_PUSH +AS3X_1_JOYSTICK_RIGHT +AS3X_1_JOYSTICK_UP +AS3X_1_MENU_Push +AS3X_1_NRST_Push +AS3X_1_RNG_Dezoom +AS3X_1_RNG_Zoom +AS3X_1_SOFTKEYS_1 +AS3X_1_SOFTKEYS_2 +AS3X_1_SOFTKEYS_3 +AS3X_1_SOFTKEYS_4 +AS3X_1_SOFTKEYS_5 +AS3X_1_TURN_DEC +AS3X_1_TURN_INC +AS3X_2_CLR_Push +AS3X_2_DIRECTTO +AS3X_2_ENT_Push +AS3X_2_FPL_Push +AS3X_2_JOYSTICK_DOWN +AS3X_2_JOYSTICK_LEFT +AS3X_2_JOYSTICK_PUSH +AS3X_2_JOYSTICK_RIGHT +AS3X_2_JOYSTICK_UP +AS3X_2_MENU_Push +AS3X_2_NRST_Push +AS3X_2_RNG_Dezoom +AS3X_2_RNG_Zoom +AS3X_2_SOFTKEYS_1 +AS3X_2_SOFTKEYS_2 +AS3X_2_SOFTKEYS_3 +AS3X_2_SOFTKEYS_4 +AS3X_2_SOFTKEYS_5 +AS3X_2_TURN_DEC +AS3X_2_TURN_INC +Asobo/747-8i/EFIS:GROUP +B747_8_BARO_DEC +B747_8_BARO_INC +B747_8_BTN_ARPT +B747_8_BTN_DATA +B747_8_BTN_POS +B747_8_BTN_STA +B747_8_BTN_TERR +B747_8_BTN_WPT +B747_8_BTN_WXR +B747_8_MFD_NAV_MODE_APP +B747_8_MFD_NAV_MODE_DEC +B747_8_MFD_NAV_MODE_INC +B747_8_MFD_NAV_MODE_MAP +B747_8_MFD_NAV_MODE_PLN +B747_8_MFD_NAV_MODE_VOR +B747_8_MFD_Range_0_25 +B747_8_MFD_Range_0_5 +B747_8_MFD_Range_1 +B747_8_MFD_Range_10 +B747_8_MFD_Range_160 +B747_8_MFD_Range_2 +B747_8_MFD_Range_20 +B747_8_MFD_Range_320 +B747_8_MFD_Range_40 +B747_8_MFD_Range_5 +B747_8_MFD_Range_640 +B747_8_MFD_Range_80 +B747_8_MFD_Range_DEC +B747_8_MFD_Range_INC +B747_8_PFD_FPV +B747_8_PFD_MTRS +B747_8_PFD_Mins_DEC +B747_8_PFD_Mins_INC +B747_8_PFD_Mins_Press +B747_8_XMLVAR_Baro_Selector_HPA_1_HPA +B747_8_XMLVAR_Baro_Selector_HPA_1_IN +B747_8_XMLVAR_Mins_Selector_Baro_BARO +B747_8_XMLVAR_Mins_Selector_Baro_RADIO +B747_8_XMLVAR_NAV_AID_SWITCH_L1_State_ADF +B747_8_XMLVAR_NAV_AID_SWITCH_L1_State_OFF +B747_8_XMLVAR_NAV_AID_SWITCH_L1_State_VOR +B747_8_XMLVAR_NAV_AID_SWITCH_L2_State_ADF +B747_8_XMLVAR_NAV_AID_SWITCH_L2_State_OFF +B747_8_XMLVAR_NAV_AID_SWITCH_L2_State_VOR +XMLVAR_Baro1_ForcedToSTD +Asobo/747-8i/EICAS:GROUP +B747_8_EICAS_CHANGE_PAGE_chkl +B747_8_EICAS_CHANGE_PAGE_drs +B747_8_EICAS_CHANGE_PAGE_ecs +B747_8_EICAS_CHANGE_PAGE_elec +B747_8_EICAS_CHANGE_PAGE_eng +B747_8_EICAS_CHANGE_PAGE_ftcl +B747_8_EICAS_CHANGE_PAGE_fuel +B747_8_EICAS_CHANGE_PAGE_gear +B747_8_EICAS_CHANGE_PAGE_hyd +B747_8_EICAS_CHANGE_PAGE_info +B747_8_EICAS_CHANGE_PAGE_nav +B747_8_EICAS_CHANGE_PAGE_stat +Asobo/747-8i/Navigation:GROUP +B747_8_FMC_1_BTN_0 +B747_8_FMC_1_BTN_1 +B747_8_FMC_1_BTN_2 +B747_8_FMC_1_BTN_3 +B747_8_FMC_1_BTN_4 +B747_8_FMC_1_BTN_5 +B747_8_FMC_1_BTN_6 +B747_8_FMC_1_BTN_7 +B747_8_FMC_1_BTN_8 +B747_8_FMC_1_BTN_9 +B747_8_FMC_1_BTN_A +B747_8_FMC_1_BTN_ATC +B747_8_FMC_1_BTN_B +B747_8_FMC_1_BTN_BRT_DIM +B747_8_FMC_1_BTN_C +B747_8_FMC_1_BTN_CLR +B747_8_FMC_1_BTN_D +B747_8_FMC_1_BTN_DEL +B747_8_FMC_1_BTN_DEPARR +B747_8_FMC_1_BTN_DIV +B747_8_FMC_1_BTN_DOT +B747_8_FMC_1_BTN_E +B747_8_FMC_1_BTN_EXEC +B747_8_FMC_1_BTN_F +B747_8_FMC_1_BTN_FIX +B747_8_FMC_1_BTN_FMCCOMM +B747_8_FMC_1_BTN_G +B747_8_FMC_1_BTN_H +B747_8_FMC_1_BTN_HOLD +B747_8_FMC_1_BTN_I +B747_8_FMC_1_BTN_INIT +B747_8_FMC_1_BTN_J +B747_8_FMC_1_BTN_K +B747_8_FMC_1_BTN_L +B747_8_FMC_1_BTN_L1 +B747_8_FMC_1_BTN_L2 +B747_8_FMC_1_BTN_L3 +B747_8_FMC_1_BTN_L4 +B747_8_FMC_1_BTN_L5 +B747_8_FMC_1_BTN_L6 +B747_8_FMC_1_BTN_LEGS +B747_8_FMC_1_BTN_M +B747_8_FMC_1_BTN_MENU +B747_8_FMC_1_BTN_N +B747_8_FMC_1_BTN_NAVRAD +B747_8_FMC_1_BTN_NEXTPAGE +B747_8_FMC_1_BTN_O +B747_8_FMC_1_BTN_P +B747_8_FMC_1_BTN_PLUSMINUS +B747_8_FMC_1_BTN_PREVPAGE +B747_8_FMC_1_BTN_PROG +B747_8_FMC_1_BTN_Q +B747_8_FMC_1_BTN_R +B747_8_FMC_1_BTN_R1 +B747_8_FMC_1_BTN_R2 +B747_8_FMC_1_BTN_R3 +B747_8_FMC_1_BTN_R4 +B747_8_FMC_1_BTN_R5 +B747_8_FMC_1_BTN_R6 +B747_8_FMC_1_BTN_RTE +B747_8_FMC_1_BTN_S +B747_8_FMC_1_BTN_SP +B747_8_FMC_1_BTN_T +B747_8_FMC_1_BTN_U +B747_8_FMC_1_BTN_V +B747_8_FMC_1_BTN_VNAV +B747_8_FMC_1_BTN_W +B747_8_FMC_1_BTN_X +B747_8_FMC_1_BTN_Y +B747_8_FMC_1_BTN_Z +Asobo/A320/Electrical:GROUP +ASOA320_MASTER_BATTERY_1_OFF +ASOA320_MASTER_BATTERY_1_ON +Asobo/A320/Lights:GROUP +ASOA320_OH_EXTLT_RWY_OFF +ASOA320_OH_EXTLT_RWY_ON +ASOA320_OH_EXTLT_RWY_TOG +ASOA320_OH_STROBES_TOG_AUTO +ASOA320_OH_STROBES_TOG_OFF +ASOA320_OH_STROBES_TOG_ON +Asobo/Baron G58/Controls:GROUP +G58_COWL_FLAP_CLOSE +G58_COWL_FLAP_OPEN +Asobo/Baron G58/Lights:GROUP +G58_LEFT_LANDING_LIGHT_OFF +G58_LEFT_LANDING_LIGHT_ON +G58_RIGHT_LANDING_LIGHT_OFF +G58_RIGHT_LANDING_LIGHT_ON +Asobo/Baron G58/Safety:GROUP +G58_ELT_ARM +G58_ELT_ON +Asobo/Bonanza G36/Avionics:GROUP +G36_AVIONICS_OFF +G36_AVIONICS_ON +Asobo/Bonanza G36/Electrical:GROUP +G36_ALTERNATOR_1_OFF +G36_ALTERNATOR_1_ON +G36_ALTERNATOR_2_OFF +G36_ALTERNATOR_2_ON +G36_BATTERY_1_OFF +G36_BATTERY_1_ON +G36_BATTERY_2_OFF +G36_BATTERY_2_ON +Asobo/Bonanza G36/Fuel:GROUP +G36_FUEL_PUMP_HIGH +G36_FUEL_PUMP_OFF +G36_FUEL_PUMP_ON +Asobo/Bonanza G36/Lights:GROUP +G36_LIGHTING_KNOB_FLOOD_DEC +G36_LIGHTING_KNOB_FLOOD_INC +G36_LIGHTING_SWITCH_FLOOD +G36_LIGHT_FLOOD_OFF +G36_LIGHT_FLOOD_ON +G36_LIGHT_KNOB_AVIONICS_DEC +G36_LIGHT_KNOB_AVIONICS_INC +G36_LIGHT_KNOB_GLARESHIELD_DEC +G36_LIGHT_KNOB_GLARESHIELD_INC +G36_LIGHT_KNOB_PANEL_DEC +G36_LIGHT_KNOB_PANEL_INC +G36_LIGHT_KNOB_SUBPANEL_DEC +G36_LIGHT_KNOB_SUBPANEL_INC +G36_LIGHT_PANEL_OFF +G36_LIGHT_PANEL_ON +Asobo/C208 Caravan/Electrical:GROUP +C208_AVIONICS1_OFF +C208_AVIONICS1_ON +C208_AVIONICS2_OFF +C208_AVIONICS2_ON +Asobo/C208 Caravan/Lights:GROUP +C208_LEFT_LANDING_LIGHT_OFF +C208_LEFT_LANDING_LIGHT_ON +C208_RIGHT_LANDING_LIGHT_OFF +C208_RIGHT_LANDING_LIGHT_ON +Asobo/Cessna 172/Anti-Ice:GROUP +C_172_Pitot_Heat_Toggle_ +C_172_PITOT_HEAT_OFF +C_172_PITOT_HEAT_ON +Asobo/Cessna 172/Autopilot:GROUP +C_172_AP +C_172_AP_ALT +C_172_AP_APR +C_172_AP_FLC +C_172_AP_HDG +C_172_AP_NAV +C_172_AP_NOSE_DN +C_172_AP_NOSE_UP +C_172_AP_VS +C_172_FD +Asobo/Cessna 172/Avionics:GROUP +C_172_AVIONICS_BUS_1_OFF +C_172_AVIONICS_BUS_1_ON +C_172_AVIONICS_BUS_2_OFF +C_172_AVIONICS_BUS_2_ON +C_172_XPNDR_VFR +Asobo/Cessna 172/Electrical:GROUP +C172_ALTERNATOR_OFF +C172_ALTERNATOR_ON +C172_BATTERY_OFF +C172_BATTERY_ON +C_172_STBYBATTERY_OFF +C_172_STBYBATTERY_ON +C_172_STBYBATTERY_TEST_OFF +C_172_STBYBATTERY_TEST_ON +Asobo/Cessna 172/Environment:GROUP +TOGGLE_ALTERNATE_AIR +Asobo/Cessna 172/Fuel:GROUP +C_172_BOTH_FUEL_TANKS +C_172_FUEL_PUMP_OFF +C_172_FUEL_PUMP_ON +C_172_FUEL_SHUTOFF_VALVE_CLOSE +C_172_FUEL_SHUTOFF_VALVE_OPEN +C_172_LEFT_FUEL_TANK +C_172_RIGHT_FUEL_TANK +Asobo/Cessna 172/Lights:GROUP +C_172_AVIONICS_LIGHT_DEC +C_172_AVIONICS_LIGHT_INC +C_172_COPILOT_CABIN_LIGHT_DEC +C_172_COPILOT_CABIN_LIGHT_INC +C_172_LIGHTS_LANDING_OFF +C_172_LIGHTS_LANDING_ON +C_172_PANEL_LIGHT_DEC +C_172_PANEL_LIGHT_INC +C_172_PEDESTRAL_LIGHT_DEC +C_172_PEDESTRAL_LIGHT_INC +C_172_PILOT_CABIN_LIGHT_DEC +C_172_PILOT_CABIN_LIGHT_INC +C_172_STBY_INSTRUMENTS_LIGHT_DEC +C_172_STBY_INSTRUMENTS_LIGHT_INC +Asobo/Cessna 172/Safety:GROUP +C172_SAFETY_Light_Test_On +C172_SAFETY_Lights_Test_Off +Asobo/DA62/Anti-Ice:GROUP +DA62_DE-ICE_High +DA62_DE-ICE_Normal +DA62_DE-ICE_OFF +Asobo/DA62/Engine and FADEC System:GROUP +DA62_LH_ECU_A +DA62_LH_ECU_AUTO +DA62_LH_ECU_B +DA62_LH_ECU_TEST_OFF +DA62_LH_ECU_TEST_ON +DA62_RH_ECU_A +DA62_RH_ECU_AUTO +DA62_RH_ECU_B +DA62_RH_ECU_TEST_OFF +DA62_RH_ECU_TEST_ON +Asobo/DA62/Engine:GROUP +DA62_LEFT_ENGINE_MASTER_TOGGLE +DA62_RIGHT_ENGINE_MASTER_TOGGLE +Asobo/DA62/Fuel:GROUP +DA62_LH_AUX_FUEL_PUMP_TOGGLE +DA62_LH_Fuel_Control_Crossfeed +DA62_LH_Fuel_Control_Off +DA62_LH_Fuel_Control_On +DA62_RH_AUX_FUEL_PUMP_TOGGLE +DA62_RH_Fuel_Control_Crossfeed +DA62_RH_Fuel_Control_Off +DA62_RH_Fuel_Control_On +Asobo/King Air 350i/Autopilot:GROUP +KA_ALT +KA_ALT_DEC +KA_ALT_FAST_DEC +KA_ALT_FAST_INC +KA_ALT_INC +KA_ALT_SET +KA_AP +KA_APPR +KA_BANK +KA_CRS_DEC +KA_CRS_INC +KA_CRS_SET +KA_FD1 +KA_FLC +KA_HDG +KA_HDG_DEC +KA_HDG_FAST_DEC +KA_HDG_FAST_INC +KA_HDG_INC +KA_NAV +KA_PUSHDISCO +KA_Push_Heading +KA_SPD_DEC +KA_SPD_INC +KA_VNAV +KA_VS +KA_VS_DEC +KA_VS_INC +KA_YD +Asobo/King Air 350i/Engines:GROUP +KA_ENG1_START_TOGGLE +KA_ENG2_START_TOGGLE +Asobo/King Air 350i/Lights:GROUP +KA_LEFT_LANDING_LIGHT_OFF +KA_LEFT_LANDING_LIGHT_ON +KA_RECOGNITION_LIGHTS_OFF +KA_RECOGNITION_LIGHTS_ON +KA_RIGHT_LANDING_LIGHT_OFF +KA_RIGHT_LANDING_LIGHT_ON +Asobo/Longitude/Avionics:GROUP +AS3000_TSC_Vertical_BottomKnob_Large_DEC +AS3000_TSC_Vertical_BottomKnob_Large_INC +AS3000_TSC_Vertical_BottomKnob_Push +AS3000_TSC_Vertical_BottomKnob_Push_Long +AS3000_TSC_Vertical_BottomKnob_Small_DEC +AS3000_TSC_Vertical_BottomKnob_Small_INC +AS3000_TSC_Vertical_TopKnob_Large_DEC +AS3000_TSC_Vertical_TopKnob_Large_INC +AS3000_TSC_Vertical_TopKnob_Small_DEC +AS3000_TSC_Vertical_TopKnob_Small_INC +Asobo/Longitude/Electrical:GROUP +LONGITUDE_TOGGLE_ALTERNATOR_1_SWITCH_1 +LONGITUDE_TOGGLE_ALTERNATOR_2_SWITCH_2 +LONGITUDE_TOGGLE_EXTERNAL_POWER_SWITCH +LONGITUDE_TOGGLE_MASTER_BATTERY_SWITCH_1 +LONGITUDE_TOGGLE_MASTER_BATTERY_SWITCH_2 +Asobo/Longitude/Lights:GROUP +LONGITUDE_LANDING_LIGHTS_L_TOGGLE +LONGITUDE_LANDING_LIGHTS_R_TOGGLE +LONGITUDE_PULSE_LIGHTS_TOGGLE +LONGITUDE_RECOG_LIGHTS_TOGGLE +LONGITUDE_TAIL_FLOOD_LIGHTS_TOGGLE +LONGITUDE_TAXI_LIGHTS_TOGGLE +LONGITUDE_WING_INSP_LIGHTS_TOGGLE +Asobo/TBM 580/Avionics:GROUP +AS3000_TSC_Horizontal_BottomKnob_Push +AS3000_TSC_Horizontal_BottomKnob_Small_DEC +AS3000_TSC_Horizontal_BottomKnob_Small_INC +AS3000_TSC_Horizontal_SoftKey_1 +AS3000_TSC_Horizontal_SoftKey_2 +AS3000_TSC_Horizontal_SoftKey_3 +AS3000_TSC_Horizontal_TopKnob_Large_DEC +AS3000_TSC_Horizontal_TopKnob_Large_INC +AS3000_TSC_Horizontal_TopKnob_Push +AS3000_TSC_Horizontal_TopKnob_Push_Long +AS3000_TSC_Horizontal_TopKnob_Small_DEC +AS3000_TSC_Horizontal_TopKnob_Small_INC +Asobo/TBM 930/Air Condition / Pressurization:GROUP +TBM930_BLEED_AIR_AUTO +TBM930_BLEED_AIR_MAX +TBM930_BLEED_AIR_OFF +Asobo/TBM 930/Anti-Ice:GROUP +TBM930_AIRFRAME_DE_ICE_OFF +TBM930_AIRFRAME_DE_ICE_ON +TBM930_ICE_LIGHT_OFF +TBM930_ICE_LIGHT_ON +TBM930_INERT_SEP_OFF +TBM930_INERT_SEP_ON +TBM930_LTS_TEST_OFF +TBM930_LTS_TEST_ON +TBM930_LTS_TEST_TOGGLE +TBM930_PITOT_L_OFF +TBM930_PITOT_L_ON +TBM930_PITOT_R_OFF +TBM930_PITOT_R_ON +TBM930_PROP_DE_ICE_OFF +TBM930_PROP_DE_ICE_ON +TBM930_Pitot_L_TOG +TBM930_Pitot_R_TOG +TBM930_WINDSHIELD_OFF +TBM930_WINDSHIELD_ON +Asobo/TBM 930/Autopilot:GROUP +TBM930_AP_BARO_3_DEC +TBM930_AP_BARO_3_INC +TBM930_AP_CRS1_INC +TBM930_AP_CRS1_SYNC +TBM930_AP_CRS2_DEC +TBM930_AP_VNV_OFF +TBM930_AUTOPILOT_ALT_ON +TBM930_AUTOPILOT_ALT_TOGGLE +TBM930_AUTOPILOT_APR_OFF +TBM930_AUTOPILOT_APR_TOGGLE +TBM930_AUTOPILOT_BC_OFF +TBM930_AUTOPILOT_CRS1_DEC +TBM930_AUTOPILOT_CRS2_INC +TBM930_AUTOPILOT_CRS2_SYNC +TBM930_AUTOPILOT_FD_ON +TBM930_AUTOPILOT_FD_TOGGLE +TBM930_AUTOPILOT_FLC_OFF +TBM930_AUTOPILOT_FLC_TOGGLE +TBM930_AUTOPILOT_HDG_ON +TBM930_AUTOPILOT_HDG_TOGGLE +TBM930_AUTOPILOT_Heading_Sync +TBM930_AUTOPILOT_IAS_DEC +TBM930_AUTOPILOT_IAS_INC +TBM930_AUTOPILOT_LVL_OFF +TBM930_AUTOPILOT_MASTER_OFF +TBM930_AUTOPILOT_MASTER_ON +TBM930_AUTOPILOT_MASTER_TOGGLE +TBM930_AUTOPILOT_MASTER_TRIM_ONLY +TBM930_AUTOPILOT_MAX_BANK_ON +TBM930_AUTOPILOT_MAX_BANK_TOGGLE +TBM930_AUTOPILOT_NAV_TOGGLE +TBM930_AUTOPILOT_SPD_KTS +TBM930_AUTOPILOT_SPD_MACH +TBM930_AUTOPILOT_SPD_TOGGLE +TBM930_AUTOPILOT_TOGGLE +TBM930_AUTOPILOT_VNV_ON +TBM930_AUTOPILOT_VNV_TOGGLE +TBM930_AUTOPILOT_VS_OFF +TBM930_AUTOPILOT_VS_TOGGLE +TBM930_AUTOPILOT_YD_OFF +TBM930_BARO_DEC +TBM930_BARO_INC +TBM930_BARO_SYNC +Asobo/TBM 930/Avionics:GROUP +G3000_TSC_Bottom_Knob_Inc +G3000_TSC_Bottom_Knob_Push +TBM930_PFD_1_SOFTKEYS_1 +TBM930_PFD_1_SOFTKEYS_10 +TBM930_PFD_1_SOFTKEYS_11 +TBM930_PFD_1_SOFTKEYS_12 +TBM930_PFD_1_SOFTKEYS_2 +TBM930_PFD_1_SOFTKEYS_3 +TBM930_PFD_1_SOFTKEYS_4 +TBM930_PFD_1_SOFTKEYS_5 +TBM930_PFD_1_SOFTKEYS_6 +TBM930_PFD_1_SOFTKEYS_7 +TBM930_PFD_1_SOFTKEYS_8 +TBM930_PFD_1_SOFTKEYS_9 +TBM930_PFD_2_SOFTKEYS_1 +TBM930_PFD_2_SOFTKEYS_10 +TBM930_PFD_2_SOFTKEYS_11 +TBM930_PFD_2_SOFTKEYS_12 +TBM930_PFD_2_SOFTKEYS_2 +TBM930_PFD_2_SOFTKEYS_3 +TBM930_PFD_2_SOFTKEYS_4 +TBM930_PFD_2_SOFTKEYS_5 +TBM930_PFD_2_SOFTKEYS_6 +TBM930_PFD_2_SOFTKEYS_7 +TBM930_PFD_2_SOFTKEYS_8 +TBM930_PFD_2_SOFTKEYS_9 +TBM930_PFD_3_SOFTKEYS_1 +TBM930_PFD_3_SOFTKEYS_10 +TBM930_PFD_3_SOFTKEYS_11 +TBM930_PFD_3_SOFTKEYS_12 +TBM930_PFD_3_SOFTKEYS_2 +TBM930_PFD_3_SOFTKEYS_3 +TBM930_PFD_3_SOFTKEYS_4 +TBM930_PFD_3_SOFTKEYS_5 +TBM930_PFD_3_SOFTKEYS_6 +TBM930_PFD_3_SOFTKEYS_7 +TBM930_PFD_3_SOFTKEYS_8 +TBM930_PFD_3_SOFTKEYS_9 +TSC_1_Softkey_1 +TSC_1_Softkey_2 +TSC_1_Softkey_3 +TSC_Bottom_Knob_DEC +TSC_1_TOP_BUTTON_PUSH +Asobo/TBM 930/Electrical:GROUP +TBM930_ELECTRICAL_SOURCE_BATT +TBM930_ELECTRICAL_SOURCE_GPU +TBM930_ELECTRICAL_SOURCE_OFF +TBM930_GENERATOR_MAIN +TBM930_GENERATOR_OFF +TBM930_GENERATOR_STANDBY +Asobo/TBM 930/Engines:GROUP +TBM930_IGNITION_AUTO +TBM930_IGNITION_OFF +TBM930_IGNITION_ON +TBM930_STARTER_ABORT +TBM930_STARTER_ON +Asobo/TBM 930/Fuel:GROUP +TBM930_AUX_BP_AUTO +TBM930_AUX_BP_OFF +TBM930_AUX_BP_ON +TBM930_FUEL_SELECTOR_AUTO +TBM930_FUEL_SELECTOR_MANUAL +TBM930_SHIFT_FUEL_TANK +Asobo/TBM 930/Gear:GROUP +TBM930_LANDING_GEAR_DOWN +TBM930_LANDING_GEAR_UP +Asobo/TBM 930/Lights:GROUP +TBM930_DIMMER_OFF +TBM930_DIMMER_ON +TBM930_DIMMER_TOGGLE +TBM930_LANDING_TAXI_OFF_State_0 +TBM930_LANDING_TAXI_OFF_State_1 +TBM930_LANDING_TAXI_OFF_State_2 +TBM930_NAV_LIGHT_OFF +TBM930_NAV_LIGHT_ON +TBM930_NAV_LIGHT_TOGGLE +TBM930_PANEL_LIGHT_DEC +TBM930_PANEL_LIGHT_INC +TBM930_STROBE_LIGHT_OFF +TBM930_STROBE_LIGHT_ON +TBM930_STROBE_LIGHT_TOGGLE +TBM_ACCESS_LIGHT_ON +TBM_CABIN_LIGHT_ON +Asobo/TBM 930/Miscellaneous:GROUP +TBM930_BACK_DOOR_LEVER_SWITCH +TBM930_BACK_DOOR_LOCK_SWITCH +TBM930_CARGO_DOOR_LEVER_SWITCH +TBM930_COPILOT_VISOR_LEFT-RIGHT_DEC +TBM930_COPILOT_VISOR_LEFT-RIGHT_INC +TBM930_COPILOT_VISOR_UP-DOWN_DEC +TBM930_COPILOT_VISOR_UP-DOWN_INC +TBM930_CRASH_BAR_DOWN +TBM930_CRASH_BAR_UP +TBM930_FRONT_DOOR_LEVER_SWITCH +TBM930_FRONT_DOOR_LOCK_SWITCH +TBM930_PILOT_VISOR_LEFT-RIGHT_DEC +TBM930_PILOT_VISOR_LEFT-RIGHT_INC +TBM930_PILOT_VISOR_UP-DOWN_DEC +TBM930_PILOT_VISOR_UP-DOWN_INC +TBM930_SHOW-HIDE_COPILOT_SWITCH +TBM930_SHOW-HIDE_PILOT_SWITCH +TBM930_SWAP_ACTION_LEFT-RIGHT_UP-DOWN_ENCODER_SWITCH +Asobo/TBM 930/Warning System:GROUP +TBM930_ELT_ARM +TBM930_ELT_ON +TBM930_ELT_TEST +TBM930_MASTER_CAUTION_PUSH +TBM930_MASTER_WARNING_PUSH +Asobo/XCub/Anti-Ice:GROUP +XCUB_CARB_HEAT_TOGGLE +Asobo/XCub/Autopilot:GROUP +XCUB_ALT_DEC_100 +XCUB_ALT_DEC_1000 +XCUB_ALT_INC_1000 +XCUB_AP_ALT_INC_100 +XCUB_AP_ALT_PUSH +XCUB_AP_ALT_TOGGLE +XCUB_AP_APR_TOGGLE +XCUB_AP_FD_TOGGLE +XCUB_AP_FLC_DEC_1 +XCUB_AP_FLC_DEC_10 +XCUB_AP_FLC_INC_1 +XCUB_AP_FLC_INC_10 +XCUB_AP_FLC_TOGGLE +XCUB_AP_HDG_DEC_1 +XCUB_AP_HDG_DEC_5 +XCUB_AP_HDG_INC_1 +XCUB_AP_HDG_INC_5 +XCUB_AP_HDG_TOGGLE +XCUB_AP_NAV_TOGGLE +XCUB_AP_VS_DEC +XCUB_AP_VS_INC +XCUB_AP_VS_TOGGLE +Asobo/XCub/Electrical:GROUP +XCUB_ALT_FIELD_OFF +XCUB_ALT_FIELD_ON +XCUB_ELECTRICAL_AVIONICS_OFF +XCUB_ELECTRICAL_AVIONICS_ON +XCUB_ELECTRICAL_STARTER_OFF +XCUB_ELECTRICAL_STARTER_ON +XCUB_MASTER_BATTERY_OFF +XCUB_MASTER_BATTERY_ON +Asobo/XCub/Engine:GROUP +XCUB_ENGINE_IGN_LH_OFF +XCUB_ENGINE_IGN_LH_ON +XCUB_ENGINE_IGN_RH_OFF +XCUB_ENGINE_IGN_RH_ON +XCUB_ENGINE_LH_OFF_RH_ON +XCUB_ENGINE_LH_ON_RH_OFF +XCUB_ENGINE_LH_ON_RH_ON +Asobo/XCub/Fuel:GROUP +XCUB_FUEL_PUMP_OFF +XCUB_FUEL_PUMP_ON +XCUB_FUEL_SELECTOR_LEFT +XCUB_FUEL_SELECTOR_OFF +XCUB_FUEL_SELECTOR_RIGHT +XCUB_FUEL_SELECTOR_TOGGLE +Asobo/XCub/Gear:GROUP +XCUB_PARKING_BRAKE_OFF +XCUB_PARKING_BRAKE_ON +Asobo/XCub/Lights:GROUP +XCUB_AUX_DIMMER +XCUB_NAV_OFF +XCUB_NAV_ON +XCUB_PULSE_ON +XCUB_PULSE_STANDBY +XCUB_STROBE_OFF +XCUB_STROBE_ON +Bredok3d/737-MAX/EFIS:GROUP +XMLVAR_Mins_Selector_Baro_RADIO +Carenado/M20R OVATION/Autopilot:GROUP +KAS297_ALT_ARM_PUSH +KAS297_ALT_DEC_100 +KAS297_ALT_DEC_1000 +KAS297_ALT_INC_100 +KAS297_ALT_INC_1000 +KAS297_AP_SELECT_ALT_OR_VS +Fly By Wire/A320-Dev/Air Condition / Pressurization:GROUP +AIRCOND_AFT_CABIN_KNOB_DEC +AIRCOND_AFT_CABIN_KNOB_INC +AIRCOND_APU_BLEED_TOGGLE +AIRCOND_COCKPIT_KNOB_DEC +AIRCOND_COCKPIT_KNOB_INC +AIRCOND_ENG1_BLEED_TOGGLE +AIRCOND_ENG2_BLEED_TOGGLE +AIRCOND_FWD_CABIN_KNOB_DEC +AIRCOND_FWD_CABIN_KNOB_INC +AIRCOND_HOTAIR_TOGGLE +AIRCOND_PACK_FLOW_KNOB_HI +AIRCOND_PACK_FLOW_KNOB_LO +AIRCOND_PACK_FLOW_KNOB_NORM +AIRCOND_PACK1_TOGGLE +AIRCOND_PACK2_TOGGLE +AIRCOND_RAMAIR_LOCK_TOGGLE +AIRCOND_RAMAIR_TOGGLE +CABIN_PRESS_DITCHING_LOCK_TOGGLE +CABIN_PRESS_DITCHING_TOGGLE +CABIN_PRESS_LDGELEV_AUTO_DEC +CABIN_PRESS_LDGELEV_AUTO_INC +CABIN_PRESS_MAN_VS_CTL_DN +CABIN_PRESS_MAN_VS_CTL_MID +CABIN_PRESS_MAN_VS_CTL_UP +CABIN_PRESS_MODE_SEL_MAN +Fly By Wire/A320-Dev/Anti-Ice:GROUP +ANTIICE_ENG1_TOGGLE +ANTIICE_ENG2_TOGGLE +ANTIICE_PROBE_WINDOW_TOGGLE +ANTIICE_WING_TOGGLE +Fly By Wire/A320-Dev/Autopilot:GROUP +A32NX_FCU_ALT_DEC +A32NX_FCU_ALT_INC +A32NX_FCU_ALT_INCREMENT_SET +A32NX_FCU_ALT_INCREMENT_TOGGLE +A32NX_FCU_ALT_PULL +A32NX_FCU_ALT_PUSH +A32NX_FCU_ALT_SET +A32NX_FCU_APPR_PUSH +A32NX_FCU_EXPED_PUSH +A32NX_FCU_LOC_PUSH +A32NX_FCU_VS_DEC +A32NX_FCU_VS_INC +A32NX_FCU_VS_PULL +A32NX_FCU_VS_PUSH +A32NX_FCU_VS_SET +Fly By Wire/A320-Dev/ECAM:GROUP +A32NX_ECAM_KNOB_LOWER_DEC +A32NX_ECAM_KNOB_UPPER_DEC +A32NX_ECAM_KNOB_UPPER_INC +Fly By Wire/A320-Dev/EFIS:GROUP +A32NX_BARO1_KNOB_PULL +A32NX_BARO1_KNOB_PUSH +A32NX_EFIS_LS_1_PUSH +A32NX_EFIS_L_ARPT_PUSH +A32NX_EFIS_L_CHRONO_PUSH +A32NX_EFIS_L_CSTR_PUSH +A32NX_EFIS_L_NAVAID_1_MODE_ADF +A32NX_EFIS_L_NAVAID_1_MODE_OFF +A32NX_EFIS_L_NAVAID_1_MODE_VOR +A32NX_EFIS_L_NAVAID_2_MODE_ADF +A32NX_EFIS_L_NAVAID_2_MODE_OFF +A32NX_EFIS_L_NAVAID_2_MODE_VOR +A32NX_EFIS_L_NDB_PUSH +A32NX_EFIS_L_ND_MODE_ARC +A32NX_EFIS_L_ND_MODE_DEC +A32NX_EFIS_L_ND_MODE_INC +A32NX_EFIS_L_ND_MODE_LS +A32NX_EFIS_L_ND_MODE_NAV +A32NX_EFIS_L_ND_MODE_PLAN +A32NX_EFIS_L_ND_MODE_VOR +A32NX_EFIS_L_ND_RANGE_10 +A32NX_EFIS_L_ND_RANGE_160 +A32NX_EFIS_L_ND_RANGE_20 +A32NX_EFIS_L_ND_RANGE_320 +A32NX_EFIS_L_ND_RANGE_40 +A32NX_EFIS_L_ND_RANGE_80 +A32NX_EFIS_L_ND_RANGE_DEC +A32NX_EFIS_L_ND_RANGE_INC +A32NX_EFIS_L_VORD_PUSH +A32NX_EFIS_L_WPT_PUSH +A32NX_EFIS_R_ARPT_PUSH +A32NX_EFIS_R_CHRONO_PUSH +A32NX_EFIS_R_CSTR_PUSH +A32NX_EFIS_R_NAVAID_1_MODE_ADF +A32NX_EFIS_R_NAVAID_1_MODE_OFF +A32NX_EFIS_R_NAVAID_1_MODE_VOR +A32NX_EFIS_R_NAVAID_2_MODE_ADF +A32NX_EFIS_R_NAVAID_2_MODE_OFF +A32NX_EFIS_R_NAVAID_2_MODE_VOR +A32NX_EFIS_R_NDB_PUSH +A32NX_EFIS_R_ND_MODE_ARC +A32NX_EFIS_R_ND_MODE_LS +A32NX_EFIS_R_ND_MODE_NAV +A32NX_EFIS_R_ND_MODE_PLAN +A32NX_EFIS_R_ND_MODE_VOR +A32NX_EFIS_R_ND_RANGE_10 +A32NX_EFIS_R_ND_RANGE_160 +A32NX_EFIS_R_ND_RANGE_20 +A32NX_EFIS_R_ND_RANGE_320 +A32NX_EFIS_R_ND_RANGE_40 +A32NX_EFIS_R_ND_RANGE_80 +A32NX_EFIS_R_ND_RANGE_INC +A32NX_EFIS_R_VORD_PUSH +A32NX_EFIS_R_WPT_PUSH +AUTOPILOT_BARO_DEC +AUTOPILOT_BARO_INC +Fly By Wire/A320-Dev/EICAS:GROUP +A32NX_ECAM_KNOB_LOWER_INC +Fly By Wire/A320-Dev/Electrical:GROUP +FORCE_OVHD_ELEC_BATTERTY_1_OFF +FORCE_OVHD_ELEC_BATTERTY_1_ON +FORCE_OVHD_ELEC_BATTERTY_2_OFF +FORCE_OVHD_ELEC_BATTERTY_2_ON +OVHD_ELEC_AC_ESS_FEED_TOGGLE +OVHD_ELEC_APU_GEN_TOGGLE +OVHD_ELEC_BATTERY_1_TOGGLE +OVHD_ELEC_BATTERY_2_TOGGLE +OVHD_ELEC_COMMERCIAL_TOGGLE +OVHD_ELEC_EXT_PWR_TOGGLE +OVHD_ELEC_GALY_AND_CAB_TOGGLE +OVHD_ELEC_GEN1_TOGGLE +OVHD_ELEC_GEN2_TOGGLE +Fly By Wire/A320-Dev/Engine:GROUP +A32NX_ENG1_MASTER_SWITCH_OFF +A32NX_ENG1_MASTER_SWITCH_ON +A32NX_ENG2_MASTER_SWITCH_OFF +A32NX_ENG2_MASTER_SWITCH_ON +Fly By Wire/A320-Dev/Fire:GROUP +FIRE_APU_AGENT1_DISCHARGE +FIRE_BUTTON_APU_ON +FIRE_BUTTON_ENG1_ON +FIRE_BUTTON_ENG2_ON +FIRE_ENG1_AGENT1_DISCHARGE +FIRE_ENG1_AGENT2_DISCHARGE +FIRE_ENG2_AGENT1_DISCHARGE +FIRE_ENG2_AGENT2_DISCHARGE +FIRE_GUARD_APU_TOGGLE +FIRE_GUARD_ENG1_TOGGLE +FIRE_GUARD_ENG2_TOGGLE +FIRE_TEST_APU_OFF +FIRE_TEST_APU_ON +FIRE_TEST_ENG1_OFF +FIRE_TEST_ENG1_ON +FIRE_TEST_ENG2_OFF +FIRE_TEST_ENG2_ON +Fly By Wire/A320-Dev/Fuel:GROUP +FUEL_CTK_PUMP1_ +FUEL_CTK_PUMP2 +FUEL_LTK_PUMP1 +FUEL_LTK_PUMP2 +FUEL_RTK_PUMP1 +FUEL_RTK_PUMP2 +FUEL_XFEED_VALVE_ON +HYD_ENG1_PUMP_TOGGLE +HYD_ENG2_PUMP_TOGGLE +HYD_EPUMP_BLUE_LOCK_TOGGLE +HYD_EPUMPB_IS_AUTO_TOGGLE +HYD_EPUMPY_IS_AUTO_TOGGLE +HYD_PTU_IS_AUTO_TOGGLE +HYD_RAT_MAN_ON_PRESSED +HYD_RAT_MAN_ON_RELEASED +Fly By Wire/A320-Dev/Gear:GROUP +ANTISKID_OFF +ANTISKID_ON +AUTOBRAKE_LOW_HARD-TOGGLE +AUTOBRAKE_MAX_HARD-TOGGLE +AUTOBRAKE_MED_HARD-TOGGLE +Fly By Wire/A320-Dev/Lights:GROUP +A32NX_LIGHTS_GLARESHIELD2_DEC +A32NX_LIGHTS_GLARESHIELD2_INC +A32NX_LIGHTS_GLARESHIELD3_DEC +A32NX_LIGHTS_GLARESHIELD3_INC +A32NX_OH_DOME_LIGHT_BRT +A32NX_OH_DOME_LIGHT_DIM +A32NX_OH_DOME_LIGHT_OFF +A32NX_OH_INTEG_LIGHT_DEC +A32NX_OH_INTEG_LIGHT_INC +BEACON_LIGHTS_OFF +BEACON_LIGHTS_ON +LANDING_LIGHTS_L_OFF +LANDING_LIGHTS_L_ON +LANDING_LIGHTS_L_RETRACT +LANDING_LIGHTS_R_OFF +LANDING_LIGHTS_R_ON +LANDING_LIGHTS_R_RETRACT +NAV_LOGO_LIGHTS_OFF +NAV_LOGO_LIGHTS_ON +NAV_LOGO_LIGHTS_TOGGLE +NOSE_LIGHTS_OFF +NOSE_LIGHTS_TAXI +NOSE_LIGHTS_TO +RUNWAY_TURNOFF_LIGHTS_OFF +RUNWAY_TURNOFF_LIGHTS_ON +STROBE_LIGHTS_AUTO +STROBE_LIGHTS_OFF +STROBE_LIGHTS_ON +WING_LIGHTS_OFF +WING_LIGHTS_ON +WING_LIGHTS_TOGGLE +Fly By Wire/A320-Dev/MCDU:GROUP +A320_Neo_CDU_1_BTN_INIT +A320_Neo_CDU_1_BTN_PERF +A320_Neo_CDU_1_BTN_PROG +Fly By Wire/A320-Dev/Miscellaneous:GROUP +A32NX_CHRONO_RST +A32NX_CHRONO_TOGGLE +A32NX_OVHD_RCDR_GND_CTL_TOGGLE +A32NX_OVHD_WIPER_L_FAST +A32NX_OVHD_WIPER_L_OFF +A32NX_OVHD_WIPER_L_SLOW +A32NX_OVHD_WIPER_R_FAST +A32NX_OVHD_WIPER_R_OFF +A32NX_OVHD_WIPER_R_SLOW +A32NX_SWITCH_RADAR_PWS_POSITION_AUTO +A32NX_SWITCH_RADAR_PWS_POSITION_OFF +COCKPIT_DOOR_LOCK +COCKPIT_DOOR_UNLOCK +PUSH_DOORPANEL_VIDEO_TOGGLE +Fly By Wire/A320-Dev/Navigation:GROUP +A32NX_OVHD_ADIRS_KNOB1_MODES_TOGGLE +A32NX_OVHD_ADIRS_KNOB2_MODES_TOGGLE +A32NX_OVHD_ADIRS_KNOB3_MODES_TOGGLE +A32NX_TCAS_TRAFFIC_POSITION_ABV +A32NX_TCAS_TRAFFIC_POSITION_ALL +A32NX_TCAS_TRAFFIC_POSITION_BLW +A32NX_TCAS_TRAFFIC_POSITION_THRT +ATC_Custom_Btn_0 +ATC_Custom_Btn_1 +ATC_Custom_Btn_2 +ATC_Custom_Btn_3 +ATC_Custom_Btn_4 +ATC_Custom_Btn_5 +ATC_Custom_Btn_6 +ATC_Custom_Btn_7 +ATC_Custom_Btn_CLR +OVHD_ADIRS_ADR_1_TOGGLE +OVHD_ADIRS_ADR_2_TOGGLE +OVHD_ADIRS_ADR_3_TOGGLE +OVHD_ADIRS_IR_1_TOGGLE +OVHD_ADIRS_IR_2_TOGGLE +OVHD_ADIRS_IR_3_TOGGLE +OVHD_ADIRS_KNOB1_ATT +OVHD_ADIRS_KNOB1_NAV +OVHD_ADIRS_KNOB1_OFF +OVHD_ADIRS_KNOB2_ATT +OVHD_ADIRS_KNOB2_NAV +OVHD_ADIRS_KNOB2_OFF +OVHD_ADIRS_KNOB3_ATT +OVHD_ADIRS_KNOB3_NAV +OVHD_ADIRS_KNOB3_OFF +TCAS_TRAFFIC_POSITION_ +Fly By Wire/A320-Dev/Passengers/Crew:GROUP +CABIN_EMERGENCY_LIGHT_ARM +CABIN_EMERGENCY_LIGHT_OFF +CABIN_EMERGENCY_LIGHT_ON +CABIN_NO_SMOKING_AUTO +CABIN_NO_SMOKING_OFF +CABIN_NO_SMOKING_ON +CABIN_SEATBELTS_ALERT_TOGGLE +Fly By Wire/A320-Dev/Radio:GROUP +A32NX_AIR_DATA_SWITCHING_CAPT +A32NX_AIR_DATA_SWITCHING_F_O +A32NX_AIR_DATA_SWITCHING_NORM +A32NX_ATT_HDG_SWITCHING_CAPT +A32NX_ATT_HDG_SWITCHING_F_O +A32NX_ATT_HDG_SWITCHING_NORM +A32NX_ECAM_ND_XFR_SWITCHING_CAPT +A32NX_ECAM_ND_XFR_SWITCHING_F_O +A32NX_ECAM_ND_XFR_SWITCHING_NORM +A32NX_EIS_DMC_SWITCHING_CAPT +A32NX_EIS_DMC_SWITCHING_F_O +A32NX_EIS_DMC_SWITCHING_NORM +A32NX_RMP_L_VHF2_BUTTON_PRESSED +Fly By Wire/A320-Dev/Safety:GROUP +A32NX_CABIN_SEATBELTS_ALERT_OFF +A32NX_CABIN_SEATBELTS_ALERT_ON +Fly By Wire/A320/Air Condition / Pressurization:GROUP +A320_Neo_AIRCOND_LVL_1_100 +A320_Neo_AIRCOND_LVL_1_25 +A320_Neo_AIRCOND_LVL_1_50 +A320_Neo_AIRCOND_LVL_1_75 +A320_Neo_AIRCOND_LVL_1_OFF +A320_Neo_AIRCOND_LVL_2_100 +A320_Neo_AIRCOND_LVL_2_25 +A320_Neo_AIRCOND_LVL_2_50 +A320_Neo_AIRCOND_LVL_2_75 +A320_Neo_AIRCOND_LVL_2_OFF +A320_Neo_AIRCOND_LVL_3_100 +A320_Neo_AIRCOND_LVL_3_25 +A320_Neo_AIRCOND_LVL_3_50 +A320_Neo_AIRCOND_LVL_3_75 +A320_Neo_AIRCOND_LVL_3_OFF +A32NX_AIRCOND_HOTAIR_TOGGLE_OFF +A32NX_AIRCOND_HOTAIR_TOGGLE_ON +A32NX_AIRCOND_PACK1_TOGGLE_OFF +A32NX_AIRCOND_PACK1_TOGGLE_ON +A32NX_AIRCOND_PACK2_TOGGLE_OFF +A32NX_AIRCOND_PACK2_TOGGLE_ON +A32NX_AIRCOND_RAMAIR_TOGGLE_OFF +A32NX_AIRCOND_RAMAIR_TOGGLE_ON +A32NX_APU_BLEED_OFF_OFF +A32NX_APU_BLEED_ON_ON +A32NX_KNOB_OVHD_AIRCOND_PACKFLOW_Position_HIGH +A32NX_KNOB_OVHD_AIRCOND_PACKFLOW_Position_LOW +A32NX_KNOB_OVHD_AIRCOND_PACKFLOW_Position_MED +A32NX_KNOB_OVHD_AIRCOND_XBLEED_Position_AUTO +A32NX_KNOB_OVHD_AIRCOND_XBLEED_Position_OPEN +A32NX_KNOB_OVHD_AIRCOND_XBLEED_Position_SHUT +A32NX_OH_AC_ENG1BLEED_TOG +A32NX_OH_AC_ENG2BLEED_TOG +A32NX_OH_APU_BLEED_TOG +PUSH_OVHD_OXYGEN_CREW_OFF +PUSH_OVHD_OXYGEN_CREW_ON +XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG1BLEED_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG1BLEED_Released_RELEASED +XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG2BLEED_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG2BLEED_Released_RELEASED +Fly By Wire/A320/Anti-Ice:GROUP +A32NX_MAN_PITOT_HEAT_OFF +A32NX_MAN_PITOT_HEAT_ON +A32NX_OH_ANTIICE_ENG1_TOG +A32NX_OH_ANTIICE_ENG2_TOG +XMLVAR_Momentary_PUSH_OVHD_ANTIICE_ENG1_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_ANTIICE_ENG1_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_ANTIICE_ENG2_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_ANTIICE_ENG2_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_ANTIICE_WING_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_ANTIICE_WING_Pressed_RELEASED +Fly By Wire/A320/Autopilot:GROUP +A320NX_APPR +A320NX_LOC +A320NX_METRIC_ALT_TOGGLE +A320_Neo_CDU_MODE_MANAGED_SPEED +A320_Neo_CDU_MODE_SELECTED_SPEED +A320_Neo_EXPEDITE_MODE +A320_Neo_FCU_ALT_PULL +A320_Neo_FCU_ALT_PUSH +A320_Neo_FCU_ALT_PUSH_PULL_TOG +A320_Neo_FCU_MODE_MANAGED_SPEED +A320_Neo_FCU_SPEED_DEC +A320_Neo_FCU_SPEED_INC +A320_Neo_FCU_SPEED_PULL +A320_Neo_FCU_SPEED_PUSH +A320_Neo_FCU_SPEED_PUSH_PULL_TOG +A320_Neo_FCU_SPEED_TOGGLE_SPEED_MACH +A320_Neo_FCU_VS_DEC +A320_Neo_FCU_VS_INC +A320_Neo_FCU_VS_PULL +A320_Neo_FCU_VS_PUSH +A320_Neo_FCU_VS_PUSH_PULL_TOG +A32NX_AP_MANAGED_SPEED_IN_MACH_TOGGLE +A32NX_FCU_ALT_DEC +A32NX_FCU_ALT_DEC100 +A32NX_FCU_ALT_DEC1000 +A32NX_FCU_ALT_INC +A32NX_FCU_ALT_INC100 +A32NX_FCU_ALT_INC1000 +ATHR_Disconnect_Push +ATHR_Push +Autopilot_1_Push +Autopilot_2_Push +Autopilot_Disconnect_Push +Autopilot_Altitude_Increment_TOGGLE +HDG_Decrease +HDG_Increase +HDG_Pull +HDG_Push +HDG_Push_Pull_Toggle +HDG_Set +SPD_Decrease +SPD_Increase +SPD_MACH_Toggle +SPD_Pull +SPD_Push +SPD_Set +TRK_FPA_Mode_Toggle +XMLVAR_Autopilot_Altitude_Increment_1000Feet +XMLVAR_Autopilot_Altitude_Increment_100Feet +Fly By Wire/A320/Avionics:GROUP +PUSH_AUTOPILOT_CHRONO_L +Fly By Wire/A320/ECAM:GROUP +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_APU +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_BLEED +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_COND +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_DOOR +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_ELEC +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_ENG +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_FTCL +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_FUEL +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_HYD +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_PRESS +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_STS +A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_WHEEL +A32NX_BTN_CLR2_PRESSED +A32NX_BTN_CLR2_RELEASED +A32NX_BTN_CLR_PRESSED +A32NX_BTN_CLR_RELEASED +A32NX_BTN_EMERCANC_PRESSED +A32NX_BTN_EMERCANC_RELEASED +A32NX_BTN_RCL_PRESSED +A32NX_BTN_RCL_RELEASED +A32NX_BTN_TOCONFIG_PRESSED +A32NX_BTN_TOCONFIG_RELEASED +A32NX_ECAM_ALL_Push_IsDown_PRESSED +A32NX_ECAM_ALL_Push_IsDown_RELEASED +A32NX_ECAM_BTN_TOCONFIG_Push +Fly By Wire/A320/EFIS:GROUP +A320_Neo_MFD_BTN_ARPT_1 +A320_Neo_MFD_BTN_ARPT_2 +A320_Neo_MFD_BTN_CSTR_1 +A320_Neo_MFD_BTN_CSTR_2 +A320_Neo_MFD_BTN_NDB_1 +A320_Neo_MFD_BTN_NDB_2 +A320_Neo_MFD_BTN_VORD_1 +A320_Neo_MFD_BTN_VORD_2 +A320_Neo_MFD_BTN_WPT_1 +A320_Neo_MFD_BTN_WPT_2 +A320_Neo_MFD_NAV_MODE_1_ARC +A320_Neo_MFD_NAV_MODE_1_DEC +A320_Neo_MFD_NAV_MODE_1_INC +A320_Neo_MFD_NAV_MODE_1_LS +A320_Neo_MFD_NAV_MODE_1_NAV +A320_Neo_MFD_NAV_MODE_1_PLAN +A320_Neo_MFD_NAV_MODE_1_VOR +A320_Neo_MFD_NAV_MODE_2_ARC +A320_Neo_MFD_NAV_MODE_2_DEC +A320_Neo_MFD_NAV_MODE_2_INC +A320_Neo_MFD_NAV_MODE_2_LS +A320_Neo_MFD_NAV_MODE_2_NAV +A320_Neo_MFD_NAV_MODE_2_PLAN +A320_Neo_MFD_NAV_MODE_2_VOR +A320_Neo_MFD_Range_1_10 +A320_Neo_MFD_Range_1_160 +A320_Neo_MFD_Range_1_20 +A320_Neo_MFD_Range_1_320 +A320_Neo_MFD_Range_1_40 +A320_Neo_MFD_Range_1_80 +A320_Neo_MFD_Range_1_DEC +A320_Neo_MFD_Range_1_INC +A320_Neo_MFD_Range_2_10 +A320_Neo_MFD_Range_2_160 +A320_Neo_MFD_Range_2_20 +A320_Neo_MFD_Range_2_320 +A320_Neo_MFD_Range_2_40 +A320_Neo_MFD_Range_2_80 +A320_Neo_MFD_Range_2_DEC +A320_Neo_MFD_Range_2_INC +A320_Neo_PFD_BTN_LS_1 +A320_Neo_PFD_BTN_LS_2 +A32NX_BARO_MODE_TOG3 +A32NX_BARO_SELECT_HPA +A32NX_BARO_SELECT_INHG +A32NX_BARO_SELECT_TOG +A32NX_EFIS_FD_PUSH +Baro_decrease +Baro_increase +Toggle_Flight_Director +XMLVAR_Baro1_Mode_QFE +XMLVAR_Baro1_Mode_QNH +XMLVAR_Baro1_Mode_STD +XMLVAR_Baro2_Mode_QFE +XMLVAR_Baro2_Mode_QNH +XMLVAR_Baro2_Mode_STD +XMLVAR_NAV_AID_SWITCH_L1_State_ADF +XMLVAR_NAV_AID_SWITCH_L1_State_Off +XMLVAR_NAV_AID_SWITCH_L1_State_VOR +XMLVAR_NAV_AID_SWITCH_L2_State_ADF +XMLVAR_NAV_AID_SWITCH_L2_State_Off +XMLVAR_NAV_AID_SWITCH_L2_State_VOR +XMLVAR_NAV_AID_SWITCH_R1_State_ADF +XMLVAR_NAV_AID_SWITCH_R1_State_Off +XMLVAR_NAV_AID_SWITCH_R1_State_VOR +XMLVAR_NAV_AID_SWITCH_R2_State_ADF +XMLVAR_NAV_AID_SWITCH_R2_State_Off +XMLVAR_NAV_AID_SWITCH_R2_State_VOR +Fly By Wire/A320/Electrical:GROUP +A32NX_APU_MASTER_SW +A32NX_APU_START +A32NX_ELEC_ACESSFEED_TOGGLE_ALTN +A32NX_ELEC_ACESSFEED_TOGGLE_ON +A32NX_ELEC_BUSTIE_TOGGLE_AUTO +A32NX_ELEC_BUSTIE_TOGGLE_OFF +A32NX_ELEC_COMMERCIAL_TOGGLE_OFF +A32NX_ELEC_COMMERCIAL_TOGGLE_ON +A32NX_ELEC_GALYCAB_TOGGLE_AUTO +A32NX_ELEC_GALYCAB_TOGGLE_OFF +A32NX_ELEC_IDG1_FAULT_PRESSED +A32NX_ELEC_IDG1_FAULT_RELEASED +A32NX_ELEC_IDG2_FAULT_PRESSED +A32NX_ELEC_IDG2_FAULT_RELEASED +A32NX_EMERELECPWR_EMERTESTLOCK_TOGGLE_OFF +A32NX_EMERELECPWR_EMERTESTLOCK_TOGGLE_ON +A32NX_EMERELECPWR_GEN1_TOGGLE_OFF +A32NX_EMERELECPWR_GEN1_TOGGLE_ON +A32NX_EMERELECPWR_MANONLOCK_TOGGLE_AUTO +A32NX_EMERELECPWR_MANONLOCK_TOGGLE_MAN +A32NX_OH_ELEC_APUGEN_TOG +A32NX_OH_ELEC_BAT1_TOG +A32NX_OH_ELEC_BAT2_TOG +A32NX_OH_ELEC_EXTPWR_TOG +A32NX_OH_ELEC_GEN1_TOG +A32NX_OH_ELEC_GEN2_TOG +ACPowerAvailable_PRESSED +ACPowerAvailable_RELEASED +XMLVAR_Momentary_PUSH_OVHD_APU_MASTERSW_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_APU_MASTERSW_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_ELEC_APUGEN_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_ELEC_APUGEN_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_ELEC_BAT1_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_ELEC_BAT1_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_ELEC_BAT2_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_ELEC_BAT2_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_ELEC_GEN1_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_ELEC_GEN1_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_ELEC_GEN2_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_ELEC_GEN2_Pressed_RELEASED +Fly By Wire/A320/Engines:GROUP +A32NX_THROTTLE_FULL_REVERSE_BUTTON +A32NX_ENG1_START_TOG +A32NX_ENG2_START_TOG +A32NX_ENG_MODE_CRANK +A32NX_ENG_MODE_IGNSTART +A32NX_ENG_MODE_NORMAL +Fly By Wire/A320/Flight Controls:GROUP +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_ELAC2_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_ELAC2_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_ELAC_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_ELAC_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_FAC2_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_FAC2_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_FAC_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_FAC_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_SEC2_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_SEC2_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_SEC3_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_SEC3_Pressed_RELEASED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_SEC_Pressed_PRESSED +XMLVAR_Momentary_PUSH_OVHD_FLTCTL_SEC_Pressed_RELEASED +Fly By Wire/A320/Fuel:GROUP +A32NX_OVHD_FUELSYSTEM_CTKPUMP1_TOGGLE +A32NX_OVHD_FUELSYSTEM_CTKPUMP2_TOGGLE +A32NX_OVHD_FUELSYSTEM_LTKPUMP1_TOGGLE +A32NX_OVHD_FUELSYSTEM_LTKPUMP2_TOGGLE +A32NX_OVHD_FUELSYSTEM_RTKPUMP1_TOGGLE +A32NX_OVHD_FUELSYSTEM_RTKPUMP2_TOGGLE +Fly By Wire/A320/Gear:GROUP +A32NX_BRAKE_FAN_BTN_PRESSED +Autobrake_Low_On +Autobrake_Low_Toggle +Autobrake_Max_On +Autobrake_Max_Toggle +Autobrake_Med_On +Autobrake_Med_Toggle +Fly By Wire/A320/Lights:GROUP +A32NX_BEACON_TOG_OFF +A32NX_BEACON_TOG_ON +A32NX_NAV_LIGHT_TOG +A32NX_OH_EXTLT_RWY_OFF +A32NX_OH_EXTLT_RWY_ON +A32NX_OH_EXTLT_RWY_TOG +A32NX_OH_LANDING_LIGHTS_OFF +A32NX_OH_LANDING_LIGHTS_ON +A32NX_OH_LANDING_LIGHTS_TOG +A32NX_OH_STROBES_TOG_AUTO +A32NX_OH_STROBES_TOG_OFF +A32NX_OH_STROBES_TOG_ON +ANN_LT_BRT +ANN_LT_DIM +ANN_LT_TEST +DOME_LIGHT_BRT +DOME_LIGHT_DIM1 +DOME_LIGHT_DIM2 +DOME_LIGHT_OFF +DOME_LIGHT_TOGGLE +EMER_EXIT_ARM +EMER_EXIT_OFF +EMER_EXIT_ON +LEFT_LANDING_LIGHTS_OFF +LEFT_LANDING_LIGHTS_RETRACTED +RIGHT_LANDING_LIGHTS_OFF +RIGHT_LANDING_LIGHTS_RETRACTED +STBY_COMPASS_LIGHT_OFF +STBY_COMPASS_LIGHT_TOGGLE +Fly By Wire/A320/Navigation:GROUP +A320_Neo_ATC_BTN_0 +A320_Neo_ATC_BTN_1 +A320_Neo_ATC_BTN_2 +A320_Neo_ATC_BTN_3 +A320_Neo_ATC_BTN_4 +A320_Neo_ATC_BTN_5 +A320_Neo_ATC_BTN_6 +A320_Neo_ATC_BTN_7 +A320_Neo_ATC_BTN_8 +A320_Neo_ATC_BTN_9 +A320_Neo_ATC_BTN_CLR +A320_Neo_ATC_BTN_IDENT +A320_Neo_CDU_1_BTN_0 +A320_Neo_CDU_1_BTN_1 +A320_Neo_CDU_1_BTN_2 +A320_Neo_CDU_1_BTN_3 +A320_Neo_CDU_1_BTN_4 +A320_Neo_CDU_1_BTN_5 +A320_Neo_CDU_1_BTN_6 +A320_Neo_CDU_1_BTN_7 +A320_Neo_CDU_1_BTN_8 +A320_Neo_CDU_1_BTN_9 +A320_Neo_CDU_1_BTN_A +A320_Neo_CDU_1_BTN_AIRPORT +A320_Neo_CDU_1_BTN_ATC +A320_Neo_CDU_1_BTN_B +A320_Neo_CDU_1_BTN_C +A320_Neo_CDU_1_BTN_CLR +A320_Neo_CDU_1_BTN_D +A320_Neo_CDU_1_BTN_DATA +A320_Neo_CDU_1_BTN_DIR +A320_Neo_CDU_1_BTN_DIV +A320_Neo_CDU_1_BTN_DOT +A320_Neo_CDU_1_BTN_DOWN +A320_Neo_CDU_1_BTN_E +A320_Neo_CDU_1_BTN_F +A320_Neo_CDU_1_BTN_FPLN +A320_Neo_CDU_1_BTN_FUEL +A320_Neo_CDU_1_BTN_G +A320_Neo_CDU_1_BTN_H +A320_Neo_CDU_1_BTN_I +A320_Neo_CDU_1_BTN_J +A320_Neo_CDU_1_BTN_K +A320_Neo_CDU_1_BTN_L +A320_Neo_CDU_1_BTN_L1 +A320_Neo_CDU_1_BTN_L2 +A320_Neo_CDU_1_BTN_L3 +A320_Neo_CDU_1_BTN_L4 +A320_Neo_CDU_1_BTN_L5 +A320_Neo_CDU_1_BTN_L6 +A320_Neo_CDU_1_BTN_M +A320_Neo_CDU_1_BTN_MENU +A320_Neo_CDU_1_BTN_N +A320_Neo_CDU_1_BTN_NEXTPAGE +A320_Neo_CDU_1_BTN_O +A320_Neo_CDU_1_BTN_OVFY +A320_Neo_CDU_1_BTN_P +A320_Neo_CDU_1_BTN_PERF +A320_Neo_CDU_1_BTN_PLUSMINUS +A320_Neo_CDU_1_BTN_PREVPAGE +A320_Neo_CDU_1_BTN_Q +A320_Neo_CDU_1_BTN_R +A320_Neo_CDU_1_BTN_R1 +A320_Neo_CDU_1_BTN_R2 +A320_Neo_CDU_1_BTN_R3 +A320_Neo_CDU_1_BTN_R4 +A320_Neo_CDU_1_BTN_R5 +A320_Neo_CDU_1_BTN_R6 +A320_Neo_CDU_1_BTN_RAD +A320_Neo_CDU_1_BTN_S +A320_Neo_CDU_1_BTN_SEC +A320_Neo_CDU_1_BTN_SP +A320_Neo_CDU_1_BTN_T +A320_Neo_CDU_1_BTN_U +A320_Neo_CDU_1_BTN_UP +A320_Neo_CDU_1_BTN_V +A320_Neo_CDU_1_BTN_W +A320_Neo_CDU_1_BTN_X +A320_Neo_CDU_1_BTN_Y +A320_Neo_CDU_1_BTN_Z +A320_Neo_CDU_2_BTN_0 +A320_Neo_CDU_2_BTN_1 +A320_Neo_CDU_2_BTN_2 +A320_Neo_CDU_2_BTN_3 +A320_Neo_CDU_2_BTN_4 +A320_Neo_CDU_2_BTN_5 +A320_Neo_CDU_2_BTN_6 +A320_Neo_CDU_2_BTN_7 +A320_Neo_CDU_2_BTN_8 +A320_Neo_CDU_2_BTN_9 +A320_Neo_CDU_2_BTN_A +A320_Neo_CDU_2_BTN_AIRPORT +A320_Neo_CDU_2_BTN_ATC +A320_Neo_CDU_2_BTN_B +A320_Neo_CDU_2_BTN_C +A320_Neo_CDU_2_BTN_CLR +A320_Neo_CDU_2_BTN_D +A320_Neo_CDU_2_BTN_DATA +A320_Neo_CDU_2_BTN_DIR +A320_Neo_CDU_2_BTN_DIV +A320_Neo_CDU_2_BTN_DOT +A320_Neo_CDU_2_BTN_DOWN +A320_Neo_CDU_2_BTN_E +A320_Neo_CDU_2_BTN_F +A320_Neo_CDU_2_BTN_FPLN +A320_Neo_CDU_2_BTN_FUEL +A320_Neo_CDU_2_BTN_G +A320_Neo_CDU_2_BTN_H +A320_Neo_CDU_2_BTN_I +A320_Neo_CDU_2_BTN_INIT +A320_Neo_CDU_2_BTN_J +A320_Neo_CDU_2_BTN_K +A320_Neo_CDU_2_BTN_L +A320_Neo_CDU_2_BTN_L1 +A320_Neo_CDU_2_BTN_L2 +A320_Neo_CDU_2_BTN_L3 +A320_Neo_CDU_2_BTN_L4 +A320_Neo_CDU_2_BTN_L5 +A320_Neo_CDU_2_BTN_L6 +A320_Neo_CDU_2_BTN_M +A320_Neo_CDU_2_BTN_MENU +A320_Neo_CDU_2_BTN_N +A320_Neo_CDU_2_BTN_NEXTPAGE +A320_Neo_CDU_2_BTN_O +A320_Neo_CDU_2_BTN_OVFY +A320_Neo_CDU_2_BTN_P +A320_Neo_CDU_2_BTN_PERF +A320_Neo_CDU_2_BTN_PLUSMINUS +A320_Neo_CDU_2_BTN_PREVPAGE +A320_Neo_CDU_2_BTN_PROG +A320_Neo_CDU_2_BTN_Q +A320_Neo_CDU_2_BTN_R +A320_Neo_CDU_2_BTN_R1 +A320_Neo_CDU_2_BTN_R2 +A320_Neo_CDU_2_BTN_R3 +A320_Neo_CDU_2_BTN_R4 +A320_Neo_CDU_2_BTN_R5 +A320_Neo_CDU_2_BTN_R6 +A320_Neo_CDU_2_BTN_RAD +A320_Neo_CDU_2_BTN_S +A320_Neo_CDU_2_BTN_SEC +A320_Neo_CDU_2_BTN_SP +A320_Neo_CDU_2_BTN_T +A320_Neo_CDU_2_BTN_U +A320_Neo_CDU_2_BTN_UP +A320_Neo_CDU_2_BTN_V +A320_Neo_CDU_2_BTN_W +A320_Neo_CDU_2_BTN_X +A320_Neo_CDU_2_BTN_Y +A320_Neo_CDU_2_BTN_Z +A32NX_ADIRS_1_PUSH +A32NX_ADIRS_2_PUSH +A32NX_ADIRS_3_PUSH +A32NX_ADIRS_KNOB_1_ATT +A32NX_ADIRS_KNOB_1_NAV +A32NX_ADIRS_KNOB_1_OFF +A32NX_ADIRS_KNOB_2_ATT +A32NX_ADIRS_KNOB_2_NAV +A32NX_ADIRS_KNOB_2_OFF +A32NX_ADIRS_KNOB_3_ATT +A32NX_ADIRS_KNOB_3_NAV +A32NX_ADIRS_KNOB_3_OFF +TCAS_SWITCH_POSITION_STBY +TCAS_SWITCH_POSITION_TA +TCAS_SWITCH_POSITION_TA_RA +Fly By Wire/A320/Passengers/Crew:GROUP +A32NX_CALLS_EMER_ON_OFF +A32NX_CALLS_EMER_ON_ON +A32NX_EVAC_CAPT_TOGGLE_CAPT +A32NX_EVAC_CAPT_TOGGLE_CAPT_AND_PURS +A32NX_EVAC_COMMAND_TOGGLE_OFF +A32NX_EVAC_COMMAND_TOGGLE_ON +NO_SMOKING_AUTO +NO_SMOKING_OFF +NO_SMOKING_ON +PUSH_OVHD_CALLS_AFT_OFF +PUSH_OVHD_CALLS_AFT_ON +PUSH_OVHD_CALLS_ALL_OFF +PUSH_OVHD_CALLS_ALL_ON +PUSH_OVHD_CALLS_FWD_OFF +PUSH_OVHD_CALLS_FWD_ON +PUSH_OVHD_CALLS_MECH_OFF +PUSH_OVHD_CALLS_MECH_ON +PUSH_OVHD_EVAC_HORN_OFF +PUSH_OVHD_EVAC_HORN_ON +SEATBELT_SWITCH +Fly By Wire/A320/Radio:GROUP +A320_Neo_FBW_BTN_L_ADF +A320_Neo_FBW_BTN_L_AM +A320_Neo_FBW_BTN_L_BFO +A320_Neo_FBW_BTN_L_HF1 +A320_Neo_FBW_BTN_L_HF2 +A320_Neo_FBW_BTN_L_ILS +A320_Neo_FBW_BTN_L_MLS +A320_Neo_FBW_BTN_L_NAV +A320_Neo_FBW_BTN_L_VHF1 +A320_Neo_FBW_BTN_L_VHF2 +A320_Neo_FBW_BTN_L_VHF3 +A320_Neo_FBW_BTN_L_VOR +A320_Neo_FBW_SWITCH_L_TOGGLE +A32NX_OVHD_COCKPITDOORVIDEO_TOGGLE_OFF +A32NX_OVHD_COCKPITDOORVIDEO_TOGGLE_ON +A32NX_RMP_L_INNER_KNOB_TURNED_ANTICLOCKWISE +A32NX_RMP_L_INNER_KNOB_TURNED_CLOCKWISE +A32NX_RMP_L_OFF +A32NX_RMP_L_ON +A32NX_RMP_L_OUTER_KNOB_TURNED_ANTICLOCKWISE +A32NX_RMP_L_OUTER_KNOB_TURNED_CLOCKWISE +A32NX_RMP_L_TOG +A32NX_RMP_L_TRANSFER_BUTTON_PRESSED +A32NX_RMP_R_OFF +A32NX_RMP_R_ON +A32NX_RMP_R_TOG +Fly By Wire/A320/Warning System:GROUP +A320_Neo_MFD_BTN_TERRONND_1 +A32NX_MASTER_CAUTION_PRESSED +A32NX_MASTER_CAUTION_RELEASED +A32NX_GPWS_FLAPS3_OFF +A32NX_GPWS_FLAPS3_ON +A32NX_GPWS_FLAP_OFF_OFF +A32NX_GPWS_FLAP_OFF_ON +A32NX_GPWS_GS_OFF_OFF +A32NX_GPWS_GS_OFF_ON +A32NX_GPWS_SYS_OFF_OFF +A32NX_GPWS_SYS_OFF_ON +A32NX_GPWS_TERR_OFF_OFF +A32NX_GPWS_TERR_OFF_ON +A32NX_MASTER_WARNING_PRESSED +A32NX_MASTER_WARNING_RELEASED +FlyInside/Bell 47 G/Electrical:GROUP +ALTERNATOR_SWITCH_TOGGLE +BATTERY_SWITCH_TOGGLE +IGNITION_KEY_SWITCH +INSTRUMENTS_POWER_SWITCH_TOGGLE +STARTER_COLLECTIVE_SWITCH +FlyInside/Bell 47 G/Engines:GROUP +OIL_TRANS_TEMP_SWAP +FlyInside/Bell 47 G/Flight Instrumentation:GROUP +BAROMETRIC_PRESSURE_ENCODER_DEC +BAROMETRIC_PRESSURE_ENCODER_INC +STD_PRESSURE_SW +FlyInside/Bell 47 G/Fuel:GROUP +FUEL_PRIMER_SWITCH_TOGGLE +FlyInside/Bell 47 G/Interaction:GROUP +CABIN_DOORS_TOGGLE +FlyInside/Bell 47 G/Lights:GROUP +BEACON_LIGHT_SWITCH_TOGGLE +CABIN_LIGHTS_ON_OFF +LANDING_LIGHT_SWITCH_TOGGLE +NAVIGATION_LIGHTS_SWITCH_TOGGLE +STROBE_LIGHT_SWITCH_TOGGLE +FlyInside/Bell 47 G/Miscellaneous:GROUP +OIL_TEMP_TRANS_SWITCH_TOGGLE +FlyInside/Bell 47 G/Radio:GROUP +COM_RADIO_KHZ_DEC_ENCODER +COM_RADIO_KHZ_INC_ENCODER +COM_RADIO_MHZ_DEC_ENCODER +COM_RADIO_MHZ_INC_ENCODER +COM_RADIO_STBY_ACTIVE_SWAP_SW +COM_RADIO_SWITCH_ON_OFF +TRANSPONDER_CODE_1000_INC +TRANSPONDER_CODE_100_INC +TRANSPONDER_CODE_10_INC +TRANSPONDER_CODE_1_INC +TRANSPONDER_MODE_CHANGE_ENCODER +Hype Performance Group/H135/Avionics:GROUP +H135_DISPLAY_CENTER_ON +H135_DISPLAY_LEFT_ON +H135_DISPLAY_RIGHT_ON +H135_Left_Lower_MFD +H135_MFDC_SoftKey_Bottom_1 +H135_MFDC_SoftKey_Bottom_2 +H135_MFDC_SoftKey_Bottom_3 +H135_MFDC_SoftKey_Bottom_4 +H135_MFDC_SoftKey_Bottom_5 +H135_MFDC_SoftKey_Bottom_6 +H135_MFDC_SoftKey_Left_1 +H135_MFDC_SoftKey_Left_2 +H135_MFDC_SoftKey_Left_3 +H135_MFDC_SoftKey_Left_4 +H135_MFDC_SoftKey_Left_5 +H135_MFDC_SoftKey_Left_6 +H135_MFDC_SoftKey_Right_1 +H135_MFDC_SoftKey_Right_2 +H135_MFDC_SoftKey_Right_3 +H135_MFDC_SoftKey_Right_4 +H135_MFDC_SoftKey_Right_5 +H135_MFDC_SoftKey_Right_6 +H135_MFDC_SoftKey_Top_1 +H135_MFDC_SoftKey_Top_2 +H135_MFDC_SoftKey_Top_3 +H135_MFDC_SoftKey_Top_4 +H135_MFDC_SoftKey_Top_5 +H135_MFDC_SoftKey_Top_6 +H135_MFDL_SoftKey_Bottom_1 +H135_MFDL_SoftKey_Bottom_2 +H135_MFDL_SoftKey_Bottom_3 +H135_MFDL_SoftKey_Bottom_4 +H135_MFDL_SoftKey_Bottom_5 +H135_MFDL_SoftKey_Bottom_6 +H135_MFDL_SoftKey_Left_1 +H135_MFDL_SoftKey_Left_2 +H135_MFDL_SoftKey_Left_3 +H135_MFDL_SoftKey_Left_4 +H135_MFDL_SoftKey_Left_5 +H135_MFDL_SoftKey_Left_6 +H135_MFDL_SoftKey_Right_1 +H135_MFDL_SoftKey_Right_2 +H135_MFDL_SoftKey_Right_3 +H135_MFDL_SoftKey_Right_4 +H135_MFDL_SoftKey_Right_5 +H135_MFDL_SoftKey_Right_6 +H135_MFDL_SoftKey_Top_1 +H135_MFDL_SoftKey_Top_2 +H135_MFDL_SoftKey_Top_3 +H135_MFDL_SoftKey_Top_4 +H135_MFDL_SoftKey_Top_5 +H135_MFDL_SoftKey_Top_6 +H135_MFDR_SoftKey_Bottom_1 +H135_MFDR_SoftKey_Bottom_2 +H135_MFDR_SoftKey_Bottom_3 +H135_MFDR_SoftKey_Bottom_4 +H135_MFDR_SoftKey_Bottom_5 +H135_MFDR_SoftKey_Bottom_6 +H135_MFDR_SoftKey_Left_1 +H135_MFDR_SoftKey_Left_2 +H135_MFDR_SoftKey_Left_3 +H135_MFDR_SoftKey_Left_4 +H135_MFDR_SoftKey_Left_5 +H135_MFDR_SoftKey_Left_6 +H135_MFDR_SoftKey_Right_1 +H135_MFDR_SoftKey_Right_2 +H135_MFDR_SoftKey_Right_3 +H135_MFDR_SoftKey_Right_4 +H135_MFDR_SoftKey_Right_5 +H135_MFDR_SoftKey_Right_6 +H135_MFDR_SoftKey_Top_1 +H135_MFDR_SoftKey_Top_2 +H135_MFDR_SoftKey_Top_3 +H135_MFDR_SoftKey_Top_4 +H135_MFDR_SoftKey_Top_5 +H135_MFDR_SoftKey_Top_6 +H135_Right_Lower_MFD +Hype Performance Group/H135/Engines:GROUP +H135_Engine1_Down +H135_Engine2_Down +H135_Engine2_Up +Hype Performance Group/H135/Miscellaneous:GROUP +H135_MFDC_Knob_Down +H135_MFDC_Knob_Up +H135_MFDC_SoftKey_Right_BRT_Down +H135_MFDC_SoftKey_Right_BRT_Up +H135_MFDL_Knob_Down +H135_MFDL_Knob_Up +H135_MFDL_SoftKey_Right_BRT_Down +H135_MFDL_SoftKey_Right_BRT_Up +H135_MFDR_Knob_Down +H135_MFDR_Knob_Up +H135_MFDR_SoftKey_Right_BRT_Down +H135_MFDR_SoftKey_Right_BRT_Up +H135_Search_Light +H135_Tablet_Open +H135_Turbo_Mode +Hype Performance Group/H135/Passengers/Crew:GROUP +H135_Pilot_0_Show +H135_Pilot_1_Show +Hype Performance Group/H145/Air Condition / Pressurization:GROUP +H145_SDK_OH_AIR_CONDITIONING_OFF +H145_SDK_OH_AIR_CONDITIONING_ON +H145_SDK_OH_COCKPIT_VENT_OFF +H145_SDK_OH_COCKPIT_VENT_ON +H145_SDK_OH_IBF_1_CLOSED +H145_SDK_OH_IBF_1_NORMAL +H145_SDK_OH_IBF_1_OPEN +H145_SDK_OH_IBF_2_CLOSED +H145_SDK_OH_IBF_2_NORMAL +H145_SDK_OH_IBF_2_OPEN +H145_SDK_OH_IBF_RECALL_OFF +H145_SDK_OH_IBF_RECALL_ON +Hype Performance Group/H145/Autopilot:GROUP +H145_SDK_APCP_ALTA_AntiClockwise +H145_SDK_APCP_ALTA_Clockwise +H145_SDK_APCP_ALT_TOGGLE +H145_SDK_APCP_AP1_TOGGLE +H145_SDK_APCP_AP2_TOGGLE +H145_SDK_APCP_ATRIM_TOGGLE +H145_SDK_APCP_BKUP_TOGGLE +H145_SDK_APCP_CRHT_AntiClockwise +H145_SDK_APCP_CRHT_Clockwise +H145_SDK_APCP_CRHT_TOGGLE +H145_SDK_APCP_HDG_AntiClockwise +H145_SDK_APCP_HDG_Clockwise +Hype Performance Group/H145/Avionics:GROUP +H145_MFD1_SoftKey_B1 +H145_MFD1_SoftKey_B2 +H145_MFD1_SoftKey_B3 +H145_MFD1_SoftKey_B4 +H145_MFD1_SoftKey_B5 +H145_MFD1_SoftKey_B6 +H145_MFD1_SoftKey_KnobInnerAntiClockwise +H145_MFD1_SoftKey_KnobInnerClockwise +H145_MFD1_SoftKey_KnobInnerPush +H145_MFD1_SoftKey_KnobInnerPushLong +H145_MFD1_SoftKey_KnobOuterAntiClockwise +H145_MFD1_SoftKey_KnobOuterClockwise +H145_MFD1_SoftKey_L1 +H145_MFD1_SoftKey_L2 +H145_MFD1_SoftKey_L3 +H145_MFD1_SoftKey_L4 +H145_MFD1_SoftKey_L5 +H145_MFD1_SoftKey_L6 +H145_MFD1_SoftKey_R1 +H145_MFD1_SoftKey_R2 +H145_MFD1_SoftKey_R3 +H145_MFD1_SoftKey_R4 +H145_MFD1_SoftKey_R5 +H145_MFD1_SoftKey_R6 +H145_MFD1_SoftKey_T1 +H145_MFD1_SoftKey_T2 +H145_MFD1_SoftKey_T3 +H145_MFD1_SoftKey_T4 +H145_MFD1_SoftKey_T5 +H145_MFD1_SoftKey_T6 +H145_MFD2_SoftKey_B1 +H145_MFD2_SoftKey_B2 +H145_MFD2_SoftKey_B3 +H145_MFD2_SoftKey_B4 +H145_MFD2_SoftKey_B5 +H145_MFD2_SoftKey_B6 +H145_MFD2_SoftKey_KnobInnerAntiClockwise +H145_MFD2_SoftKey_KnobInnerClockwise +H145_MFD2_SoftKey_KnobInnerPush +H145_MFD2_SoftKey_KnobInnerPushLong +H145_MFD2_SoftKey_KnobOuterAntiClockwise +H145_MFD2_SoftKey_KnobOuterClockwise +H145_MFD2_SoftKey_L1 +H145_MFD2_SoftKey_L2 +H145_MFD2_SoftKey_L3 +H145_MFD2_SoftKey_L4 +H145_MFD2_SoftKey_L5 +H145_MFD2_SoftKey_L6 +H145_MFD2_SoftKey_R1 +H145_MFD2_SoftKey_R2 +H145_MFD2_SoftKey_R3 +H145_MFD2_SoftKey_R4 +H145_MFD2_SoftKey_R5 +H145_MFD2_SoftKey_R6 +H145_MFD2_SoftKey_T1 +H145_MFD2_SoftKey_T2 +H145_MFD2_SoftKey_T3 +H145_MFD2_SoftKey_T4 +H145_MFD2_SoftKey_T5 +H145_MFD2_SoftKey_T6 +H145_MFD4_SoftKey_B1 +H145_MFD4_SoftKey_B2 +H145_MFD4_SoftKey_B3 +H145_MFD4_SoftKey_B4 +H145_MFD4_SoftKey_B5 +H145_MFD4_SoftKey_B6 +H145_MFD4_SoftKey_KnobInnerAntiClockwise +H145_MFD4_SoftKey_KnobInnerClockwise +H145_MFD4_SoftKey_KnobInnerPush +H145_MFD4_SoftKey_KnobInnerPushLong +H145_MFD4_SoftKey_KnobOuterAntiClockwise +H145_MFD4_SoftKey_KnobOuterClockwise +H145_MFD4_SoftKey_L1 +H145_MFD4_SoftKey_L2 +H145_MFD4_SoftKey_L3 +H145_MFD4_SoftKey_L4 +H145_MFD4_SoftKey_L5 +H145_MFD4_SoftKey_L6 +H145_MFD4_SoftKey_R1 +H145_MFD4_SoftKey_R2 +H145_MFD4_SoftKey_R3 +H145_MFD4_SoftKey_R4 +H145_MFD4_SoftKey_R5 +H145_MFD4_SoftKey_R6 +H145_MFD4_SoftKey_T1 +H145_MFD4_SoftKey_T2 +H145_MFD4_SoftKey_T3 +H145_MFD4_SoftKey_T4 +H145_MFD4_SoftKey_T5 +H145_MFD4_SoftKey_T6 +Hype Performance Group/H145/Electrical:GROUP +H145_SDK_OH_BAT_MASTER_ENGAGE +H145_SDK_OH_BAT_MASTER_OFF +H145_SDK_OH_BAT_MASTER_ON +H145_SDK_OH_DC_RECEPT_OFF +H145_SDK_OH_DC_RECEPT_ON +Hype Performance Group/H145/Engines:GROUP +H145_SDK_ECP_FADEC_EMER_1_OFF +H145_SDK_ECP_FADEC_EMER_1_ON +H145_SDK_ECP_FADEC_EMER_2_OFF +H145_SDK_ECP_FADEC_EMER_2_ON +H145_SDK_ECP_MAIN_1_FLIGHT +H145_SDK_ECP_MAIN_1_IDLE +H145_SDK_ECP_MAIN_1_OFF +H145_SDK_ECP_MAIN_2_FLIGHT +H145_SDK_ECP_MAIN_2_IDLE +H145_SDK_ECP_MAIN_2_OFF +H145_SDK_ECP_MAIN_LATCH_1_OFF +H145_SDK_ECP_MAIN_LATCH_1_ON +H145_SDK_ECP_MAIN_LATCH_2_OFF +H145_SDK_ECP_MAIN_LATCH_2_ON +Hype Performance Group/H145/Fuel:GROUP +H145_SDK_OH_FUEL_ENG1_PRIME_OFF +H145_SDK_OH_FUEL_ENG1_PRIME_ON +H145_SDK_OH_FUEL_ENG2_PRIME_OFF +H145_SDK_OH_FUEL_ENG2_PRIME_ON +H145_SDK_OH_FUEL_TRANSFER_AFT_OFF +H145_SDK_OH_FUEL_TRANSFER_AFT_ON +H145_SDK_OH_FUEL_TRANSFER_FWD_OFF +H145_SDK_OH_FUEL_TRANSFER_FWD_ON +Hype Performance Group/H145/Lights:GROUP +H145_SDK_OH_INT_LIGHT_CARGO_PAX_OFF +H145_SDK_OH_INT_LIGHT_CARGO_PAX_ON +H145_SDK_OH_INT_LIGHT_CARGO_PAX_PAX +H145_SDK_OH_INT_LIGHT_EMERGENCY_EXITS_ARM +H145_SDK_OH_INT_LIGHT_EMERGENCY_EXITS_OFF +H145_SDK_OH_INT_LIGHT_EMERGENCY_EXITS_ON +H145_SDK_OH_INT_LIGHT_INSTRUMENT_PANEL_OFF +H145_SDK_OH_INT_LIGHT_INSTRUMENT_PANEL_ON +Hype Performance Group/H145/Miscellaneous:GROUP +H145_SDK_DOOR_CARGO_L_TOGGLE +H145_SDK_DOOR_CARGO_R_TOGGLE +H145_SDK_DOOR_COCKPIT_L_TOGGLE +H145_SDK_DOOR_COCKPIT_R_TOGGLE +H145_SDK_DOOR_PAX_L_TOGGLE +H145_SDK_DOOR_PAX_R_TOGGLE +H145_SDK_OH_WINDSHIELD_WIPER_FAST +H145_SDK_OH_WINDSHIELD_WIPER_OFF +H145_SDK_OH_WINDSHIELD_WIPER_SLOW +Hype Performance Group/H145/Radio:GROUP +H145_SDK_OH_AUDIO_ACAS_MUTE +H145_SDK_OH_AUDIO_ACAS_NORMAL +H145_SDK_OH_AUDIO_ACAS_TEST +H145_SDK_OH_AUDIO_HTAWS_MUTE +H145_SDK_OH_AUDIO_HTAWS_NORMAL +H145_SDK_OH_AUDIO_HTAWS_STANDBY +Hype Performance Group/H145/Safety:GROUP +H145_SDK_OH_EMER_FLOATS_ARM +H145_SDK_OH_EMER_FLOATS_OFF +H145_SDK_OH_EMER_FLOATS_TEST +H145_SDK_OH_FIRE_ENG1_TEST_EXT +H145_SDK_OH_FIRE_ENG1_TEST_EXT_WARN +H145_SDK_OH_FIRE_ENG1_TEST_OFF +H145_SDK_OH_FIRE_ENG2_TEST_EXT +H145_SDK_OH_FIRE_ENG2_TEST_EXT_WARN +H145_SDK_OH_FIRE_ENG2_TEST_OFF +H145_SDK_OH_FUZZ_CHIP_BURNER_OFF +H145_SDK_OH_FUZZ_CHIP_BURNER_ON +H145_SDK_OH_HYD_TEST_OFF +H145_SDK_OH_HYD_TEST_SYS1 +H145_SDK_OH_HYD_TEST_SYS2 +H145_SDK_OH_LAMP_TEST_LAMP +H145_SDK_OH_LAMP_TEST_OFF +H145_SDK_OH_LAMP_TEST_PREFLIGHT +H145_SDK_OH_LAVCS_OFF +H145_SDK_OH_LAVCS_PAX +H145_SDK_OH_LAVCS_PIL +Just Flight/Hawk T1/Anti-Ice:GROUP +HT1_FWD_LEFT_PitotHeat_Off +HT1_FWD_LEFT_PitotHeat_On +Just Flight/Hawk T1/Avionics:GROUP +HT1_FWD_KNEE_Erect_Press +HT1_FWD_KNEE_Erect_Release +HT1_FWD_KNEE_HSI_Mode_DG +HT1_FWD_KNEE_HSI_Mode_Off +HT1_FWD_KNEE_HSI_Mode_SLV +HT1_FWD_KNEE_Hdg_Push +HT1_FWD_KNEE_Hdg_Set_Dec +HT1_FWD_KNEE_Hdg_Set_Inc +HT1_FWD_KNEE_Lat_Dec +HT1_FWD_KNEE_Lat_Inc +HT1_FWD_RIGHT_IFF_Dig1_Down +HT1_FWD_RIGHT_IFF_Dig1_Release +HT1_FWD_RIGHT_IFF_Dig1_Up +HT1_FWD_RIGHT_IFF_Dig2_Down +HT1_FWD_RIGHT_IFF_Dig2_Release +HT1_FWD_RIGHT_IFF_Dig2_Up +HT1_FWD_RIGHT_IFF_Dig3_Down +HT1_FWD_RIGHT_IFF_Dig3_Release +HT1_FWD_RIGHT_IFF_Dig3_Up +HT1_FWD_RIGHT_IFF_Dig4_Down +HT1_FWD_RIGHT_IFF_Dig4_Release +HT1_FWD_RIGHT_IFF_Dig4_Up +HT1_FWD_RIGHT_IFF_Func_Down +HT1_FWD_RIGHT_IFF_Func_Release +HT1_FWD_RIGHT_IFF_Func_Up +HT1_FWD_RIGHT_IFF_Ident_Press +HT1_FWD_RIGHT_IFF_Ident_Release +HT1_FWD_RIGHT_IFF_LR_Center +HT1_FWD_RIGHT_IFF_LR_L +HT1_FWD_RIGHT_IFF_LR_R +HT1_FWD_RIGHT_IFF_M1_Auto +HT1_FWD_RIGHT_IFF_M1_M1 +HT1_FWD_RIGHT_IFF_M1_Out +HT1_FWD_RIGHT_IFF_M2_M2 +HT1_FWD_RIGHT_IFF_M2_Out +HT1_FWD_RIGHT_IFF_M3A_Auto +HT1_FWD_RIGHT_IFF_M3A_M3A +HT1_FWD_RIGHT_IFF_M3A_Out +HT1_FWD_RIGHT_IFF_M5_M5 +HT1_FWD_RIGHT_IFF_M5_Out +HT1_FWD_RIGHT_IFF_MC_MC +HT1_FWD_RIGHT_IFF_MC_MCS +HT1_FWD_RIGHT_IFF_MC_Out +HT1_FWD_RIGHT_IFF_MS_MS +HT1_FWD_RIGHT_IFF_MS_Out +HT1_FWD_RIGHT_IFF_Master_Norm +HT1_FWD_RIGHT_IFF_Master_PullEmer +HT1_FWD_RIGHT_IFF_Master_PullOff +HT1_FWD_RIGHT_IFF_Master_Stby +HT1_FWD_RIGHT_IFF_Master_TA +HT1_FWD_RIGHT_IFF_Master_TARA +HT1_FWD_RIGHT_IFF_Mode4_4A +HT1_FWD_RIGHT_IFF_Mode4_4B +HT1_FWD_RIGHT_IFF_Mode4_Hold +HT1_FWD_RIGHT_IFF_Mode4_PullErase +HT1_FWD_RIGHT_IFF_Mode4_PullOut +HT1_FWD_RIGHT_IFF_Test_Press +HT1_FWD_RIGHT_IFF_Test_Release +HT1_FWD_RIGHT_ILS_Dig1_Dec +HT1_FWD_RIGHT_ILS_Dig1_Inc +HT1_FWD_RIGHT_ILS_Dig2_Dec +HT1_FWD_RIGHT_ILS_Dig2_Inc +HT1_FWD_RIGHT_ILS_Dig3_Dec +HT1_FWD_RIGHT_ILS_Dig3_Inc +HT1_FWD_RIGHT_ILS_Dig4_Dec +HT1_FWD_RIGHT_ILS_Dig4_Inc +HT1_FWD_RIGHT_ILS_Mode_Dec +HT1_FWD_RIGHT_ILS_Mode_ILS +HT1_FWD_RIGHT_ILS_Mode_Inc +HT1_FWD_RIGHT_ILS_Mode_Off +HT1_FWD_RIGHT_ILS_Mode_VOR +HT1_FWD_RIGHT_TACAN_Left_Dec +HT1_FWD_RIGHT_TACAN_Left_Inc +HT1_FWD_RIGHT_TACAN_Mode_Dec +HT1_FWD_RIGHT_TACAN_Mode_Inc +HT1_FWD_RIGHT_TACAN_Mode_Off +HT1_FWD_RIGHT_TACAN_Mode_RX +HT1_FWD_RIGHT_TACAN_Mode_TXRX +HT1_FWD_RIGHT_TACAN_Right_Dec +HT1_FWD_RIGHT_TACAN_Right_Inc +HT1_FWD_RIGHT_TACAN_XY_Dec +HT1_FWD_RIGHT_TACAN_XY_Inc +HT1_FWD_RIGHT_TACAN_XY_Toggle +HT1_FWD_Sight_depression_Dec +HT1_FWD_Sight_depression_Inc +HT1_FWD_Sight_drift_Dec +HT1_FWD_Sight_drift_Inc +HT1_FWD_Sight_mode_B +HT1_FWD_Sight_mode_Dec +HT1_FWD_Sight_mode_G +HT1_FWD_Sight_mode_GA +HT1_FWD_Sight_mode_Inc +HT1_FWD_Sight_mode_M +HT1_FWD_Sight_mode_Off +HT1_FWD_Sight_mode_R +HT1_FWD_Sight_mode_S +Just Flight/Hawk T1/Controls:GROUP +HT1_FWD_KNEE_RudderLock_Toggle +HT1_FWD_LEFT_AileronTrim_1_Left +HT1_FWD_LEFT_AileronTrim_1_Release +HT1_FWD_LEFT_AileronTrim_1_Right +HT1_FWD_LEFT_AileronTrim_2_Left +HT1_FWD_LEFT_AileronTrim_2_Release +HT1_FWD_LEFT_AileronTrim_2_Right +HT1_FWD_LEFT_Airbrake_Dec +HT1_FWD_LEFT_Airbrake_Inc +HT1_FWD_LEFT_Airbrake_Release +HT1_FWD_LEFT_FlapSel_Down +HT1_FWD_LEFT_FlapSel_Mid +HT1_FWD_LEFT_FlapSel_Up +HT1_FWD_LEFT_RudderTrim_Left +HT1_FWD_LEFT_RudderTrim_Release +HT1_FWD_LEFT_RudderTrim_Right +HT1_FWD_LEFT_TailTrim_Cover_Close +HT1_FWD_LEFT_TailTrim_Cover_Open +HT1_FWD_LEFT_TailTrim_Switch_Down +HT1_FWD_LEFT_TailTrim_Switch_Release +HT1_FWD_LEFT_TailTrim_Switch_Up +HT1_FWD_STICK_Trim_Dec +HT1_FWD_STICK_Trim_Inc +HT1_FWD_STICK_Trim_Release +Just Flight/Hawk T1/Electrical:GROUP +HT1_FWD_LEFT_AC3Reset_Press +HT1_FWD_LEFT_AC3Reset_Release +HT1_FWD_LEFT_Batt1_Off +HT1_FWD_LEFT_Batt1_On +HT1_FWD_LEFT_Batt2_Off +HT1_FWD_LEFT_Batt2_On +Just Flight/Hawk T1/Engines:GROUP +HT1_FWD_LEFT_Airbrake_In +HT1_FWD_LEFT_Airbrake_Out +HT1_FWD_LEFT_EngStart_Off +HT1_FWD_LEFT_EngStart_On +HT1_FWD_LEFT_EngStart_Start +HT1_FWD_LEFT_Ignition_off +HT1_FWD_LEFT_Ignition_on +HT1_FWD_LEFT_ThrottleRelight_Press +HT1_FWD_LEFT_ThrottleRelight_Release +HT1_FWD_THROTTLE_Idle_Stop_Toggle +Just Flight/Hawk T1/Flight Instrumentation:GROUP +HT1_FWD_ALT_Baro_Dec +HT1_FWD_ALT_Baro_Inc +HT1_FWD_DGI_Knob_Pull +HT1_FWD_DGI_Knob_Push +HT1_FWD_DGI_Knob_Set_Dec +HT1_FWD_DGI_Knob_Set_Inc +HT1_FWD_Gmeter_Push_Press +HT1_FWD_Gmeter_Push_Release +HT1_FWD_HSI_Crs_Knob_Dec +HT1_FWD_HSI_Crs_Knob_Inc +HT1_FWD_HSI_Hdg_Knob_Dec +HT1_FWD_HSI_Hdg_Knob_Inc +HT1_FWD_LEFT_Altimeter_Release +HT1_FWD_LEFT_Altimeter_Test +HT1_FWD_STBY_ALT_Baro_Dec +HT1_FWD_STBY_ALT_Baro_Inc +HT1_FWD_Stby_Inst_Pwr_Batt +HT1_FWD_Stby_Inst_Pwr_Normal +Just Flight/Hawk T1/Fuel:GROUP +HT1_FWD_LEFT_FuelFlow_Off +HT1_FWD_LEFT_FuelFlow_On +HT1_FWD_LEFT_FuelPump_Off +HT1_FWD_LEFT_FuelPump_On +Just Flight/Hawk T1/Gear:GROUP +HT1_FWD_LEFT_AntiSkid_Off +HT1_FWD_LEFT_AntiSkid_On +HT1_FWD_LEFT_Gear_Down_Press +HT1_FWD_LEFT_Gear_Up_Press +Just Flight/Hawk T1/Hydraulic:GROUP +HT1_FWD_LEFT_HydReset_Press +HT1_FWD_LEFT_HydReset_Release +Just Flight/Hawk T1/Lights:GROUP +HT1_FWD_Land_Taxi_Down +HT1_FWD_Land_Taxi_Up +HT1_FWD_RIGHT_Lights_Anticol_Lower_Off +HT1_FWD_RIGHT_Lights_Anticol_Lower_Red +HT1_FWD_RIGHT_Lights_Anticol_Lower_White +HT1_FWD_RIGHT_Lights_Anticol_Upper_Off +HT1_FWD_RIGHT_Lights_Anticol_Upper_Red +HT1_FWD_RIGHT_Lights_Anticol_Upper_White +HT1_FWD_RIGHT_Lights_Centre_Dec +HT1_FWD_RIGHT_Lights_Centre_Inc +HT1_FWD_RIGHT_Lights_Compass_Off +HT1_FWD_RIGHT_Lights_Compass_On +HT1_FWD_RIGHT_Lights_Emer_Off +HT1_FWD_RIGHT_Lights_Emer_On +HT1_FWD_RIGHT_Lights_Nav_Down +HT1_FWD_RIGHT_Lights_Nav_Up +HT1_FWD_RIGHT_Lights_Panel_Off +HT1_FWD_RIGHT_Lights_Panel_On +HT1_FWD_RIGHT_Lights_Port_Dec +HT1_FWD_RIGHT_Lights_Port_Inc +HT1_FWD_RIGHT_Lights_Stbd_Dec +HT1_FWD_RIGHT_Lights_Stbd_Inc +Just Flight/Hawk T1/Miscellaneous:GROUP +HT1_Canopy_click +HT1_FWD_LEFT_FreqCard_Toggle +HT1_FWD_LEFT_Stopwatch_Click +HT1_FWD_LEFT_Stopwatch_Knob_Push +HT1_FWD_LEFT_Stopwatch_Knob_Release +HT1_FWD_LEFT_Stopwatch_Reset_Push +HT1_FWD_LEFT_Stopwatch_Reset_Release +HT1_FWD_MISC_MapLight_Left_Toggle +HT1_FWD_MISC_MapLight_Right_Toggle +HT1_FWD_RIGHT_Air_Mode_Dec +HT1_FWD_RIGHT_Air_Mode_Inc +HT1_FWD_RIGHT_Air_Temp_Dec +HT1_FWD_RIGHT_Air_Temp_Inc +HT1_FWD_RIGHT_Airbrake_Test_Off +HT1_FWD_RIGHT_Airbrake_Test_On +HT1_FWD_RIGHT_FreqCard_Toggle +HT1_FWD_RIGHT_Oxygen_Toggle +HT1_FWD_RIGHT_Seat_Lower +HT1_FWD_RIGHT_Seat_Raise +HT1_FWD_STICK_Camera_Press +HT1_FWD_STICK_Camera_Release +HT1_RA_L_Smoke_Blue_Select +HT1_RA_L_Smoke_Red_Select +HT1_RA_L_Smoke_White_Select +HT1_RA_R_Smoke_Blue_Select +HT1_RA_R_Smoke_Red_Select +HT1_RA_R_Smoke_White_Select +HT1_RA_Smoke_Switch_Off +HT1_RA_Smoke_Switch_On +HT1_SHARED_Canopy_Handle_Toggle +Just Flight/Hawk T1/Navigation:GROUP +HT1_FWD_GPS_Brt_Press +HT1_FWD_GPS_Brt_Release +HT1_FWD_GPS_Func_1_Press +HT1_FWD_GPS_Func_1_Release +HT1_FWD_GPS_Func_2_Press +HT1_FWD_GPS_Func_2_Release +HT1_FWD_GPS_Func_3_Press +HT1_FWD_GPS_Func_3_Release +HT1_FWD_GPS_Func_4_Press +HT1_FWD_GPS_Func_4_Release +HT1_FWD_GPS_Func_5_Press +HT1_FWD_GPS_Func_5_Release +HT1_FWD_GPS_Power_Press +HT1_FWD_GPS_Power_Release +HT1_FWD_MAIN_ILS_Marker_Press +HT1_FWD_MAIN_ILS_Marker_Release +Just Flight/Hawk T1/Radio:GROUP +HT1_FWD_LEFT_AltPTT_Push +HT1_FWD_LEFT_AltPTT_Release +HT1_FWD_LEFT_RadioMute_Off +HT1_FWD_LEFT_RadioMute_On +HT1_FWD_LEFT_ThrottleTransmit_Press +HT1_FWD_LEFT_ThrottleTransmit_Release +HT1_FWD_LEFT_UHF_A +HT1_FWD_LEFT_UHF_Main +HT1_FWD_LEFT_UHF_Stby +HT1_FWD_MAIN_UHF_Pwr_Batt +HT1_FWD_MAIN_UHF_Pwr_Normal +HT1_FWD_RIGHT_CCS_Fail +HT1_FWD_RIGHT_CCS_Ic_Dec +HT1_FWD_RIGHT_CCS_Ic_Inc +HT1_FWD_RIGHT_CCS_Ils_Off +HT1_FWD_RIGHT_CCS_Ils_On +HT1_FWD_RIGHT_CCS_Norm +HT1_FWD_RIGHT_CCS_Ptt_Alt +HT1_FWD_RIGHT_CCS_Ptt_Norm +HT1_FWD_RIGHT_CCS_Rx_Dec +HT1_FWD_RIGHT_CCS_Rx_Inc +HT1_FWD_RIGHT_CCS_Sel_Uhf +HT1_FWD_RIGHT_CCS_Sel_Vhf +HT1_FWD_RIGHT_CCS_Tacan_Off +HT1_FWD_RIGHT_CCS_Tacan_On +HT1_FWD_RIGHT_CCS_Uhf_Off +HT1_FWD_RIGHT_CCS_Uhf_On +HT1_FWD_RIGHT_CCS_Vhf_Off +HT1_FWD_RIGHT_CCS_Vhf_On +HT1_FWD_RIGHT_VHF_Ant_Lower +HT1_FWD_RIGHT_VHF_Ant_Upper +HT1_FWD_RIGHT_VHF_Brt_Dec +HT1_FWD_RIGHT_VHF_Brt_Inc +HT1_FWD_RIGHT_VHF_Brt_Release +HT1_FWD_RIGHT_VHF_Enter_Press +HT1_FWD_RIGHT_VHF_Enter_Release +HT1_FWD_RIGHT_VHF_Frq_Mode_121 +HT1_FWD_RIGHT_VHF_Frq_Mode_243 +HT1_FWD_RIGHT_VHF_Frq_Mode_ECCM +HT1_FWD_RIGHT_VHF_Frq_Mode_MAN +HT1_FWD_RIGHT_VHF_Frq_Mode_MAR +HT1_FWD_RIGHT_VHF_Frq_Mode_PRST +HT1_FWD_RIGHT_VHF_Menu_Press +HT1_FWD_RIGHT_VHF_Menu_Release +HT1_FWD_RIGHT_VHF_NavSel_Down +HT1_FWD_RIGHT_VHF_NavSel_Release +HT1_FWD_RIGHT_VHF_NavSel_Up +HT1_FWD_RIGHT_VHF_OP_Mode_ARF +HT1_FWD_RIGHT_VHF_OP_Mode_OFF +HT1_FWD_RIGHT_VHF_OP_Mode_TEST +HT1_FWD_RIGHT_VHF_OP_Mode_TR +HT1_FWD_RIGHT_VHF_OP_Mode_TRG +HT1_FWD_RIGHT_VHF_OP_Mode_ZERO +HT1_FWD_RIGHT_VHF_Ptt_Off +HT1_FWD_RIGHT_VHF_Ptt_On +HT1_FWD_RIGHT_VHF_Sel_1_Dec +HT1_FWD_RIGHT_VHF_Sel_1_Inc +HT1_FWD_RIGHT_VHF_Sel_2_Dec +HT1_FWD_RIGHT_VHF_Sel_2_Inc +HT1_FWD_RIGHT_VHF_Sel_3_Dec +HT1_FWD_RIGHT_VHF_Sel_3_Inc +HT1_FWD_RIGHT_VHF_Sel_4_Dec +HT1_FWD_RIGHT_VHF_Sel_4_Inc +HT1_FWD_RIGHT_VHF_Sel_5_Dec +HT1_FWD_RIGHT_VHF_Sel_5_Inc +HT1_FWD_RIGHT_VHF_Squelch_Press +HT1_FWD_RIGHT_VHF_Squelch_Release +HT1_FWD_RIGHT_VHF_Vol_Down +HT1_FWD_RIGHT_VHF_Vol_Release +HT1_FWD_RIGHT_VHF_Vol_Up +HT1_FWD_STICK_MuteButton_Press +HT1_FWD_STICK_MuteButton_Release +HT1_FWD_UHF_Dig1_Dec +HT1_FWD_UHF_Dig1_Inc +HT1_FWD_UHF_Dig2_Dec +HT1_FWD_UHF_Dig2_Inc +HT1_FWD_UHF_Dig3_Dec +HT1_FWD_UHF_Dig3_Inc +HT1_FWD_UHF_Dig4_Dec +HT1_FWD_UHF_Dig4_Inc +HT1_FWD_UHF_Dig5_Dec +HT1_FWD_UHF_Dig5_Inc +HT1_FWD_UHF_Mode_ADF +HT1_FWD_UHF_Mode_Both +HT1_FWD_UHF_Mode_Main +HT1_FWD_UHF_Mode_Off +HT1_FWD_UHF_Preset_Sel_Dec +HT1_FWD_UHF_Preset_Sel_Inc +HT1_FWD_UHF_Squelch_Off +HT1_FWD_UHF_Squelch_On +HT1_FWD_UHF_Store +HT1_FWD_UHF_Tone_Press +HT1_FWD_UHF_Tone_Release +HT1_FWD_UHF_Trans_Guard +HT1_FWD_UHF_Trans_Manual +HT1_FWD_UHF_Trans_Preset +HT1_FWD_UHF_Vol_Dec +HT1_FWD_UHF_Vol_Inc +Just Flight/Hawk T1/Safety:GROUP +HT1_FWD_LEFT_FlapStby_Button +HT1_FWD_LEFT_FlapStby_Handle +HT1_FWD_LEFT_GearStby_Button +HT1_FWD_LEFT_GearStby_Handle +HT1_FWD_MAIN_CWP_FireExt_Press +HT1_FWD_MAIN_CWP_FireExt_Release +HT1_FWD_MAIN_CWP_Test_Cover_Toggle +HT1_FWD_MAIN_CWP_Test_Press +HT1_FWD_MAIN_CWP_Test_Release +Just Flight/Hawk T1/Warning System:GROUP +HT1_FWD_MAIN_CWS_Reset_L_Press +HT1_FWD_MAIN_CWS_Reset_L_Release +HT1_FWD_MAIN_CWS_Reset_R_Press +HT1_FWD_MAIN_CWS_Reset_R_Release +Just Flight/Hawk T1/Weapons:GROUP +HT1_FWD_AIM9_AAM_Press +HT1_FWD_AIM9_AAM_Release +HT1_FWD_AIM9_Coolant_Off +HT1_FWD_AIM9_Coolant_On +HT1_FWD_AIM9_Coolant_Test +HT1_FWD_AIM9_Jet_Guard_Toggle +HT1_FWD_AIM9_Jettison_Press +HT1_FWD_AIM9_Jettison_Release +HT1_FWD_AIM9_Mode_BS +HT1_FWD_AIM9_Mode_Scan +HT1_FWD_AIM9_Reject_Press +HT1_FWD_AIM9_Reject_Release +HT1_FWD_AIM9_Test_Press +HT1_FWD_AIM9_Test_Release +HT1_FWD_AIM9_Vol_Dec +HT1_FWD_AIM9_Vol_Inc +HT1_FWD_MAIN_Weapons_Safe_Lock +HT1_FWD_MAIN_Weapons_Safe_Unlock +HT1_FWD_STICK_BombRel_Cover_Toggle +HT1_FWD_STICK_BombRel_Press +HT1_FWD_STICK_BombRel_Release +HT1_FWD_STICK_Trigger_Press +HT1_FWD_STICK_Trigger_Release +HT1_FWD_Sight_Brt_Dec +HT1_FWD_Sight_Brt_Inc +HT1_FWD_Weapons_Fuzing_N +HT1_FWD_Weapons_Fuzing_NT +HT1_FWD_Weapons_Fuzing_T +HT1_FWD_Weapons_Gun_Off +HT1_FWD_Weapons_Gun_On +HT1_FWD_Weapons_Jettison_Press +HT1_FWD_Weapons_Jettison_Release +HT1_FWD_Weapons_Pylon_port_Off +HT1_FWD_Weapons_Pylon_port_On +HT1_FWD_Weapons_Pylon_stbd_Off +HT1_FWD_Weapons_Pylon_stbd_On +HT1_FWD_Weapons_Select_B +HT1_FWD_Weapons_Select_Off +HT1_FWD_Weapons_Select_PB +HT1_FWD_Weapons_Select_RP +HT1_FWD_Weapons_Select_Toggle +Just Flight/Piper Arrow III/Anti-Ice:GROUP +PITOT_HEAT_SWITCH +Just Flight/Piper Arrow III/Autopilot:GROUP +AUTOPILOT_HDG_Mode_ON_PRESS +AUTOPILOT_LOC_NORM_Mode_ON_PRESS +AUTOPILOT_LOC_REV_Mode_ON_PRESS +AUTOPILOT_Nav_Mode_ON_PRESS +AUTOPILOT_Omni_Mode_ON_PRESS +AUTOPILOT_alt_ON_PRESS +AUTOPILOT_hdg_OFF_PRESS +AUTOPILOT_hdg_ON_PRESS +AUTOPILOT_navgps_ON_PRESS +AUTOPILOT_off +AUTOPILOT_on +NAV_GPS_SELECTOR_SW +PA28_AUTOPILOT_TOGGLE +Just Flight/Piper Arrow III/EFIS:GROUP +ALT_baro_knob_left +ALT_baro_knob_right +Just Flight/Piper Arrow III/Electrical:GROUP +_Circuit_Breaker_-ON +CENTRE_LOWER_bat_ON_PRESS +CENTRE_LOWER_bat_ON_RELEASE +Center_Lower_Alternator_OFF +Center_Lower_Alternator_ON +Just Flight/Piper Arrow III/Engines:GROUP +EGT_knob_left +EGT_knob_right +THROTTLE_QUADRANT_mixture_lock_ON_PRESS +THROTTLE_QUADRANT_mixture_lock_ON_RELEASE +Just Flight/Piper Arrow III/Environment:GROUP +Electronic_Flight_Board +Left_hand_window_latch +Lower_Door_latch_unlock +Open_the_Right_hand_door +Open_the_left_hand_window +Upper_Door_latch_unlatch +Just Flight/Piper Arrow III/Fuel:GROUP +FUEL_PRIMER_SWITCH +FUEL_PUMP_SELECTOR_SWITCH +FUEL_TANK_SELECTOR_SWITCH +Just Flight/Piper Arrow III/Gear:GROUP +Emergency_gear_down +Emergency_gear_off +Emergency_gear_on +LANDING_GEAR_SWITCH +PARKING_BRAKE_SWITCH +Just Flight/Piper Arrow III/Lights:GROUP +ANT_COL_LIGHT_SWITCH +LANDING_LIGHT_SWITCH +PA28_LIGHTS_CABIN_DEC +PA28_LIGHTS_CABIN_INC +ROT_BCN_LIGHT_SWITCH +Just Flight/Piper Arrow III/Miscellaneous:GROUP +PA28_GLARESHIELD_VISOR_TOGGLE +Just Flight/Piper Arrow III/Radio:GROUP +DME_Input_to_NAV2 +DME_input_to_NAV1 +GNS530_COM_RADIO_VOLUME_DEC +GNS530_COM_RADIO_VOLUME_INC +GNS530_NAV_RADIO_VOLUME_DEC +GNS530_NAV_RADIO_VOLUME_INC +KR85_ADF_MODE_KNOB_DEC +KR85_ADF_MODE_KNOB_INC +KT76_XPNDR_MODE_ON-LEFT +KT76_XPNDR_MODE_ON-RIGHT +KX170B_COM1_RADIO_VOLUME_DEC +KX170B_COM1_RADIO_VOLUME_INC +KX170B_NAV1_RADIO_VOLUME_DEC +KX170B_NAV1_RADIO_VOLUME_INC +KX170_COM1_OFF_ON_SWITCH +KX170_COMM1_inner_knob_left +KX170_COMM1_inner_knob_right +KX170_COMM1_outer_knob_left +KX170_COMM1_outer_knob_right +KX170_NAV1_OFF_ON_SWITCH +KX170_NAV1_inner_knob_left +KX170_NAV1_inner_knob_right +KX170_NAV1_outer_knob_left +KX170_NAV1_outer_knob_right +KX175B_COM2_RADIO_VOLUME_DEC +KX175B_COM2_RADIO_VOLUME_INC +KX175B_NAV2_RADIO_VOLUME_DEC +KX175B_NAV2_RADIO_VOLUME_INC +KX175_COM2_OFF_ON_SWITCH +KX175_COMM2_inner_knob_left +KX175_COMM2_inner_knob_right +KX175_COMM2_outer_knob_left +KX175_COMM2_outer_knob_right +KX175_NAV2_OFF_ON_SWITCH +KX175_NAV2_inner_knob_left +KX175_NAV2_inner_knob_right +KX175_NAV2_outer_knob_left +KX175_NAV2_outer_knob_right +Microsoft/Generic/Anti-Ice:GROUP +ANTI_ICE_OFF +ANTI_ICE_ON +ANTI_ICE_TOGGLE +ANTI_ICE_TOGGLE_ENG1 +ANTI_ICE_TOGGLE_ENG2 +ANTI_ICE_TOGGLE_ENG3 +ANTI_ICE_TOGGLE_ENG4 +PITOT_HEAT_OFF +PITOT_HEAT_ON +PITOT_HEAT_TOGGLE +TOGGLE_WINDSHIELD_De-Ice +TOGGLE_PITOT_BLOCKAGE +TOGGLE_PROPELLER_DEICE +TOGGLE_STRUCTURAL_DEICE +WINDSHIELD_DE-ICE_OFF +WINDSHIELD_DE-ICE_ON +Microsoft/Generic/Autopilot:GROUP +AP_AIRSPEED_HOLD +AP_AIRSPEED_OFF +AP_AIRSPEED_ON +AP_ALT_HOLD +AP_ALT_HOLD_OFF +AP_ALT_HOLD_ON +AP_ALT_VAR_DEC +AP_ALT_VAR_INC +AP_APR_HOLD +AP_APR_HOLD_OFF +AP_APR_HOLD_ON +AP_ATT_HOLD +AP_ATT_HOLD_OFF +AP_ATT_HOLD_ON +AP_BC_HOLD +AP_BC_HOLD_OFF +AP_BC_HOLD_ON +AP_HDG_HOLD +AP_HDG_HOLD_OFF +AP_HDG_HOLD_ON +AP_LOC_HOLD +AP_LOC_HOLD_OFF +AP_LOC_HOLD_ON +AP_MACH_HOLD +AP_MACH_OFF +AP_MACH_ON +AP_MACH_VAR_DEC +AP_MACH_VAR_INC +AP_MASTER +AP_MAX_BANK_DEC +AP_MAX_BANK_INC +AP_N1_HOLD +AP_N1_REF_DEC +AP_N1_REF_INC +AP_NAV1_HOLD +AP_NAV1_HOLD_OFF +AP_NAV1_HOLD_ON +AP_PANEL_ALTITUDE_HOLD +AP_PANEL_ALTITUDE_OFF +AP_PANEL_ALTITUDE_ON +AP_PANEL_HEADING_HOLD +AP_PANEL_HEADING_OFF +AP_PANEL_HEADING_ON +AP_PANEL_MACH_HOLD +AP_PANEL_MACH_HOLD_TOGGLE +AP_PANEL_MACH_OFF +AP_PANEL_MACH_ON +AP_PANEL_SPEED_HOLD +AP_PANEL_SPEED_HOLD_TOGGLE +AP_PANEL_SPEED_OFF +AP_PANEL_SPEED_ON +AP_PANEL_VS_HOLD +AP_PITCH_REF_INC_DN +AP_PITCH_REF_INC_UP +AP_PITCH_REF_SELECT +AP_SPD_VAR_DEC +AP_SPD_VAR_INC +AP_VS_VAR_DEC +AP_VS_VAR_INC +AP_WING_LEVELER +AP_WING_LEVELER_OFF +AP_WING_LEVELER_ON +AUTOPILOT_OFF +AUTOPILOT_ON +SYNC_FLIGHT_DIRECTOR_PITCH +TOGGLE_FLIGHT_DIRECTOR +YAW_DAMPER_OFF +YAW_DAMPER_ON +YAW_DAMPER_TOGGLE +Microsoft/Generic/Avionics:GROUP +AS1000_AP_ALT_DEC_100 +AS1000_AP_ALT_DEC_1000 +AS1000_AP_ALT_INC_100 +AS1000_AP_ALT_INC_1000 +AS1000_AP_ALT_SYNC +AS1000_AP_VNAV_Push +AS1000_MFD_ActivateMapCursor +AS1000_MFD_BARO_DEC +AS1000_MFD_BARO_INC +AS1000_MFD_CLR +AS1000_MFD_CLR_Long +AS1000_MFD_COM_Large_DEC +AS1000_MFD_COM_Large_INC +AS1000_MFD_COM_Push +AS1000_MFD_COM_Small_DEC +AS1000_MFD_COM_Small_INC +AS1000_MFD_COM_Switch +AS1000_MFD_COM_Switch_Long +AS1000_MFD_CRS_DEC +AS1000_MFD_CRS_INC +AS1000_MFD_CRS_PUSH +AS1000_MFD_DIRECTTO +AS1000_MFD_DeactivateMapCursor +AS1000_MFD_ENT_Push +AS1000_MFD_FLC_Push +AS1000_MFD_FLIGHT_DIRECTOR_PUSH +AS1000_MFD_FMS_Lower_DEC +AS1000_MFD_FMS_Lower_INC +AS1000_MFD_FMS_Upper_DEC +AS1000_MFD_FMS_Upper_INC +AS1000_MFD_FMS_Upper_PUSH +AS1000_MFD_FPL_Push +AS1000_MFD_HEADING_DEC +AS1000_MFD_HEADING_FAST_DEC +AS1000_MFD_HEADING_FAST_INC +AS1000_MFD_HEADING_INC +AS1000_MFD_HEADING_SYNC +AS1000_MFD_JOYSTICK_DOWN +AS1000_MFD_JOYSTICK_LEFT +AS1000_MFD_JOYSTICK_PUSH +AS1000_MFD_JOYSTICK_RIGHT +AS1000_MFD_JOYSTICK_UP +AS1000_MFD_MENU_Push +AS1000_MFD_NAV_Large_DEC +AS1000_MFD_NAV_Large_INC +AS1000_MFD_NAV_Push +AS1000_MFD_NAV_Small_DEC +AS1000_MFD_NAV_Small_INC +AS1000_MFD_NAV_Switch +AS1000_MFD_NOSE_DN +AS1000_MFD_NOSE_UP +AS1000_MFD_PROC_Push +AS1000_MFD_RANGE_DEC +AS1000_MFD_RANGE_INC +AS1000_MFD_SOFTKEYS_1 +AS1000_MFD_SOFTKEYS_10 +AS1000_MFD_SOFTKEYS_11 +AS1000_MFD_SOFTKEYS_12 +AS1000_MFD_SOFTKEYS_2 +AS1000_MFD_SOFTKEYS_3 +AS1000_MFD_SOFTKEYS_4 +AS1000_MFD_SOFTKEYS_5 +AS1000_MFD_SOFTKEYS_6 +AS1000_MFD_SOFTKEYS_7 +AS1000_MFD_SOFTKEYS_8 +AS1000_MFD_SOFTKEYS_9 +AS1000_MFD_VOL_1_DEC +AS1000_MFD_VOL_1_INC +AS1000_MFD_VOL_2_DEC +AS1000_MFD_VOL_2_INC +AS1000_MID_ADF_Push +AS1000_MID_AUX_Push +AS1000_MID_COM_1_Push +AS1000_MID_COM_2_Push +AS1000_MID_COM_3_Push +AS1000_MID_COM_Mic_1_Push +AS1000_MID_COM_Mic_2_Push +AS1000_MID_COM_Mic_3_Push +AS1000_MID_COM_Swap_1_2_Push +AS1000_MID_DME_Push +AS1000_MID_Display_Backup_Push +AS1000_MID_HI_SENS_Push +AS1000_MID_Isolate_Copilot_Push +AS1000_MID_Isolate_Pilot_Push +AS1000_MID_MAN_SQ_Push +AS1000_MID_MKR_Mute_Push +AS1000_MID_NAV_1_Push +AS1000_MID_NAV_2_Push +AS1000_MID_PA_Push +AS1000_MID_Pass_Copilot_DEC +AS1000_MID_Pass_Copilot_INC +AS1000_MID_Play_Push +AS1000_MID_SPKR_Push +AS1000_MID_TEL_Push +AS1000_PFD_ActivateMapCursor +AS1000_PFD_BARO_DEC +AS1000_PFD_BARO_INC +AS1000_PFD_CLR +AS1000_PFD_CLR_Long +AS1000_PFD_COM_Large_DEC +AS1000_PFD_COM_Large_INC +AS1000_PFD_COM_Push +AS1000_PFD_COM_Small_DEC +AS1000_PFD_COM_Small_INC +AS1000_PFD_COM_Switch +AS1000_PFD_COM_Switch_Long +AS1000_PFD_CRS_DEC +AS1000_PFD_CRS_INC +AS1000_PFD_CRS_PUSH +AS1000_PFD_DIRECTTO +AS1000_PFD_DeactivateMapCursor +AS1000_PFD_ENT_Push +AS1000_PFD_FMS_Lower_DEC +AS1000_PFD_FMS_Lower_INC +AS1000_PFD_FMS_Upper_DEC +AS1000_PFD_FMS_Upper_INC +AS1000_PFD_FMS_Upper_PUSH +AS1000_PFD_FPL_Push +AS1000_PFD_HEADING_DEC +AS1000_PFD_HEADING_FAST_DEC +AS1000_PFD_HEADING_FAST_INC +AS1000_PFD_HEADING_INC +AS1000_PFD_HEADING_SYNC +AS1000_PFD_JOYSTICK_DOWN +AS1000_PFD_JOYSTICK_LEFT +AS1000_PFD_JOYSTICK_PUSH +AS1000_PFD_JOYSTICK_RIGHT +AS1000_PFD_JOYSTICK_UP +AS1000_PFD_MENU_Push +AS1000_PFD_NAV_Large_DEC +AS1000_PFD_NAV_Large_INC +AS1000_PFD_NAV_Push +AS1000_PFD_NAV_Small_DEC +AS1000_PFD_NAV_Small_INC +AS1000_PFD_NAV_Switch +AS1000_PFD_PROC_Push +AS1000_PFD_RANGE_DEC +AS1000_PFD_RANGE_INC +AS1000_PFD_SOFTKEYS_1 +AS1000_PFD_SOFTKEYS_10 +AS1000_PFD_SOFTKEYS_11 +AS1000_PFD_SOFTKEYS_12 +AS1000_PFD_SOFTKEYS_2 +AS1000_PFD_SOFTKEYS_3 +AS1000_PFD_SOFTKEYS_4 +AS1000_PFD_SOFTKEYS_5 +AS1000_PFD_SOFTKEYS_6 +AS1000_PFD_SOFTKEYS_7 +AS1000_PFD_SOFTKEYS_8 +AS1000_PFD_SOFTKEYS_9 +AS1000_PFD_VOL_1_DEC +AS1000_PFD_VOL_1_INC +AS1000_PFD_VOL_2_DEC +AS1000_PFD_VOL_2_INC +AS3000_MFD_SOFTKEYS_1 +AS3000_MFD_SOFTKEYS_10 +AS3000_MFD_SOFTKEYS_11 +AS3000_MFD_SOFTKEYS_12 +AS3000_MFD_SOFTKEYS_2 +AS3000_MFD_SOFTKEYS_3 +AS3000_MFD_SOFTKEYS_4 +AS3000_MFD_SOFTKEYS_5 +AS3000_MFD_SOFTKEYS_6 +AS3000_MFD_SOFTKEYS_7 +AS3000_MFD_SOFTKEYS_8 +AS3000_MFD_SOFTKEYS_9 +AS3000_PFD_BottomKnob_Large_DEC +AS3000_PFD_BottomKnob_Large_INC +AS3000_PFD_BottomKnob_Push +AS3000_PFD_BottomKnob_Push_Long +AS3000_PFD_BottomKnob_Small_DEC +AS3000_PFD_BottomKnob_Small_INC +AS3000_PFD_SOFTKEYS_1 +AS3000_PFD_SOFTKEYS_10 +AS3000_PFD_SOFTKEYS_11 +AS3000_PFD_SOFTKEYS_12 +AS3000_PFD_SOFTKEYS_2 +AS3000_PFD_SOFTKEYS_3 +AS3000_PFD_SOFTKEYS_4 +AS3000_PFD_SOFTKEYS_5 +AS3000_PFD_SOFTKEYS_6 +AS3000_PFD_SOFTKEYS_7 +AS3000_PFD_SOFTKEYS_8 +AS3000_PFD_SOFTKEYS_9 +AS3000_PFD_TopKnob_Large_DEC +AS3000_PFD_TopKnob_Large_INC +AS3000_PFD_TopKnob_Small_DEC +AS3000_PFD_TopKnob_Small_INC +AS3X_Touch_1_Back_Push +AS3X_Touch_1_DirectTo_Push +AS3X_Touch_1_Knob_Inner_L_DEC +AS3X_Touch_1_Knob_Inner_L_INC +AS3X_Touch_1_Knob_Inner_R_DEC +AS3X_Touch_1_Knob_Inner_R_INC +AS3X_Touch_1_Knob_Outer_L_DEC +AS3X_Touch_1_Knob_Outer_L_INC +AS3X_Touch_1_Knob_Outer_R_DEC +AS3X_Touch_1_Knob_Outer_R_INC +AS3X_Touch_1_Menu_Push +AS3X_Touch_1_NRST_Push +AS430_CLR_Push +AS430_CLR_Push_Long +AS430_COMSWAP_Push +AS430_DirectTo_Push +AS430_ENT_Push +AS430_FPL_Push +AS430_LeftLargeKnob_Left +AS430_LeftLargeKnob_Right +AS430_LeftSmallKnob_Left +AS430_LeftSmallKnob_Push +AS430_LeftSmallKnob_Right +AS430_MENU_Push +AS430_MSG_Push +AS430_NAVSWAP_Push +AS430_OBS_Push +AS430_PROC_Push +AS430_RNG_Dezoom +AS430_RNG_Zoom +AS430_RightLargeKnob_Left +AS430_RightLargeKnob_Right +AS430_RightSmallKnob_Left +AS430_RightSmallKnob_Push +AS430_RightSmallKnob_Right +AS530_CLR_Push +AS530_CLR_Push_Long +AS530_COMSWAP_Push +AS530_DirectTo_Push +AS530_ENT_Push +AS530_FPL_Push +AS530_LeftLargeKnob_Left +AS530_LeftLargeKnob_Right +AS530_LeftSmallKnob_Left +AS530_LeftSmallKnob_Push +AS530_LeftSmallKnob_Right +AS530_MENU_Push +AS530_MSG_Push +AS530_NAVSWAP_Push +AS530_OBS_Push +AS530_PROC_Push +AS530_RNG_Dezoom +AS530_RNG_Zoom +AS530_RightLargeKnob_Left +AS530_RightLargeKnob_Right +AS530_RightSmallKnob_Left +AS530_RightSmallKnob_Push +AS530_RightSmallKnob_Right +AS530_VNAV_Push +BARO_1_DEC +BARO_1_INC +BARO_2_DEC +BARO_2_INC +BARO_3_DEC +BARO_3_INC +KAP140_Knob_Inner_DEC +KAP140_Knob_Inner_INC +KAP140_Knob_Outer_DEC +KAP140_Knob_Outer_INC +KAP140_Long_Push_BARO +KAP140_Push_ALT +KAP140_Push_AP +KAP140_Push_APR +KAP140_Push_ARM +KAP140_Push_BARO +KAP140_Push_DN +KAP140_Push_HDG +KAP140_Push_NAV +KAP140_Push_REV +KAP140_Push_UP +TOGGLE_AVIONICS_MASTER +Transponder0 +Transponder1 +Transponder2 +Transponder3 +Transponder4 +Transponder5 +Transponder6 +Transponder7 +TransponderALT +TransponderCLR +TransponderIDT +TransponderOFF +TransponderON +TransponderSTBY +TransponderTST +TransponderVFR +adf_AntAdf +adf_FltEt +adf_SetRst +adf_bfo +adf_frqTransfert +oclock_control +oclock_control_long +oclock_oat +oclock_select +Microsoft/Generic/Camera:GROUP +CAPTURE_SCREENSHOT +CHASE_VIEW_NEXT +CHASE_VIEW_PREV +CHASE_VIEW_TOGGLE +CLOSE_VIEW +EYEPOINT_BACK +EYEPOINT_DOWN +EYEPOINT_FORWARD +EYEPOINT_LEFT +EYEPOINT_RIGHT +EYEPOINT_UP +KNEEBOARD_VIEW +NEW_VIEW +NEXT_SUB_VIEW +NEXT_VIEW +PAN_DOWN +PAN_LEFT +PAN_LEFT_DOWN +PAN_LEFT_UP +PAN_RIGHT +PAN_RIGHT_DOWN +PAN_RIGHT_UP +PAN_TILT_LEFT +PAN_TILT_RIGHT +PAN_UP +PREV_SUB_VIEW +PREV_VIEW +VIEW_ALWAYS_PAN_DOWN +VIEW_ALWAYS_PAN_UP +VIEW_AXIS_INDICATOR_CYCLE +VIEW_CAMERA_SELECT_START +VIEW_CHASE_DISTANCE_ADD +VIEW_CHASE_DISTANCE_SUB +VIEW_COCKPIT_FORWARD +VIEW_DOWN +VIEW_FORWARD +VIEW_FORWARD_LEFT +VIEW_FORWARD_LEFT_UP +VIEW_FORWARD_RIGHT +VIEW_FORWARD_RIGHT_UP +VIEW_FORWARD_UP +VIEW_LEFT +VIEW_LEFT_UP +VIEW_LINKING_TOGGLE +VIEW_MAP_ORIENTATION_CYCLE +VIEW_MODE +VIEW_MODE_REV +VIEW_PANEL_ALPHA_DEC +VIEW_PANEL_ALPHA_INC +VIEW_PANEL_ALPHA_SELECT +VIEW_PREVIOUS_TOGGLE +VIEW_REAR +VIEW_REAR_LEFT +VIEW_REAR_LEFT_UP +VIEW_REAR_RIGHT +VIEW_REAR_RIGHT_UP +VIEW_REAR_UP +VIEW_RIGHT +VIEW_RIGHT_UP +VIEW_TRACK_PAN_TOGGLE +VIEW_UP +VIEW_VIRTUAL_COCKPIT_FORWARD +VIEW_WINDOW_TITLES_TOGGLE +VIEW_WINDOW_TO_FRONT +ZOOM_1X +ZOOM_IN +ZOOM_IN_FINE +ZOOM_MINUS +ZOOM_OUT +ZOOM_OUT_FINE +ZOOM_PLUS +Microsoft/Generic/Controls:GROUP +AILERONS_LEFT +AILERONS_RIGHT +AILERON_TRIM_LEFT +AILERON_TRIM_RIGHT +BRAKES +BRAKES_LEFT +BRAKES_RIGHT +CENTER_AILER_RUDDER +DEC_AUTOBRAKE_CONTROL +ELEV_DOWN +ELEV_TRIM_DN +ELEV_TRIM_UP +ELEV_UP +FLAPS_1 +FLAPS_2 +FLAPS_3 +FLAPS_DECR +FLAPS_DOWN +FLAPS_INCR +FLAPS_UP +INC_AUTOBRAKE_CONTROL +PARKING_BRAKES_TOGGLE +PARKING_BRAKES_OFF +PARKING_BRAKES_ON +ROTOR_BRAKE +RUDDER_CENTER +RUDDER_LEFT +RUDDER_RIGHT +RUDDER_TRIM_LEFT +RUDDER_TRIM_RESET +RUDDER_TRIM_RIGHT +SPOILERS_ARM_OFF +SPOILERS_ARM_ON +SPOILERS_ARM_TOGGLE +SPOILERS_OFF +SPOILERS_ON +SPOILERS_TOGGLE +TOGGLE_LEFT_BRAKE_FAILURE +TOGGLE_RIGHT_BRAKE_FAILURE +TOGGLE_TOTAL_BRAKE_FAILURE +Microsoft/Generic/Electrical:GROUP +APU_GENERATOR_SWITCH_TOGGLE +APU_OFF_SWITCH +APU_STARTER +BATTERY_OFF +BATTERY_ON +TOGGLE_ALTERNATOR1 +TOGGLE_ALTERNATOR2 +TOGGLE_ALTERNATOR3 +TOGGLE_ALTERNATOR4 +TOGGLE_ELECTRICAL_FAILURE +TOGGLE_MASTER_ALTERNATOR +TOGGLE_MASTER_BATTERY +TOGGLE_MASTER_BATTERY_ALTERNATOR +Microsoft/Generic/Engines:GROUP +DEC_THROTTLE +ENGINE +ENGINE_AUTO_SHUTDOWN +ENGINE_AUTO_START +ENGINE_PRIMER +INC_THROTTLE +JET_STARTER +MIXTURE1_DECR +MIXTURE1_DECR_SMALL +MIXTURE1_INCR +MIXTURE1_INCR_SMALL +MIXTURE1_LEAN +MIXTURE1_RICH +MIXTURE2_DECR +MIXTURE2_DECR_SMALL +MIXTURE2_INCR +MIXTURE2_INCR_SMALL +MIXTURE2_LEAN +MIXTURE2_RICH +MIXTURE3_DECR +MIXTURE3_DECR_SMALL +MIXTURE3_INCR +MIXTURE3_INCR_SMALL +MIXTURE3_LEAN +MIXTURE3_RICH +MIXTURE4_DECR +MIXTURE4_DECR_SMALL +MIXTURE4_INCR +MIXTURE4_INCR_SMALL +MIXTURE4_LEAN +MIXTURE4_RICH +MIXTURE_DECR +MIXTURE_DECR_SMALL +MIXTURE_INCR +MIXTURE_INCR_SMALL +MIXTURE_LEAN +MIXTURE_RICH +THROTTLE1_CUT +THROTTLE1_DECR +THROTTLE1_DECR_SMALL +THROTTLE1_FULL +THROTTLE1_INCR +THROTTLE1_INCR_SMALL +THROTTLE2_CUT +THROTTLE2_DECR +THROTTLE2_DECR_SMALL +THROTTLE2_FULL +THROTTLE2_INCR +THROTTLE2_INCR_SMALL +THROTTLE3_CUT +THROTTLE3_DECR +THROTTLE3_DECR_SMALL +THROTTLE3_FULL +THROTTLE3_INCR +THROTTLE3_INCR_SMALL +THROTTLE4_CUT +THROTTLE4_DECR +THROTTLE4_DECR_SMALL +THROTTLE4_FULL +THROTTLE4_INCR +THROTTLE4_INCR_SMALL +THROTTLE_10 +THROTTLE_20 +THROTTLE_30 +THROTTLE_40 +THROTTLE_50 +THROTTLE_60 +THROTTLE_70 +THROTTLE_80 +THROTTLE_90 +THROTTLE_CUT +THROTTLE_DECR +THROTTLE_DECR_SMALL +THROTTLE_FULL +THROTTLE_INCR +THROTTLE_INCR_SMALL +THROTTLE_REVERSE_THRUST_HOLD +THROTTLE_REVERSE_THRUST_TOGGLE +TOGGLE_ENGINE1_FAILURE +TOGGLE_ENGINE2_FAILURE +TOGGLE_ENGINE3_FAILURE +TOGGLE_ENGINE4_FAILURE +Microsoft/Generic/Environment:GROUP +SIMUI_WINDOW_HIDESHOW +SIM_RATE +SIM_RATE_DECR +SIM_RATE_INCR +Microsoft/Generic/Flight Instrumentation:GROUP +GYRO_DRIFT_DEC +GYRO_DRIFT_INC +HEADING_BUG_DEC +HEADING_BUG_INC +HEADING_BUG_SELECT +KOHLSMAN_DEC +KOHLSMAN_INC +Microsoft/Generic/Fuel:GROUP +FUEL_DUMP_TOGGLE +FUEL_PUMP +FUEL_SELECTOR_2_ALL +FUEL_SELECTOR_2_CENTER +FUEL_SELECTOR_2_LEFT +FUEL_SELECTOR_2_LEFT_AUX +FUEL_SELECTOR_2_LEFT_MAIN +FUEL_SELECTOR_2_OFF +FUEL_SELECTOR_2_RIGHT +FUEL_SELECTOR_2_RIGHT_AUX +FUEL_SELECTOR_2_RIGHT_MAIN +FUEL_SELECTOR_3_ALL +FUEL_SELECTOR_3_CENTER +FUEL_SELECTOR_3_LEFT +FUEL_SELECTOR_3_LEFT_AUX +FUEL_SELECTOR_3_LEFT_MAIN +FUEL_SELECTOR_3_OFF +FUEL_SELECTOR_3_RIGHT +FUEL_SELECTOR_3_RIGHT_AUX +FUEL_SELECTOR_3_RIGHT_MAIN +FUEL_SELECTOR_4_ALL +FUEL_SELECTOR_4_CENTER +FUEL_SELECTOR_4_LEFT +FUEL_SELECTOR_4_LEFT_AUX +FUEL_SELECTOR_4_LEFT_MAIN +FUEL_SELECTOR_4_OFF +FUEL_SELECTOR_4_RIGHT +FUEL_SELECTOR_4_RIGHT_AUX +FUEL_SELECTOR_4_RIGHT_MAIN +FUEL_SELECTOR_ALL +FUEL_SELECTOR_CENTER +FUEL_SELECTOR_LEFT +FUEL_SELECTOR_LEFT_AUX +FUEL_SELECTOR_LEFT_MAIN +FUEL_SELECTOR_OFF +FUEL_SELECTOR_RIGHT +FUEL_SELECTOR_RIGHT_AUX +FUEL_SELECTOR_RIGHT_MAIN +MANUAL_FUEL_PRESSURE_PUMP +REQUEST_FUEL_KEY +TOGGLE_ELECT_FUEL_PUMP +TOGGLE_ELECT_FUEL_PUMP1 +TOGGLE_ELECT_FUEL_PUMP2 +TOGGLE_ELECT_FUEL_PUMP3 +TOGGLE_ELECT_FUEL_PUMP4 +TOGGLE_FUEL_VALVE_ALL +TOGGLE_FUEL_VALVE_ENG1 +TOGGLE_FUEL_VALVE_ENG2 +TOGGLE_FUEL_VALVE_ENG3 +TOGGLE_FUEL_VALVE_ENG4 +Microsoft/Generic/Gear:GROUP +GEAR_DOWN +GEAR_TOGGLE +GEAR_UP +Microsoft/Generic/Interaction:GROUP +TOGGLE_JETWAY +TOGGLE_PUSHBACK +TOW_PLANE_RELEASE +TOW_PLANE_REQUEST +TUG_DISABLE +TUG_HEADING +TUG_SPEED +Microsoft/Generic/Lights:GROUP +ALL_LIGHTS_TOGGLE +BEACON_LIGHTS_OFF +BEACON_LIGHTS_ON +LANDING_LIGHTS_OFF +LANDING_LIGHTS_ON +LANDING_LIGHTS_TOGGLE +LANDING_LIGHT_DOWN +LANDING_LIGHT_HOME +LANDING_LIGHT_LEFT +LANDING_LIGHT_RIGHT +LANDING_LIGHT_UP +NAV_LIGHTS_OFF +NAV_LIGHTS_ON +PANEL_LIGHTS_OFF +PANEL_LIGHTS_ON +PANEL_LIGHTS_SET__ +STROBES_OFF +STROBES_ON +STROBES_TOGGLE +TAXI_LIGHTS_OFF +TAXI_LIGHTS_ON +TOGGLE_BEACON_LIGHTS +TOGGLE_CABIN_LIGHTS +TOGGLE_LOGO_LIGHTS +TOGGLE_NAV_LIGHTS +TOGGLE_RECOGNITION_LIGHTS +TOGGLE_TAXI_LIGHTS +TOGGLE_WING_LIGHTS +WING_LIGHTS_OFF +WING_LIGHTS_ON +Microsoft/Generic/Radio:GROUP +ADF_100_DEC +ADF_100_INC +ADF_10_DEC +ADF_10_INC +ADF_1_DEC +ADF_1_INC +COM1_TRANSMIT_SELECT +COM1_VOLUME_DEC +COM1_VOLUME_INC +COM1_VOLUME_SET +COM2_RADIO_FRACT_DEC +COM2_RADIO_FRACT_DEC_CARRY +COM2_RADIO_FRACT_INC +COM2_RADIO_FRACT_INC_CARRY +COM2_RADIO_SWAP +COM2_RADIO_WHOLE_DEC +COM2_RADIO_WHOLE_INC +COM2_TRANSMIT_SELECT +COM2_VOLUME_SET +COM_RADIO +COM_RADIO_FRACT_DEC +COM_RADIO_FRACT_DEC_CARRY +COM_RADIO_FRACT_INC +COM_RADIO_FRACT_INC_CARRY +COM_RADIO_WHOLE_DEC +COM_RADIO_WHOLE_INC +COM_RECEIVE_ALL_TOGGLE +COM_STBY_RADIO_SWAP +DME +DME1_TOGGLE +DME2_TOGGLE +DME_SELECT +FREQUENCY_SWAP +MARKER_SOUND_TOGGLE +NAV1_RADIO_FRACT_DEC +NAV1_RADIO_FRACT_DEC_CARRY +NAV1_RADIO_FRACT_INC +NAV1_RADIO_FRACT_INC_CARRY +NAV1_RADIO_SWAP +NAV1_RADIO_WHOLE_DEC +NAV1_RADIO_WHOLE_INC +NAV2_RADIO_FRACT_DEC +NAV2_RADIO_FRACT_DEC_CARRY +NAV2_RADIO_FRACT_INC +NAV2_RADIO_FRACT_INC_CARRY +NAV2_RADIO_SWAP +NAV2_RADIO_WHOLE_DEC +NAV2_RADIO_WHOLE_INC +NAV_RADIO +RADIO_ADF2_IDENT_DISABLE +RADIO_ADF2_IDENT_ENABLE +RADIO_ADF2_IDENT_TOGGLE +RADIO_ADF_IDENT_DISABLE +RADIO_ADF_IDENT_ENABLE +RADIO_ADF_IDENT_TOGGLE +RADIO_DME1_IDENT_DISABLE +RADIO_DME1_IDENT_ENABLE +RADIO_DME1_IDENT_TOGGLE +RADIO_DME2_IDENT_DISABLE +RADIO_DME2_IDENT_ENABLE +RADIO_DME2_IDENT_TOGGLE +RADIO_SELECTED_DME_IDENT_DISABLE +RADIO_SELECTED_DME_IDENT_ENABLE +RADIO_SELECTED_DME_IDENT_TOGGLE +RADIO_VOR1_IDENT_DISABLE +RADIO_VOR1_IDENT_ENABLE +RADIO_VOR1_IDENT_TOGGLE +RADIO_VOR2_IDENT_DISABLE +RADIO_VOR2_IDENT_ENABLE +RADIO_VOR2_IDENT_TOGGLE +TOGGLE_DME +TOGGLE_SPEAKER +VOR1_OBI_DEC +VOR1_OBI_INC +VOR2_OBI_DEC +VOR2_OBI_INC +VOR_OBS +XPNDR +XPNDR_1000_DEC +XPNDR_1000_INC +XPNDR_100_DEC +XPNDR_100_INC +XPNDR_10_DEC +XPNDR_10_INC +XPNDR_1_DEC +XPNDR_1_INC +XPNDR_DEC_CARRY +XPNDR_IDENT_OFF +XPNDR_IDENT_ON +XPNDR_IDENT_SET +XPNDR_IDENT_TOGGLE +XPNDR_INC_CARRY +XPNDR_SET +Microsoft/Generic/Unsorted:GROUP +ADF_CARD_DEC +ADF_CARD_INC +AIRSPEED_BUG_SELECT +ALTITUDE_BUG_SELECT +ATC +ATC_MENU_0 +ATC_MENU_1 +ATC_MENU_2 +ATC_MENU_3 +ATC_MENU_4 +ATC_MENU_5 +ATC_MENU_6 +ATC_MENU_7 +ATC_MENU_8 +ATC_MENU_9 +ATTITUDE_BARS_POSITION_DOWN +ATTITUDE_BARS_POSITION_UP +ATTITUDE_CAGE_BUTTON +AUTORUDDER_TOGGLE +AUTO_THROTTLE_ARM +AUTO_THROTTLE_TO_GA +AXIS_PAN_HEADING +AXIS_PAN_PITCH +AXIS_PAN_TILT +BAROMETRIC +BLEED_AIR_SOURCE_CONTROL_DEC +BLEED_AIR_SOURCE_CONTROL_INC +CLOCK_HOURS_DEC +CLOCK_HOURS_INC +CLOCK_MINUTES_DEC +CLOCK_MINUTES_INC +CLOCK_SECONDS_ZERO +CROSS_FEED_OFF +CROSS_FEED_OPEN +CROSS_FEED_TOGGLE +DEC_COWL_FLAPS +DEC_COWL_FLAPS1 +DEC_COWL_FLAPS2 +DEC_COWL_FLAPS3 +DEC_COWL_FLAPS4 +DEC_DECISION_HEIGHT +DEMO_STOP +EGT +EGT1_DEC +EGT1_INC +EGT2_DEC +EGT2_INC +EGT3_DEC +EGT3_INC +EGT4_DEC +EGT4_INC +EGT_DEC +EGT_INC +FLIGHT_MAP +FLY_BY_WIRE_ELAC_TOGGLE +FLY_BY_WIRE_FAC_TOGGLE +FLY_BY_WIRE_SEC_TOGGLE +FREEZE_ALTITUDE_TOGGLE +FREEZE_ATTITUDE_TOGGLE +FREEZE_LATITUDE_LONGITUDE_TOGGLE +GAUGE_KEYSTROKE +GEAR_PUMP +GPWS_SWITCH_TOGGLE +HOIST_DEPLOY_TOGGLE +HOIST_SWITCH_EXTEND +HOIST_SWITCH_RETRACT +HYDRAULIC_SWITCH_TOGGLE +INC_COWL_FLAPS +INC_COWL_FLAPS1 +INC_COWL_FLAPS2 +INC_COWL_FLAPS3 +INC_COWL_FLAPS4 +INC_DECISION_HEIGHT +INVOKE_HELP +JOYSTICK_CALIBRATE +MAGNETO +MAGNETO1_BOTH +MAGNETO1_DECR +MAGNETO1_INCR +MAGNETO1_LEFT +MAGNETO1_OFF +MAGNETO1_RIGHT +MAGNETO1_START +MAGNETO2_BOTH +MAGNETO2_DECR +MAGNETO2_INCR +MAGNETO2_LEFT +MAGNETO2_OFF +MAGNETO2_RIGHT +MAGNETO2_START +MAGNETO3_BOTH +MAGNETO3_DECR +MAGNETO3_INCR +MAGNETO3_LEFT +MAGNETO3_OFF +MAGNETO3_RIGHT +MAGNETO3_START +MAGNETO4_BOTH +MAGNETO4_DECR +MAGNETO4_INCR +MAGNETO4_LEFT +MAGNETO4_OFF +MAGNETO4_RIGHT +MAGNETO4_START +MAGNETO_BOTH +MAGNETO_DECR +MAGNETO_INCR +MAGNETO_LEFT +MAGNETO_OFF +MAGNETO_RIGHT +MAGNETO_START +MAP_ZOOM_FINE_IN +MAP_ZOOM_FINE_OUT +MINUS +MINUS_SHIFT +MOUSE_LOOK_TOGGLE +MP_ACTIVATE_CHAT +MP_BROADCAST_VOICE_CAPTURE_START +MP_BROADCAST_VOICE_CAPTURE_STOP +MP_CHAT +MP_PLAYER_CYCLE +MP_PLAYER_FOLLOW +MP_TRANSFER_CONTROL +MP_VOICE_CAPTURE_START +MP_VOICE_CAPTURE_STOP +NEW_MAP +NITROUS_TANK_VALVE_TOGGLE +PANEL_1 +PANEL_2 +PANEL_3 +PANEL_4 +PANEL_5 +PANEL_6 +PANEL_7 +PANEL_8 +PANEL_9 +PANEL_HUD_NEXT +PANEL_HUD_PREVIOUS +PANEL_ID_CLOSE +PANEL_ID_OPEN +PANEL_ID_TOGGLE +PAUSE_OFF +PAUSE_ON +PAUSE_TOGGLE +PLUS +PLUS_SHIFT +POINT_OF_INTEREST_CYCLE_NEXT +POINT_OF_INTEREST_CYCLE_PREVIOUS +POINT_OF_INTEREST_TOGGLE_POINTER +PRESSURIZATION_CLIMB_RATE_DEC +PRESSURIZATION_CLIMB_RATE_INC +PRESSURIZATIPRESSURE_ALT_DEC +PRESSURIZATIPRESSURE_ALT_INC +PROP_PITCH1_DECR +PROP_PITCH1_DECR_SMALL +PROP_PITCH1_HI +PROP_PITCH1_INCR +PROP_PITCH1_INCR_SMALL +PROP_PITCH1_LO +PROP_PITCH2_DECR +PROP_PITCH2_DECR_SMALL +PROP_PITCH2_HI +PROP_PITCH2_INCR +PROP_PITCH2_INCR_SMALL +PROP_PITCH2_LO +PROP_PITCH3_DECR +PROP_PITCH3_DECR_SMALL +PROP_PITCH3_HI +PROP_PITCH3_INCR +PROP_PITCH3_INCR_SMALL +PROP_PITCH3_LO +PROP_PITCH4_DECR +PROP_PITCH4_DECR_SMALL +PROP_PITCH4_HI +PROP_PITCH4_INCR +PROP_PITCH4_INCR_SMALL +PROP_PITCH4_LO +PROP_PITCH_DECR +PROP_PITCH_DECR_SMALL +PROP_PITCH_HI +PROP_PITCH_INCR +PROP_PITCH_INCR_SMALL +PROP_PITCH_LO +READOUTS_FLIGHT +READOUTS_SLEW +REFRESH_SCENERY +RELEASE_DROPPABLE_OBJECTS +RELOAD_PANELS +RELOAD_USER_AIRCRAFT +REPAIR_AND_REFUEL +RETRACT_FLOAT_SWITCH_DEC +RETRACT_FLOAT_SWITCH_INC +ROTOR_CLUTCH_SWITCH_TOGGLE +ROTOR_GOV_SWITCH_TOGGLE +ROTOR_LATERAL_TRIM_DEC +ROTOR_LATERAL_TRIM_INC +SELECT_1 +SELECT_2 +SELECT_3 +SELECT_4 +SITUATION_SAVE +SLEW_AHEAD_MINUS +SLEW_AHEAD_PLUS +SLEW_ALTIT_DN_FAST +SLEW_ALTIT_DN_SLOW +SLEW_ALTIT_FREEZE +SLEW_ALTIT_MINUS +SLEW_ALTIT_PLUS +SLEW_ALTIT_UP_FAST +SLEW_ALTIT_UP_SLOW +SLEW_BANK_MINUS +SLEW_BANK_PLUS +SLEW_FREEZE +SLEW_HEADING_MINUS +SLEW_HEADING_PLUS +SLEW_LEFT +SLEW_OFF +SLEW_ON +SLEW_PITCH_DN_FAST +SLEW_PITCH_DN_SLOW +SLEW_PITCH_FREEZE +SLEW_PITCH_MINUS +SLEW_PITCH_PLUS +SLEW_PITCH_UP_FAST +SLEW_PITCH_UP_SLOW +SLEW_RIGHT +SLEW_TOGGLE +SLING_PICKUP_RELEASE +SMOKE_OFF +SMOKE_ON +SMOKE_TOGGLE +SOUND_OFF +SOUND_ON +SOUND_TOGGLE +STEERING_DEC +STEERING_INC +TAKEOFF_ASSIST_ARM_TOGGLE +TAKEOFF_ASSIST_FIRE +TOGGLE_AFTERBURNER +TOGGLE_AFTERBURNER1 +TOGGLE_AFTERBURNER2 +TOGGLE_AFTERBURNER3 +TOGGLE_AFTERBURNER4 +TOGGLE_AIRCRAFT_EXIT +TOGGLE_AIRCRAFT_LABELS +TOGGLE_AIRPORT_NAME_DISPLAY +TOGGLE_ALL_STARTERS +TOGGLE_ALTERNATE_STATIC +TOGGLE_AUTOFEATHER_ARM +TOGGLE_ELECTRIC_VACUUM_PUMP +TOGGLE_FEATHER_SWITCHES +TOGGLE_FEATHER_SWITCH_1 +TOGGLE_FEATHER_SWITCH_2 +TOGGLE_FEATHER_SWITCH_3 +TOGGLE_FEATHER_SWITCH_4 +TOGGLE_GPS_DRIVES_NAV1 +TOGGLE_HYDRAULIC_FAILURE +TOGGLE_LAUNCH_BAR_SWITCH +TOGGLE_MASTER_IGNITION_SWITCH +TOGGLE_PRIMER +TOGGLE_PRIMER1 +TOGGLE_PRIMER2 +TOGGLE_PRIMER3 +TOGGLE_PRIMER4 +TOGGLE_PROPELLER_SYNC +TOGGLE_RACERESULTS_WINDOW +TOGGLE_STARTER1 +TOGGLE_STARTER2 +TOGGLE_STARTER3 +TOGGLE_STARTER4 +TOGGLE_STATIC_PORT_BLOCKAGE +TOGGLE_TAILWHEEL_LOCK +TOGGLE_TAIL_HOOK_HANDLE +TOGGLE_TURN_INDICATOR_SWITCH +TOGGLE_VACUUM_FAILURE +TOGGLE_VARIOMETER_SWITCH +TOGGLE_WATER_BALLAST_VALVE +TOGGLE_WATER_RUDDER +TOGGLE_WING_FOLD +TRUE_AIRSPEED_CAL_DEC +TRUE_AIRSPEED_CAL_INC +TURBINE_IGNITION_SWITCH_TOGGLE +VIDEO_RECORD_TOGGLE +VIRTUAL_COPILOT_ACTION +VIRTUAL_COPILOT_TOGGLE +VSI_BUG_SELECT +YAXIS_INVERT_TOGGLE +Microsoft/Generic/Warning System:GROUP +CABIN_NO_SMOKING_ALERT_SWITCH_TOGGLE +CABIN_SEATBELTS_ALERT_SWITCH_TOGGLE +EXTINGUISH_ENGINE_FIRE +Milviz/PC6 Turbo Porter/Avionics:GROUP +Avionics_BUS_1_On +Avionics_BUS_2 +PC6_AVIONICS1_TOGGLE +PC6_AVIONICS2_TOGGLE +Milviz/PC6 Turbo Porter/Fuel:GROUP +Left_Transfer_Tank_Pump_Toggle +Right_Transfer_Tank_Pump_Toggle +Milviz/PC6 Turbo Porter/Gear:GROUP +TailWheel_Lock +Tailwheel_Unlock +Milviz/PC6 Turbo Porter/Lights:GROUP +Landing_Light_Position_DOWN +Landing_Light_Position_UP +PMDG/DC-6/Anti-Ice:GROUP +PMDGDC6_AIRFOIL_HEAT_TOGGLE +PMDGDC6_CABIN_HEAT_TOGGLE +PMDGDC6_CARB_1_TOGGLE +PMDGDC6_CARB_2_TOGGLE +PMDGDC6_CARB_3_TOGGLE +PMDGDC6_CARB_4_TOGGLE +PMDGDC6_ENG_1_COWL_DEC +PMDGDC6_ENG_1_COWL_INC +PMDGDC6_ENG_2_COWL_DEC +PMDGDC6_ENG_2_COWL_INC +PMDGDC6_ENG_3_COWL_DEC +PMDGDC6_ENG_3_COWL_INC +PMDGDC6_ENG_4_COWL_DEC +PMDGDC6_ENG_4_COWL_INC +PMDGDC6_PITOT_TOGGLE +PMDGDC6_PROP_DEICE_TOGGLE +PMDG/DC-6/Autopilot:GROUP +PMDGDC6_AP_ALT_HOLD_TOGGLE +PMDGDC6_AP_APPR +PMDGDC6_AP_GYROPILOT +PMDGDC6_AP_HDG_DOWN +PMDGDC6_AP_HDG_UP +PMDGDC6_AP_LEVER_TOGGLE +PMDGDC6_AP_LOC +PMDGDC6_AP_MODE_DEC +PMDGDC6_AP_MODE_INC +PMDGDC6_AP_MODE_TOGGLE +PMDGDC6_AP_NAV_OFF +PMDGDC6_AP_NAV_ON +PMDGDC6_AP_PITCH_DOWN +PMDGDC6_AP_PITCH_UP +PMDGDC6_AP_TOGGLE +PMDGDC6_AUTOPILOT_LEVER_TOGGLE +PMDGDC6_AUTOPILOT_TOGGLE +PMDG/DC-6/Engines:GROUP +PMDGDC6_SUPERCHARGER_1_TOGGLE +PMDGDC6_SUPERCHARGER_2_TOGGLE +PMDGDC6_SUPERCHARGER_3_TOGGLE +PMDGDC6_SUPERCHARGER_4_TOGGLE +PMDG/DC-6/Fuel:GROUP +PMDGDC6_ALT_FUEL_BOOST_1_TOGGLE +PMDGDC6_ALT_FUEL_BOOST_2_TOGGLE +PMDGDC6_ALT_FUEL_BOOST_3_TOGGLE +PMDGDC6_ALT_FUEL_BOOST_4_TOGGLE +PMDG/DC-6/Gear:GROUP +PMDGDC6_GEAR_DOWN +PMDGDC6_GEAR_UP +PMDGDC6_GUST_LOCK_OFF +PMDGDC6_GUST_LOCK_ON +PMDG/DC-6/Miscellaneous:GROUP +PMDGDC6_TABLET_ABORT +PMDGDC6_TABLET_AFTER_LANDING +PMDGDC6_TABLET_AFTER_START +PMDGDC6_TABLET_BEFORE_LANDING +PMDGDC6_TABLET_BEFORE_START +PMDGDC6_TABLET_BEFORE_TAKEOFF +PMDGDC6_TABLET_CRUISE +PMDGDC6_TABLET_DESCENT +PMDGDC6_TABLET_IN_RANGE +PMDGDC6_TABLET_PARKING +PMDGDC6_TABLET_TAKEOFF_DRY +PMDGDC6_TABLET_TAKEOFF_WET +PMS50/GTN750/Navigation:GROUP +GTN750_PANEL_DirectToPush +GTN750_PANEL_HomePush +GTN750_PANEL_HomePushLong +GTN750_PANEL_KnobLargeDec +GTN750_PANEL_KnobLargeInc +GTN750_PANEL_KnobPush +GTN750_PANEL_KnobSmallDec +GTN750_PANEL_KnobSmallInc +GTN750_PANEL_VolDec +GTN750_PANEL_VolInc +GTN750_PANEL_VolPush +SC Designs/F16C/Air Conditioning and Pressurization:GROUP +F16C_RIGHT_AIRCOND_TEMP_0 +F16C_RIGHT_AIRCOND_TEMP_1 +F16C_RIGHT_AIRCOND_TEMP_2 +F16C_RIGHT_AIRCOND_TEMP_3 +F16C_RIGHT_AIRCOND_TEMP_4 +F16C_RIGHT_AIRCOND_TEMP_5 +F16C_RIGHT_AIRCOND_TEMP_6 +F16C_RIGHT_AIRCOND_TEMP_DEC +F16C_RIGHT_AIRCOND_TEMP_INC +F16C_RIGHT_AIR_SOURCE_DEC +F16C_RIGHT_AIR_SOURCE_DUMP +F16C_RIGHT_AIR_SOURCE_INC +F16C_RIGHT_AIR_SOURCE_NORM +F16C_RIGHT_AIR_SOURCE_OFF +F16C_RIGHT_AIR_SOURCE_RAM +SC Designs/F16C/Anti-Ice:GROUP +F16C_RIGHT_PITOT_HEAT_TOGGLE +F16C_RIGHT_WINDSHIELD_DEICE_LOWER +F16C_RIGHT_WINDSHIELD_DEICE_NORM +F16C_RIGHT_WINDSHIELD_DEICE_UPPER +SC Designs/F16C/Autopilot:GROUP +F16C_FRONT_AP_BARO_DEC +F16C_FRONT_AP_BARO_INC +F16C_FRONT_AP_BARO_PUSH +F16C_FRONT_AP_CRS_DEC +F16C_FRONT_AP_CRS_INC +F16C_FRONT_AP_CRS_SYNC_PUSH +F16C_FRONT_AP_HDG_DEC +F16C_FRONT_AP_HDG_INC +F16C_FRONT_AP_HDG_SYNC_PUSH +F16C_FRONT_PITCH_ALT_HOLD +F16C_FRONT_PITCH_AP_OFF +F16C_FRONT_PITCH_ATT_HOLD +F16C_FRONT_ROLL_HDG_SEL +F16C_FRONT_ROLL_STRG_SEL +F16C_LEFT_AP_ALT_HOLD_OFF +F16C_LEFT_AP_ALT_HOLD_ON +F16C_LEFT_AP_ALT_HOLD_TOGGLE +F16C_LEFT_AP_APP_HOLD_OFF +F16C_LEFT_AP_APP_HOLD_ON +F16C_LEFT_AP_APP_HOLD_TOGGLE +F16C_LEFT_AP_BC_HOLD_OFF +F16C_LEFT_AP_BC_HOLD_ON +F16C_LEFT_AP_BC_HOLD_TOGGLE +F16C_LEFT_AP_HDG_HOLD_OFF +F16C_LEFT_AP_HDG_HOLD_ON +F16C_LEFT_AP_HDG_HOLD_TOGGLE +F16C_LEFT_AP_IAS_HOLD_OFF +F16C_LEFT_AP_IAS_HOLD_ON +F16C_LEFT_AP_IAS_HOLD_TOGGLE +F16C_LEFT_AP_MASTER_OFF +F16C_LEFT_AP_MASTER_ON +F16C_LEFT_AP_MASTER_TOGGLE +F16C_MFD_1_BUTTON_10_GpsNav1 +F16C_MFD_1_BUTTON_2_HdgHold +F16C_MFD_1_BUTTON_9_Nav1Hold +F16C_MFD_2_BUTTON_10_FD +F16C_MFD_2_BUTTON_1_ApSpdMod +F16C_MFD_2_BUTTON_2_ApAltMod +F16C_MFD_2_BUTTON_3_ApAltDec +F16C_MFD_2_BUTTON_4_ApAltHld +F16C_MFD_2_BUTTON_5_ApAltInc +F16C_MFD_2_BUTTON_6_ApLocHld +F16C_MFD_2_BUTTON_7_ApAprHld +F16C_MFD_2_BUTTON_8_ApBcHld +F16C_MFD_2_BUTTON_9_ApTrkFpa +F16C_MFD_2_BUTTON_L1_ApSpdInc +F16C_MFD_2_BUTTON_L2_ApSpdHld +F16C_MFD_2_BUTTON_L3_ApSpdDec +F16C_MFD_2_BUTTON_L4_ApThrArm +F16C_MFD_2_BUTTON_L5_SpdMach +F16C_MFD_2_BUTTON_R1_ApVsInc +F16C_MFD_2_BUTTON_R2_ApVsHld +F16C_MFD_2_BUTTON_R3_ApVsDec +F16C_MFD_2_BUTTON_R4_ApFlc +F16C_MFD_2_BUTTON_R5_Gcas +SC Designs/F16C/Avionics:GROUP +F16C_LEFT_CNI_MODE_AB +F16C_LEFT_CNI_MODE_BACKUP +F16C_LEFT_IFF_SELECTOR_DEC +F16C_LEFT_IFF_SELECTOR_EMER +F16C_LEFT_IFF_SELECTOR_INC +F16C_LEFT_IFF_SELECTOR_LOW +F16C_LEFT_IFF_SELECTOR_NORM +F16C_LEFT_IFF_SELECTOR_OFF +F16C_LEFT_IFF_SELECTOR_STBY +F16C_MFD_1_BUTTON_1_HdgMode +F16C_MFD_1_BUTTON_3_CurHdgSet +F16C_MFD_1_BUTTON_4_HdgVOR1 +F16C_MFD_1_BUTTON_5_YD +F16C_MFD_1_BUTTON_6_TerronND +F16C_MFD_1_BUTTON_7_WX +F16C_MFD_1_BUTTON_8_VORD +F16C_MFD_1_BUTTON_L1_MinsInc +F16C_MFD_1_BUTTON_L2_MinsDec +F16C_MFD_1_BUTTON_L3_NavaidOff +F16C_MFD_1_BUTTON_L4_RDF1 +F16C_MFD_1_BUTTON_L5_VOR1 +F16C_MFD_1_BUTTON_R1_BaroMinSel +F16C_MFD_1_BUTTON_R2_HpaHgSel +F16C_MFD_1_BUTTON_R3_NavaidOff +F16C_MFD_1_BUTTON_R4_RDF2 +F16C_MFD_1_BUTTON_R5_VOR2 +F16C_MFD_1_CORNER2_Down_RadModInc +F16C_MFD_1_CORNER2_Up_RadModDec +F16C_MFD_1_UPPER_BUTTON_LEFT_Down_RangeInc +F16C_MFD_1_UPPER_BUTTON_LEFT_Up_RangeDec +F16C_MFD_1_UPPER_BUTTON_RIGHT_Down_NavModeInc +F16C_MFD_1_UPPER_BUTTON_RIGHT_Up_NavModeDec +F16C_MFD_2_UPPER_BUTTON_LEFT_Down_SVTerr +F16C_MFD_2_UPPER_BUTTON_LEFT_Up_SVTerr +SC Designs/F16C/Controls:GROUP +F16C_LEFT_ALT_FLAPS_EXTEND +F16C_LEFT_ALT_FLAPS_NORM +F16C_LEFT_AP_TRIM_Off +F16C_LEFT_AP_TRIM_On +F16C_LEFT_AP_TRIM_Toggle +F16C_LEFT_EFLAPS_ENABLE +F16C_LEFT_EFLAPS_LOCK +F16C_LEFT_FLCS_BRT_OFF +F16C_LEFT_FLCS_BRT_ON +F16C_LEFT_FLCS_RESET_OFF +F16C_LEFT_FLCS_RESET_ON +F16C_LEFT_PITCH_TRIM_DOWN +F16C_LEFT_PITCH_TRIM_UP +F16C_LEFT_ROLL_TRIM_L +F16C_LEFT_ROLL_TRIM_R +F16C_LEFT_YAW_TRIM_L +F16C_LEFT_YAW_TRIM_R +SC Designs/F16C/Electrical:GROUP +F16C_RIGHT_ATT_FPM_OFF +F16C_RIGHT_ATT_FPM_ON +F16C_RIGHT_ATT_FPM_TOGGLE +F16C_RIGHT_DED_DATA_OFF +F16C_RIGHT_DED_DATA_ON +F16C_RIGHT_DED_DATA_TOGGLE +F16C_RIGHT_DEPR_RET_OFF +F16C_RIGHT_DEPR_RET_ON +F16C_RIGHT_DEPR_RET_TOGGLE +F16C_RIGHT_GENERATORS_OFF +F16C_RIGHT_GENERATORS_ON +F16C_RIGHT_GENERATORS_TOGGLE +F16C_RIGHT_HUD_PWR_OFF +F16C_RIGHT_HUD_PWR_ON +F16C_RIGHT_HUD_PWR_TOGGLE +F16C_RIGHT_MASTER_AVIONICS_OFF +F16C_RIGHT_MASTER_AVIONICS_ON +F16C_RIGHT_MASTER_AVIONICS_TOGGLE +F16C_RIGHT_MASTER_BATTERY_OFF +F16C_RIGHT_MASTER_BATTERY_ON +F16C_RIGHT_MASTER_BATTERY_TOGGLE +F16C_RIGHT_RDR_ALT_OFF +F16C_RIGHT_RDR_ALT_ON +F16C_RIGHT_RDR_ALT_TOGGLE +SC Designs/F16C/Engines:GROUP +F16C_LEFT_AB_RESET_ENGDATA +F16C_LEFT_AB_RESET_ON +F16C_LEFT_AB_RESET_TOGGLE +F16C_LEFT_ENG_CONTI_PRI +F16C_LEFT_ENG_CONTI_SEC +F16C_LEFT_ENG_CONTI_TOGGLE +F16C_LEFT_ENG_STARTER_OFF +F16C_LEFT_ENG_STARTER_ON +F16C_LEFT_FLCS_OFF +F16C_LEFT_FLCS_ON +F16C_LEFT_FLCS_TOGGLE +SC Designs/F16C/Flight Instrumentation:GROUP +F16C_RIGHT_ALT_RADAR_0 +F16C_RIGHT_ALT_RADAR_1 +F16C_RIGHT_ALT_RADAR_OFF +F16C_RIGHT_CAS_GND_SPD +F16C_RIGHT_CAS_OFF +F16C_RIGHT_CAS_ON +F16C_RIGHT_DAY_NIGHT_DOWN +F16C_RIGHT_DAY_NIGHT_MID +F16C_RIGHT_DAY_NIGHT_UP +F16C_RIGHT_TEST_STEP_OFF +F16C_RIGHT_TEST_STEP_ON +SC Designs/F16C/Fuel:GROUP +F16C_FRONT_EXT_FUEL_TRANS_NORM +F16C_FRONT_EXT_FUEL_TRANS_OFF +F16C_FRONT_EXT_FUEL_TRANS_WING +F16C_LEFT_AIR_REFUEL_CLOSE +F16C_LEFT_AIR_REFUEL_OPEN +F16C_LEFT_ENG_FEED_AFT +F16C_LEFT_ENG_FEED_DEC +F16C_LEFT_ENG_FEED_FWD +F16C_LEFT_ENG_FEED_INC +F16C_LEFT_ENG_FEED_NORM +F16C_LEFT_ENG_FEED_OFF +F16C_LEFT_FUEL_MASTER_OFF +F16C_LEFT_FUEL_MASTER_ON +F16C_LEFT_TANK_INERTING_Off +F16C_LEFT_TANK_INERTING_On +F16C_LEFT_TANK_INERTING_Toggle +SC Designs/F16C/Gear:GROUP +F16C_LEFT_BRAKE_ANTISKID_OFF +F16C_LEFT_BRAKE_ANTISKID_ON +F16C_LEFT_BRAKE_ANTISKID_TOGGLE +F16C_LEFT_LANDING_GEAR_DOWN +F16C_LEFT_LANDING_GEAR_TOGGLE +F16C_LEFT_LANDING_GEAR_UP +F16C_LEFT_PARKING_BRAKE_OFF +F16C_LEFT_PARKING_BRAKE_ON +F16C_LEFT_PARKING_BRAKE_TOGGLE +SC Designs/F16C/Lights:GROUP +F16C_LEFT_EXTLT_ANTICOL_OFF +F16C_LEFT_EXTLT_ANTICOL_ON +F16C_LEFT_EXTLT_FORMATION_OFF +F16C_LEFT_EXTLT_FORMATION_ON +F16C_LEFT_EXTLT_FORMATION_TOGGLE +F16C_LEFT_EXTLT_NAV_Knob_Dec +F16C_LEFT_EXTLT_NAV_Knob_Inc +F16C_LEFT_EXTLT_NAV_OFF +F16C_LEFT_EXTLT_NAV_ON +F16C_LEFT_EXTLT_POSITION_FLASH +F16C_LEFT_EXTLT_POSITION_STEADY +F16C_LEFT_EXTLT_REFUEL_DEC +F16C_LEFT_EXTLT_REFUEL_INC +F16C_LEFT_LANDING_LIGHTS_OFF +F16C_LEFT_LANDING_LIGHTS_ON +F16C_LEFT_LANDING_LIGHTS_TOGGLE +F16C_MFD_1_CORNER1_Down_BrtInc +F16C_MFD_1_CORNER1_Up_BrtDec +F16C_MFD_2_CORNER1_Down_BrtInc +F16C_MFD_2_CORNER1_Up_BrtDec +F16C_RIGHT_LIGHT_CABIN_DEC +F16C_RIGHT_LIGHT_CABIN_INC +F16C_RIGHT_LIGHT_CONSOLE_DEC +F16C_RIGHT_LIGHT_CONSOLE_INC +F16C_RIGHT_LIGHT_DED_DEC +F16C_RIGHT_LIGHT_DED_INC +F16C_RIGHT_LIGHT_INSTR_FLOOD_DEC +F16C_RIGHT_LIGHT_INSTR_FLOOD_INC +F16C_RIGHT_LIGHT_MAIL_FLOOD_DEC +F16C_RIGHT_LIGHT_MAIL_FLOOD_INC +F16C_RIGHT_LIGHT_PANEL_DEC +F16C_RIGHT_LIGHT_PANEL_INC +SC Designs/F16C/MCDU:GROUP +F16C_DED_1 +F16C_DED_10 +F16C_DED_11 +F16C_DED_12 +F16C_DED_2 +F16C_DED_3 +F16C_DED_4 +F16C_DED_5 +F16C_DED_6 +F16C_DED_7 +F16C_DED_8 +F16C_DED_9 +F16C_KEYPAD_0 +F16C_KEYPAD_0 +F16C_KEYPAD_1 +F16C_KEYPAD_2 +F16C_KEYPAD_3 +F16C_KEYPAD_4 +F16C_KEYPAD_5 +F16C_KEYPAD_6 +F16C_KEYPAD_7 +F16C_KEYPAD_8 +F16C_KEYPAD_9 +F16C_KEYPAD_BRT_KNOB_Down +F16C_KEYPAD_BRT_KNOB_Up +F16C_KEYPAD_CLR_Press +F16C_KEYPAD_CLR_Release +F16C_KEYPAD_CONT_KNOB_Down +F16C_KEYPAD_CONT_KNOB_Up +F16C_KEYPAD_DATA +F16C_KEYPAD_DRIFT_SWITCH_Down +F16C_KEYPAD_DRIFT_SWITCH_Up +F16C_KEYPAD_GAIN_SWITCH_Down +F16C_KEYPAD_GAIN_SWITCH_Mid +F16C_KEYPAD_GAIN_SWITCH_Up +F16C_KEYPAD_IP +F16C_KEYPAD_MARK +F16C_KEYPAD_MCDUL_OVFR +F16C_KEYPAD_MENU +F16C_KEYPAD_NAV +F16C_KEYPAD_NEXT +F16C_KEYPAD_PREV +F16C_KEYPAD_RET_DEPR_KNOB_Down +F16C_KEYPAD_RET_DEPR_KNOB_Up +F16C_KEYPAD_RTN_SEQ_SWITCH_Down +F16C_KEYPAD_RTN_SEQ_SWITCH_Up +F16C_KEYPAD_SHF +F16C_KEYPAD_SYM_KNOB_Down +F16C_KEYPAD_SYM_KNOB_Up +SC Designs/F16C/Miscellaneous:GROUP +F16C_CANOPY_LEVER +F16C_LEFT_GND_JETT_ENABLE +F16C_LEFT_GND_JETT_OFF +F16C_LEFT_GND_JETT_TOGGLE +F16C_LEFT_STORES_CAT_1 +F16C_LEFT_STORES_CAT_3 +F16C_LEFT_STORES_CAT_TOGGLE +F16C_LEFT_TAILHOOK_DOWN +F16C_LEFT_TAILHOOK_TOGGLE +F16C_LEFT_TAILHOOK_UP +F16C_RIGHT_AUDIO_IN_TOGGLE +F16C_RIGHT_CHOCKS_SWITCH_TOGGLE +F16C_RIGHT_COVERS_SWITCH_TOGGLE +F16C_RIGHT_HANDLE_TOGGLE +F16C_RIGHT_KY_58_VOL_TOGGLE +F16C_RIGHT_LADDER_SWITCH_TOGGLE +F16C_RIGHT_MASK_SWITCH_TOGGLE +F16C_RIGHT_MODE_C_SET_TOGGLE +F16C_RIGHT_MODE_C_TOGGLE +F16C_RIGHT_OXYGEN_REG_L_TOGGLE +F16C_RIGHT_OXYGEN_REG_R_TOGGLE +F16C_RIGHT_SWITCH_SMOKE_OFF +F16C_RIGHT_SWITCH_SMOKE_ON +F16C_RIGHT_SWITCH_SMOKE_TOGGLE +F16C_RIGHT_TD_ON_TOGGLE +F16C_RIGHT_VISOR_SWITCH_TOGGLE +SC Designs/F16C/Navigation:GROUP +F16C_LEFT_GPS_NAV_PUSH +SC Designs/F16C/Radio:GROUP +F16C_LEFT_ADF_100_DEC +F16C_LEFT_ADF_100_INC +F16C_LEFT_ADF_1_10_DEC +F16C_LEFT_ADF_1_10_INC +F16C_LEFT_ADF_1_10_TOGGLE +F16C_LEFT_ADF_VOL_DEC +F16C_LEFT_ADF_VOL_INC +F16C_LEFT_COM1_KHZ_DEC +F16C_LEFT_COM1_KHZ_INC +F16C_LEFT_COM1_MHZ_DEC +F16C_LEFT_COM1_MHZ_INC +F16C_LEFT_COM1_SWAP_PUSH +F16C_LEFT_MSL_TOGGLE +F16C_LEFT_NAV1_KHZ_DEC +F16C_LEFT_NAV1_KHZ_INC +F16C_LEFT_NAV1_MHZ_DEC +F16C_LEFT_NAV1_MHZ_INC +F16C_LEFT_NAV1_SWAP_PUSH +F16C_LEFT_THREAT_TOGGLE +F16C_LEFT_XPNDR_KNOB_1_DEC +F16C_LEFT_XPNDR_KNOB_1_INC +F16C_LEFT_XPNDR_KNOB_2_DEC +F16C_LEFT_XPNDR_KNOB_2_INC +F16C_LEFT_XPNDR_KNOB_3_DEC +F16C_LEFT_XPNDR_KNOB_3_INC +F16C_LEFT_XPNDR_KNOB_4_DEC +F16C_LEFT_XPNDR_KNOB_4_INC +F16C_LEFT_XPNDR_MODE_OFF +F16C_LEFT_XPNDR_MODE_STBY +F16C_LEFT_XPNDR_MODE_TA +F16C_LEFT_XPNDR_MODE_TARA +F16C_LEFT_XPNDR_MODE_XPNDR +SC Designs/F16C/Warning System:GROUP +F16C_LEFT_CMDS_01_OFF +F16C_LEFT_CMDS_01_ON +F16C_LEFT_CMDS_01_TOGGLE +F16C_LEFT_CMDS_02_OFF +F16C_LEFT_CMDS_02_ON +F16C_LEFT_CMDS_02_TOGGLE +F16C_LEFT_CMDS_CH_OFF +F16C_LEFT_CMDS_CH_ON +F16C_LEFT_CMDS_CH_TOGGLE +F16C_LEFT_CMDS_FL_OFF +F16C_LEFT_CMDS_FL_ON +F16C_LEFT_CMDS_FL_TOGGLE +F16C_LEFT_JETT_OFF +F16C_LEFT_JETT_ON +F16C_LEFT_JETT_TOGGLE +F16C_LEFT_MODE_AUTO +F16C_LEFT_MODE_BYP +F16C_LEFT_MODE_DEC +F16C_LEFT_MODE_INC +F16C_LEFT_MODE_MAN +F16C_LEFT_MODE_OFF +F16C_LEFT_MODE_SEM +F16C_LEFT_MODE_STBY +F16C_LEFT_MWS_B_OFF +F16C_LEFT_MWS_B_ON +F16C_LEFT_MWS_B_TOGGLE +F16C_LEFT_MWS_OFF +F16C_LEFT_MWS_ON +F16C_LEFT_MWS_TOGGLE +F16C_LEFT_PRGM_1 +F16C_LEFT_PRGM_2 +F16C_LEFT_PRGM_3 +F16C_LEFT_PRGM_4 +F16C_LEFT_PRGM_DEC +F16C_LEFT_PRGM_INC +F16C_LEFT_PRGM_OFF +F16C_LEFT_RWR_OFF +F16C_LEFT_RWR_ON +F16C_LEFT_RWR_TOGGLE +F16C_LEFT_SYMBOLOGY_OFF +F16C_LEFT_SYMBOLOGY_ON +F16C_LEFT_SYMBOLOGY_TOGGLE +F16C_LEFT_TWR_SET_OFF +F16C_LEFT_TWR_SET_ON +F16C_LEFT_TWR_SET_TOGGLE +F16C_LEFT_TWR_VOL_OFF +F16C_LEFT_TWR_VOL_ON +F16C_LEFT_TWR_VOL_TOGGLE +SC Designs/F16C/Weapons:GROUP +F16C_FRONT_ARM_SIMULATE +F16C_FRONT_LASER_ARM +F16C_FRONT_LASER_OFF +F16C_FRONT_LASER_TOGGLE +F16C_FRONT_MASTER_ARM_OFF +F16C_FRONT_MASTER_ARM_ON +F16C_FRONT_RF_ECM +F16C_FRONT_RF_NORM +F16C_FRONT_RF_SILENT +SimWorks Studios/Kodiak 100/Anti-Ice:GROUP +KODIAK_100_DEICE_WINDSHIELD_OFF +KODIAK_100_DEICE_WINDSHIELD_ON +KODIAK_100_DEICE_WINDSHIELD_TOGGLE +SimWorks Studios/Kodiak 100/Electrical:GROUP +KODIAK_100_AUX_BUS_OFF +KODIAK_100_AUX_BUS_ON +KODIAK_100_AUX_BUS_TOGGLE +KODIAK_BREAKER_STBYATT +Starter_Switch_Lo +SimWorks Studios/Kodiak 100/Engine:GROUP +KODIAK_100_IGNITION_SWITCH_OFF +KODIAK_100_IGNITION_SWITCH_ON +KODIAK_100_IGNITION_SWITCH_TOGGLE +SimWorks Studios/Kodiak 100/Engines:GROUP +Starter_Switch_Hi +Starter_Switch_Off +SimWorks Studios/Kodiak 100/Fuel:GROUP +Fuel_Pump_Switch_Off +Fuel_Pump_Switch_On +Fuel_Pump_Switch_Stby +Fuel_Tank_Selectors__overhead_ +KODIAK_100_FUEL_PUMP_OFF +KODIAK_100_FUEL_PUMP_ON +KODIAK_100_FUEL_PUMP_STANDBY +KODIAK_100_FIREW_FUEL_CUTOFF_TOGGLE +KODIAK_100_TANK_SELECT_L_CLOSE +KODIAK_100_TANK_SELECT_L_OPEN +KODIAK_100_TANK_SELECT_R_CLOSE +KODIAK_100_TANK_SELECT_R_OPEN +SimWorks Studios/Kodiak 100/Lights:GROUP +Landing_Lights_Off +Landing_Lights_On +Landing_Lights_Pulse +LIGHTING_PANEL_1_Set +LIGHTING_PANEL_1_Inc +LIGHTING_PANEL_1_Dec +TDS Sim/GTNxi 650/Navigation:GROUP +GPS_BUTTON1 +GPS_BUTTON2 +GPS_CURSOR_BUTTON +GPS_DIRECTTO_BUTTON +GPS_MENU_BUTTON +TDS Sim/GTNxi 750/Navigation:GROUP +GPS_BUTTON1 +GPS_BUTTON2 +GPS_CURSOR_BUTTON +GPS_DIRECTTO_BUTTON +GPS_MENU_BUTTON +Working Title/CJ4/Air Condition / Pressurization:GROUP +WT_CJ4_CABIN_TEMP_DEC +WT_CJ4_CABIN_TEMP_INC +WT_CJ4_CLIMATE_CONTROL_COMPON +WT_CJ4_CLIMATE_CONTROL_NORM +WT_CJ4_CLIMATE_CONTROL_OFF +WT_CJ4_COCKPIT_TEMP_DEC +WT_CJ4_COCKPIT_TEMP_INC +WT_CJ4_COPILOT_FAN_DEC +WT_CJ4_COPILOT_FAN_INC +WT_CJ4_PILOT_FAN_DEC +WT_CJ4_PILOT_FAN_INC +WT_CJ4_PRESSOURCE_FRESH +WT_CJ4_PRESSOURCE_L +WT_CJ4_PRESSOURCE_NORM +WT_CJ4_PRESSOURCE_OFF +WT_CJ4_PRESSOURCE_R +WT_CJ4_PRESSURE_DUMP_PUSH +Working Title/CJ4/Anti-Ice:GROUP +WT_CJ4_ANTIICE_ENG_LEFT_TOG +WT_CJ4_ANTIICE_ENG_LR_TOG +WT_CJ4_ANTIICE_ENG_RIGHT_TOG +WT_CJ4_ANTIICE_PITOTS_TOG +WT_CJ4_ANTIICE_PITOT_1_OFF +WT_CJ4_ANTIICE_PITOT_1_ON +WT_CJ4_ANTIICE_PITOT_1_TOG +WT_CJ4_ANTIICE_PITOT_2_OFF +WT_CJ4_ANTIICE_PITOT_2_ON +WT_CJ4_ANTIICE_PITOT_2_TOG +WT_CJ4_ANTIICE_WINGENG_LEFT_TOG +WT_CJ4_ANTIICE_WINGENG_LR_OFF +WT_CJ4_ANTIICE_WINGENG_LR_ON +WT_CJ4_ANTIICE_WINGENG_LR_TOG +WT_CJ4_ANTIICE_WINGENG_RIGHT_TOG +WT_CJ4_WING_LIGHT_TOG +Working Title/CJ4/Autopilot:GROUP +WT_CJ4_AP_ALT_ALERT_CANCEL +WT_CJ4_AP_ALT_FAST_DEC +WT_CJ4_AP_ALT_FAST_INC +WT_CJ4_AP_ALT_PRESSED +WT_CJ4_AP_ALT_VAR_DEC +WT_CJ4_AP_ALT_VAR_INC +WT_CJ4_AP_APPR_PRESSED +WT_CJ4_AP_BC_PRESSED +WT_CJ4_AP_CRS1_DEC +WT_CJ4_AP_CRS1_INC +WT_CJ4_AP_CRS1_PRESSED +WT_CJ4_AP_FD_PRESSED +WT_CJ4_AP_FLC_PRESSED +WT_CJ4_AP_HALFBANK_PRESSED +WT_CJ4_AP_HDG_DEC +WT_CJ4_AP_HDG_FAST_DEC +WT_CJ4_AP_HDG_FAST_INC +WT_CJ4_AP_HDG_INC +WT_CJ4_AP_HDG_PRESSED +WT_CJ4_AP_HDG_SYNC +WT_CJ4_AP_MASTER_OFF +WT_CJ4_AP_MASTER_ON +WT_CJ4_AP_NAV_PRESSED +WT_CJ4_AP_SPEED_DEC +WT_CJ4_AP_SPEED_FAST_DEC +WT_CJ4_AP_SPEED_FAST_INC +WT_CJ4_AP_SPEED_INC +WT_CJ4_AP_SPEED_PRESSED +WT_CJ4_AP_VNAV_PRESSED +WT_CJ4_AP_VS_DEC +WT_CJ4_AP_VS_INC +WT_CJ4_AP_VS_PRESSED +WT_CJ4_AP_XFR_PRESSED +WT_CJ4_AP_YD_OFF +WT_CJ4_AP_YD_ON +WT_CJ4_AP_YD_PRESSED +Working Title/CJ4/Avionics:GROUP +CJ4_Generic_Upr_TILT_DEC +CJ4_Generic_Upr_TILT_INC +Generic_Lwr_DATA_DEC +Generic_Lwr_DATA_INC +Generic_Lwr_DATA_PUSH +Generic_Lwr_DATA_PUSH_LONG +Generic_Lwr_DATA_SHORT_LONG_PRESS +Generic_Lwr_DATA_SHORT_LONG_RELEASE +Generic_Lwr_Hold_MEM1_1 +Generic_Lwr_Hold_MEM2_1 +Generic_Lwr_Hold_MEM3_1 +Generic_Lwr_JOYSTICK_DOWN +Generic_Lwr_JOYSTICK_LEFT +Generic_Lwr_JOYSTICK_RIGHT +Generic_Lwr_JOYSTICK_UP +Generic_Lwr_MENU_ADV_DEC +Generic_Lwr_MENU_ADV_INC +Generic_Lwr_Push_CAS_PAGE +Generic_Lwr_Push_CKLST_1 +Generic_Lwr_Push_Chart_1 +Generic_Lwr_Push_ENG +Generic_Lwr_Push_ESC +Generic_Lwr_Push_LWR_MENU +Generic_Lwr_Push_MEM1_1 +Generic_Lwr_Push_MEM2_1 +Generic_Lwr_Push_MEM3_1 +Generic_Lwr_Push_NAV_DATA +Generic_Lwr_Push_PASSBRIEF_1 +Generic_Lwr_Push_SYS +Generic_Lwr_Push_TERR_WX +Generic_Lwr_Push_TFC +Generic_Lwr_Push_UPR_MENU +Generic_Lwr_Push_ZOOM_DEC +Generic_Lwr_Push_ZOOM_INC +Generic_Upr_Data_DEC +Generic_Upr_Data_INC +Generic_Upr_Data_PUSH +Generic_Upr_MENU_ADV_DEC +Generic_Upr_MENU_ADV_INC +Generic_Upr_Push_ESC +Generic_Upr_Push_ET +Generic_Upr_Push_FRMT +Generic_Upr_Push_NAV +Generic_Upr_Push_PFD_MENU +Generic_Upr_Push_REFS_MENU +Generic_Upr_Push_TERR_WX +Generic_Upr_Push_TFC +Generic_Upr_RANGE_DEC +Generic_Upr_RANGE_INC +MFD1_MEM1-1_Button_Short_Long_Press +MFD1_MEM1-1_Button_Short_Long_Release +MFD1_MEM2-1_Button_Short_Long_Press_ +MFD1_MEM2-1_Button_Short_Long_Release +MFD1_MEM3-1_Button_Short_Long_Press +MFD1_MEM3-1_Short_Long_Release +WT_CJ4_BARO1_DEC +WT_CJ4_BARO1_INC +WT_CJ4_BARO1_STD_PUSH +WT_CJ4_BARO2_DEC +WT_CJ4_BARO2_INC +WT_CJ4_BARO2_STD_PUSH +WT_CJ4_BARO3_DEC +WT_CJ4_BARO3_INC +Working Title/CJ4/Controls:GROUP +AILERON_TRIM_LEFT_WING_DN +AILERON_TRIM_RIGHT_WING_DN +RUDDER_TRIM_NOSE_LEFT +RUDDER_TRIM_NOSE_RIGHT +SEC_ELEV_TRIM_ENABLE_TOGGLE +SECONDARY_ELEV_TRIM_NOSE_DOWN +SECONDARY_ELEV_TRIM_NOSE_UP +Working Title/CJ4/Electrical:GROUP +WT_CJ4_AVIONICS_FTL_EMER_TOG +WT_CJ4_AVIONICS_MASTER_DSP +WT_CJ4_AVIONICS_MASTER_OFF +WT_CJ4_AVIONICS_MASTER_ON +WT_CJ4_EMER_LIGHT_ARM +WT_CJ4_EMER_LIGHT_OFF +WT_CJ4_EMER_LIGHT_TOG +WT_CJ4_GENERATOR_L_OFF +WT_CJ4_GENERATOR_L_ON +WT_CJ4_GENERATOR_R_OFF +WT_CJ4_GENERATOR_R_ON +WT_CJ4_GEN_LR_TOG +WT_CJ4_GEN_L_RESET +WT_CJ4_GEN_R_RESET +WT_CJ4_MASTER_BATTERY_EMER +WT_CJ4_MASTER_BATTERY_OFF +WT_CJ4_MASTER_BATTERY_ON +WT_CJ4_STBY_FTL_OFF +WT_CJ4_STBY_FTL_ON +WT_CJ4_STBY_FTL_TOG +Working Title/CJ4/Engines:GROUP +WT_CJ4_ENG_L_RUN_OFF +WT_CJ4_ENG_L_RUN_ON +WT_CJ4_ENG_RUNSTOP_L_PUSH +WT_CJ4_ENG_RUNSTOP_R_PUSH +WT_CJ4_ENG_R_RUN_OFF +WT_CJ4_ENG_R_RUN_ON +WT_CJ4_ENG_START_DISENG +WT_CJ4_ENG_START_LEFT +WT_CJ4_ENG_START_LEFT_OFF +WT_CJ4_ENG_START_LEFT_ON +WT_CJ4_ENG_START_RIGHT +WT_CJ4_ENG_START_RIGHT_OFF +WT_CJ4_ENG_START_RIGHT_ON +WT_CJ4_IGNITION_MAN_L_PUSH +WT_CJ4_IGNITION_MAN_R_PUSH +Working Title/CJ4/Fuel:GROUP +WT_CJ4_FUEL_BOOST_MAN_L +WT_CJ4_FUEL_BOOST_MAN_R +WT_CJ4_FUEL_XFER_LTK +WT_CJ4_FUEL_XFER_OFF +WT_CJ4_FUEL_XFER_RTK +Working Title/CJ4/Lights:GROUP +WT_CJ4_BEACON_LIGHT_OFF +WT_CJ4_BEACON_LIGHT_ON +WT_CJ4_BEACON_LIGHT_TOG +WT_CJ4_CABIN1_LIGHT_DEC +WT_CJ4_CABIN1_LIGHT_INC +WT_CJ4_CABIN1_LIGHT_TOGGLE +WT_CJ4_CABIN2_LIGHT_DEC +WT_CJ4_CABIN2_LIGHT_INC +WT_CJ4_CABIN2_LIGHT_TOGGLE +WT_CJ4_FLOOD_LIGHT_DEC +WT_CJ4_FLOOD_LIGHT_INC +WT_CJ4_FLOOD_LIGHT_TOGGLE +WT_CJ4_LANDING_LIGHTS_OFF +WT_CJ4_LANDING_LIGHTS_ON +WT_CJ4_LANDING_LIGHTS_TOGGLE +WT_CJ4_LOGO_LIGHT_TOGGLE +WT_CJ4_MFD1_LIGHT_DEC +WT_CJ4_MFD1_LIGHT_INC +WT_CJ4_MFD2_LIGHT_DEC +WT_CJ4_MFD2_LIGHT_INC +WT_CJ4_NAV_LIGHT_OFF +WT_CJ4_NAV_LIGHT_ON +WT_CJ4_NAV_LIGHT_TOG +WT_CJ4_PANEL_LIGHTS_DEC +WT_CJ4_PANEL_LIGHTS_INC +WT_CJ4_PANEL_LIGHTS_TOGGLE +WT_CJ4_PFD1_LIGHT_DEC +WT_CJ4_PFD1_LIGHT_INC +WT_CJ4_PFD2_LIGHT_DEC +WT_CJ4_PFD2_LIGHT_INC +WT_CJ4_RECOGNITION_LIGHTS_OFF +WT_CJ4_RECOGNITION_LIGHTS_ON +WT_CJ4_RECOGNITION_LIGHTS_TOGGLE +WT_CJ4_SAFETY_LIGHT_TOGGLE +WT_CJ4_SEATBELT_LIGHT_TOGGLE +WT_CJ4_STROBE_LIGHT_OFF +WT_CJ4_STROBE_LIGHT_ON +WT_CJ4_STROBE_LIGHT_TOG +WT_CJ4_TAXI_LIGHTS_OFF +WT_CJ4_TAXI_LIGHTS_ON +WT_CJ4_TAXI_LIGHTS_TOGGLE +Working Title/CJ4/Navigation:GROUP +CJ4_FMC_1_BTN_0 +CJ4_FMC_1_BTN_1 +CJ4_FMC_1_BTN_2 +CJ4_FMC_1_BTN_3 +CJ4_FMC_1_BTN_4 +CJ4_FMC_1_BTN_5 +CJ4_FMC_1_BTN_6 +CJ4_FMC_1_BTN_7 +CJ4_FMC_1_BTN_8 +CJ4_FMC_1_BTN_9 +CJ4_FMC_1_BTN_A +CJ4_FMC_1_BTN_B +CJ4_FMC_1_BTN_C +CJ4_FMC_1_BTN_CLR +CJ4_FMC_1_BTN_CLR_Long +CJ4_FMC_1_BTN_D +CJ4_FMC_1_BTN_DEPARR +CJ4_FMC_1_BTN_DIR +CJ4_FMC_1_BTN_DIV +CJ4_FMC_1_BTN_DOT +CJ4_FMC_1_BTN_DSPL_MENU +CJ4_FMC_1_BTN_E +CJ4_FMC_1_BTN_EXEC +CJ4_FMC_1_BTN_F +CJ4_FMC_1_BTN_FPLN +CJ4_FMC_1_BTN_G +CJ4_FMC_1_BTN_H +CJ4_FMC_1_BTN_I +CJ4_FMC_1_BTN_IDX +CJ4_FMC_1_BTN_J +CJ4_FMC_1_BTN_K +CJ4_FMC_1_BTN_L +CJ4_FMC_1_BTN_L1 +CJ4_FMC_1_BTN_L2 +CJ4_FMC_1_BTN_L3 +CJ4_FMC_1_BTN_L4 +CJ4_FMC_1_BTN_L5 +CJ4_FMC_1_BTN_L6 +CJ4_FMC_1_BTN_LEGS +CJ4_FMC_1_BTN_M +CJ4_FMC_1_BTN_MFD_ADV +CJ4_FMC_1_BTN_MFD_DATA +CJ4_FMC_1_BTN_MSG +CJ4_FMC_1_BTN_N +CJ4_FMC_1_BTN_NEXTPAGE +CJ4_FMC_1_BTN_O +CJ4_FMC_1_BTN_P +CJ4_FMC_1_BTN_PERF +CJ4_FMC_1_BTN_PLUSMINUS +CJ4_FMC_1_BTN_PREVPAGE +CJ4_FMC_1_BTN_Q +CJ4_FMC_1_BTN_R +CJ4_FMC_1_BTN_R1 +CJ4_FMC_1_BTN_R2 +CJ4_FMC_1_BTN_R3 +CJ4_FMC_1_BTN_R4 +CJ4_FMC_1_BTN_R5 +CJ4_FMC_1_BTN_R6 +CJ4_FMC_1_BTN_S +CJ4_FMC_1_BTN_SP +CJ4_FMC_1_BTN_T +CJ4_FMC_1_BTN_TUN +CJ4_FMC_1_BTN_U +CJ4_FMC_1_BTN_V +CJ4_FMC_1_BTN_W +CJ4_FMC_1_BTN_X +CJ4_FMC_1_BTN_Y +CJ4_FMC_1_BTN_Z +Working Title/CJ4/Radio:GROUP +WT_CJ4_ADF1_TOG +WT_CJ4_COM1COM2_ACTIVE_TOG +WT_CJ4_COM1_ACTIVE_PUSH +WT_CJ4_COM1_ON_TOGGLE +WT_CJ4_COM1_VOLUME_DEC +WT_CJ4_COM1_VOLUME_INC +WT_CJ4_COM2_ACTIVE_PUSH +WT_CJ4_COM2_ON_TOGGLE +WT_CJ4_COM2_VOLUME_DEC +WT_CJ4_COM2_VOLUME_INC +WT_CJ4_DME1_TOG +WT_CJ4_DME2_TOG +WT_CJ4_MKR_MUTE_PRESS +WT_CJ4_MKR_MUTE_RELEASE +WT_CJ4_MKR_TOG +WT_CJ4_NAV1_TOG +WT_CJ4_NAV1_VOLUME_DEC +WT_CJ4_NAV1_VOLUME_INC +WT_CJ4_NAV2_TOG +WT_CJ4_NAV2_VOLUME_DEC +WT_CJ4_NAV2_VOLUME_INC +WT_CJ4_SPKR_TOG +Working Title/CJ4/Warning System:GROUP +WT_CJ4_MASTER_CAUTION_PUSH +WT_CJ4_MASTER_CAUTION_RELEASE +WT_CJ4_MASTER_WARNING_PUSH +WT_CJ4_MASTER_WARNING_RELEASE +Working Title/G1000 NXi/Avionics:GROUP +AS1000_VNAV_TOGGLE \ No newline at end of file diff --git a/ReactClient/public/config/mobiFlightPresets/msfs2020_eventids_user.cip b/ReactClient/public/config/mobiFlightPresets/msfs2020_eventids_user.cip new file mode 100644 index 0000000..e69de29 diff --git a/ReactClient/public/config/mobiFlightPresets/msfs2020_simvars.cip b/ReactClient/public/config/mobiFlightPresets/msfs2020_simvars.cip new file mode 100644 index 0000000..68d2131 --- /dev/null +++ b/ReactClient/public/config/mobiFlightPresets/msfs2020_simvars.cip @@ -0,0 +1,2033 @@ +Aerosoft/CRJ 550-700-1000/Air Condition / Pressurization#GROUP +ASCRJ_AIRC_AFT_CARGO#(L:ASCRJ_AIRC_AFT_CARGO)#Aerosoft.CRJ 550-700-1000.Air Condition / Pressurization.ASCRJ_AIRC_AFT_CARGO +ASCRJ_AIRC_RECIRC_FAN#(L:ASCRJ_AIRC_RECIRC_FAN)#Aerosoft.CRJ 550-700-1000.Air Condition / Pressurization.ASCRJ_AIRC_RECIRC_FAN +ASCRJ_OVHD_OXY_ON#(L:ASCRJ_OVHD_OXY_ON)#Aerosoft.CRJ 550-700-1000.Air Condition / Pressurization.ASCRJ_OVHD_OXY_ON +Aerosoft/CRJ 550-700-1000/Anti-Ice#GROUP +ASCRJ_AICE_COWL_L#(L:ASCRJ_AICE_COWL_L)#Aerosoft.CRJ 550-700-1000.Anti-Ice.ASCRJ_AICE_COWL_L +ASCRJ_AICE_COWL_R#(L:ASCRJ_AICE_COWL_R)#Aerosoft.CRJ 550-700-1000.Anti-Ice.ASCRJ_AICE_COWL_R +ASCRJ_AICE_PHEAT_L#(L:ASCRJ_AICE_PHEAT_L)#Aerosoft.CRJ 550-700-1000.Anti-Ice.ASCRJ_AICE_PHEAT_L +ASCRJ_AICE_PHEAT_R#(L:ASCRJ_AICE_PHEAT_R)#Aerosoft.CRJ 550-700-1000.Anti-Ice.ASCRJ_AICE_PHEAT_R +ASCRJ_AICE_WING#(L:ASCRJ_AICE_WING)#Aerosoft.CRJ 550-700-1000.Anti-Ice.ASCRJ_AICE_WING +ASCRJ_AICE_WSHLD_L#(L:ASCRJ_AICE_WSHLD_L) #Aerosoft.CRJ 550-700-1000.Anti-Ice.ASCRJ_AICE_WSHLD_L +ASCRJ_AICE_WSHLD_R#(L:ASCRJ_AICE_WSHLD_R)#Aerosoft.CRJ 550-700-1000.Anti-Ice.ASCRJ_AICE_WSHLD_R +Aerosoft/CRJ 550-700-1000/Autopilot#GROUP +ASCRJ_FCP_12_BANK_LED#(L:ASCRJ_FCP_12BANK_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_12_BANK_LED +ASCRJ_FCP_ALT_INFO#(L:ASCRJ_FCP_ALT_INFO)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_ALT_INFO +ASCRJ_FCP_ALT_LED#(L:ASCRJ_FCP_ALT_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_ALT_LED +ASCRJ_FCP_APPR_LED#(L:ASCRJ_FCP_APPR_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_APPR_LED +ASCRJ_FCP_AP_ENG_LED#(L:ASCRJ_FCP_AP_ENG_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_AP_ENG_LED +ASCRJ_FCP_BC_LED#(L:ASCRJ_FCP_BC_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_BC_LED +ASCRJ_FCP_HDG_INFO#(L:ASCRJ_FCP_HDG_INFO)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_HDG_INFO +ASCRJ_FCP_HDG_LED#(L:ASCRJ_FCP_HDG_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_HDG_LED +ASCRJ_FCP_LNAV_LED#(L:ASCRJ_FCP_NAV_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_LNAV_LED +ASCRJ_FCP_SPEED_INFO#(L:ASCRJ_FCP_SPEED_INFO)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_SPEED_INFO +ASCRJ_FCP_SPEED_LED#(L:ASCRJ_FCP_SPEED_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_SPEED_LED +ASCRJ_FCP_TURB_LED#(L:ASCRJ_FCP_TURB_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_TURB_LED +ASCRJ_FCP_VNAV_LED#(L:ASCRJ_FCP_VNAV_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_VNAV_LED +ASCRJ_FCP_VS_LED#(L:ASCRJ_FCP_VS_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_VS_LED +ASCRJ_FCP_WHEEL_INFO#(L:ASCRJ_FCP_WHEEL_INFO) flr#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_WHEEL_INFO +ASCRJ_FCP_XFR_LED#(L:ASCRJ_FCP_XFR_LED)#Aerosoft.CRJ 550-700-1000.Autopilot.ASCRJ_FCP_XFR_LED +Aerosoft/CRJ 550-700-1000/Electrical#GROUP +ASCRJ_APU_STARTSTOP_AVAIL#(L:ASCRJ_APU_STARTSTOP_AVAIL)#Aerosoft.CRJ 550-700-1000.Electrical.ASCRJ_APU_STARTSTOP_AVAIL +Aerosoft/CRJ 550-700-1000/Engines#GROUP +ASCRJ_ENGS_CONT_IGN_LED#(L:ASCRJ_ENGS_CONT_IGN_ON)#Aerosoft.CRJ 550-700-1000.Engines.ASCRJ_ENGS_CONT_IGN_LED +ASCRJ_TQ_REV1_MODE#(L:ASCRJ_TQ_REV1_MODE)#Aerosoft.CRJ 550-700-1000.Engines.ASCRJ_TQ_REV1_MODE +ASCRJ_TQ_REV2_MODE#(L:ASCRJ_TQ_REV2_MODE)#Aerosoft.CRJ 550-700-1000.Engines.ASCRJ_TQ_REV2_MODE +Aerosoft/CRJ 550-700-1000/Environment#GROUP +PLANE AIRSPEED#(A:AIRSPEED TRUE:0, Knots) flr#Aerosoft.CRJ 550-700-1000.Environment.PLANE AIRSPEED +PLANE ALTITUDE#(A:INDICATED ALTITUDE:1, Feet) flr#Aerosoft.CRJ 550-700-1000.Environment.PLANE ALTITUDE +PLANE HEADING#(A:PLANE HEADING DEGREES TRUE:0, Radians) 57.2957795131 * flr#Aerosoft.CRJ 550-700-1000.Environment.PLANE HEADING +Aerosoft/CRJ 550-700-1000/Flight Controls#GROUP +ASCRJ_FLAPS_SET#(L:ASCRJ_FLAPS_SET)#Aerosoft.CRJ 550-700-1000.Flight Controls.ASCRJ_FLAPS_SET +Aerosoft/CRJ 550-700-1000/Fuel#GROUP +Fuel Quantity Center#(A:FUEL TANK CENTER QUANTITY,Gallons) 3.039 * flr#Aerosoft.CRJ 550-700-1000.Fuel.Fuel Quantity Center +Fuel Quantity Left#(A:FUEL LEFT QUANTITY,Gallons) 3.039 * flr#Aerosoft.CRJ 550-700-1000.Fuel.Fuel Quantity Left +Fuel Quantity Right#(A:FUEL RIGHT QUANTITY,Gallons) 3.039 * flr#Aerosoft.CRJ 550-700-1000.Fuel.Fuel Quantity Right +Aerosoft/CRJ 550-700-1000/Gear#GROUP +ASCRJ_GEAR_LEFT_POS#(L:ASCRJ_GEAR_LEFT_POS)#Aerosoft.CRJ 550-700-1000.Gear.ASCRJ_GEAR_LEFT_POS +ASCRJ_GEAR_NOSE_POS#(L:ASCRJ_GEAR_NOSE_POS)#Aerosoft.CRJ 550-700-1000.Gear.ASCRJ_GEAR_NOSE_POS +ASCRJ_GEAR_RIGHT_POS#(L:ASCRJ_GEAR_RIGHT_POS)#Aerosoft.CRJ 550-700-1000.Gear.ASCRJ_GEAR_RIGHT_POS +ASCRJ_PARK_BRAKE#(L:ASCRJ_PARK_BRAKE)#Aerosoft.CRJ 550-700-1000.Gear.ASCRJ_PARK_BRAKE +Aerosoft/CRJ 550-700-1000/Hydraulic#GROUP +L_HYD_SOV_BUTTON_LED#(L:ASCRJ_HYDR_SOV1_CLOSED)#Aerosoft.CRJ 550-700-1000.Hydraulic.L_HYD_SOV_BUTTON_LED +R_HYD_SOV_BUTTON_LED#(L:ASCRJ_HYDR_SOV2_CLOSED)#Aerosoft.CRJ 550-700-1000.Hydraulic.R_HYD_SOV_BUTTON_LED +Aerosoft/CRJ 550-700-1000/Lights#GROUP +ASCRJ_EXTL_BEACON_LIGHT#(L:ASCRJ_EXTL_BEACON)#Aerosoft.CRJ 550-700-1000.Lights.ASCRJ_EXTL_BEACON_LIGHT +ASCRJ_EXTL_NAV_LIGHT#(L:ASCRJ_EXTL_NAV)#Aerosoft.CRJ 550-700-1000.Lights.ASCRJ_EXTL_NAV_LIGHT +ASCRJ_OVHD_LDG_LEFT#(L:ASCRJ_OVHD_LDG_LEFT)#Aerosoft.CRJ 550-700-1000.Lights.ASCRJ_OVHD_LDG_LEFT +ASCRJ_OVHD_LDG_NOSE#(L:ASCRJ_OVHD_LDG_NOSE)#Aerosoft.CRJ 550-700-1000.Lights.ASCRJ_OVHD_LDG_NOSE +ASCRJ_OVHD_LDG_RIGHT#(L:ASCRJ_OVHD_LDG_RIGHT)#Aerosoft.CRJ 550-700-1000.Lights.ASCRJ_OVHD_LDG_RIGHT +ASCRJ_OVHD_TAXI#(L:ASCRJ_OVHD_TAXI)#Aerosoft.CRJ 550-700-1000.Lights.ASCRJ_OVHD_TAXI +Aerosoft/CRJ 550-700-1000/Navigation#GROUP +ASCRJ_IRS1_KNOB#(L:ASCRJ_IRS1_KNOB)#Aerosoft.CRJ 550-700-1000.Navigation.ASCRJ_IRS1_KNOB +ASCRJ_IRS2_KNOB#(L:ASCRJ_IRS2_KNOB)#Aerosoft.CRJ 550-700-1000.Navigation.ASCRJ_IRS2_KNOB +Aerosoft/CRJ 550-700-1000/Warning System#GROUP +ASCRJ_GSC_MASTER_CAUT_ON#(L:ASCRJ_GSC_MASTER_CAUT_ON)#Aerosoft.CRJ 550-700-1000.Warning System.ASCRJ_GSC_MASTER_CAUT_ON +ASCRJ_GSC_MASTER_WARN_ON#(L:ASCRJ_GSC_MASTER_WARN_ON)#Aerosoft.CRJ 550-700-1000.Warning System.ASCRJ_GSC_MASTER_WARN_ON +ASCRJ_GSF_MASTER_CAUT_ON#(L:ASCRJ_GSF_MASTER_CAUT_ON)#Aerosoft.CRJ 550-700-1000.Warning System.ASCRJ_GSF_MASTER_CAUT_ON +ASCRJ_GSF_MASTER_WARN_ON#(L:ASCRJ_GSF_MASTER_WARN_ON)#Aerosoft.CRJ 550-700-1000.Warning System.ASCRJ_GSF_MASTER_WARN_ON +Asobo/330 Extra/Avionics#GROUP +AS3X_MFD_Cursor#(L:MFD_Main_MapShowCursor,Number)#Asobo.330 Extra.Avionics.AS3X_MFD_Cursor +Asobo/Baron G58/Controls#GROUP +G58 FLAPS BLUE INDICATOR#(A:TRAILING EDGE FLAPS LEFT ANGLE, degrees) 10 - abs 0.1 <#Asobo.Baron G58.Controls.G58 FLAPS BLUE INDICATOR +G58 FLAPS RED INDICATOR#(A:CIRCUIT FLAP MOTOR ON, bool)#Asobo.Baron G58.Controls.G58 FLAPS RED INDICATOR +G58 FLAPS YELLOW INDICATOR#(A:TRAILING EDGE FLAPS LEFT ANGLE, degrees) 30 - abs 0.1 <#Asobo.Baron G58.Controls.G58 FLAPS YELLOW INDICATOR +Asobo/Baron G58/Safety#GROUP +G58 ELT LED ON#(A:ELT ACTIVATED, Bool)#Asobo.Baron G58.Safety.G58 ELT LED ON +Asobo/Cessna 172/Autopilot#GROUP +C_172_AP_Heading#(A:AUTOPILOT HEADING LOCK DIR, degrees)#Asobo.Cessna 172.Autopilot.C_172_AP_Heading +Asobo/Cessna 172/Warning System#GROUP +C172 Standby Battery Switch Test #(L:XMLVAR_STBYBattery_Test, bool)#Asobo.Cessna 172.Warning System.C172 Standby Battery Switch Test +Asobo/Longitude/Autopilot#GROUP +LONGITUDE_AUTOPILOT_VNAV_ON#(L:XMLVAR_VNAVButtonValue)#Asobo.Longitude.Autopilot.LONGITUDE_AUTOPILOT_VNAV_ON +Asobo/Longitude/Lights#GROUP +(A:ENGINE 1 DEICE ON, Number)#(A:ENGINE 1 DEICE ON, Number)#Asobo.Longitude.Lights.(A:ENGINE 1 DEICE ON, Number) +(A:ENGINE 2 DEICE ON, Number)#(A:ENGINE 2 DEICE ON, Number)#Asobo.Longitude.Lights.(A:ENGINE 2 DEICE ON, Number) +(A:LIGHT LANDING ON, Number)#(A:LIGHT LANDING ON, Number)#Asobo.Longitude.Lights.(A:LIGHT LANDING ON, Number) +(A:LIGHT NAV ON, Number)#(A:LIGHT NAV ON, Number)#Asobo.Longitude.Lights.(A:LIGHT NAV ON, Number) +(A:LIGHT TAXI ON, Number)#(A:LIGHT TAXI ON, Number)#Asobo.Longitude.Lights.(A:LIGHT TAXI ON, Number) +(A:LIGHT WING ON, Number)#(A:LIGHT WING ON, Number)#Asobo.Longitude.Lights.(A:LIGHT WING ON, Number) +(A:PITOT DEICE ON, Number)#(A:PITOT DEICE ON, Number)#Asobo.Longitude.Lights.(A:PITOT DEICE ON, Number) +(A:WING DEICE ON, Number)#(A:WING DEICE ON, Number)#Asobo.Longitude.Lights.(A:WING DEICE ON, Number) +Asobo/TBM 930/Anti-Ice#GROUP +TBM930_AIRFRAME_DE_ICE_LED_LEFT#(L:XMLVAR_IsDeiceAirFrame, Number)#Asobo.TBM 930.Anti-Ice.TBM930_AIRFRAME_DE_ICE_LED_LEFT +TBM930_AIRFRAME_DE_ICE_LED_RIGHT#(L:XMLVAR_IsDeiceAirFrame2)#Asobo.TBM 930.Anti-Ice.TBM930_AIRFRAME_DE_ICE_LED_RIGHT +TBM930_PROP_DE_ICE_LED#(A:WINDSHIELD DEICE SWITCH, Bool)#Asobo.TBM 930.Anti-Ice.TBM930_PROP_DE_ICE_LED +TBM930_WINDSHIELD_DE_ICE_LEDS#(A:PROP DEICE SWITCH:1, Bool)#Asobo.TBM 930.Anti-Ice.TBM930_WINDSHIELD_DE_ICE_LEDS +Asobo/TBM 930/Autopilot#GROUP +TBM930_AUTOPILOT_ALT_LED#(A:AUTOPILOT ALTITUDE LOCK, Bool)#Asobo.TBM 930.Autopilot.TBM930_AUTOPILOT_ALT_LED +TBM930_AUTOPILOT_AP_LED#(A:AUTOPILOT MASTER, Bool)#Asobo.TBM 930.Autopilot.TBM930_AUTOPILOT_AP_LED +TBM930_AUTOPILOT_BANK_LED#(A:AUTOPILOT MAX BANK, Radians) 0.5 <#Asobo.TBM 930.Autopilot.TBM930_AUTOPILOT_BANK_LED +TBM930_AUTOPILOT_FD_LED#(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE, Bool)#Asobo.TBM 930.Autopilot.TBM930_AUTOPILOT_FD_LED +TBM930_AUTOPILOT_HDG_LED#(A:AUTOPILOT HEADING LOCK, Bool)#Asobo.TBM 930.Autopilot.TBM930_AUTOPILOT_HDG_LED +TBM930_AUTOPILOT_Heading#(A:AUTOPILOT HEADING LOCK DIR:1, degrees)#Asobo.TBM 930.Autopilot.TBM930_AUTOPILOT_Heading +TBM930_AUTOPILOT_SPD_LED#(L:XMLVAR_AirSpeedIsInMach, Number)#Asobo.TBM 930.Autopilot.TBM930_AUTOPILOT_SPD_LED +TBM930_AUTOPILOT_VS_LED#(A:AUTOPILOT VERTICAL HOLD, Bool)#Asobo.TBM 930.Autopilot.TBM930_AUTOPILOT_VS_LED +Asobo/TBM 930/Gear#GROUP +TBM930_GEAR_DOWN_LEDS#1·0·(A:GEAR·LEFT·POSITION,·Percent)·100·==·?#Asobo.TBM 930.Gear.TBM930_GEAR_DOWN_LEDS +Asobo/TBM 930/Lights#GROUP +TBM930_PANEL_BRIGHTNESS#(A:LIGHT POTENTIOMETER:4, Percent)#Asobo.TBM 930.Lights.TBM930_PANEL_BRIGHTNESS +Asobo/TBM 930/Miscellaneous#GROUP +TBM930_BACK_DOOR_STATE#(L:XMLVAR_TBM930_BackDoor_State)#Asobo.TBM 930.Miscellaneous.TBM930_BACK_DOOR_STATE +TBM930_CARGO_DOOR_STATE#(L:XMLVAR_TBM930_CargoDoor_State)#Asobo.TBM 930.Miscellaneous.TBM930_CARGO_DOOR_STATE +TBM930_FRONT_DOOR_STATE#(L:XMLVAR_TBM930_FrontDoor_State)#Asobo.TBM 930.Miscellaneous.TBM930_FRONT_DOOR_STATE +Asobo/TBM 930/Safety#GROUP +TBM930_ELT_LED#(A:ELT ACTIVATED, Bool) (E:SIMULATION TIME, second) 3 * 2 % and (L:XMLVAR_ELT_STATE) 3 ==#Asobo.TBM 930.Safety.TBM930_ELT_LED +Asobo/TBM 930/Warning System#GROUP +TBM930_ELT_LED#(A:ELT ACTIVATED, Bool) (E:SIMULATION TIME, second) 3 * 2 % and (L:XMLVAR_ELT_STATE) 3 == or#Asobo.TBM 930.Warning System.TBM930_ELT_LED +Asobo/XCub/Controls#GROUP +XCUB_FLAPS_ACTUAL_POSITION_DISPLAY#(A:FLAPS HANDLE INDEX, Number)#Asobo.XCub.Controls.XCUB_FLAPS_ACTUAL_POSITION_DISPLAY +XCUB_TRIM_ACTUAL_POSITION_DISPLAY#(A:ELEVATOR TRIM INDICATOR, Percent) 10 /#Asobo.XCub.Controls.XCUB_TRIM_ACTUAL_POSITION_DISPLAY +Asobo/XCub/Lights#GROUP +XCUB_AUX_DIMMER_VALUE#(A:LIGHT POTENTIOMETER:3, Percent)#Asobo.XCub.Lights.XCUB_AUX_DIMMER_VALUE +Asobo/XCub/Navigation#GROUP +XCUB_AIRSPEED_INDICATED_DISPLAY#(A:AIRSPEED INDICATED, Mph)#Asobo.XCub.Navigation.XCUB_AIRSPEED_INDICATED_DISPLAY +Fly By Wire/A320-Dev/Air Condition / Pressurization#GROUP +APU Bleed Fault#(L:A32NX_OVHD_PNEU_APU_BLEED_PB_HAS_FAULT, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Air Condition / Pressurization.APU Bleed Fault +APU Bleed On#(L:A32NX_OVHD_PNEU_APU_BLEED_PB_IS_ON, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Air Condition / Pressurization.APU Bleed On +Crew Oxygen Off#(L:PUSH_OVHD_OXYGEN_CREW, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Air Condition / Pressurization.Crew Oxygen Off +Fly By Wire/A320-Dev/Anti-Ice#GROUP +Engine 1 Ice Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Anti-Ice.Engine 1 Ice Fault +Engine 1 Ice On#(A:ENG ANTI ICE:1, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Anti-Ice.Engine 1 Ice On +Engine 2 Ice Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Anti-Ice.Engine 2 Ice Fault +Engine 2 Ice On#(A:ENG ANTI ICE:2, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Anti-Ice.Engine 2 Ice On +Probe Window Heat#(L:A32NX_MAN_PITOT_HEAT) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Anti-Ice.Probe Window Heat +Wing Ice Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and ((L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Anti-Ice.Wing Ice Fault +Wing Ice On#(A:STRUCTURAL DEICE SWITCH, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Anti-Ice.Wing Ice On +Fly By Wire/A320-Dev/Autopilot#GROUP +A32NX AUTOPILOT AIRSPEED HOLD VAR#(A:AUTOPILOT AIRSPEED HOLD VAR)#Fly By Wire.A320-Dev.Autopilot.A32NX AUTOPILOT AIRSPEED HOLD VAR +A32NX AUTOPILOT ALTITUDE LOCK VAR:3#(A:AUTOPILOT ALTITUDE LOCK VAR:3)#Fly By Wire.A320-Dev.Autopilot.A32NX AUTOPILOT ALTITUDE LOCK VAR:3 +A32NX_AUTOPILOT_1_ACTIVE#(L:A32NX_AUTOPILOT_1_ACTIVE)#Fly By Wire.A320-Dev.Autopilot.A32NX_AUTOPILOT_1_ACTIVE +A32NX_AUTOPILOT_2_ACTIVE#(L:A32NX_AUTOPILOT_2_ACTIVE)#Fly By Wire.A320-Dev.Autopilot.A32NX_AUTOPILOT_2_ACTIVE +A32NX_AUTOPILOT_FPA_SELECTED#(L:A32NX_AUTOPILOT_FPA_SELECTED)#Fly By Wire.A320-Dev.Autopilot.A32NX_AUTOPILOT_FPA_SELECTED +A32NX_AUTOPILOT_HEADING_SELECTED#(L:A32NX_AUTOPILOT_HEADING_SELECTED)#Fly By Wire.A320-Dev.Autopilot.A32NX_AUTOPILOT_HEADING_SELECTED +A32NX_AUTOPILOT_SPEED_SELECTED#(L:A32NX_AUTOPILOT_SPEED_SELECTED)#Fly By Wire.A320-Dev.Autopilot.A32NX_AUTOPILOT_SPEED_SELECTED +A32NX_AUTOPILOT_VS_SELECTED#(L:A32NX_AUTOPILOT_VS_SELECTED)#Fly By Wire.A320-Dev.Autopilot.A32NX_AUTOPILOT_VS_SELECTED +A32NX_AUTOTHRUST_STATUS#(L:A32NX_AUTOTHRUST_STATUS)#Fly By Wire.A320-Dev.Autopilot.A32NX_AUTOTHRUST_STATUS +A32NX_FCU_ALT_MANAGED#(L:A32NX_FCU_ALT_MANAGED)#Fly By Wire.A320-Dev.Autopilot.A32NX_FCU_ALT_MANAGED +A32NX_FCU_APPR_MODE_ACTIVE#(L:A32NX_FCU_APPR_MODE_ACTIVE)#Fly By Wire.A320-Dev.Autopilot.A32NX_FCU_APPR_MODE_ACTIVE +A32NX_FCU_HDG_MANAGED_DASHES#(L:A32NX_FCU_HDG_MANAGED_DASHES)#Fly By Wire.A320-Dev.Autopilot.A32NX_FCU_HDG_MANAGED_DASHES +A32NX_FCU_HDG_MANAGED_DOT#(L:A32NX_FCU_HDG_MANAGED_DOT)#Fly By Wire.A320-Dev.Autopilot.A32NX_FCU_HDG_MANAGED_DOT +A32NX_FCU_LOC_MODE_ACTIVE#(L:A32NX_FCU_LOC_MODE_ACTIVE)#Fly By Wire.A320-Dev.Autopilot.A32NX_FCU_LOC_MODE_ACTIVE +A32NX_FCU_SPD_MANAGED_DASHES#(L:A32NX_FCU_SPD_MANAGED_DASHES)#Fly By Wire.A320-Dev.Autopilot.A32NX_FCU_SPD_MANAGED_DASHES +A32NX_FCU_SPD_MANAGED_DOT#(L:A32NX_FCU_SPD_MANAGED_DOT)#Fly By Wire.A320-Dev.Autopilot.A32NX_FCU_SPD_MANAGED_DOT +A32NX_FCU_VS_MANAGED#(L:A32NX_FCU_VS_MANAGED)#Fly By Wire.A320-Dev.Autopilot.A32NX_FCU_VS_MANAGED +A32NX_FMA_EXPEDITE_MODE#(L:A32NX_FMA_EXPEDITE_MODE)#Fly By Wire.A320-Dev.Autopilot.A32NX_FMA_EXPEDITE_MODE +A32NX_TRK_FPA_MODE_ACTIVE#(L:A32NX_TRK_FPA_MODE_ACTIVE)#Fly By Wire.A320-Dev.Autopilot.A32NX_TRK_FPA_MODE_ACTIVE +Approach Mode Active#(L:A32NX_FCU_APPR_MODE_ACTIVE, bool) (L:A32NX_OVHD_INTLT_ANN) 0 == max (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Autopilot.Approach Mode Active +Auto Thrust Active#(L:A32NX_AUTOTHRUST_STATUS, enum) 0 > (L:A32NX_OVHD_INTLT_ANN) 0 == max (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Autopilot.Auto Thrust Active +Autopilot 1 Active#(L:A32NX_AUTOPILOT_1_ACTIVE, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == max (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Autopilot.Autopilot 1 Active +Autopilot 2 Active#(L:A32NX_AUTOPILOT_2_ACTIVE, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == max (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Autopilot.Autopilot 2 Active +Expedite Mode Active#(L:A32NX_FMA_EXPEDITE_MODE, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == max (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Autopilot.Expedite Mode Active +Localizer Mode Active#(L:A32NX_FCU_LOC_MODE_ACTIVE, bool) (L:A32NX_OVHD_INTLT_ANN) 0 == max (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Autopilot.Localizer Mode Active +Fly By Wire/A320-Dev/EFIS#GROUP +A32NX_KOHLSMAN_SETTING#(L:XMLVAR_Baro1_Mode) 2 > if{ 99 } els{ (L:XMLVAR_Baro_Selector_HPA_1,bool) ! if{ (A:KOHLSMAN SETTING HG, inHg) 100 * near } els{ (A:KOHLSMAN SETTING HG, mbar) near } }#Fly By Wire.A320-Dev.EFIS.A32NX_KOHLSMAN_SETTING +ARPT 1 Active#(L:A32NX_EFIS_L_OPTION, enum) 5 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 0 ! and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.EFIS.ARPT 1 Active +BTN_LS_1#(L:BTN_LS_1_FILTER_ACTIVE) (L:A32NX_OVHD_INTLT_ANN) 0 == or 0 ! and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.EFIS.BTN_LS_1 +CSTR 1 Active#(L:A32NX_EFIS_L_OPTION, enum) 1 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 0 ! and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.EFIS.CSTR 1 Active +Flight Director CPT Active#(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE:1, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == max (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * 0 + (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.EFIS.Flight Director CPT Active +NDB 1 Active#(L:A32NX_EFIS_L_OPTION, enum) 4 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 0 ! and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.EFIS.NDB 1 Active +VOR D 1 Active#(L:A32NX_EFIS_L_OPTION, enum) 2 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 0 ! and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.EFIS.VOR D 1 Active +WPT 1 Active#(L:A32NX_EFIS_L_OPTION, enum) 3 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 0 ! and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.EFIS.WPT 1 Active +Fly By Wire/A320-Dev/Electrical#GROUP +A32NX OVHD ELEC APUGEN IS OFF#(L:XMLVAR_Momentary_PUSH_OVHD_ELEC_APUGEN_Pressed,bool)#Fly By Wire.A320-Dev.Electrical.A32NX OVHD ELEC APUGEN IS OFF +A32NX OVHD ELEC GEN 1 IS OFF#(L:XMLVAR_Momentary_PUSH_OVHD_ELEC_GEN1_Pressed,bool)#Fly By Wire.A320-Dev.Electrical.A32NX OVHD ELEC GEN 1 IS OFF +A32NX OVHD ELEC GEN 2 IS OFF#(L:XMLVAR_Momentary_PUSH_OVHD_ELEC_GEN2_Pressed,bool)#Fly By Wire.A320-Dev.Electrical.A32NX OVHD ELEC GEN 2 IS OFF +APU Master Fault#(L:A32NX_OVHD_APU_MASTER_SW_PB_HAS_FAULT, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED, Bool) or and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.APU Master Fault +APU Master On#(L:A32NX_OVHD_APU_MASTER_SW_PB_IS_ON, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED, Bool) or and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.APU Master On +APU Start Avail#(L:A32NX_OVHD_APU_START_PB_IS_AVAILABLE, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED, Bool) or and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.APU Start Avail +APU Start On#(L:A32NX_OVHD_APU_START_PB_IS_ON, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED, Bool) or and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.APU Start On +Battery 1 Fault#(L:A32NX_OVHD_ELEC_BAT_1_PB_HAS_FAULT, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED, Bool) or and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * 0 > (A:CIRCUIT GENERAL PANEL ON, Bool) and#Fly By Wire.A320-Dev.Electrical.Battery 1 Fault +Battery 1 Off#(L:A32NX_OVHD_ELEC_BAT_1_PB_IS_AUTO, Bool) ! (L:A32NX_OVHD_INTLT_ANN) 0 == or (L:A32NX_ELEC_DC_BAT_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.Battery 1 Off +Battery 2 Fault#(L:A32NX_OVHD_ELEC_BAT_2_PB_HAS_FAULT, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or (L:A32NX_ELEC_DC_BAT_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED, Bool) or and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.Battery 2 Fault +Battery 2 Off#(L:A32NX_OVHD_ELEC_BAT_2_PB_IS_AUTO, Bool) ! (L:A32NX_OVHD_INTLT_ANN) 0 == or (L:A32NX_ELEC_DC_BAT_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.Battery 2 Off +External Power Avail#(A:EXTERNAL POWER AVAILABLE:1, Bool) (A:EXTERNAL POWER ON:1, Bool) ! and (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.External Power Avail +External Power On#(A:EXTERNAL POWER AVAILABLE:1, Bool) (A:EXTERNAL POWER ON:1, Bool) and (L:A32NX_OVHD_INTLT_ANN) 0 == or (L:A32NX_ELEC_DC_BAT_BUS_IS_POWERED, Bool) and 1 and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Electrical.External Power On +Fly By Wire/A320-Dev/Fuel#GROUP +L TK Pump 1 Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.L TK Pump 1 Fault +L TK Pump 1 Off#(A:FUELSYSTEM PUMP SWITCH:2, Enum) 0 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.L TK Pump 1 Off +L TK Pump 2 Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * 0 > (A:CIRCUIT GENERAL PANEL ON, Bool) and#Fly By Wire.A320-Dev.Fuel.L TK Pump 2 Fault +L TK Pump 2 Off#(A:FUELSYSTEM PUMP SWITCH:5, Enum) 0 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.L TK Pump 2 Off +Pump 1 Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.Pump 1 Fault +Pump 1 Off#(A:FUELSYSTEM PUMP SWITCH:1, Enum) 0 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.Pump 1 Off +Pump 2 Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.Pump 2 Fault +Pump 2 Off#(A:FUELSYSTEM PUMP SWITCH:4, Enum) 0 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.Pump 2 Off +R TK Pump 1 Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.R TK Pump 1 Fault +R TK Pump 1 Off#(A:FUELSYSTEM PUMP SWITCH:3, Enum) 0 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.R TK Pump 1 Off +R TK Pump 2 Fault#(L:A32NX_OVHD_INTLT_ANN) 0 == 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.R TK Pump 2 Fault +R TK Pump 2 Off#(A:FUELSYSTEM PUMP SWITCH:6, Enum) 0 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Fuel.R TK Pump 2 Off +Fly By Wire/A320-Dev/Gear#GROUP +Autobrakes Low Decel#(L:A32NX_AUTOBRAKES_DECEL_LIGHT, Bool) (L:A32NX_AUTOBRAKES_ARMED_MODE, Number) 1 == and (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Gear.Autobrakes Low Decel +Autobrakes Low On#(L:A32NX_AUTOBRAKES_ARMED_MODE, Number) 1 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Gear.Autobrakes Low On +Autobrakes Max Decel#(L:A32NX_AUTOBRAKES_DECEL_LIGHT, Bool) (L:A32NX_AUTOBRAKES_ARMED_MODE, Number) 3 == and (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * 0 > (A:CIRCUIT GENERAL PANEL ON, Bool) and#Fly By Wire.A320-Dev.Gear.Autobrakes Max Decel +Autobrakes Max On#(L:A32NX_AUTOBRAKES_ARMED_MODE, Number) 3 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Gear.Autobrakes Max On +Autobrakes Med Decel#(L:A32NX_AUTOBRAKES_DECEL_LIGHT, Bool) (L:A32NX_AUTOBRAKES_ARMED_MODE, Number) 2 == and (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Gear.Autobrakes Med Decel +Autobrakes Med On#(L:A32NX_AUTOBRAKES_ARMED_MODE, Number) 2 == (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Gear.Autobrakes Med On +Brake Fan Hot#(L:A32NX_BRAKES_HOT, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Gear.Brake Fan Hot +Brakes Fan On#(L:A32NX_BRAKE_FAN, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Gear.Brakes Fan On +Fly By Wire/A320-Dev/Lights#GROUP +A32NX_LIGHTS_GLARESHIELD2_PERCENT#(A:LIGHT POTENTIOMETER:84, percent)#Fly By Wire.A320-Dev.Lights.A32NX_LIGHTS_GLARESHIELD2_PERCENT +A32NX_LIGHTS_GLARESHIELD3_PERCENT#(A:LIGHT POTENTIOMETER:87, percent)#Fly By Wire.A320-Dev.Lights.A32NX_LIGHTS_GLARESHIELD3_PERCENT +Main panel and pedestal backlight#(A:LIGHT POTENTIOMETER:85, Percent)#Fly By Wire.A320-Dev.Lights.Main panel and pedestal backlight +Pedestal Light#(A:LIGHT POTENTIOMETER:76, Percent)#Fly By Wire.A320-Dev.Lights.Pedestal Light +Fly By Wire/A320-Dev/Miscellaneous#GROUP +COCKPIT_DOOR_OPEN#(L:A32NX_COCKPIT_DOOR_LOCKED) !#Fly By Wire.A320-Dev.Miscellaneous.COCKPIT_DOOR_OPEN +RCDR (GND CTL)#(L:A32NX_RCDR_GROUND_CONTROL_ON, Bool) (L:A32NX_OVHD_INTLT_ANN) 0 == or 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Miscellaneous.RCDR (GND CTL) +Fly By Wire/A320-Dev/Navigation#GROUP +ATC Custom 7 Sec Timeout Handler#(L:XPNDR_timeout) 0 != if{ (E:SIMULATION TIME,second) (L:XPNDR_timeout) > if{ 0 s0 (>L:XPNDR_timeout) l0 (>L:XPNDR_temp) l0 (>L:XPNDR_pos) l0 (>L:XPNDR_clr) } }#Fly By Wire.A320-Dev.Navigation.ATC Custom 7 Sec Timeout Handler +ATC Custom Numeric Keypress Handler#(L:XPNDR_act,bool) if{ 0 (>L:XPNDR_act) (E:SIMULATION TIME,second) 7 + (>L:XPNDR_timeout) (L:XPNDR_clr) 2 == if{ 1 (>L:XPNDR_clr) } (L:XPNDR_key) (L:XPNDR_temp,number) 10 * + (>L:XPNDR_temp,number) (L:XPNDR_pos) ++ 4 min s0 (>L:XPNDR_pos) l0 4 == if{ (L:XPNDR_temp,bco16) (>K:XPNDR_SET) 0 (>L:XPNDR_timeout) 0 (>L:XPNDR_temp,number) 0 (>L:XPNDR_pos) 0 (>L:XPNDR_clr) } } (L:XPNDR_temp)#Fly By Wire.A320-Dev.Navigation.ATC Custom Numeric Keypress Handler +ATC Custom XPNDR_clr#(L:XPNDR_clr)#Fly By Wire.A320-Dev.Navigation.ATC Custom XPNDR_clr +ATC Custom XPNDR_pos#(L:XPNDR_pos)#Fly By Wire.A320-Dev.Navigation.ATC Custom XPNDR_pos +Fly By Wire/A320-Dev/Safety#GROUP +A32NX_OVHD_EMEREXIT_LIGHT_OFF#(L:XMLVAR_SWITCH_OVHD_INTLT_EMEREXIT_Position) 2 ==#Fly By Wire.A320-Dev.Safety.A32NX_OVHD_EMEREXIT_LIGHT_OFF +Fly By Wire/A320-Dev/Warning System#GROUP +Master Caution Active#(L:Generic_Master_Caution_Active) (L:A32NX_OVHD_INTLT_ANN) 0 == or (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) or and (I:SAFETY_Push_Warning_ButtonAnimVar_IsDown) or (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * max 0 > (A:CIRCUIT GENERAL PANEL ON, Bool) and#Fly By Wire.A320-Dev.Warning System.Master Caution Active +Master Warning Active#(L:Generic_Master_Warning_Active) (L:A32NX_OVHD_INTLT_ANN) 0 == or (L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED, Bool) (L:A32NX_ELEC_AC_2_BUS_IS_POWERED, Bool) or and (I:SAFETY_Push_Warning_ButtonAnimVar_IsDown) or (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * max 0 > (A:CIRCUIT GENERAL PANEL ON, Bool) and#Fly By Wire.A320-Dev.Warning System.Master Warning Active +Terr On ND Active#(L:BTN_TERRONND_1_ACTIVE) (L:A32NX_OVHD_INTLT_ANN) 0 == or 0 ! and 1 and (L:A32NX_ELEC_AC_1_BUS_IS_POWERED, Bool) and (L:A32NX_OVHD_INTLT_ANN, number) 2 == if{ 0.1 } els{ 1 } * (A:CIRCUIT GENERAL PANEL ON, Bool) *#Fly By Wire.A320-Dev.Warning System.Terr On ND Active +Fly By Wire/A320-SDK/ADIRS#GROUP +A32NX_ADIRS_ADIRU_1_STATE#(L:A32NX_ADIRS_ADIRU_1_STATE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADIRU_1_STATE +A32NX_ADIRS_ADIRU_2_STATE#(L:A32NX_ADIRS_ADIRU_2_STATE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADIRU_2_STATE +A32NX_ADIRS_ADIRU_3_STATE#(L:A32NX_ADIRS_ADIRU_3_STATE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADIRU_3_STATE +A32NX_ADIRS_ADR_1_ALTITUDE#(L:A32NX_ADIRS_ADR_1_ALTITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_1_ALTITUDE +A32NX_ADIRS_ADR_1_BAROMETRIC_VERTICAL_SPEED#(L:A32NX_ADIRS_ADR_1_BAROMETRIC_VERTICAL_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_1_BAROMETRIC_VERTICAL_SPEED +A32NX_ADIRS_ADR_1_COMPUTED_AIRSPEED#(L:A32NX_ADIRS_ADR_1_COMPUTED_AIRSPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_1_COMPUTED_AIRSPEED +A32NX_ADIRS_ADR_1_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA#(L:A32NX_ADIRS_ADR_1_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_1_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA +A32NX_ADIRS_ADR_1_MACH#(L:A32NX_ADIRS_ADR_1_MACH)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_1_MACH +A32NX_ADIRS_ADR_1_STATIC_AIR_TEMPERATURE#(L:A32NX_ADIRS_ADR_1_STATIC_AIR_TEMPERATURE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_1_STATIC_AIR_TEMPERATURE +A32NX_ADIRS_ADR_1_TOTAL_AIR_TEMPERATURE#(L:A32NX_ADIRS_ADR_1_TOTAL_AIR_TEMPERATURE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_1_TOTAL_AIR_TEMPERATURE +A32NX_ADIRS_ADR_1_TRUE_AIRSPEED#(L:A32NX_ADIRS_ADR_1_TRUE_AIRSPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_1_TRUE_AIRSPEED +A32NX_ADIRS_ADR_2_ALTITUDE#(L:A32NX_ADIRS_ADR_2_ALTITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_2_ALTITUDE +A32NX_ADIRS_ADR_2_BAROMETRIC_VERTICAL_SPEED#(L:A32NX_ADIRS_ADR_2_BAROMETRIC_VERTICAL_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_2_BAROMETRIC_VERTICAL_SPEED +A32NX_ADIRS_ADR_2_COMPUTED_AIRSPEED#(L:A32NX_ADIRS_ADR_2_COMPUTED_AIRSPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_2_COMPUTED_AIRSPEED +A32NX_ADIRS_ADR_2_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA#(L:A32NX_ADIRS_ADR_2_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_2_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA +A32NX_ADIRS_ADR_2_MACH#(L:A32NX_ADIRS_ADR_2_MACH)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_2_MACH +A32NX_ADIRS_ADR_2_STATIC_AIR_TEMPERATURE#(L:A32NX_ADIRS_ADR_2_STATIC_AIR_TEMPERATURE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_2_STATIC_AIR_TEMPERATURE +A32NX_ADIRS_ADR_2_TOTAL_AIR_TEMPERATURE#(L:A32NX_ADIRS_ADR_2_TOTAL_AIR_TEMPERATURE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_2_TOTAL_AIR_TEMPERATURE +A32NX_ADIRS_ADR_2_TRUE_AIRSPEED#(L:A32NX_ADIRS_ADR_2_TRUE_AIRSPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_2_TRUE_AIRSPEED +A32NX_ADIRS_ADR_3_ALTITUDE#(L:A32NX_ADIRS_ADR_3_ALTITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_3_ALTITUDE +A32NX_ADIRS_ADR_3_BAROMETRIC_VERTICAL_SPEED#(L:A32NX_ADIRS_ADR_3_BAROMETRIC_VERTICAL_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_3_BAROMETRIC_VERTICAL_SPEED +A32NX_ADIRS_ADR_3_COMPUTED_AIRSPEED#(L:A32NX_ADIRS_ADR_3_COMPUTED_AIRSPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_3_COMPUTED_AIRSPEED +A32NX_ADIRS_ADR_3_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA#(L:A32NX_ADIRS_ADR_3_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_3_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA +A32NX_ADIRS_ADR_3_MACH#(L:A32NX_ADIRS_ADR_3_MACH)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_3_MACH +A32NX_ADIRS_ADR_3_STATIC_AIR_TEMPERATURE#(L:A32NX_ADIRS_ADR_3_STATIC_AIR_TEMPERATURE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_3_STATIC_AIR_TEMPERATURE +A32NX_ADIRS_ADR_3_TOTAL_AIR_TEMPERATURE#(L:A32NX_ADIRS_ADR_3_TOTAL_AIR_TEMPERATURE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_3_TOTAL_AIR_TEMPERATURE +A32NX_ADIRS_ADR_3_TRUE_AIRSPEED#(L:A32NX_ADIRS_ADR_3_TRUE_AIRSPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_ADR_3_TRUE_AIRSPEED +A32NX_ADIRS_IR_1_GROUND_SPEED#(L:A32NX_ADIRS_IR_1_GROUND_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_GROUND_SPEED +A32NX_ADIRS_IR_1_HEADING#(L:A32NX_ADIRS_IR_1_HEADING)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_HEADING +A32NX_ADIRS_IR_1_LATITUDE#(L:A32NX_ADIRS_IR_1_LATITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_LATITUDE +A32NX_ADIRS_IR_1_LONGITUDE#(L:A32NX_ADIRS_IR_1_LONGITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_LONGITUDE +A32NX_ADIRS_IR_1_PITCH#(L:A32NX_ADIRS_IR_1_PITCH)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_PITCH +A32NX_ADIRS_IR_1_ROLL#(L:A32NX_ADIRS_IR_1_ROLL)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_ROLL +A32NX_ADIRS_IR_1_TRACK#(L:A32NX_ADIRS_IR_1_TRACK)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_TRACK +A32NX_ADIRS_IR_1_VERTICAL_SPEED#(L:A32NX_ADIRS_IR_1_VERTICAL_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_VERTICAL_SPEED +A32NX_ADIRS_IR_1_WIND_DIRECTION#(L:A32NX_ADIRS_IR_1_WIND_DIRECTION)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_WIND_DIRECTION +A32NX_ADIRS_IR_1_WIND_VELOCITY#(L:A32NX_ADIRS_IR_1_WIND_VELOCITY)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_1_WIND_VELOCITY +A32NX_ADIRS_IR_2_GROUND_SPEED#(L:A32NX_ADIRS_IR_2_GROUND_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_GROUND_SPEED +A32NX_ADIRS_IR_2_HEADING#(L:A32NX_ADIRS_IR_2_HEADING)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_HEADING +A32NX_ADIRS_IR_2_LATITUDE#(L:A32NX_ADIRS_IR_2_LATITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_LATITUDE +A32NX_ADIRS_IR_2_LONGITUDE#(L:A32NX_ADIRS_IR_2_LONGITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_LONGITUDE +A32NX_ADIRS_IR_2_PITCH#(L:A32NX_ADIRS_IR_2_PITCH)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_PITCH +A32NX_ADIRS_IR_2_ROLL#(L:A32NX_ADIRS_IR_2_ROLL)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_ROLL +A32NX_ADIRS_IR_2_TRACK#(L:A32NX_ADIRS_IR_2_TRACK)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_TRACK +A32NX_ADIRS_IR_2_VERTICAL_SPEED#(L:A32NX_ADIRS_IR_2_VERTICAL_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_VERTICAL_SPEED +A32NX_ADIRS_IR_2_WIND_DIRECTION#(L:A32NX_ADIRS_IR_2_WIND_DIRECTION)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_WIND_DIRECTION +A32NX_ADIRS_IR_2_WIND_VELOCITY#(L:A32NX_ADIRS_IR_2_WIND_VELOCITY)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_2_WIND_VELOCITY +A32NX_ADIRS_IR_3_GROUND_SPEED#(L:A32NX_ADIRS_IR_3_GROUND_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_GROUND_SPEED +A32NX_ADIRS_IR_3_HEADING#(L:A32NX_ADIRS_IR_3_HEADING)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_HEADING +A32NX_ADIRS_IR_3_LATITUDE#(L:A32NX_ADIRS_IR_3_LATITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_LATITUDE +A32NX_ADIRS_IR_3_LONGITUDE#(L:A32NX_ADIRS_IR_3_LONGITUDE)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_LONGITUDE +A32NX_ADIRS_IR_3_PITCH#(L:A32NX_ADIRS_IR_3_PITCH)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_PITCH +A32NX_ADIRS_IR_3_ROLL#(L:A32NX_ADIRS_IR_3_ROLL)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_ROLL +A32NX_ADIRS_IR_3_TRACK#(L:A32NX_ADIRS_IR_3_TRACK)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_TRACK +A32NX_ADIRS_IR_3_VERTICAL_SPEED#(L:A32NX_ADIRS_IR_3_VERTICAL_SPEED)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_VERTICAL_SPEED +A32NX_ADIRS_IR_3_WIND_DIRECTION#(L:A32NX_ADIRS_IR_3_WIND_DIRECTION)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_WIND_DIRECTION +A32NX_ADIRS_IR_3_WIND_VELOCITY#(L:A32NX_ADIRS_IR_3_WIND_VELOCITY)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_IR_3_WIND_VELOCITY +A32NX_ADIRS_REMAINING_IR_ALIGNMENT_TIME#(L:A32NX_ADIRS_REMAINING_IR_ALIGNMENT_TIME)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_REMAINING_IR_ALIGNMENT_TIME +A32NX_ADIRS_USES_GPS_AS_PRIMARY#(L:A32NX_ADIRS_USES_GPS_AS_PRIMARY)#Fly By Wire.A320-SDK.ADIRS.A32NX_ADIRS_USES_GPS_AS_PRIMARY +A32NX_AIR_DATA_SWITCHING_KNOB#(L:A32NX_AIR_DATA_SWITCHING_KNOB)#Fly By Wire.A320-SDK.ADIRS.A32NX_AIR_DATA_SWITCHING_KNOB +A32NX_ATT_HDG_SWITCHING_KNOB#(L:A32NX_ATT_HDG_SWITCHING_KNOB)#Fly By Wire.A320-SDK.ADIRS.A32NX_ATT_HDG_SWITCHING_KNOB +A32NX_CONFIG_ADIRS_IR_ALIGN_TIME#(L:A32NX_CONFIG_ADIRS_IR_ALIGN_TIME)#Fly By Wire.A320-SDK.ADIRS.A32NX_CONFIG_ADIRS_IR_ALIGN_TIME +A32NX_OVHD_ADIRS_ADR_1_PB_HAS_FAULT#(L:A32NX_OVHD_ADIRS_ADR_1_PB_HAS_FAULT)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_ADR_1_PB_HAS_FAULT +A32NX_OVHD_ADIRS_ADR_1_PB_IS_ON#(L:A32NX_OVHD_ADIRS_ADR_1_PB_IS_ON)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_ADR_1_PB_IS_ON +A32NX_OVHD_ADIRS_ADR_2_PB_HAS_FAULT#(L:A32NX_OVHD_ADIRS_ADR_2_PB_HAS_FAULT)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_ADR_2_PB_HAS_FAULT +A32NX_OVHD_ADIRS_ADR_2_PB_IS_ON#(L:A32NX_OVHD_ADIRS_ADR_2_PB_IS_ON)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_ADR_2_PB_IS_ON +A32NX_OVHD_ADIRS_ADR_3_PB_HAS_FAULT#(L:A32NX_OVHD_ADIRS_ADR_3_PB_HAS_FAULT)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_ADR_3_PB_HAS_FAULT +A32NX_OVHD_ADIRS_ADR_3_PB_IS_ON#(L:A32NX_OVHD_ADIRS_ADR_3_PB_IS_ON)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_ADR_3_PB_IS_ON +A32NX_OVHD_ADIRS_IR_1_MODE_SELECTOR_KNOB#(L:A32NX_OVHD_ADIRS_IR_1_MODE_SELECTOR_KNOB)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_1_MODE_SELECTOR_KNOB +A32NX_OVHD_ADIRS_IR_1_PB_HAS_FAULT#(L:A32NX_OVHD_ADIRS_IR_1_PB_HAS_FAULT)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_1_PB_HAS_FAULT +A32NX_OVHD_ADIRS_IR_1_PB_IS_ON#(L:A32NX_OVHD_ADIRS_IR_1_PB_IS_ON)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_1_PB_IS_ON +A32NX_OVHD_ADIRS_IR_2_MODE_SELECTOR_KNOB#(L:A32NX_OVHD_ADIRS_IR_2_MODE_SELECTOR_KNOB)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_2_MODE_SELECTOR_KNOB +A32NX_OVHD_ADIRS_IR_2_PB_HAS_FAULT#(L:A32NX_OVHD_ADIRS_IR_2_PB_HAS_FAULT)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_2_PB_HAS_FAULT +A32NX_OVHD_ADIRS_IR_2_PB_IS_ON#(L:A32NX_OVHD_ADIRS_IR_2_PB_IS_ON)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_2_PB_IS_ON +A32NX_OVHD_ADIRS_IR_3_MODE_SELECTOR_KNOB#(L:A32NX_OVHD_ADIRS_IR_3_MODE_SELECTOR_KNOB)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_3_MODE_SELECTOR_KNOB +A32NX_OVHD_ADIRS_IR_3_PB_HAS_FAULT#(L:A32NX_OVHD_ADIRS_IR_3_PB_HAS_FAULT)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_3_PB_HAS_FAULT +A32NX_OVHD_ADIRS_IR_3_PB_IS_ON#(L:A32NX_OVHD_ADIRS_IR_3_PB_IS_ON)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_IR_3_PB_IS_ON +A32NX_OVHD_ADIRS_ON_BAT_IS_ILLUMINATED#(L:A32NX_OVHD_ADIRS_ON_BAT_IS_ILLUMINATED)#Fly By Wire.A320-SDK.ADIRS.A32NX_OVHD_ADIRS_ON_BAT_IS_ILLUMINATED +Fly By Wire/A320-SDK/Air Conditioning / Pressurisation / Ventilation#GROUP +A32NX_OVHD_PRESS_DITCHING_PB_IS_ON#(L:A32NX_OVHD_PRESS_DITCHING_PB_IS_ON)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_OVHD_PRESS_DITCHING_PB_IS_ON +A32NX_OVHD_PRESS_LDG_ELEV_KNOB#(L:A32NX_OVHD_PRESS_LDG_ELEV_KNOB)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_OVHD_PRESS_LDG_ELEV_KNOB +A32NX_OVHD_PRESS_MAN_VS_CTL_SWITCH#(L:A32NX_OVHD_PRESS_MAN_VS_CTL_SWITCH)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_OVHD_PRESS_MAN_VS_CTL_SWITCH +A32NX_OVHD_PRESS_MODE_SEL_PB_HAS_FAULT#(L:A32NX_OVHD_PRESS_MODE_SEL_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_OVHD_PRESS_MODE_SEL_PB_HAS_FAULT +A32NX_OVHD_PRESS_MODE_SEL_PB_IS_AUTO#(L:A32NX_OVHD_PRESS_MODE_SEL_PB_IS_AUTO)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_OVHD_PRESS_MODE_SEL_PB_IS_AUTO +A32NX_PACKS_1_IS_SUPPLYING#(L:A32NX_PACKS_1_IS_SUPPLYING)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PACKS_1_IS_SUPPLYING +A32NX_PACKS_2_IS_SUPPLYING#(L:A32NX_PACKS_2_IS_SUPPLYING)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PACKS_2_IS_SUPPLYING +A32NX_PRESS_ACTIVE_CPC_SYS#(L:A32NX_PRESS_ACTIVE_CPC_SYS)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_ACTIVE_CPC_SYS +A32NX_PRESS_AUTO_LANDING_ELEVATION#(L:A32NX_PRESS_AUTO_LANDING_ELEVATION)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_AUTO_LANDING_ELEVATION +A32NX_PRESS_CABIN_ALTITUDE#(L:A32NX_PRESS_CABIN_ALTITUDE)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_CABIN_ALTITUDE +A32NX_PRESS_CABIN_DELTA_PRESSURE#(L:A32NX_PRESS_CABIN_DELTA_PRESSURE)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_CABIN_DELTA_PRESSURE +A32NX_PRESS_CABIN_VS#(L:A32NX_PRESS_CABIN_VS)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_CABIN_VS +A32NX_PRESS_EXCESS_CAB_ALT#(L:A32NX_PRESS_EXCESS_CAB_ALT)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_EXCESS_CAB_ALT +A32NX_PRESS_EXCESS_RESIDUAL_PR#(L:A32NX_PRESS_EXCESS_RESIDUAL_PR)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_EXCESS_RESIDUAL_PR +A32NX_PRESS_LOW_DIFF_PR#(L:A32NX_PRESS_LOW_DIFF_PR)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_LOW_DIFF_PR +A32NX_PRESS_OUTFLOW_VALVE_OPEN_PERCENTAGE#(L:A32NX_PRESS_OUTFLOW_VALVE_OPEN_PERCENTAGE)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_OUTFLOW_VALVE_OPEN_PERCENTAGE +A32NX_PRESS_SAFETY_VALVE_OPEN_PERCENTAGE#(L:A32NX_PRESS_SAFETY_VALVE_OPEN_PERCENTAGE)#Fly By Wire.A320-SDK.Air Conditioning / Pressurisation / Ventilation.A32NX_PRESS_SAFETY_VALVE_OPEN_PERCENTAGE +Fly By Wire/A320-SDK/Autopilot System#GROUP +A320_Neo_FCU_HDG_SET_DATA#(L:A320_Neo_FCU_HDG_SET_DATA)#Fly By Wire.A320-SDK.Autopilot System.A320_Neo_FCU_HDG_SET_DATA +A320_Neo_FCU_SPEED_SET_DATA#(L:A320_Neo_FCU_SPEED_SET_DATA)#Fly By Wire.A320-SDK.Autopilot System.A320_Neo_FCU_SPEED_SET_DATA +A320_Neo_FCU_VS_SET_DATA#(L:A320_Neo_FCU_VS_SET_DATA)#Fly By Wire.A320-SDK.Autopilot System.A320_Neo_FCU_VS_SET_DATA +A32NX_AUTOPILOT_1_ACTIVE#(L:A32NX_AUTOPILOT_1_ACTIVE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_1_ACTIVE +A32NX_AUTOPILOT_2_ACTIVE#(L:A32NX_AUTOPILOT_2_ACTIVE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_2_ACTIVE +A32NX_AUTOPILOT_ACTIVE#(L:A32NX_AUTOPILOT_ACTIVE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_ACTIVE +A32NX_AUTOPILOT_AUTOLAND_WARNING#(L:A32NX_AUTOPILOT_AUTOLAND_WARNING)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_AUTOLAND_WARNING +A32NX_AUTOPILOT_AUTOTHRUST_MODE#(L:A32NX_AUTOPILOT_AUTOTHRUST_MODE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_AUTOTHRUST_MODE +A32NX_AUTOPILOT_FPA_SELECTED#(L:A32NX_AUTOPILOT_FPA_SELECTED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_FPA_SELECTED +A32NX_AUTOPILOT_HEADING_SELECTED#(L:A32NX_AUTOPILOT_HEADING_SELECTED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_HEADING_SELECTED +A32NX_AUTOPILOT_SPEED_SELECTED#(L:A32NX_AUTOPILOT_SPEED_SELECTED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_SPEED_SELECTED +A32NX_AUTOPILOT_VS_SELECTED#(L:A32NX_AUTOPILOT_VS_SELECTED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_AUTOPILOT_VS_SELECTED +A32NX_ApproachCapability#(L:A32NX_ApproachCapability)#Fly By Wire.A320-SDK.Autopilot System.A32NX_ApproachCapability +A32NX_FCU_ALT_MANAGED#(L:A32NX_FCU_ALT_MANAGED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_ALT_MANAGED +A32NX_FCU_APPR_MODE_ACTIVE#(L:A32NX_FCU_APPR_MODE_ACTIVE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_APPR_MODE_ACTIVE +A32NX_FCU_HDG_MANAGED_DASHES#(L:A32NX_FCU_HDG_MANAGED_DASHES)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_HDG_MANAGED_DASHES +A32NX_FCU_HDG_MANAGED_DOT#(L:A32NX_FCU_HDG_MANAGED_DOT)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_HDG_MANAGED_DOT +A32NX_FCU_LOC_MODE_ACTIVE#(L:A32NX_FCU_LOC_MODE_ACTIVE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_LOC_MODE_ACTIVE +A32NX_FCU_MODE_REVERSION_ACTIVE#(L:A32NX_FCU_MODE_REVERSION_ACTIVE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_MODE_REVERSION_ACTIVE +A32NX_FCU_MODE_REVERSION_TRK_FPA_ACTIVE#(L:A32NX_FCU_MODE_REVERSION_TRK_FPA_ACTIVE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_MODE_REVERSION_TRK_FPA_ACTIVE +A32NX_FCU_SPD_MANAGED_DASHES#(L:A32NX_FCU_SPD_MANAGED_DASHES)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_SPD_MANAGED_DASHES +A32NX_FCU_SPD_MANAGED_DOT#(L:A32NX_FCU_SPD_MANAGED_DOT)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_SPD_MANAGED_DOT +A32NX_FCU_VS_MANAGED#(L:A32NX_FCU_VS_MANAGED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FCU_VS_MANAGED +A32NX_FG_ALTITUDE_CONSTRAINT#(L:A32NX_FG_ALTITUDE_CONSTRAINT)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_ALTITUDE_CONSTRAINT +A32NX_FG_CROSS_TRACK_ERROR#(L:A32NX_FG_CROSS_TRACK_ERROR)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_CROSS_TRACK_ERROR +A32NX_FG_FINAL_CAN_ENGAGE#(L:A32NX_FG_FINAL_CAN_ENGAGE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_FINAL_CAN_ENGAGE +A32NX_FG_PHI_COMMAND#(L:A32NX_FG_PHI_COMMAND)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_PHI_COMMAND +A32NX_FG_REQUESTED_VERTICAL_MODE#(L:A32NX_FG_REQUESTED_VERTICAL_MODE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_REQUESTED_VERTICAL_MODE +A32NX_FG_RNAV_APP_SELECTED#(L:A32NX_FG_RNAV_APP_SELECTED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_RNAV_APP_SELECTED +A32NX_FG_TARGET_ALTITUDE#(L:A32NX_FG_TARGET_ALTITUDE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_TARGET_ALTITUDE +A32NX_FG_TARGET_VERTICAL_SPEED#(L:A32NX_FG_TARGET_VERTICAL_SPEED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_TARGET_VERTICAL_SPEED +A32NX_FG_TRACK_ANGLE_ERROR#(L:A32NX_FG_TRACK_ANGLE_ERROR)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FG_TRACK_ANGLE_ERROR +A32NX_FLIGHT_DIRECTOR_BANK#(L:A32NX_FLIGHT_DIRECTOR_BANK)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FLIGHT_DIRECTOR_BANK +A32NX_FLIGHT_DIRECTOR_PITCH#(L:A32NX_FLIGHT_DIRECTOR_PITCH)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FLIGHT_DIRECTOR_PITCH +A32NX_FLIGHT_DIRECTOR_YAW#(L:A32NX_FLIGHT_DIRECTOR_YAW)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FLIGHT_DIRECTOR_YAW +A32NX_FMA_CRUISE_ALT_MODE#(L:A32NX_FMA_CRUISE_ALT_MODE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FMA_CRUISE_ALT_MODE +A32NX_FMA_EXPEDITE_MODE#(L:A32NX_FMA_EXPEDITE_MODE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FMA_EXPEDITE_MODE +A32NX_FMA_LATERAL_ARMED#(L:A32NX_FMA_LATERAL_ARMED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FMA_LATERAL_ARMED +A32NX_FMA_LATERAL_MODE#(L:A32NX_FMA_LATERAL_MODE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FMA_LATERAL_MODE +A32NX_FMA_SOFT_ALT_MODE#(L:A32NX_FMA_SOFT_ALT_MODE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FMA_SOFT_ALT_MODE +A32NX_FMA_SPEED_PROTECTION_MODE#(L:A32NX_FMA_SPEED_PROTECTION_MODE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FMA_SPEED_PROTECTION_MODE +A32NX_FMA_VERTICAL_ARMED#(L:A32NX_FMA_VERTICAL_ARMED)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FMA_VERTICAL_ARMED +A32NX_FMA_VERTICAL_MODE#(L:A32NX_FMA_VERTICAL_MODE)#Fly By Wire.A320-SDK.Autopilot System.A32NX_FMA_VERTICAL_MODE +Fly By Wire/A320-SDK/Autothrust System#GROUP +A32NX_3D_THROTTLE_LEVER_POSITION_1#(L:A32NX_3D_THROTTLE_LEVER_POSITION_1)#Fly By Wire.A320-SDK.Autothrust System.A32NX_3D_THROTTLE_LEVER_POSITION_1 +A32NX_3D_THROTTLE_LEVER_POSITION_2#(L:A32NX_3D_THROTTLE_LEVER_POSITION_2)#Fly By Wire.A320-SDK.Autothrust System.A32NX_3D_THROTTLE_LEVER_POSITION_2 +A32NX_AUTOTHRUST_DISABLED#(L:A32NX_AUTOTHRUST_DISABLED)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_DISABLED +A32NX_AUTOTHRUST_DISCONNECT#(L:A32NX_AUTOTHRUST_DISCONNECT)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_DISCONNECT +A32NX_AUTOTHRUST_MODE#(L:A32NX_AUTOTHRUST_MODE)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_MODE +A32NX_AUTOTHRUST_MODE_MESSAGE#(L:A32NX_AUTOTHRUST_MODE_MESSAGE)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_MODE_MESSAGE +A32NX_AUTOTHRUST_N1_COMMANDED:1#(L:A32NX_AUTOTHRUST_N1_COMMANDED:1)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_N1_COMMANDED:1 +A32NX_AUTOTHRUST_N1_COMMANDED:2#(L:A32NX_AUTOTHRUST_N1_COMMANDED:2)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_N1_COMMANDED:2 +A32NX_AUTOTHRUST_REVERSE:1#(L:A32NX_AUTOTHRUST_REVERSE:1)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_REVERSE:1 +A32NX_AUTOTHRUST_REVERSE:2#(L:A32NX_AUTOTHRUST_REVERSE:2)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_REVERSE:2 +A32NX_AUTOTHRUST_STATUS#(L:A32NX_AUTOTHRUST_STATUS)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_STATUS +A32NX_AUTOTHRUST_THRUST_LEVER_WARNING_FLEX#(L:A32NX_AUTOTHRUST_THRUST_LEVER_WARNING_FLEX)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LEVER_WARNING_FLEX +A32NX_AUTOTHRUST_THRUST_LEVER_WARNING_TOGA#(L:A32NX_AUTOTHRUST_THRUST_LEVER_WARNING_TOGA)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LEVER_WARNING_TOGA +A32NX_AUTOTHRUST_THRUST_LIMIT#(L:A32NX_AUTOTHRUST_THRUST_LIMIT)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LIMIT +A32NX_AUTOTHRUST_THRUST_LIMIT_CLB#(L:A32NX_AUTOTHRUST_THRUST_LIMIT_CLB)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LIMIT_CLB +A32NX_AUTOTHRUST_THRUST_LIMIT_FLX#(L:A32NX_AUTOTHRUST_THRUST_LIMIT_FLX)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LIMIT_FLX +A32NX_AUTOTHRUST_THRUST_LIMIT_IDLE#(L:A32NX_AUTOTHRUST_THRUST_LIMIT_IDLE)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LIMIT_IDLE +A32NX_AUTOTHRUST_THRUST_LIMIT_MCT#(L:A32NX_AUTOTHRUST_THRUST_LIMIT_MCT)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LIMIT_MCT +A32NX_AUTOTHRUST_THRUST_LIMIT_TOGA#(L:A32NX_AUTOTHRUST_THRUST_LIMIT_TOGA)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LIMIT_TOGA +A32NX_AUTOTHRUST_THRUST_LIMIT_TYPE#(L:A32NX_AUTOTHRUST_THRUST_LIMIT_TYPE)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_THRUST_LIMIT_TYPE +A32NX_AUTOTHRUST_TLA_N1:1#(L:A32NX_AUTOTHRUST_TLA_N1:1)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_TLA_N1:1 +A32NX_AUTOTHRUST_TLA_N1:2#(L:A32NX_AUTOTHRUST_TLA_N1:2)#Fly By Wire.A320-SDK.Autothrust System.A32NX_AUTOTHRUST_TLA_N1:2 +Fly By Wire/A320-SDK/EIS Display System#GROUP +A32NX_EFIS_L_NAVAID_MODE#(L:A32NX_EFIS_L_NAVAID_MODE)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_L_NAVAID_MODE +A32NX_EFIS_L_ND_FM_MESSAGE_FLAGS#(L:A32NX_EFIS_L_ND_FM_MESSAGE_FLAGS)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_L_ND_FM_MESSAGE_FLAGS +A32NX_EFIS_L_ND_MODE#(L:A32NX_EFIS_L_ND_MODE)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_L_ND_MODE +A32NX_EFIS_L_ND_RANGE#(L:A32NX_EFIS_L_ND_RANGE)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_L_ND_RANGE +A32NX_EFIS_L_OPTION#(L:A32NX_EFIS_L_OPTION)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_L_OPTION +A32NX_EFIS_R_NAVAID_MODE#(L:A32NX_EFIS_R_NAVAID_MODE)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_R_NAVAID_MODE +A32NX_EFIS_R_ND_FM_MESSAGE_FLAGS#(L:A32NX_EFIS_R_ND_FM_MESSAGE_FLAGS)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_R_ND_FM_MESSAGE_FLAGS +A32NX_EFIS_R_ND_MODE#(L:A32NX_EFIS_R_ND_MODE)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_R_ND_MODE +A32NX_EFIS_R_ND_RANGE#(L:A32NX_EFIS_R_ND_RANGE)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_R_ND_RANGE +A32NX_EFIS_R_OPTION#(L:A32NX_EFIS_R_OPTION)#Fly By Wire.A320-SDK.EIS Display System.A32NX_EFIS_R_OPTION +A32NX_ISIS_BUGS_ACTIVE#(L:A32NX_ISIS_BUGS_ACTIVE)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_ACTIVE +A32NX_ISIS_BUGS_ALT_ACTIVE:0#(L:A32NX_ISIS_BUGS_ALT_ACTIVE:0)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_ALT_ACTIVE:0 +A32NX_ISIS_BUGS_ALT_ACTIVE:1#(L:A32NX_ISIS_BUGS_ALT_ACTIVE:1)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_ALT_ACTIVE:1 +A32NX_ISIS_BUGS_ALT_VALUE:0#(L:A32NX_ISIS_BUGS_ALT_VALUE:0)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_ALT_VALUE:0 +A32NX_ISIS_BUGS_ALT_VALUE:1#(L:A32NX_ISIS_BUGS_ALT_VALUE:1)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_ALT_VALUE:1 +A32NX_ISIS_BUGS_SPD_ACTIVE:0#(L:A32NX_ISIS_BUGS_SPD_ACTIVE:0)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_SPD_ACTIVE:0 +A32NX_ISIS_BUGS_SPD_ACTIVE:1#(L:A32NX_ISIS_BUGS_SPD_ACTIVE:1)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_SPD_ACTIVE:1 +A32NX_ISIS_BUGS_SPD_ACTIVE:2#(L:A32NX_ISIS_BUGS_SPD_ACTIVE:2)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_SPD_ACTIVE:2 +A32NX_ISIS_BUGS_SPD_ACTIVE:3#(L:A32NX_ISIS_BUGS_SPD_ACTIVE:3)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_SPD_ACTIVE:3 +A32NX_ISIS_BUGS_SPD_VALUE:0#(L:A32NX_ISIS_BUGS_SPD_VALUE:0)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_SPD_VALUE:0 +A32NX_ISIS_BUGS_SPD_VALUE:1#(L:A32NX_ISIS_BUGS_SPD_VALUE:1)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_SPD_VALUE:1 +A32NX_ISIS_BUGS_SPD_VALUE:2#(L:A32NX_ISIS_BUGS_SPD_VALUE:2)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_SPD_VALUE:2 +A32NX_ISIS_BUGS_SPD_VALUE:3#(L:A32NX_ISIS_BUGS_SPD_VALUE:3)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_BUGS_SPD_VALUE:3 +A32NX_ISIS_LS_ACTIVE#(L:A32NX_ISIS_LS_ACTIVE)#Fly By Wire.A320-SDK.EIS Display System.A32NX_ISIS_LS_ACTIVE +A32NX_MCDU_L_ANNUNC_FAIL#(L:A32NX_MCDU_L_ANNUNC_FAIL)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_L_ANNUNC_FAIL +A32NX_MCDU_L_ANNUNC_FM1#(L:A32NX_MCDU_L_ANNUNC_FM1)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_L_ANNUNC_FM1 +A32NX_MCDU_L_ANNUNC_FM2#(L:A32NX_MCDU_L_ANNUNC_FM2)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_L_ANNUNC_FM2 +A32NX_MCDU_L_ANNUNC_FMGC#(L:A32NX_MCDU_L_ANNUNC_FMGC)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_L_ANNUNC_FMGC +A32NX_MCDU_L_ANNUNC_IND#(L:A32NX_MCDU_L_ANNUNC_IND)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_L_ANNUNC_IND +A32NX_MCDU_L_ANNUNC_MCDU_MENU#(L:A32NX_MCDU_L_ANNUNC_MCDU_MENU)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_L_ANNUNC_MCDU_MENU +A32NX_MCDU_L_ANNUNC_RDY#(L:A32NX_MCDU_L_ANNUNC_RDY)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_L_ANNUNC_RDY +A32NX_MCDU_R_ANNUNC_FAIL#(L:A32NX_MCDU_R_ANNUNC_FAIL)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_R_ANNUNC_FAIL +A32NX_MCDU_R_ANNUNC_FM1#(L:A32NX_MCDU_R_ANNUNC_FM1)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_R_ANNUNC_FM1 +A32NX_MCDU_R_ANNUNC_FM2#(L:A32NX_MCDU_R_ANNUNC_FM2)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_R_ANNUNC_FM2 +A32NX_MCDU_R_ANNUNC_FMGC#(L:A32NX_MCDU_R_ANNUNC_FMGC)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_R_ANNUNC_FMGC +A32NX_MCDU_R_ANNUNC_IND#(L:A32NX_MCDU_R_ANNUNC_IND)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_R_ANNUNC_IND +A32NX_MCDU_R_ANNUNC_MCDU_MENU#(L:A32NX_MCDU_R_ANNUNC_MCDU_MENU)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_R_ANNUNC_MCDU_MENU +A32NX_MCDU_R_ANNUNC_RDY#(L:A32NX_MCDU_R_ANNUNC_RDY)#Fly By Wire.A320-SDK.EIS Display System.A32NX_MCDU_R_ANNUNC_RDY +A32NX_PAX_TOTAL_ROWS_14_21#(L:A32NX_PAX_TOTAL_ROWS_14_21)#Fly By Wire.A320-SDK.EIS Display System.A32NX_PAX_TOTAL_ROWS_14_21 +A32NX_PAX_TOTAL_ROWS_14_21_DESIRED#(L:A32NX_PAX_TOTAL_ROWS_14_21_DESIRED)#Fly By Wire.A320-SDK.EIS Display System.A32NX_PAX_TOTAL_ROWS_14_21_DESIRED +A32NX_PAX_TOTAL_ROWS_1_6#(L:A32NX_PAX_TOTAL_ROWS_1_6)#Fly By Wire.A320-SDK.EIS Display System.A32NX_PAX_TOTAL_ROWS_1_6 +A32NX_PAX_TOTAL_ROWS_1_6_DESIRED#(L:A32NX_PAX_TOTAL_ROWS_1_6_DESIRED)#Fly By Wire.A320-SDK.EIS Display System.A32NX_PAX_TOTAL_ROWS_1_6_DESIRED +A32NX_PAX_TOTAL_ROWS_22_27#(L:A32NX_PAX_TOTAL_ROWS_22_27)#Fly By Wire.A320-SDK.EIS Display System.A32NX_PAX_TOTAL_ROWS_22_27 +A32NX_PAX_TOTAL_ROWS_22_27_DESIRED#(L:A32NX_PAX_TOTAL_ROWS_22_27_DESIRED)#Fly By Wire.A320-SDK.EIS Display System.A32NX_PAX_TOTAL_ROWS_22_27_DESIRED +A32NX_PAX_TOTAL_ROWS_7_13#(L:A32NX_PAX_TOTAL_ROWS_7_13)#Fly By Wire.A320-SDK.EIS Display System.A32NX_PAX_TOTAL_ROWS_7_13 +A32NX_PAX_TOTAL_ROWS_7_13_DESIRED#(L:A32NX_PAX_TOTAL_ROWS_7_13_DESIRED)#Fly By Wire.A320-SDK.EIS Display System.A32NX_PAX_TOTAL_ROWS_7_13_DESIRED +PAYLOAD STATION WEIGHT:5#(L:PAYLOAD STATION WEIGHT:5)#Fly By Wire.A320-SDK.EIS Display System.PAYLOAD STATION WEIGHT:5 +PAYLOAD STATION WEIGHT:6#(L:PAYLOAD STATION WEIGHT:6)#Fly By Wire.A320-SDK.EIS Display System.PAYLOAD STATION WEIGHT:6 +PAYLOAD STATION WEIGHT:7#(L:PAYLOAD STATION WEIGHT:7)#Fly By Wire.A320-SDK.EIS Display System.PAYLOAD STATION WEIGHT:7 +PAYLOAD STATION WEIGHT:8#(L:PAYLOAD STATION WEIGHT:8)#Fly By Wire.A320-SDK.EIS Display System.PAYLOAD STATION WEIGHT:8 +Fly By Wire/A320-SDK/Engine and FADEC System#GROUP +A32NX_ENGINE_CYCLE_TIME#(L:A32NX_ENGINE_CYCLE_TIME)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_CYCLE_TIME +A32NX_ENGINE_EGT:1#(L:A32NX_ENGINE_EGT:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_EGT:1 +A32NX_ENGINE_EGT:2#(L:A32NX_ENGINE_EGT:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_EGT:2 +A32NX_ENGINE_FF:1#(L:A32NX_ENGINE_FF:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_FF:1 +A32NX_ENGINE_FF:2#(L:A32NX_ENGINE_FF:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_FF:2 +A32NX_ENGINE_IDLE_EGT#(L:A32NX_ENGINE_IDLE_EGT)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_IDLE_EGT +A32NX_ENGINE_IDLE_FF#(L:A32NX_ENGINE_IDLE_FF)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_IDLE_FF +A32NX_ENGINE_IDLE_N1#(L:A32NX_ENGINE_IDLE_N1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_IDLE_N1 +A32NX_ENGINE_IDLE_N2#(L:A32NX_ENGINE_IDLE_N2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_IDLE_N2 +A32NX_ENGINE_IMBALANCE#(L:A32NX_ENGINE_IMBALANCE)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_IMBALANCE +A32NX_ENGINE_N1:1#(L:A32NX_ENGINE_N1:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_N1:1 +A32NX_ENGINE_N1:2#(L:A32NX_ENGINE_N1:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_N1:2 +A32NX_ENGINE_N2:1#(L:A32NX_ENGINE_N2:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_N2:1 +A32NX_ENGINE_N2:2#(L:A32NX_ENGINE_N2:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_N2:2 +A32NX_ENGINE_PRE_FF:1#(L:A32NX_ENGINE_PRE_FF:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_PRE_FF:1 +A32NX_ENGINE_PRE_FF:2#(L:A32NX_ENGINE_PRE_FF:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_PRE_FF:2 +A32NX_ENGINE_STATE:1#(L:A32NX_ENGINE_STATE:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_STATE:1 +A32NX_ENGINE_STATE:2#(L:A32NX_ENGINE_STATE:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_STATE:2 +A32NX_ENGINE_TANK_OIL:1#(L:A32NX_ENGINE_TANK_OIL:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_TANK_OIL:1 +A32NX_ENGINE_TANK_OIL:2#(L:A32NX_ENGINE_TANK_OIL:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_TANK_OIL:2 +A32NX_ENGINE_TIMER:1#(L:A32NX_ENGINE_TIMER:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_TIMER:1 +A32NX_ENGINE_TIMER:2#(L:A32NX_ENGINE_TIMER:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_TIMER:2 +A32NX_ENGINE_TOTAL_OIL:1#(L:A32NX_ENGINE_TOTAL_OIL:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_TOTAL_OIL:1 +A32NX_ENGINE_TOTAL_OIL:2#(L:A32NX_ENGINE_TOTAL_OIL:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_ENGINE_TOTAL_OIL:2 +A32NX_FUEL_AUX_LEFT_PRE#(L:A32NX_FUEL_AUX_LEFT_PRE)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_FUEL_AUX_LEFT_PRE +A32NX_FUEL_AUX_RIGHT_PRE#(L:A32NX_FUEL_AUX_RIGHT_PRE)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_FUEL_AUX_RIGHT_PRE +A32NX_FUEL_CENTER_PRE#(L:A32NX_FUEL_CENTER_PRE)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_FUEL_CENTER_PRE +A32NX_FUEL_LEFT_PRE#(L:A32NX_FUEL_LEFT_PRE)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_FUEL_LEFT_PRE +A32NX_FUEL_RIGHT_PRE#(L:A32NX_FUEL_RIGHT_PRE)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_FUEL_RIGHT_PRE +A32NX_FUEL_USED:1#(L:A32NX_FUEL_USED:1)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_FUEL_USED:1 +A32NX_FUEL_USED:2#(L:A32NX_FUEL_USED:2)#Fly By Wire.A320-SDK.Engine and FADEC System.A32NX_FUEL_USED:2 +Fly By Wire/A320-SDK/Fly-By-Wire System#GROUP +A32NX_3D_AILERON_LEFT_DEFLECTION#(L:A32NX_3D_AILERON_LEFT_DEFLECTION)#Fly By Wire.A320-SDK.Fly-By-Wire System.A32NX_3D_AILERON_LEFT_DEFLECTION +A32NX_3D_AILERON_RIGHT_DEFLECTION#(L:A32NX_3D_AILERON_RIGHT_DEFLECTION)#Fly By Wire.A320-SDK.Fly-By-Wire System.A32NX_3D_AILERON_RIGHT_DEFLECTION +A32NX_ALPHA_MAX_PERCENTAGE#(L:A32NX_ALPHA_MAX_PERCENTAGE)#Fly By Wire.A320-SDK.Fly-By-Wire System.A32NX_ALPHA_MAX_PERCENTAGE +A32NX_BETA_TARGET#(L:A32NX_BETA_TARGET)#Fly By Wire.A320-SDK.Fly-By-Wire System.A32NX_BETA_TARGET +A32NX_LOGGING_FLIGHT_CONTROLS_ENABLED#(L:A32NX_LOGGING_FLIGHT_CONTROLS_ENABLED)#Fly By Wire.A320-SDK.Fly-By-Wire System.A32NX_LOGGING_FLIGHT_CONTROLS_ENABLED +A32NX_RUDDER_PEDAL_POSITION#(L:A32NX_RUDDER_PEDAL_POSITION)#Fly By Wire.A320-SDK.Fly-By-Wire System.A32NX_RUDDER_PEDAL_POSITION +A32NX_SIDESTICK_POSITION_X#(L:A32NX_SIDESTICK_POSITION_X)#Fly By Wire.A320-SDK.Fly-By-Wire System.A32NX_SIDESTICK_POSITION_X +A32NX_SIDESTICK_POSITION_Y#(L:A32NX_SIDESTICK_POSITION_Y)#Fly By Wire.A320-SDK.Fly-By-Wire System.A32NX_SIDESTICK_POSITION_Y +Fly By Wire/A320-SDK/Pneumatic#GROUP +A32NX_OVHD_PNEU_ENG_1_BLEED_PB_HAS_FAULT#(L:A32NX_OVHD_PNEU_ENG_1_BLEED_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Pneumatic.A32NX_OVHD_PNEU_ENG_1_BLEED_PB_HAS_FAULT +A32NX_OVHD_PNEU_ENG_1_BLEED_PB_IS_AUTO#(L:A32NX_OVHD_PNEU_ENG_1_BLEED_PB_IS_AUTO)#Fly By Wire.A320-SDK.Pneumatic.A32NX_OVHD_PNEU_ENG_1_BLEED_PB_IS_AUTO +A32NX_OVHD_PNEU_ENG_2_BLEED_PB_HAS_FAULT#(L:A32NX_OVHD_PNEU_ENG_2_BLEED_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Pneumatic.A32NX_OVHD_PNEU_ENG_2_BLEED_PB_HAS_FAULT +A32NX_OVHD_PNEU_ENG_2_BLEED_PB_IS_AUTO#(L:A32NX_OVHD_PNEU_ENG_2_BLEED_PB_IS_AUTO)#Fly By Wire.A320-SDK.Pneumatic.A32NX_OVHD_PNEU_ENG_2_BLEED_PB_IS_AUTO +A32NX_PNEU_ENG_1_HP_PRESSURE#(L:A32NX_PNEU_ENG_1_HP_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_HP_PRESSURE +A32NX_PNEU_ENG_1_HP_TEMPERATURE#(L:A32NX_PNEU_ENG_1_HP_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_HP_TEMPERATURE +A32NX_PNEU_ENG_1_HP_VALVE_OPEN#(L:A32NX_PNEU_ENG_1_HP_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_HP_VALVE_OPEN +A32NX_PNEU_ENG_1_IP_PRESSURE#(L:A32NX_PNEU_ENG_1_IP_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_IP_PRESSURE +A32NX_PNEU_ENG_1_IP_TEMPERATURE#(L:A32NX_PNEU_ENG_1_IP_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_IP_TEMPERATURE +A32NX_PNEU_ENG_1_IP_VALVE_OPEN#(L:A32NX_PNEU_ENG_1_IP_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_IP_VALVE_OPEN +A32NX_PNEU_ENG_1_PRECOOLER_INLET_PRESSURE#(L:A32NX_PNEU_ENG_1_PRECOOLER_INLET_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_PRECOOLER_INLET_PRESSURE +A32NX_PNEU_ENG_1_PRECOOLER_INLET_TEMPERATURE#(L:A32NX_PNEU_ENG_1_PRECOOLER_INLET_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_PRECOOLER_INLET_TEMPERATURE +A32NX_PNEU_ENG_1_PRECOOLER_OUTLET_PRESSURE#(L:A32NX_PNEU_ENG_1_PRECOOLER_OUTLET_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_PRECOOLER_OUTLET_PRESSURE +A32NX_PNEU_ENG_1_PRECOOLER_OUTLET_TEMPERATURE#(L:A32NX_PNEU_ENG_1_PRECOOLER_OUTLET_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_PRECOOLER_OUTLET_TEMPERATURE +A32NX_PNEU_ENG_1_PR_VALVE_OPEN#(L:A32NX_PNEU_ENG_1_PR_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_PR_VALVE_OPEN +A32NX_PNEU_ENG_1_STARTER_CONTAINER_PRESSURE#(L:A32NX_PNEU_ENG_1_STARTER_CONTAINER_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_STARTER_CONTAINER_PRESSURE +A32NX_PNEU_ENG_1_STARTER_CONTAINER_TEMPERATURE#(L:A32NX_PNEU_ENG_1_STARTER_CONTAINER_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_STARTER_CONTAINER_TEMPERATURE +A32NX_PNEU_ENG_1_STARTER_VALVE_OPEN#(L:A32NX_PNEU_ENG_1_STARTER_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_STARTER_VALVE_OPEN +A32NX_PNEU_ENG_1_TRANSFER_PRESSURE#(L:A32NX_PNEU_ENG_1_TRANSFER_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_TRANSFER_PRESSURE +A32NX_PNEU_ENG_1_TRANSFER_TEMPERATURE#(L:A32NX_PNEU_ENG_1_TRANSFER_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_1_TRANSFER_TEMPERATURE +A32NX_PNEU_ENG_2_HP_PRESSURE#(L:A32NX_PNEU_ENG_2_HP_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_HP_PRESSURE +A32NX_PNEU_ENG_2_HP_TEMPERATURE#(L:A32NX_PNEU_ENG_2_HP_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_HP_TEMPERATURE +A32NX_PNEU_ENG_2_HP_VALVE_OPEN#(L:A32NX_PNEU_ENG_2_HP_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_HP_VALVE_OPEN +A32NX_PNEU_ENG_2_IP_PRESSURE#(L:A32NX_PNEU_ENG_2_IP_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_IP_PRESSURE +A32NX_PNEU_ENG_2_IP_TEMPERATURE#(L:A32NX_PNEU_ENG_2_IP_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_IP_TEMPERATURE +A32NX_PNEU_ENG_2_IP_VALVE_OPEN#(L:A32NX_PNEU_ENG_2_IP_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_IP_VALVE_OPEN +A32NX_PNEU_ENG_2_PRECOOLER_INLET_PRESSURE#(L:A32NX_PNEU_ENG_2_PRECOOLER_INLET_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_PRECOOLER_INLET_PRESSURE +A32NX_PNEU_ENG_2_PRECOOLER_INLET_TEMPERATURE#(L:A32NX_PNEU_ENG_2_PRECOOLER_INLET_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_PRECOOLER_INLET_TEMPERATURE +A32NX_PNEU_ENG_2_PRECOOLER_OUTLET_PRESSURE#(L:A32NX_PNEU_ENG_2_PRECOOLER_OUTLET_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_PRECOOLER_OUTLET_PRESSURE +A32NX_PNEU_ENG_2_PRECOOLER_OUTLET_TEMPERATURE#(L:A32NX_PNEU_ENG_2_PRECOOLER_OUTLET_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_PRECOOLER_OUTLET_TEMPERATURE +A32NX_PNEU_ENG_2_PR_VALVE_OPEN#(L:A32NX_PNEU_ENG_2_PR_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_PR_VALVE_OPEN +A32NX_PNEU_ENG_2_STARTER_CONTAINER_PRESSURE#(L:A32NX_PNEU_ENG_2_STARTER_CONTAINER_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_STARTER_CONTAINER_PRESSURE +A32NX_PNEU_ENG_2_STARTER_CONTAINER_TEMPERATURE#(L:A32NX_PNEU_ENG_2_STARTER_CONTAINER_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_STARTER_CONTAINER_TEMPERATURE +A32NX_PNEU_ENG_2_STARTER_VALVE_OPEN#(L:A32NX_PNEU_ENG_2_STARTER_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_STARTER_VALVE_OPEN +A32NX_PNEU_ENG_2_TRANSFER_PRESSURE#(L:A32NX_PNEU_ENG_2_TRANSFER_PRESSURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_TRANSFER_PRESSURE +A32NX_PNEU_ENG_2_TRANSFER_TEMPERATURE#(L:A32NX_PNEU_ENG_2_TRANSFER_TEMPERATURE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_ENG_2_TRANSFER_TEMPERATURE +A32NX_PNEU_PACK_1_FLOW_VALVE_FLOW_RATE#(L:A32NX_PNEU_PACK_1_FLOW_VALVE_FLOW_RATE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_PACK_1_FLOW_VALVE_FLOW_RATE +A32NX_PNEU_PACK_2_FLOW_VALVE_FLOW_RATE#(L:A32NX_PNEU_PACK_2_FLOW_VALVE_FLOW_RATE)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_PACK_2_FLOW_VALVE_FLOW_RATE +A32NX_PNEU_XBLEED_VALVE_OPEN#(L:A32NX_PNEU_XBLEED_VALVE_OPEN)#Fly By Wire.A320-SDK.Pneumatic.A32NX_PNEU_XBLEED_VALVE_OPEN +Fly By Wire/A320-SDK/Throttle Mapping System#GROUP +A32NX_AUTOTHRUST_TLA:1#(L:A32NX_AUTOTHRUST_TLA:1)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_AUTOTHRUST_TLA:1 +A32NX_AUTOTHRUST_TLA:2#(L:A32NX_AUTOTHRUST_TLA:2)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_AUTOTHRUST_TLA:2 +A32NX_LOGGING_THROTTLES_ENABLED#(L:A32NX_LOGGING_THROTTLES_ENABLED)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_LOGGING_THROTTLES_ENABLED +A32NX_THROTTLE_MAPPING_INPUT:1#(L:A32NX_THROTTLE_MAPPING_INPUT:1)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_THROTTLE_MAPPING_INPUT:1 +A32NX_THROTTLE_MAPPING_INPUT:2#(L:A32NX_THROTTLE_MAPPING_INPUT:2)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_THROTTLE_MAPPING_INPUT:2 +A32NX_THROTTLE_MAPPING_LOADED_CONFIG:1#(L:A32NX_THROTTLE_MAPPING_LOADED_CONFIG:1)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_THROTTLE_MAPPING_LOADED_CONFIG:1 +A32NX_THROTTLE_MAPPING_LOADED_CONFIG:2#(L:A32NX_THROTTLE_MAPPING_LOADED_CONFIG:2)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_THROTTLE_MAPPING_LOADED_CONFIG:2 +A32NX_THROTTLE_MAPPING_USE_REVERSE_ON_AXIS:1#(L:A32NX_THROTTLE_MAPPING_USE_REVERSE_ON_AXIS:1)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_THROTTLE_MAPPING_USE_REVERSE_ON_AXIS:1 +A32NX_THROTTLE_MAPPING_USE_REVERSE_ON_AXIS:2#(L:A32NX_THROTTLE_MAPPING_USE_REVERSE_ON_AXIS:2)#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_THROTTLE_MAPPING_USE_REVERSE_ON_AXIS:2 +A32NX_THROTTLE_MAPPING_{REVERSE|REVERSE_IDLE|IDLE|CLIMB|FLEXMCT|TOGA}_{LOW|HIGH}:{index}#(L:A32NX_THROTTLE_MAPPING_{REVERSE|REVERSE_IDLE|IDLE|CLIMB|FLEXMCT|TOGA}_{LOW|HIGH}:{index})#Fly By Wire.A320-SDK.Throttle Mapping System.A32NX_THROTTLE_MAPPING_{REVERSE|REVERSE_IDLE|IDLE|CLIMB|FLEXMCT|TOGA}_{LOW|HIGH}:{index} +Fly By Wire/A320-SDK/Unsorted#GROUP +A32NX_AIDS_PRINT_ON#(L:A32NX_AIDS_PRINT_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_AIDS_PRINT_ON +A32NX_AIRCOND_HOTAIR_FAULT#(L:A32NX_AIRCOND_HOTAIR_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_AIRCOND_HOTAIR_FAULT +A32NX_AIRCOND_HOTAIR_TOGGLE#(L:A32NX_AIRCOND_HOTAIR_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_AIRCOND_HOTAIR_TOGGLE +A32NX_AIRCOND_PACK1_FAULT#(L:A32NX_AIRCOND_PACK1_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_AIRCOND_PACK1_FAULT +A32NX_AIRCOND_PACK1_TOGGLE#(L:A32NX_AIRCOND_PACK1_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_AIRCOND_PACK1_TOGGLE +A32NX_AIRCOND_PACK2_FAULT#(L:A32NX_AIRCOND_PACK2_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_AIRCOND_PACK2_FAULT +A32NX_AIRCOND_PACK2_TOGGLE#(L:A32NX_AIRCOND_PACK2_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_AIRCOND_PACK2_TOGGLE +A32NX_AIRCOND_RAMAIR_TOGGLE#(L:A32NX_AIRCOND_RAMAIR_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_AIRCOND_RAMAIR_TOGGLE +A32NX_APU_AUTOEXITING_RESET#(L:A32NX_APU_AUTOEXITING_RESET)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_AUTOEXITING_RESET +A32NX_APU_AUTOEXITING_TEST_OK#(L:A32NX_APU_AUTOEXITING_TEST_OK)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_AUTOEXITING_TEST_OK +A32NX_APU_AUTOEXITING_TEST_ON#(L:A32NX_APU_AUTOEXITING_TEST_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_AUTOEXITING_TEST_ON +A32NX_APU_BLEED_AIR_VALVE_OPEN#(L:A32NX_APU_BLEED_AIR_VALVE_OPEN)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_BLEED_AIR_VALVE_OPEN +A32NX_APU_EGT#(L:A32NX_APU_EGT)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_EGT +A32NX_APU_EGT_CAUTION#(L:A32NX_APU_EGT_CAUTION)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_EGT_CAUTION +A32NX_APU_EGT_WARNING#(L:A32NX_APU_EGT_WARNING)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_EGT_WARNING +A32NX_APU_FLAP_FULLY_OPEN#(L:A32NX_APU_FLAP_FULLY_OPEN)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_FLAP_FULLY_OPEN +A32NX_APU_FLAP_OPEN_PERCENTAGE#(L:A32NX_APU_FLAP_OPEN_PERCENTAGE)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_FLAP_OPEN_PERCENTAGE +A32NX_APU_IS_AUTO_SHUTDOWN#(L:A32NX_APU_IS_AUTO_SHUTDOWN)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_IS_AUTO_SHUTDOWN +A32NX_APU_IS_EMERGENCY_SHUTDOWN#(L:A32NX_APU_IS_EMERGENCY_SHUTDOWN)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_IS_EMERGENCY_SHUTDOWN +A32NX_APU_LOW_FUEL_PRESSURE_FAULT#(L:A32NX_APU_LOW_FUEL_PRESSURE_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_LOW_FUEL_PRESSURE_FAULT +A32NX_APU_N#(L:A32NX_APU_N)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_N +A32NX_APU_N_RAW#(L:A32NX_APU_N_RAW)#Fly By Wire.A320-SDK.Unsorted.A32NX_APU_N_RAW +A32NX_AUTOBRAKES_ARMED_MODE#(L:A32NX_AUTOBRAKES_ARMED_MODE)#Fly By Wire.A320-SDK.Unsorted.A32NX_AUTOBRAKES_ARMED_MODE +A32NX_AUTOBRAKES_DECEL_con#(L:A32NX_AUTOBRAKES_DECEL_LIGHT)#Fly By Wire.A320-SDK.Unsorted.A32NX_AUTOBRAKES_DECEL_LIGHT +A32NX_AUTOPILOT_FPA_SELECTED#(L:A32NX_AUTOPILOT_FPA_SELECTED)#Fly By Wire.A320-SDK.Unsorted.A32NX_AUTOPILOT_FPA_SELECTED +A32NX_AUTOPILOT_TRACK_SELECTED#(L:A32NX_AUTOPILOT_TRACK_SELECTED)#Fly By Wire.A320-SDK.Unsorted.A32NX_AUTOPILOT_TRACK_SELECTED +A32NX_AVIONICS_COMPLT_ON#(L:A32NX_AVIONICS_COMPLT_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_AVIONICS_COMPLT_ON +A32NX_BRAKES_HOT#(L:A32NX_BRAKES_HOT)#Fly By Wire.A320-SDK.Unsorted.A32NX_BRAKES_HOT +A32NX_BRAKE_FAN#(L:A32NX_BRAKE_FAN)#Fly By Wire.A320-SDK.Unsorted.A32NX_BRAKE_FAN +A32NX_BRAKE_FAN_BTN_PRESSED#(L:A32NX_BRAKE_FAN_BTN_PRESSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_BRAKE_FAN_BTN_PRESSED +A32NX_BRAKE_TEMPERATURE_1#(L:A32NX_BRAKE_TEMPERATURE_1)#Fly By Wire.A320-SDK.Unsorted.A32NX_BRAKE_TEMPERATURE_1 +A32NX_BRAKE_TEMPERATURE_2#(L:A32NX_BRAKE_TEMPERATURE_2)#Fly By Wire.A320-SDK.Unsorted.A32NX_BRAKE_TEMPERATURE_2 +A32NX_BRAKE_TEMPERATURE_3#(L:A32NX_BRAKE_TEMPERATURE_3)#Fly By Wire.A320-SDK.Unsorted.A32NX_BRAKE_TEMPERATURE_3 +A32NX_BRAKE_TEMPERATURE_4#(L:A32NX_BRAKE_TEMPERATURE_4)#Fly By Wire.A320-SDK.Unsorted.A32NX_BRAKE_TEMPERATURE_4 +A32NX_CALLS_EMER_ON#(L:A32NX_CALLS_EMER_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_CALLS_EMER_ON +A32NX_CARGOSMOKE_AFT_DISCHARGED#(L:A32NX_CARGOSMOKE_AFT_DISCHARGED)#Fly By Wire.A320-SDK.Unsorted.A32NX_CARGOSMOKE_AFT_DISCHARGED +A32NX_CARGOSMOKE_FWD_DISCHARGED#(L:A32NX_CARGOSMOKE_FWD_DISCHARGED)#Fly By Wire.A320-SDK.Unsorted.A32NX_CARGOSMOKE_FWD_DISCHARGED +A32NX_CREW_HEAD_SET#(L:A32NX_CREW_HEAD_SET)#Fly By Wire.A320-SDK.Unsorted.A32NX_CREW_HEAD_SET +A32NX_DEPARTURE_ELEVATION#(L:A32NX_DEPARTURE_ELEVATION)#Fly By Wire.A320-SDK.Unsorted.A32NX_DEPARTURE_ELEVATION +A32NX_DESTINATION_QNH#(L:A32NX_DESTINATION_QNH)#Fly By Wire.A320-SDK.Unsorted.A32NX_DESTINATION_QNH +A32NX_DFDR_EVENT_ON#(L:A32NX_DFDR_EVENT_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_DFDR_EVENT_ON +A32NX_DLS_ON#(L:A32NX_DLS_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_DLS_ON +A32NX_ECAM_INOP_SYS_APU#(L:A32NX_ECAM_INOP_SYS_APU)#Fly By Wire.A320-SDK.Unsorted.A32NX_ECAM_INOP_SYS_APU +A32NX_ECAM_ND_XFR_SWITCHING_KNOB#(L:A32NX_ECAM_ND_XFR_SWITCHING_KNOB)#Fly By Wire.A320-SDK.Unsorted.A32NX_ECAM_ND_XFR_SWITCHING_KNOB +A32NX_EIS_DMC_SWITCHING_KNOB#(L:A32NX_EIS_DMC_SWITCHING_KNOB)#Fly By Wire.A320-SDK.Unsorted.A32NX_EIS_DMC_SWITCHING_KNOB +A32NX_ELEC_AC_1_BUS_IS_POWERED#(L:A32NX_ELEC_AC_1_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_AC_1_BUS_IS_POWERED +A32NX_ELEC_AC_2_BUS_IS_POWERED#(L:A32NX_ELEC_AC_2_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_AC_2_BUS_IS_POWERED +A32NX_ELEC_AC_ESS_BUS_IS_POWERED#(L:A32NX_ELEC_AC_ESS_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_AC_ESS_BUS_IS_POWERED +A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED#(L:A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_AC_ESS_SHED_BUS_IS_POWERED +A32NX_ELEC_AC_GND_FLT_SVC_BUS_IS_POWERED#(L:A32NX_ELEC_AC_GND_FLT_SVC_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_AC_GND_FLT_SVC_BUS_IS_POWERED +A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED#(L:A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_AC_STAT_INV_BUS_IS_POWERED +A32NX_ELEC_APU_GEN_1_FREQUENCY#(L:A32NX_ELEC_APU_GEN_1_FREQUENCY)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_APU_GEN_1_FREQUENCY +A32NX_ELEC_APU_GEN_1_FREQUENCY_NORMAL#(L:A32NX_ELEC_APU_GEN_1_FREQUENCY_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_APU_GEN_1_FREQUENCY_NORMAL +A32NX_ELEC_APU_GEN_1_LOAD#(L:A32NX_ELEC_APU_GEN_1_LOAD)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_APU_GEN_1_LOAD +A32NX_ELEC_APU_GEN_1_LOAD_NORMAL#(L:A32NX_ELEC_APU_GEN_1_LOAD_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_APU_GEN_1_LOAD_NORMAL +A32NX_ELEC_APU_GEN_1_POTENTIAL#(L:A32NX_ELEC_APU_GEN_1_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_APU_GEN_1_POTENTIAL +A32NX_ELEC_APU_GEN_1_POTENTIAL_NORMAL#(L:A32NX_ELEC_APU_GEN_1_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_APU_GEN_1_POTENTIAL_NORMAL +A32NX_ELEC_BAT_1_CURRENT#(L:A32NX_ELEC_BAT_1_CURRENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_BAT_1_CURRENT +A32NX_ELEC_BAT_1_CURRENT_NORMAL#(L:A32NX_ELEC_BAT_1_CURRENT_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_BAT_1_CURRENT_NORMAL +A32NX_ELEC_BAT_1_POTENTIAL#(L:A32NX_ELEC_BAT_1_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_BAT_1_POTENTIAL +A32NX_ELEC_BAT_1_POTENTIAL_NORMAL#(L:A32NX_ELEC_BAT_1_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_BAT_1_POTENTIAL_NORMAL +A32NX_ELEC_BAT_2_CURRENT#(L:A32NX_ELEC_BAT_2_CURRENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_BAT_2_CURRENT +A32NX_ELEC_BAT_2_CURRENT_NORMAL#(L:A32NX_ELEC_BAT_2_CURRENT_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_BAT_2_CURRENT_NORMAL +A32NX_ELEC_BAT_2_POTENTIAL#(L:A32NX_ELEC_BAT_2_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_BAT_2_POTENTIAL +A32NX_ELEC_BAT_2_POTENTIAL_NORMAL#(L:A32NX_ELEC_BAT_2_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_BAT_2_POTENTIAL_NORMAL +A32NX_ELEC_CONTACTOR_10KA_AND_5KA_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_10KA_AND_5KA_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_10KA_AND_5KA_IS_CLOSED +A32NX_ELEC_CONTACTOR_11XU1_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_11XU1_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_11XU1_IS_CLOSED +A32NX_ELEC_CONTACTOR_11XU2_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_11XU2_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_11XU2_IS_CLOSED +A32NX_ELEC_CONTACTOR_12XN_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_12XN_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_12XN_IS_CLOSED +A32NX_ELEC_CONTACTOR_14PU_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_14PU_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_14PU_IS_CLOSED +A32NX_ELEC_CONTACTOR_15XE1_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_15XE1_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_15XE1_IS_CLOSED +A32NX_ELEC_CONTACTOR_15XE2_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_15XE2_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_15XE2_IS_CLOSED +A32NX_ELEC_CONTACTOR_1PC1_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_1PC1_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_1PC1_IS_CLOSED +A32NX_ELEC_CONTACTOR_1PC2_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_1PC2_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_1PC2_IS_CLOSED +A32NX_ELEC_CONTACTOR_2XB1_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_2XB1_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_2XB1_IS_CLOSED +A32NX_ELEC_CONTACTOR_2XB2_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_2XB2_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_2XB2_IS_CLOSED +A32NX_ELEC_CONTACTOR_2XE_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_2XE_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_2XE_IS_CLOSED +A32NX_ELEC_CONTACTOR_3PE_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_3PE_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_3PE_IS_CLOSED +A32NX_ELEC_CONTACTOR_3PX_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_3PX_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_3PX_IS_CLOSED +A32NX_ELEC_CONTACTOR_3XC1_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_3XC1_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_3XC1_IS_CLOSED +A32NX_ELEC_CONTACTOR_3XC2_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_3XC2_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_3XC2_IS_CLOSED +A32NX_ELEC_CONTACTOR_3XG_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_3XG_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_3XG_IS_CLOSED +A32NX_ELEC_CONTACTOR_3XS_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_3XS_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_3XS_IS_CLOSED +A32NX_ELEC_CONTACTOR_4PC_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_4PC_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_4PC_IS_CLOSED +A32NX_ELEC_CONTACTOR_5PU1_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_5PU1_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_5PU1_IS_CLOSED +A32NX_ELEC_CONTACTOR_5PU2_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_5PU2_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_5PU2_IS_CLOSED +A32NX_ELEC_CONTACTOR_6PB1_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_6PB1_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_6PB1_IS_CLOSED +A32NX_ELEC_CONTACTOR_6PB1_SHOW_ARROW_WHEN_CLOSED#(L:A32NX_ELEC_CONTACTOR_6PB1_SHOW_ARROW_WHEN_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_6PB1_SHOW_ARROW_WHEN_CLOSED +A32NX_ELEC_CONTACTOR_6PB2_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_6PB2_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_6PB2_IS_CLOSED +A32NX_ELEC_CONTACTOR_6PB2_SHOW_ARROW_WHEN_CLOSED#(L:A32NX_ELEC_CONTACTOR_6PB2_SHOW_ARROW_WHEN_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_6PB2_SHOW_ARROW_WHEN_CLOSED +A32NX_ELEC_CONTACTOR_8PH_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_8PH_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_8PH_IS_CLOSED +A32NX_ELEC_CONTACTOR_8PN_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_8PN_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_8PN_IS_CLOSED +A32NX_ELEC_CONTACTOR_8XH_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_8XH_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_8XH_IS_CLOSED +A32NX_ELEC_CONTACTOR_9XU1_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_9XU1_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_9XU1_IS_CLOSED +A32NX_ELEC_CONTACTOR_9XU2_IS_CLOSED#(L:A32NX_ELEC_CONTACTOR_9XU2_IS_CLOSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_CONTACTOR_9XU2_IS_CLOSED +A32NX_ELEC_DC_1_BUS_IS_POWERED#(L:A32NX_ELEC_DC_1_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_DC_1_BUS_IS_POWERED +A32NX_ELEC_DC_2_BUS_IS_POWERED#(L:A32NX_ELEC_DC_2_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_DC_2_BUS_IS_POWERED +A32NX_ELEC_DC_BAT_BUS_IS_POWERED#(L:A32NX_ELEC_DC_BAT_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_DC_BAT_BUS_IS_POWERED +A32NX_ELEC_DC_ESS_BUS_IS_POWERED#(L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_DC_ESS_BUS_IS_POWERED +A32NX_ELEC_DC_ESS_SHED_BUS_IS_POWERED#(L:A32NX_ELEC_DC_ESS_SHED_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_DC_ESS_SHED_BUS_IS_POWERED +A32NX_ELEC_DC_GND_FLT_SVC_BUS_IS_POWERED#(L:A32NX_ELEC_DC_GND_FLT_SVC_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_DC_GND_FLT_SVC_BUS_IS_POWERED +A32NX_ELEC_DC_HOT_1_BUS_IS_POWERED#(L:A32NX_ELEC_DC_HOT_1_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_DC_HOT_1_BUS_IS_POWERED +A32NX_ELEC_DC_HOT_2_BUS_IS_POWERED#(L:A32NX_ELEC_DC_HOT_2_BUS_IS_POWERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_DC_HOT_2_BUS_IS_POWERED +A32NX_ELEC_EMER_GEN_FREQUENCY#(L:A32NX_ELEC_EMER_GEN_FREQUENCY)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_EMER_GEN_FREQUENCY +A32NX_ELEC_EMER_GEN_FREQUENCY_NORMAL#(L:A32NX_ELEC_EMER_GEN_FREQUENCY_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_EMER_GEN_FREQUENCY_NORMAL +A32NX_ELEC_EMER_GEN_POTENTIAL#(L:A32NX_ELEC_EMER_GEN_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_EMER_GEN_POTENTIAL +A32NX_ELEC_EMER_GEN_POTENTIAL_NORMAL#(L:A32NX_ELEC_EMER_GEN_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_EMER_GEN_POTENTIAL_NORMAL +A32NX_ELEC_ENG_GEN_1_FREQUENCY#(L:A32NX_ELEC_ENG_GEN_1_FREQUENCY)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_1_FREQUENCY +A32NX_ELEC_ENG_GEN_1_FREQUENCY_NORMAL#(L:A32NX_ELEC_ENG_GEN_1_FREQUENCY_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_1_FREQUENCY_NORMAL +A32NX_ELEC_ENG_GEN_1_IDG_IS_CONNECTED#(L:A32NX_ELEC_ENG_GEN_1_IDG_IS_CONNECTED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_1_IDG_IS_CONNECTED +A32NX_ELEC_ENG_GEN_1_IDG_OIL_OUTLET_TEMPERATURE#(L:A32NX_ELEC_ENG_GEN_1_IDG_OIL_OUTLET_TEMPERATURE)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_1_IDG_OIL_OUTLET_TEMPERATURE +A32NX_ELEC_ENG_GEN_1_LOAD#(L:A32NX_ELEC_ENG_GEN_1_LOAD)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_1_LOAD +A32NX_ELEC_ENG_GEN_1_LOAD_NORMAL#(L:A32NX_ELEC_ENG_GEN_1_LOAD_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_1_LOAD_NORMAL +A32NX_ELEC_ENG_GEN_1_POTENTIAL#(L:A32NX_ELEC_ENG_GEN_1_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_1_POTENTIAL +A32NX_ELEC_ENG_GEN_1_POTENTIAL_NORMAL#(L:A32NX_ELEC_ENG_GEN_1_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_1_POTENTIAL_NORMAL +A32NX_ELEC_ENG_GEN_2_FREQUENCY#(L:A32NX_ELEC_ENG_GEN_2_FREQUENCY)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_2_FREQUENCY +A32NX_ELEC_ENG_GEN_2_FREQUENCY_NORMAL#(L:A32NX_ELEC_ENG_GEN_2_FREQUENCY_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_2_FREQUENCY_NORMAL +A32NX_ELEC_ENG_GEN_2_IDG_IS_CONNECTED#(L:A32NX_ELEC_ENG_GEN_2_IDG_IS_CONNECTED)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_2_IDG_IS_CONNECTED +A32NX_ELEC_ENG_GEN_2_IDG_OIL_OUTLET_TEMPERATURE#(L:A32NX_ELEC_ENG_GEN_2_IDG_OIL_OUTLET_TEMPERATURE)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_2_IDG_OIL_OUTLET_TEMPERATURE +A32NX_ELEC_ENG_GEN_2_LOAD#(L:A32NX_ELEC_ENG_GEN_2_LOAD)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_2_LOAD +A32NX_ELEC_ENG_GEN_2_LOAD_NORMAL#(L:A32NX_ELEC_ENG_GEN_2_LOAD_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_2_LOAD_NORMAL +A32NX_ELEC_ENG_GEN_2_POTENTIAL#(L:A32NX_ELEC_ENG_GEN_2_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_2_POTENTIAL +A32NX_ELEC_ENG_GEN_2_POTENTIAL_NORMAL#(L:A32NX_ELEC_ENG_GEN_2_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_ENG_GEN_2_POTENTIAL_NORMAL +A32NX_ELEC_EXT_PWR_FREQUENCY#(L:A32NX_ELEC_EXT_PWR_FREQUENCY)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_EXT_PWR_FREQUENCY +A32NX_ELEC_EXT_PWR_FREQUENCY_NORMAL#(L:A32NX_ELEC_EXT_PWR_FREQUENCY_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_EXT_PWR_FREQUENCY_NORMAL +A32NX_ELEC_EXT_PWR_POTENTIAL#(L:A32NX_ELEC_EXT_PWR_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_EXT_PWR_POTENTIAL +A32NX_ELEC_EXT_PWR_POTENTIAL_NORMAL#(L:A32NX_ELEC_EXT_PWR_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_EXT_PWR_POTENTIAL_NORMAL +A32NX_ELEC_STAT_INV_FREQUENCY#(L:A32NX_ELEC_STAT_INV_FREQUENCY)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_STAT_INV_FREQUENCY +A32NX_ELEC_STAT_INV_FREQUENCY_NORMAL#(L:A32NX_ELEC_STAT_INV_FREQUENCY_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_STAT_INV_FREQUENCY_NORMAL +A32NX_ELEC_STAT_INV_POTENTIAL#(L:A32NX_ELEC_STAT_INV_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_STAT_INV_POTENTIAL +A32NX_ELEC_STAT_INV_POTENTIAL_NORMAL#(L:A32NX_ELEC_STAT_INV_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_STAT_INV_POTENTIAL_NORMAL +A32NX_ELEC_TR_1_CURRENT#(L:A32NX_ELEC_TR_1_CURRENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_1_CURRENT +A32NX_ELEC_TR_1_CURRENT_NORMAL#(L:A32NX_ELEC_TR_1_CURRENT_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_1_CURRENT_NORMAL +A32NX_ELEC_TR_1_POTENTIAL#(L:A32NX_ELEC_TR_1_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_1_POTENTIAL +A32NX_ELEC_TR_1_POTENTIAL_NORMAL#(L:A32NX_ELEC_TR_1_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_1_POTENTIAL_NORMAL +A32NX_ELEC_TR_2_CURRENT#(L:A32NX_ELEC_TR_2_CURRENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_2_CURRENT +A32NX_ELEC_TR_2_CURRENT_NORMAL#(L:A32NX_ELEC_TR_2_CURRENT_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_2_CURRENT_NORMAL +A32NX_ELEC_TR_2_POTENTIAL#(L:A32NX_ELEC_TR_2_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_2_POTENTIAL +A32NX_ELEC_TR_2_POTENTIAL_NORMAL#(L:A32NX_ELEC_TR_2_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_2_POTENTIAL_NORMAL +A32NX_ELEC_TR_3: TR ESS_POTENTIAL_NORMAL#(L:A32NX_ELEC_TR_3: TR ESS_POTENTIAL_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_3: TR ESS_POTENTIAL_NORMAL +A32NX_ELEC_TR_3_CURRENT#(L:A32NX_ELEC_TR_3_CURRENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_3_CURRENT +A32NX_ELEC_TR_3_CURRENT_NORMAL#(L:A32NX_ELEC_TR_3_CURRENT_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_3_CURRENT_NORMAL +A32NX_ELEC_TR_3_POTENTIAL#(L:A32NX_ELEC_TR_3_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_3_POTENTIAL +A32NX_ELEC_TR_ESS_POTENTIAL#(L:A32NX_ELEC_TR_ESS_POTENTIAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELEC_TR_ESS_POTENTIAL +A32NX_ELT_ON#(L:A32NX_ELT_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELT_ON +A32NX_ELT_TEST_RESET#(L:A32NX_ELT_TEST_RESET)#Fly By Wire.A320-SDK.Unsorted.A32NX_ELT_TEST_RESET +A32NX_EMERELECPWR_GEN_TEST#(L:A32NX_EMERELECPWR_GEN_TEST)#Fly By Wire.A320-SDK.Unsorted.A32NX_EMERELECPWR_GEN_TEST +A32NX_ENGMANSTART1_TOGGLE#(L:A32NX_ENGMANSTART1_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_ENGMANSTART1_TOGGLE +A32NX_ENGMANSTART2_TOGGLE#(L:A32NX_ENGMANSTART2_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_ENGMANSTART2_TOGGLE +A32NX_ENG_OUT_ACC_ALT#(L:A32NX_ENG_OUT_ACC_ALT)#Fly By Wire.A320-SDK.Unsorted.A32NX_ENG_OUT_ACC_ALT +A32NX_EVAC_CAPT_TOGGLE#(L:A32NX_EVAC_CAPT_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_EVAC_CAPT_TOGGLE +A32NX_EVAC_COMMAND_FAULT#(L:A32NX_EVAC_COMMAND_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_EVAC_COMMAND_FAULT +A32NX_EVAC_COMMAND_TOGGLE#(L:A32NX_EVAC_COMMAND_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_EVAC_COMMAND_TOGGLE +A32NX_FIRE_BUTTON_APU#(L:A32NX_FIRE_BUTTON_APU)#Fly By Wire.A320-SDK.Unsorted.A32NX_FIRE_BUTTON_APU +A32NX_FLAPS_CONF_INDEX#(L:A32NX_FLAPS_CONF_INDEX)#Fly By Wire.A320-SDK.Unsorted.A32NX_FLAPS_CONF_INDEX +A32NX_FLAPS_HANDLE_INDEX#(L:A32NX_FLAPS_HANDLE_INDEX)#Fly By Wire.A320-SDK.Unsorted.A32NX_FLAPS_HANDLE_INDEX +A32NX_FLAPS_HANDLE_PERCENT#(L:A32NX_FLAPS_HANDLE_PERCENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_FLAPS_HANDLE_PERCENT +A32NX_FMGC_FLIGHT_PHASE#(L:A32NX_FMGC_FLIGHT_PHASE)#Fly By Wire.A320-SDK.Unsorted.A32NX_FMGC_FLIGHT_PHASE +A32NX_FM_LS_COURSE#(L:A32NX_FM_LS_COURSE)#Fly By Wire.A320-SDK.Unsorted.A32NX_FM_LS_COURSE +A32NX_FWC_FLIGHT_PHASE#(L:A32NX_FWC_FLIGHT_PHASE)#Fly By Wire.A320-SDK.Unsorted.A32NX_FWC_FLIGHT_PHASE +A32NX_FWC_INHIBOVRD#(L:A32NX_FWC_INHIBOVRD)#Fly By Wire.A320-SDK.Unsorted.A32NX_FWC_INHIBOVRD +A32NX_FWC_LDGMEMO#(L:A32NX_FWC_LDGMEMO)#Fly By Wire.A320-SDK.Unsorted.A32NX_FWC_LDGMEMO +A32NX_FWC_SKIP_STARTUP#(L:A32NX_FWC_SKIP_STARTUP)#Fly By Wire.A320-SDK.Unsorted.A32NX_FWC_SKIP_STARTUP +A32NX_FWC_TOMEMO#(L:A32NX_FWC_TOMEMO)#Fly By Wire.A320-SDK.Unsorted.A32NX_FWC_TOMEMO +A32NX_FWD_DOOR_CARGO_LOCKED#(L:A32NX_FWD_DOOR_CARGO_LOCKED)#Fly By Wire.A320-SDK.Unsorted.A32NX_FWD_DOOR_CARGO_LOCKED +A32NX_FWD_DOOR_CARGO_POSITION#(L:A32NX_FWD_DOOR_CARGO_POSITION)#Fly By Wire.A320-SDK.Unsorted.A32NX_FWD_DOOR_CARGO_POSITION +A32NX_HYD_BLUE_EPUMP_ACTIVE#(L:A32NX_HYD_BLUE_EPUMP_ACTIVE)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BLUE_EPUMP_ACTIVE +A32NX_HYD_BLUE_EPUMP_LOW_PRESS#(L:A32NX_HYD_BLUE_EPUMP_LOW_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BLUE_EPUMP_LOW_PRESS +A32NX_HYD_BLUE_EPUMP_RPM#(L:A32NX_HYD_BLUE_EPUMP_RPM)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BLUE_EPUMP_RPM +A32NX_HYD_BLUE_RESERVOIR_LEVEL#(L:A32NX_HYD_BLUE_RESERVOIR_LEVEL)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BLUE_RESERVOIR_LEVEL +A32NX_HYD_BLUE_SYSTEM_1_SECTION_PRESSURE#(L:A32NX_HYD_BLUE_SYSTEM_1_SECTION_PRESSURE)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BLUE_SYSTEM_1_SECTION_PRESSURE +A32NX_HYD_BRAKE_ALTN_ACC_PRESS#(L:A32NX_HYD_BRAKE_ALTN_ACC_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BRAKE_ALTN_ACC_PRESS +A32NX_HYD_BRAKE_ALTN_LEFT_PRESS#(L:A32NX_HYD_BRAKE_ALTN_LEFT_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BRAKE_ALTN_LEFT_PRESS +A32NX_HYD_BRAKE_ALTN_RIGHT_PRESS#(L:A32NX_HYD_BRAKE_ALTN_RIGHT_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BRAKE_ALTN_RIGHT_PRESS +A32NX_HYD_BRAKE_NORM_LEFT_PRESS#(L:A32NX_HYD_BRAKE_NORM_LEFT_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BRAKE_NORM_LEFT_PRESS +A32NX_HYD_BRAKE_NORM_RIGHT_PRESS#(L:A32NX_HYD_BRAKE_NORM_RIGHT_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_BRAKE_NORM_RIGHT_PRESS +A32NX_HYD_GREEN_EDPUMP_ACTIVE#(L:A32NX_HYD_GREEN_EDPUMP_ACTIVE)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_GREEN_EDPUMP_ACTIVE +A32NX_HYD_GREEN_EDPUMP_LOW_PRESS#(L:A32NX_HYD_GREEN_EDPUMP_LOW_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_GREEN_EDPUMP_LOW_PRESS +A32NX_HYD_GREEN_PUMP_1_FIRE_VALVE_OPENED#(L:A32NX_HYD_GREEN_PUMP_1_FIRE_VALVE_OPENED)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_GREEN_PUMP_1_FIRE_VALVE_OPENED +A32NX_HYD_GREEN_RESERVOIR_LEVEL#(L:A32NX_HYD_GREEN_RESERVOIR_LEVEL)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_GREEN_RESERVOIR_LEVEL +A32NX_HYD_GREEN_SYSTEM_1_SECTION_PRESSURE#(L:A32NX_HYD_GREEN_SYSTEM_1_SECTION_PRESSURE)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_GREEN_SYSTEM_1_SECTION_PRESSURE +A32NX_HYD_NW_STRG_DISC_ECAM_MEMO#(L:A32NX_HYD_NW_STRG_DISC_ECAM_MEMO)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_NW_STRG_DISC_ECAM_MEMO +A32NX_HYD_PTU_ACTIVE_L2R#(L:A32NX_HYD_PTU_ACTIVE_L2R)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_PTU_ACTIVE_L2R +A32NX_HYD_PTU_ACTIVE_R2L#(L:A32NX_HYD_PTU_ACTIVE_R2L)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_PTU_ACTIVE_R2L +A32NX_HYD_PTU_MOTOR_FLOW#(L:A32NX_HYD_PTU_MOTOR_FLOW)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_PTU_MOTOR_FLOW +A32NX_HYD_PTU_ON_ECAM_MEMO#(L:A32NX_HYD_PTU_ON_ECAM_MEMO)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_PTU_ON_ECAM_MEMO +A32NX_HYD_PTU_VALVE_OPENED#(L:A32NX_HYD_PTU_VALVE_OPENED)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_PTU_VALVE_OPENED +A32NX_HYD_RAT_RPM#(L:A32NX_HYD_RAT_RPM)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_RAT_RPM +A32NX_HYD_RAT_STOW_POSITION#(L:A32NX_HYD_RAT_STOW_POSITION)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_RAT_STOW_POSITION +A32NX_HYD_YELLOW_EDPUMP_ACTIVE#(L:A32NX_HYD_YELLOW_EDPUMP_ACTIVE)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_YELLOW_EDPUMP_ACTIVE +A32NX_HYD_YELLOW_EDPUMP_LOW_PRESS#(L:A32NX_HYD_YELLOW_EDPUMP_LOW_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_YELLOW_EDPUMP_LOW_PRESS +A32NX_HYD_YELLOW_EPUMP_ACTIVE#(L:A32NX_HYD_YELLOW_EPUMP_ACTIVE)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_YELLOW_EPUMP_ACTIVE +A32NX_HYD_YELLOW_EPUMP_LOW_PRESS#(L:A32NX_HYD_YELLOW_EPUMP_LOW_PRESS)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_YELLOW_EPUMP_LOW_PRESS +A32NX_HYD_YELLOW_EPUMP_RPM#(L:A32NX_HYD_YELLOW_EPUMP_RPM)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_YELLOW_EPUMP_RPM +A32NX_HYD_YELLOW_PUMP_1_FIRE_VALVE_OPENED#(L:A32NX_HYD_YELLOW_PUMP_1_FIRE_VALVE_OPENED)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_YELLOW_PUMP_1_FIRE_VALVE_OPENED +A32NX_HYD_YELLOW_RESERVOIR_LEVEL#(L:A32NX_HYD_YELLOW_RESERVOIR_LEVEL)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_YELLOW_RESERVOIR_LEVEL +A32NX_HYD_YELLOW_SYSTEM_1_SECTION_PRESSURE#(L:A32NX_HYD_YELLOW_SYSTEM_1_SECTION_PRESSURE)#Fly By Wire.A320-SDK.Unsorted.A32NX_HYD_YELLOW_SYSTEM_1_SECTION_PRESSURE +A32NX_KNOB_OVHD_AIRCOND_PACKFLOW_Position#(L:A32NX_KNOB_OVHD_AIRCOND_PACKFLOW_Position)#Fly By Wire.A320-SDK.Unsorted.A32NX_KNOB_OVHD_AIRCOND_PACKFLOW_Position +A32NX_KNOB_OVHD_AIRCOND_XBLEED_Position#(L:A32NX_KNOB_OVHD_AIRCOND_XBLEED_Position)#Fly By Wire.A320-SDK.Unsorted.A32NX_KNOB_OVHD_AIRCOND_XBLEED_Position +A32NX_LEFT_BRAKE_PEDAL_INPUT#(L:A32NX_LEFT_BRAKE_PEDAL_INPUT)#Fly By Wire.A320-SDK.Unsorted.A32NX_LEFT_BRAKE_PEDAL_INPUT +A32NX_LEFT_FLAPS_ANGLE#(L:A32NX_LEFT_FLAPS_ANGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_LEFT_FLAPS_ANGLE +A32NX_LEFT_FLAPS_POSITION_PERCENT#(L:A32NX_LEFT_FLAPS_POSITION_PERCENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_LEFT_FLAPS_POSITION_PERCENT +A32NX_LEFT_FLAPS_TARGET_ANGLE#(L:A32NX_LEFT_FLAPS_TARGET_ANGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_LEFT_FLAPS_TARGET_ANGLE +A32NX_LEFT_SLATS_ANGLE#(L:A32NX_LEFT_SLATS_ANGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_LEFT_SLATS_ANGLE +A32NX_LEFT_SLATS_POSITION_PERCENT#(L:A32NX_LEFT_SLATS_POSITION_PERCENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_LEFT_SLATS_POSITION_PERCENT +A32NX_LEFT_SLATS_TARGET_ANGLE#(L:A32NX_LEFT_SLATS_TARGET_ANGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_LEFT_SLATS_TARGET_ANGLE +A32NX_METRIC_ALT_TOGGLE#(L:A32NX_METRIC_ALT_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_METRIC_ALT_TOGGLE +A32NX_NO_SMOKING_MEMO#(L:A32NX_NO_SMOKING_MEMO)#Fly By Wire.A320-SDK.Unsorted.A32NX_NO_SMOKING_MEMO +A32NX_OVHD_APU_MASTER_SW_PB_HAS_FAULT#(L:A32NX_OVHD_APU_MASTER_SW_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_APU_MASTER_SW_PB_HAS_FAULT +A32NX_OVHD_APU_MASTER_SW_PB_IS_ON#(L:A32NX_OVHD_APU_MASTER_SW_PB_IS_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_APU_MASTER_SW_PB_IS_ON +A32NX_OVHD_APU_START_PB_IS_AVAILABLE#(L:A32NX_OVHD_APU_START_PB_IS_AVAILABLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_APU_START_PB_IS_AVAILABLE +A32NX_OVHD_APU_START_PB_IS_ON#(L:A32NX_OVHD_APU_START_PB_IS_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_APU_START_PB_IS_ON +A32NX_OVHD_AUTOBRK_LOW_ON_IS_PRESSED#(L:A32NX_OVHD_AUTOBRK_LOW_ON_IS_PRESSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_AUTOBRK_LOW_ON_IS_PRESSED +A32NX_OVHD_AUTOBRK_MAX_ON_IS_PRESSED#(L:A32NX_OVHD_AUTOBRK_MAX_ON_IS_PRESSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_AUTOBRK_MAX_ON_IS_PRESSED +A32NX_OVHD_AUTOBRK_MED_ON_IS_PRESSED#(L:A32NX_OVHD_AUTOBRK_MED_ON_IS_PRESSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_AUTOBRK_MED_ON_IS_PRESSED +A32NX_OVHD_COCKPITDOORVIDEO_TOGGLE#(L:A32NX_OVHD_COCKPITDOORVIDEO_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_COCKPITDOORVIDEO_TOGGLE +A32NX_OVHD_ELEC_AC_ESS_FEED_PB_HAS_FAULT#(L:A32NX_OVHD_ELEC_AC_ESS_FEED_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_AC_ESS_FEED_PB_HAS_FAULT +A32NX_OVHD_ELEC_AC_ESS_FEED_PB_IS_NORMAL#(L:A32NX_OVHD_ELEC_AC_ESS_FEED_PB_IS_NORMAL)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_AC_ESS_FEED_PB_IS_NORMAL +A32NX_OVHD_ELEC_BAT_1_PB_HAS_FAULT#(L:A32NX_OVHD_ELEC_BAT_1_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_BAT_1_PB_HAS_FAULT +A32NX_OVHD_ELEC_BAT_1_PB_IS_AUTO#(L:A32NX_OVHD_ELEC_BAT_1_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_BAT_1_PB_IS_AUTO +A32NX_OVHD_ELEC_BAT_2_PB_HAS_FAULT#(L:A32NX_OVHD_ELEC_BAT_2_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_BAT_2_PB_HAS_FAULT +A32NX_OVHD_ELEC_BAT_2_PB_IS_AUTO#(L:A32NX_OVHD_ELEC_BAT_2_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_BAT_2_PB_IS_AUTO +A32NX_OVHD_ELEC_BUS_TIE_PB_PB_IS_AUTO#(L:A32NX_OVHD_ELEC_BUS_TIE_PB_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_BUS_TIE_PB_PB_IS_AUTO +A32NX_OVHD_ELEC_COMMERCIAL_PB_IS_ON#(L:A32NX_OVHD_ELEC_COMMERCIAL_PB_IS_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_COMMERCIAL_PB_IS_ON +A32NX_OVHD_ELEC_ENG_GEN_1_PB_HAS_FAULT#(L:A32NX_OVHD_ELEC_ENG_GEN_1_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_ENG_GEN_1_PB_HAS_FAULT +A32NX_OVHD_ELEC_ENG_GEN_2_PB_HAS_FAULT#(L:A32NX_OVHD_ELEC_ENG_GEN_2_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_ENG_GEN_2_PB_HAS_FAULT +A32NX_OVHD_ELEC_GALY_AND_CAB_PB_HAS_FAULT#(L:A32NX_OVHD_ELEC_GALY_AND_CAB_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_GALY_AND_CAB_PB_HAS_FAULT +A32NX_OVHD_ELEC_GALY_AND_CAB_PB_IS_AUTO#(L:A32NX_OVHD_ELEC_GALY_AND_CAB_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_GALY_AND_CAB_PB_IS_AUTO +A32NX_OVHD_ELEC_IDG_1_PB_HAS_FAULT#(L:A32NX_OVHD_ELEC_IDG_1_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_IDG_1_PB_HAS_FAULT +A32NX_OVHD_ELEC_IDG_1_PB_IS_RELEASED#(L:A32NX_OVHD_ELEC_IDG_1_PB_IS_RELEASED)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_IDG_1_PB_IS_RELEASED +A32NX_OVHD_ELEC_IDG_2_PB_HAS_FAULT#(L:A32NX_OVHD_ELEC_IDG_2_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_IDG_2_PB_HAS_FAULT +A32NX_OVHD_ELEC_IDG_2_PB_IS_RELEASED#(L:A32NX_OVHD_ELEC_IDG_2_PB_IS_RELEASED)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_ELEC_IDG_2_PB_IS_RELEASED +A32NX_OVHD_EMER_ELEC_GEN_1_LINE_PB_HAS_FAULT#(L:A32NX_OVHD_EMER_ELEC_GEN_1_LINE_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_EMER_ELEC_GEN_1_LINE_PB_HAS_FAULT +A32NX_OVHD_EMER_ELEC_GEN_1_LINE_PB_IS_ON#(L:A32NX_OVHD_EMER_ELEC_GEN_1_LINE_PB_IS_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_EMER_ELEC_GEN_1_LINE_PB_IS_ON +A32NX_OVHD_EMER_ELEC_GEN_2_LINE_PB_HAS_FAULT#(L:A32NX_OVHD_EMER_ELEC_GEN_2_LINE_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_EMER_ELEC_GEN_2_LINE_PB_HAS_FAULT +A32NX_OVHD_EMER_ELEC_GEN_2_LINE_PB_IS_ON#(L:A32NX_OVHD_EMER_ELEC_GEN_2_LINE_PB_IS_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_EMER_ELEC_GEN_2_LINE_PB_IS_ON +A32NX_OVHD_EMER_ELEC_RAT_AND_EMER_GEN_HAS_FAULT#(L:A32NX_OVHD_EMER_ELEC_RAT_AND_EMER_GEN_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_EMER_ELEC_RAT_AND_EMER_GEN_HAS_FAULT +A32NX_OVHD_EMER_ELEC_RAT_AND_EMER_GEN_IS_PRESSED#(L:A32NX_OVHD_EMER_ELEC_RAT_AND_EMER_GEN_IS_PRESSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_EMER_ELEC_RAT_AND_EMER_GEN_IS_PRESSED +A32NX_OVHD_HYD_ENG_1_PUMP_PB_HAS_FAULT#(L:A32NX_OVHD_HYD_ENG_1_PUMP_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_ENG_1_PUMP_PB_HAS_FAULT +A32NX_OVHD_HYD_ENG_1_PUMP_PB_IS_AUTO#(L:A32NX_OVHD_HYD_ENG_1_PUMP_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_ENG_1_PUMP_PB_IS_AUTO +A32NX_OVHD_HYD_ENG_2_PUMP_PB_HAS_FAULT#(L:A32NX_OVHD_HYD_ENG_2_PUMP_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_ENG_2_PUMP_PB_HAS_FAULT +A32NX_OVHD_HYD_ENG_2_PUMP_PB_IS_AUTO#(L:A32NX_OVHD_HYD_ENG_2_PUMP_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_ENG_2_PUMP_PB_IS_AUTO +A32NX_OVHD_HYD_EPUMPB_PB_HAS_FAULT#(L:A32NX_OVHD_HYD_EPUMPB_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_EPUMPB_PB_HAS_FAULT +A32NX_OVHD_HYD_EPUMPB_PB_IS_AUTO#(L:A32NX_OVHD_HYD_EPUMPB_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_EPUMPB_PB_IS_AUTO +A32NX_OVHD_HYD_EPUMPY_OVRD_PB_IS_ON#(L:A32NX_OVHD_HYD_EPUMPY_OVRD_PB_IS_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_EPUMPY_OVRD_PB_IS_ON +A32NX_OVHD_HYD_EPUMPY_PB_HAS_FAULT#(L:A32NX_OVHD_HYD_EPUMPY_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_EPUMPY_PB_HAS_FAULT +A32NX_OVHD_HYD_EPUMPY_PB_IS_AUTO#(L:A32NX_OVHD_HYD_EPUMPY_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_EPUMPY_PB_IS_AUTO +A32NX_OVHD_HYD_LEAK_MEASUREMENT_B#(L:A32NX_OVHD_HYD_LEAK_MEASUREMENT_B)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_LEAK_MEASUREMENT_B +A32NX_OVHD_HYD_LEAK_MEASUREMENT_B_LOCK#(L:A32NX_OVHD_HYD_LEAK_MEASUREMENT_B_LOCK)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_LEAK_MEASUREMENT_B_LOCK +A32NX_OVHD_HYD_LEAK_MEASUREMENT_G#(L:A32NX_OVHD_HYD_LEAK_MEASUREMENT_G)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_LEAK_MEASUREMENT_G +A32NX_OVHD_HYD_LEAK_MEASUREMENT_G_LOCK#(L:A32NX_OVHD_HYD_LEAK_MEASUREMENT_G_LOCK)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_LEAK_MEASUREMENT_G_LOCK +A32NX_OVHD_HYD_LEAK_MEASUREMENT_Y#(L:A32NX_OVHD_HYD_LEAK_MEASUREMENT_Y)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_LEAK_MEASUREMENT_Y +A32NX_OVHD_HYD_LEAK_MEASUREMENT_Y_LOCK#(L:A32NX_OVHD_HYD_LEAK_MEASUREMENT_Y_LOCK)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_LEAK_MEASUREMENT_Y_LOCK +A32NX_OVHD_HYD_PTU_PB_HAS_FAULT#(L:A32NX_OVHD_HYD_PTU_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_PTU_PB_HAS_FAULT +A32NX_OVHD_HYD_PTU_PB_IS_AUTO#(L:A32NX_OVHD_HYD_PTU_PB_IS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_PTU_PB_IS_AUTO +A32NX_OVHD_HYD_RAT_MAN_ON_IS_PRESSED#(L:A32NX_OVHD_HYD_RAT_MAN_ON_IS_PRESSED)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_HYD_RAT_MAN_ON_IS_PRESSED +A32NX_OVHD_PNEU_APU_BLEED_PB_HAS_FAULT#(L:A32NX_OVHD_PNEU_APU_BLEED_PB_HAS_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_PNEU_APU_BLEED_PB_HAS_FAULT +A32NX_OVHD_PNEU_APU_BLEED_PB_IS_ON#(L:A32NX_OVHD_PNEU_APU_BLEED_PB_IS_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_OVHD_PNEU_APU_BLEED_PB_IS_ON +A32NX_OXYGEN_MASKS_DEPLOYED#(L:A32NX_OXYGEN_MASKS_DEPLOYED)#Fly By Wire.A320-SDK.Unsorted.A32NX_OXYGEN_MASKS_DEPLOYED +A32NX_OXYGEN_PASSENGER_LIGHT_ON#(L:A32NX_OXYGEN_PASSENGER_LIGHT_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_OXYGEN_PASSENGER_LIGHT_ON +A32NX_OXYGEN_TMR_RESET#(L:A32NX_OXYGEN_TMR_RESET)#Fly By Wire.A320-SDK.Unsorted.A32NX_OXYGEN_TMR_RESET +A32NX_OXYGEN_TMR_RESET_FAULT#(L:A32NX_OXYGEN_TMR_RESET_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_OXYGEN_TMR_RESET_FAULT +A32NX_PARK_BRAKE_LEVER_POS#(L:A32NX_PARK_BRAKE_LEVER_POS)#Fly By Wire.A320-SDK.Unsorted.A32NX_PARK_BRAKE_LEVER_POS +A32NX_PERFORMANCE_WARNING_ACTIVE#(L:A32NX_PERFORMANCE_WARNING_ACTIVE)#Fly By Wire.A320-SDK.Unsorted.A32NX_PERFORMANCE_WARNING_ACTIVE +A32NX_PITOT_HEAT_AUTO#(L:A32NX_PITOT_HEAT_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_PITOT_HEAT_AUTO +A32NX_RADAR_GCS_AUTO#(L:A32NX_RADAR_GCS_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_RADAR_GCS_AUTO +A32NX_RADAR_MULTISCAN_AUTO#(L:A32NX_RADAR_MULTISCAN_AUTO)#Fly By Wire.A320-SDK.Unsorted.A32NX_RADAR_MULTISCAN_AUTO +A32NX_RAIN_REPELLENT_LEFT_ON#(L:A32NX_RAIN_REPELLENT_LEFT_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_RAIN_REPELLENT_LEFT_ON +A32NX_RAIN_REPELLENT_RIGHT_ON#(L:A32NX_RAIN_REPELLENT_RIGHT_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_RAIN_REPELLENT_RIGHT_ON +A32NX_RCDR_GROUND_CONTROL_ON#(L:A32NX_RCDR_GROUND_CONTROL_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_RCDR_GROUND_CONTROL_ON +A32NX_RCDR_TEST#(L:A32NX_RCDR_TEST)#Fly By Wire.A320-SDK.Unsorted.A32NX_RCDR_TEST +A32NX_REPORTED_BRAKE_TEMPERATURE_1#(L:A32NX_REPORTED_BRAKE_TEMPERATURE_1)#Fly By Wire.A320-SDK.Unsorted.A32NX_REPORTED_BRAKE_TEMPERATURE_1 +A32NX_REPORTED_BRAKE_TEMPERATURE_2#(L:A32NX_REPORTED_BRAKE_TEMPERATURE_2)#Fly By Wire.A320-SDK.Unsorted.A32NX_REPORTED_BRAKE_TEMPERATURE_2 +A32NX_REPORTED_BRAKE_TEMPERATURE_3#(L:A32NX_REPORTED_BRAKE_TEMPERATURE_3)#Fly By Wire.A320-SDK.Unsorted.A32NX_REPORTED_BRAKE_TEMPERATURE_3 +A32NX_REPORTED_BRAKE_TEMPERATURE_4#(L:A32NX_REPORTED_BRAKE_TEMPERATURE_4)#Fly By Wire.A320-SDK.Unsorted.A32NX_REPORTED_BRAKE_TEMPERATURE_4 +A32NX_RIGHT_BRAKE_PEDAL_INPUT#(L:A32NX_RIGHT_BRAKE_PEDAL_INPUT)#Fly By Wire.A320-SDK.Unsorted.A32NX_RIGHT_BRAKE_PEDAL_INPUT +A32NX_RIGHT_FLAPS_ANGLE#(L:A32NX_RIGHT_FLAPS_ANGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_RIGHT_FLAPS_ANGLE +A32NX_RIGHT_FLAPS_POSITION_PERCENT#(L:A32NX_RIGHT_FLAPS_POSITION_PERCENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_RIGHT_FLAPS_POSITION_PERCENT +A32NX_RIGHT_FLAPS_TARGET_ANGLE#(L:A32NX_RIGHT_FLAPS_TARGET_ANGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_RIGHT_FLAPS_TARGET_ANGLE +A32NX_RIGHT_SLATS_ANGLE#(L:A32NX_RIGHT_SLATS_ANGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_RIGHT_SLATS_ANGLE +A32NX_RIGHT_SLATS_POSITION_PERCENT#(L:A32NX_RIGHT_SLATS_POSITION_PERCENT)#Fly By Wire.A320-SDK.Unsorted.A32NX_RIGHT_SLATS_POSITION_PERCENT +A32NX_RIGHT_SLATS_TARGET_ANGLE#(L:A32NX_RIGHT_SLATS_TARGET_ANGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_RIGHT_SLATS_TARGET_ANGLE +A32NX_RMP_L_SELECTED_MODE#(L:A32NX_RMP_L_SELECTED_MODE)#Fly By Wire.A320-SDK.Unsorted.A32NX_RMP_L_SELECTED_MODE +A32NX_RMP_L_TOGGLE_SWITCH#(L:A32NX_RMP_L_TOGGLE_SWITCH)#Fly By Wire.A320-SDK.Unsorted.A32NX_RMP_L_TOGGLE_SWITCH +A32NX_RMP_L_VHF2_STANDBY#(L:A32NX_RMP_L_VHF2_STANDBY)#Fly By Wire.A320-SDK.Unsorted.A32NX_RMP_L_VHF2_STANDBY +A32NX_RMP_L_VHF3_STANDBY#(L:A32NX_RMP_L_VHF3_STANDBY)#Fly By Wire.A320-SDK.Unsorted.A32NX_RMP_L_VHF3_STANDBY +A32NX_RMP_R_SELECTED_MODE#(L:A32NX_RMP_R_SELECTED_MODE)#Fly By Wire.A320-SDK.Unsorted.A32NX_RMP_R_SELECTED_MODE +A32NX_RMP_R_TOGGLE_SWITCH#(L:A32NX_RMP_R_TOGGLE_SWITCH)#Fly By Wire.A320-SDK.Unsorted.A32NX_RMP_R_TOGGLE_SWITCH +A32NX_RMP_R_VHF1_STANDBY#(L:A32NX_RMP_R_VHF1_STANDBY)#Fly By Wire.A320-SDK.Unsorted.A32NX_RMP_R_VHF1_STANDBY +A32NX_RMP_R_VHF3_STANDBY#(L:A32NX_RMP_R_VHF3_STANDBY)#Fly By Wire.A320-SDK.Unsorted.A32NX_RMP_R_VHF3_STANDBY +A32NX_SLIDES_ARMED#(L:A32NX_SLIDES_ARMED)#Fly By Wire.A320-SDK.Unsorted.A32NX_SLIDES_ARMED +A32NX_SPEEDS_ALPHA_MAX#(L:A32NX_SPEEDS_ALPHA_MAX)#Fly By Wire.A320-SDK.Unsorted.A32NX_SPEEDS_ALPHA_MAX +A32NX_SPEEDS_ALPHA_PROTECTION#(L:A32NX_SPEEDS_ALPHA_PROTECTION)#Fly By Wire.A320-SDK.Unsorted.A32NX_SPEEDS_ALPHA_PROTECTION +A32NX_SPOILERS_ARMED#(L:A32NX_SPOILERS_ARMED)#Fly By Wire.A320-SDK.Unsorted.A32NX_SPOILERS_ARMED +A32NX_SPOILERS_GROUND_SPOILERS_ACTIVE#(L:A32NX_SPOILERS_GROUND_SPOILERS_ACTIVE)#Fly By Wire.A320-SDK.Unsorted.A32NX_SPOILERS_GROUND_SPOILERS_ACTIVE +A32NX_SPOILERS_HANDLE_POSITION#(L:A32NX_SPOILERS_HANDLE_POSITION)#Fly By Wire.A320-SDK.Unsorted.A32NX_SPOILERS_HANDLE_POSITION +A32NX_SVGEINT_OVRD_ON#(L:A32NX_SVGEINT_OVRD_ON)#Fly By Wire.A320-SDK.Unsorted.A32NX_SVGEINT_OVRD_ON +A32NX_TO_CONFIG_FLAPS#(L:A32NX_TO_CONFIG_FLAPS)#Fly By Wire.A320-SDK.Unsorted.A32NX_TO_CONFIG_FLAPS +A32NX_TO_CONFIG_FLAPS_ENTERED#(L:A32NX_TO_CONFIG_FLAPS_ENTERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_TO_CONFIG_FLAPS_ENTERED +A32NX_TO_CONFIG_THS#(L:A32NX_TO_CONFIG_THS)#Fly By Wire.A320-SDK.Unsorted.A32NX_TO_CONFIG_THS +A32NX_TO_CONFIG_THS_ENTERED#(L:A32NX_TO_CONFIG_THS_ENTERED)#Fly By Wire.A320-SDK.Unsorted.A32NX_TO_CONFIG_THS_ENTERED +A32NX_TRK_FPA_MODE_ACTIVE#(L:A32NX_TRK_FPA_MODE_ACTIVE)#Fly By Wire.A320-SDK.Unsorted.A32NX_TRK_FPA_MODE_ACTIVE +A32NX_VENTILATION_BLOWER_FAULT#(L:A32NX_VENTILATION_BLOWER_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_VENTILATION_BLOWER_FAULT +A32NX_VENTILATION_BLOWER_TOGGLE#(L:A32NX_VENTILATION_BLOWER_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_VENTILATION_BLOWER_TOGGLE +A32NX_VENTILATION_CABFANS_TOGGLE#(L:A32NX_VENTILATION_CABFANS_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_VENTILATION_CABFANS_TOGGLE +A32NX_VENTILATION_EXTRACT_FAULT#(L:A32NX_VENTILATION_EXTRACT_FAULT)#Fly By Wire.A320-SDK.Unsorted.A32NX_VENTILATION_EXTRACT_FAULT +A32NX_VENTILATION_EXTRACT_TOGGLE#(L:A32NX_VENTILATION_EXTRACT_TOGGLE)#Fly By Wire.A320-SDK.Unsorted.A32NX_VENTILATION_EXTRACT_TOGGLE +A32NX_VSPEEDS_F#(L:A32NX_VSPEEDS_F)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_F +A32NX_VSPEEDS_GD#(L:A32NX_VSPEEDS_GD)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_GD +A32NX_VSPEEDS_LANDING_CONF3#(L:A32NX_VSPEEDS_LANDING_CONF3)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_LANDING_CONF3 +A32NX_VSPEEDS_S#(L:A32NX_VSPEEDS_S)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_S +A32NX_VSPEEDS_TO_CONF#(L:A32NX_VSPEEDS_TO_CONF)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_TO_CONF +A32NX_VSPEEDS_V2#(L:A32NX_VSPEEDS_V2)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_V2 +A32NX_VSPEEDS_VAPP#(L:A32NX_VSPEEDS_VAPP)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_VAPP +A32NX_VSPEEDS_VLS#(L:A32NX_VSPEEDS_VLS)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_VLS +A32NX_VSPEEDS_VLS_APP#(L:A32NX_VSPEEDS_VLS_APP)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_VLS_APP +A32NX_VSPEEDS_VS#(L:A32NX_VSPEEDS_VS)#Fly By Wire.A320-SDK.Unsorted.A32NX_VSPEEDS_VS +PUSH_DOORPANEL_VIDEO#(L:PUSH_DOORPANEL_VIDEO)#Fly By Wire.A320-SDK.Unsorted.PUSH_DOORPANEL_VIDEO +PUSH_OVHD_EVAC_HORN#(L:PUSH_OVHD_EVAC_HORN)#Fly By Wire.A320-SDK.Unsorted.PUSH_OVHD_EVAC_HORN +XMLVAR_ALT_MODE_REQUESTED#(L:XMLVAR_ALT_MODE_REQUESTED)#Fly By Wire.A320-SDK.Unsorted.XMLVAR_ALT_MODE_REQUESTED +XMLVAR_Auto#(L:XMLVAR_Auto)#Fly By Wire.A320-SDK.Unsorted.XMLVAR_Auto +Fly By Wire/A320/Air Condition / Pressurization#GROUP +(L:A32NX_OVHD_PNEU_APU_BLEED_PB_IS_ON, Bool)#(L:A32NX_OVHD_PNEU_APU_BLEED_PB_IS_ON, Bool)#Fly By Wire.A320.Air Condition / Pressurization.(L:A32NX_OVHD_PNEU_APU_BLEED_PB_IS_ON, Bool) +(L:XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG1BLEED_Pressed)#(L:XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG1BLEED_Pressed)#Fly By Wire.A320.Air Condition / Pressurization.(L:XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG1BLEED_Pressed) +(L:XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG2BLEED_Pressed)#(L:XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG2BLEED_Pressed)#Fly By Wire.A320.Air Condition / Pressurization.(L:XMLVAR_Momentary_PUSH_OVHD_AIRCOND_ENG2BLEED_Pressed) +Fly By Wire/A320/Autopilot#GROUP +(A:AUTOPILOT AIRSPEED HOLD VAR, knot)#(A:AUTOPILOT AIRSPEED HOLD VAR, knot)#Fly By Wire.A320.Autopilot.(A:AUTOPILOT AIRSPEED HOLD VAR, knot) +(A:AUTOPILOT ALTITUDE LOCK VAR:3, Feet)#(A:AUTOPILOT ALTITUDE LOCK VAR:3, Feet)#Fly By Wire.A320.Autopilot.(A:AUTOPILOT ALTITUDE LOCK VAR:3, Feet) +(A:AUTOPILOT ALTITUDE SLOT INDEX, Number)#(A:AUTOPILOT ALTITUDE SLOT INDEX, Number)#Fly By Wire.A320.Autopilot.(A:AUTOPILOT ALTITUDE SLOT INDEX, Number) +(A:AUTOPILOT HEADING SLOT INDEX, Number)#(A:AUTOPILOT HEADING SLOT INDEX, Number)#Fly By Wire.A320.Autopilot.(A:AUTOPILOT HEADING SLOT INDEX, Number) +(A:AUTOPILOT MACH HOLD VAR, Number) 100 * near#(A:AUTOPILOT MACH HOLD VAR, Number) 100 * near#Fly By Wire.A320.Autopilot.(A:AUTOPILOT MACH HOLD VAR, Number) 100 * near +(A:AUTOPILOT SPEED SLOT INDEX, Number)#(A:AUTOPILOT SPEED SLOT INDEX, Number)#Fly By Wire.A320.Autopilot.(A:AUTOPILOT SPEED SLOT INDEX, Number) +(A:AUTOPILOT VS SLOT INDEX. Number)#(A:AUTOPILOT VS SLOT INDEX. Number)#Fly By Wire.A320.Autopilot.(A:AUTOPILOT VS SLOT INDEX. Number) +(L:A32NX_AUTOPILOT_1_ACTIVE)#(L:A32NX_AUTOPILOT_1_ACTIVE)#Fly By Wire.A320.Autopilot.(L:A32NX_AUTOPILOT_1_ACTIVE) +(L:A32NX_AUTOPILOT_2_ACTIVE)#(L:A32NX_AUTOPILOT_2_ACTIVE)#Fly By Wire.A320.Autopilot.(L:A32NX_AUTOPILOT_2_ACTIVE) +(L:A32NX_AUTOPILOT_APPR_MODE)#(L:A32NX_AUTOPILOT_APPR_MODE)#Fly By Wire.A320.Autopilot.(L:A32NX_AUTOPILOT_APPR_MODE) +(L:A32NX_AUTOPILOT_FPA_SELECTED) 10 * near#(L:A32NX_AUTOPILOT_FPA_SELECTED) 10 * near#Fly By Wire.A320.Autopilot.(L:A32NX_AUTOPILOT_FPA_SELECTED) 10 * near +(L:A32NX_AUTOPILOT_HEADING_SELECTED)#(L:A32NX_AUTOPILOT_HEADING_SELECTED)#Fly By Wire.A320.Autopilot.(L:A32NX_AUTOPILOT_HEADING_SELECTED) +(L:A32NX_AUTOPILOT_LOC_MODE)#(L:A32NX_AUTOPILOT_LOC_MODE)#Fly By Wire.A320.Autopilot.(L:A32NX_AUTOPILOT_LOC_MODE) +(L:A32NX_AUTOPILOT_VS_SELECTED)#(L:A32NX_AUTOPILOT_VS_SELECTED)#Fly By Wire.A320.Autopilot.(L:A32NX_AUTOPILOT_VS_SELECTED) +(L:A32NX_AUTOTHRUST_STATUS)#(L:A32NX_AUTOTHRUST_STATUS)#Fly By Wire.A320.Autopilot.(L:A32NX_AUTOTHRUST_STATUS) +(L:A32NX_FCU_APPR_MODE_ACTIVE)#(L:A32NX_FCU_APPR_MODE_ACTIVE)#Fly By Wire.A320.Autopilot.(L:A32NX_FCU_APPR_MODE_ACTIVE) +(L:A32NX_FCU_LOC_MODE_ACTIVE)#(L:A32NX_FCU_LOC_MODE_ACTIVE)#Fly By Wire.A320.Autopilot.(L:A32NX_FCU_LOC_MODE_ACTIVE) +(L:A32NX_FMA_EXPEDITE_MODE)#(L:A32NX_FMA_EXPEDITE_MODE)#Fly By Wire.A320.Autopilot.(L:A32NX_FMA_EXPEDITE_MODE) +(L:XMLVAR_Autopilot_1_Status)#(L:XMLVAR_Autopilot_1_Status)#Fly By Wire.A320.Autopilot.(L:XMLVAR_Autopilot_1_Status) +(L:XMLVAR_Autopilot_2_Status)#(L:XMLVAR_Autopilot_2_Status)#Fly By Wire.A320.Autopilot.(L:XMLVAR_Autopilot_2_Status) +AUTOPILOT SPEED SELECTED#(L:A32NX_AUTOPILOT_SPEED_SELECTED, Number)#Fly By Wire.A320.Autopilot.AUTOPILOT SPEED SELECTED +FCU MACH Value Selected & Pre-Selected Modes#(L:A32NX_AUTOPILOT_SPEED_SELECTED, Number) 100 * near#Fly By Wire.A320.Autopilot.FCU MACH Value Selected & Pre-Selected Modes +XMLVAR_AUTOPILOT_ALTITUDE_INCREMENT#(L:XMLVAR_AUTOPILOT_ALTITUDE_INCREMENT)#Fly By Wire.A320.Autopilot.XMLVAR_AUTOPILOT_ALTITUDE_INCREMENT +Fly By Wire/A320/ECAM#GROUP +A32NX_ECAM_Current_Page_Index#(L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX)#Fly By Wire.A320.ECAM.A32NX_ECAM_Current_Page_Index +Fly By Wire/A320/EFIS#GROUP +(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE)#(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE)#Fly By Wire.A320.EFIS.(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE) +(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE:1, Bool)#(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE:1, Bool)#Fly By Wire.A320.EFIS.(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE:1, Bool) +(A:KOHLSMAN SETTING HG, Number) 100 / near#(A:KOHLSMAN SETTING HG, Number) 100 / near#Fly By Wire.A320.EFIS.(A:KOHLSMAN SETTING HG, Number) 100 / near +(A:KOHLSMAN SETTING HG, Number) 33.866 / near#(A:KOHLSMAN SETTING HG, Number) 33.866 / near#Fly By Wire.A320.EFIS.(A:KOHLSMAN SETTING HG, Number) 33.866 / near +(L:BTN_ARPT_1_FILTER_ACTIVE)#(L:BTN_ARPT_1_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_ARPT_1_FILTER_ACTIVE) +(L:BTN_ARPT_2_FILTER_ACTIVE)#(L:BTN_ARPT_2_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_ARPT_2_FILTER_ACTIVE) +(L:BTN_CSTR_1_FILTER_ACTIVE)#(L:BTN_CSTR_1_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_CSTR_1_FILTER_ACTIVE) +(L:BTN_CSTR_2_FILTER_ACTIVE)#(L:BTN_CSTR_2_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_CSTR_2_FILTER_ACTIVE) +(L:BTN_LS_1_FILTER_ACTIVE)#(L:BTN_LS_1_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_LS_1_FILTER_ACTIVE) +(L:BTN_LS_2_FILTER_ACTIVE)#(L:BTN_LS_2_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_LS_2_FILTER_ACTIVE) +(L:BTN_NDB_1_FILTER_ACTIVE)#(L:BTN_NDB_1_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_NDB_1_FILTER_ACTIVE) +(L:BTN_NDB_2_FILTER_ACTIVE)#(L:BTN_NDB_2_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_NDB_2_FILTER_ACTIVE) +(L:BTN_VORD_1_FILTER_ACTIVE)#(L:BTN_VORD_1_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_VORD_1_FILTER_ACTIVE) +(L:BTN_VORD_2_FILTER_ACTIVE)#(L:BTN_VORD_2_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_VORD_2_FILTER_ACTIVE) +(L:BTN_WPT_1_FILTER_ACTIVE)#(L:BTN_WPT_1_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_WPT_1_FILTER_ACTIVE) +(L:BTN_WPT_2_FILTER_ACTIVE)#(L:BTN_WPT_2_FILTER_ACTIVE)#Fly By Wire.A320.EFIS.(L:BTN_WPT_2_FILTER_ACTIVE) +(L:XMLVAR_Baro1_Mode)#(L:XMLVAR_Baro1_Mode)#Fly By Wire.A320.EFIS.(L:XMLVAR_Baro1_Mode) +(L:XMLVAR_Baro2_Mode)#(L:XMLVAR_Baro2_Mode)#Fly By Wire.A320.EFIS.(L:XMLVAR_Baro2_Mode) +(L:XMLVAR_Baro_Selector_HPA_1)#(L:XMLVAR_Baro_Selector_HPA_1)#Fly By Wire.A320.EFIS.(L:XMLVAR_Baro_Selector_HPA_1) +Fly By Wire/A320/Electrical#GROUP +(A:EXTERNAL POWER AVAILABLE:1, bool) (A:EXTERNAL POWER ON:1,bool) ! and if{ 1 } els{ 0 }#(A:EXTERNAL POWER AVAILABLE:1, bool) (A:EXTERNAL POWER ON:1,bool) ! and if{ 1 } els{ 0 }#Fly By Wire.A320.Electrical.(A:EXTERNAL POWER AVAILABLE:1, bool) (A:EXTERNAL POWER ON:1,bool) ! and if{ 1 } els{ 0 } +(A:EXTERNAL POWER ON:1, Bool)#(A:EXTERNAL POWER ON:1, Bool)#Fly By Wire.A320.Electrical.(A:EXTERNAL POWER ON:1, Bool) +(L:A32NX_OVHD_APU_START_PB_IS_AVAILABLE)#(L:A32NX_OVHD_APU_START_PB_IS_AVAILABLE)#Fly By Wire.A320.Electrical.(L:A32NX_OVHD_APU_START_PB_IS_AVAILABLE) +(L:A32NX_OVHD_APU_START_PB_IS_ON)#(L:A32NX_OVHD_APU_START_PB_IS_ON)#Fly By Wire.A320.Electrical.(L:A32NX_OVHD_APU_START_PB_IS_ON) +(L:XMLVAR_Momentary_PUSH_OVHD_ELEC_APUGEN_Pressed)#(L:XMLVAR_Momentary_PUSH_OVHD_ELEC_APUGEN_Pressed)#Fly By Wire.A320.Electrical.(L:XMLVAR_Momentary_PUSH_OVHD_ELEC_APUGEN_Pressed) +(L:XMLVAR_Momentary_PUSH_OVHD_MASTERSW_Pressed)#(L:XMLVAR_Momentary_PUSH_OVHD_MASTERSW_Pressed)#Fly By Wire.A320.Electrical.(L:XMLVAR_Momentary_PUSH_OVHD_MASTERSW_Pressed) +Fly By Wire/A320/Gear#GROUP +A32NX_BRAKE_FAN_ON#(L:A32NX_BRAKE_FAN, Bool)#Fly By Wire.A320.Gear.A32NX_BRAKE_FAN_ON +Autobrake_Level#(L:A32NX_AUTOBRAKES_ARMED_MODE, number)#Fly By Wire.A320.Gear.Autobrake_Level +Fly By Wire/A320/Radio#GROUP +(A:COM ACTIVE FREQUENCY:1, KHz) near#(A:COM ACTIVE FREQUENCY:1, KHz) near#Fly By Wire.A320.Radio.(A:COM ACTIVE FREQUENCY:1, KHz) near +(A:COM STANDBY FREQUENCY:1, KHz) near#(A:COM STANDBY FREQUENCY:1, KHz) near#Fly By Wire.A320.Radio.(A:COM STANDBY FREQUENCY:1, KHz) near +FlyInside/Bell 47 G/Electrical#GROUP +BATTERY_STATUS_ON_OR_OFF#(L:Aircraft.Electric.Battery.On)#FlyInside.Bell 47 G.Electrical.BATTERY_STATUS_ON_OR_OFF +BATTERY_VOLTAGE_DISPLAY#(A:ELECTRICAL BATTERY VOLTAGE, Volts)#FlyInside.Bell 47 G.Electrical.BATTERY_VOLTAGE_DISPLAY +INSTRUMENTS_POWER_LED_ON_OFF#(L:Aircraft.Systems.Instruments.Enabled)#FlyInside.Bell 47 G.Electrical.INSTRUMENTS_POWER_LED_ON_OFF +STARTER_COLLECTIVE_SWITCH_LED_ON_OFF#(L:Aircraft.Systems.Starter.Switch)#FlyInside.Bell 47 G.Electrical.STARTER_COLLECTIVE_SWITCH_LED_ON_OFF +FlyInside/Bell 47 G/Engines#GROUP +CYLINDERS_TEMPERATURE_DEGREES_DISPLAY#(L:Aircraft.Gauges.CylTemp)#FlyInside.Bell 47 G.Engines.CYLINDERS_TEMPERATURE_DEGREES_DISPLAY +ENGINE_RPM_PERC_DISPLAY#(L:Aircraft.Engine.1.Turbine.N2)#FlyInside.Bell 47 G.Engines.ENGINE_RPM_PERC_DISPLAY +MANIF_PRESS_DISPLAY#(A:RECIP ENG MANIFOLD PRESSURE:1, inHg)#FlyInside.Bell 47 G.Engines.MANIF_PRESS_DISPLAY +FlyInside/Bell 47 G/Environment#GROUP +LOCAL_AIR_PRESSURE_DISPLAY#(L:Aircraft.Instruments.Altimeter.Kohlsman.HG) 100 *#FlyInside.Bell 47 G.Environment.LOCAL_AIR_PRESSURE_DISPLAY +OUTSIDE_TEMP_DISPLAY#(A:AMBIENT TEMPERATURE,Celsius) 10 *#FlyInside.Bell 47 G.Environment.OUTSIDE_TEMP_DISPLAY +FlyInside/Bell 47 G/Flight Instrumentation#GROUP +AIRSPEED_INDICATED_MPH_DISPLAY#(L:Aircraft.Position.Airspeed.Indicated, Mph)#FlyInside.Bell 47 G.Flight Instrumentation.AIRSPEED_INDICATED_MPH_DISPLAY +ALTITUDE_INDICATED_FEET_DISPLAY#(L:Aircraft.Position.Altitude.Indicated)#FlyInside.Bell 47 G.Flight Instrumentation.ALTITUDE_INDICATED_FEET_DISPLAY +HEADING_MAGNETIC_DEGREES_DISPLAY#(L:Aircraft.Position.Heading.Magnetic.Value) 57.2957795131 * flr#FlyInside.Bell 47 G.Flight Instrumentation.HEADING_MAGNETIC_DEGREES_DISPLAY +VERTICAL_SPEED_FEET_MINUTE_DISPLAY#(L:Aircraft.Position.VerticalSpeed.value, Feet/Minute) 100 /#FlyInside.Bell 47 G.Flight Instrumentation.VERTICAL_SPEED_FEET_MINUTE_DISPLAY +FlyInside/Bell 47 G/Fuel#GROUP +FUEL_TOTAL_QUANTITY_DISPLAY#(L:Aircraft.Fuel.Total.Quantity) 10 *#FlyInside.Bell 47 G.Fuel.FUEL_TOTAL_QUANTITY_DISPLAY +FlyInside/Bell 47 G/Lights#GROUP +CABIN_LIGHTS_LED#(L:Aircraft.Lights.Strobe.On)#FlyInside.Bell 47 G.Lights.CABIN_LIGHTS_LED +LANDING_LIGHT_LED_ON_OFF#(L:Aircraft.Lights.Landing.On)#FlyInside.Bell 47 G.Lights.LANDING_LIGHT_LED_ON_OFF +NAVIGATION_LIGHTS_LED_ON_OFF#(L:Aircraft.Lights.Nav.On)#FlyInside.Bell 47 G.Lights.NAVIGATION_LIGHTS_LED_ON_OFF +STROBE_LIGHT_LED_ON_OFF#(L:Aircraft.Lights.Strobe.On)#FlyInside.Bell 47 G.Lights.STROBE_LIGHT_LED_ON_OFF +TAIL_BEACON_LIGHT_LED_ON_OFF#(L:Aircraft.Lights.Beacon.On)#FlyInside.Bell 47 G.Lights.TAIL_BEACON_LIGHT_LED_ON_OFF +FlyInside/Bell 47 G/Radio#GROUP +COM_RADIO_ACTIVE_FREQUENCY#(A:COM ACTIVE FREQUENCY:1,KHz)#FlyInside.Bell 47 G.Radio.COM_RADIO_ACTIVE_FREQUENCY +COM_RADIO_STBY_FREQUENCY#(A:COM STANDBY FREQUENCY:1,KHz)#FlyInside.Bell 47 G.Radio.COM_RADIO_STBY_FREQUENCY +TRANSPONDER_CODE#(L:Aircraft.Radios.Transpoder.1.Code)#FlyInside.Bell 47 G.Radio.TRANSPONDER_CODE +TRANSPONDER_IDENT_LED_ON_OFF#(L:Aircraft.Transponder.Flash)#FlyInside.Bell 47 G.Radio.TRANSPONDER_IDENT_LED_ON_OFF +TRANSPONDER_MODE_DISPLAY#(L:Aircraft.Radios.Transponder.State)#FlyInside.Bell 47 G.Radio.TRANSPONDER_MODE_DISPLAY +Hype Performance Group/H145/Air Condition / Pressurization#GROUP +H145_SDK_OH_AIR_CONDITIONING#(L:H145_SDK_OH_AIR_CONDITIONING)#Hype Performance Group.H145.Air Condition / Pressurization.H145_SDK_OH_AIR_CONDITIONING +H145_SDK_OH_BLEED_HEATING_POT#(L:H145_SDK_OH_BLEED_HEATING_POT)#Hype Performance Group.H145.Air Condition / Pressurization.H145_SDK_OH_BLEED_HEATING_POT +H145_SDK_OH_COCKPIT_VENT#(L:H145_SDK_OH_COCKPIT_VENT)#Hype Performance Group.H145.Air Condition / Pressurization.H145_SDK_OH_COCKPIT_VENT +H145_SDK_OH_COCKPIT_VENT_POT#(L:H145_SDK_OH_COCKPIT_VENT_POT)#Hype Performance Group.H145.Air Condition / Pressurization.H145_SDK_OH_COCKPIT_VENT_POT +H145_SDK_OH_IBF_1#(L:H145_SDK_OH_IBF_1)#Hype Performance Group.H145.Air Condition / Pressurization.H145_SDK_OH_IBF_1 +H145_SDK_OH_IBF_2#(L:H145_SDK_OH_IBF_2)#Hype Performance Group.H145.Air Condition / Pressurization.H145_SDK_OH_IBF_2 +H145_SDK_OH_IBF_RECAL#(L:H145_SDK_OH_IBF_RECAL)#Hype Performance Group.H145.Air Condition / Pressurization.H145_SDK_OH_IBF_RECAL +Hype Performance Group/H145/Autopilot#GROUP +H145_SDK_AFCS_CRHT_BUG#(L:H145_SDK_AFCS_CRHT_BUG)#Hype Performance Group.H145.Autopilot.H145_SDK_AFCS_CRHT_BUG +H145_SDK_AFCS_GTCH_ALT#(L:H145_SDK_AFCS_GTCH_ALT)#Hype Performance Group.H145.Autopilot.H145_SDK_AFCS_GTCH_ALT +H145_SDK_AFCS_GTCH_LAT#(L:H145_SDK_AFCS_GTCH_LAT)#Hype Performance Group.H145.Autopilot.H145_SDK_AFCS_GTCH_LAT +H145_SDK_AFCS_GTCH_LON#(L:H145_SDK_AFCS_GTCH_LON)#Hype Performance Group.H145.Autopilot.H145_SDK_AFCS_GTCH_LON +H145_SDK_AFCS_MASTER#(L:H145_SDK_AFCS_MASTER)#Hype Performance Group.H145.Autopilot.H145_SDK_AFCS_MASTER +H145_SDK_AFCS_MODE_COLLECTIVE#(L:H145_SDK_AFCS_MODE_COLLECTIVE)#Hype Performance Group.H145.Autopilot.H145_SDK_AFCS_MODE_COLLECTIVE +H145_SDK_AFCS_MODE_PITCH#(L:H145_SDK_AFCS_MODE_PITCH)#Hype Performance Group.H145.Autopilot.H145_SDK_AFCS_MODE_PITCH +H145_SDK_AFCS_MODE_ROL#(L:H145_SDK_AFCS_MODE_ROL)#Hype Performance Group.H145.Autopilot.H145_SDK_AFCS_MODE_ROL +H145_SDK_APCP_ALT#(L:H145_SDK_APCP_ALT)#Hype Performance Group.H145.Autopilot.H145_SDK_APCP_ALT +H145_SDK_APCP_AP1#(L:H145_SDK_APCP_AP1)#Hype Performance Group.H145.Autopilot.H145_SDK_APCP_AP1 +H145_SDK_APCP_AP2#(L:H145_SDK_APCP_AP2)#Hype Performance Group.H145.Autopilot.H145_SDK_APCP_AP2 +H145_SDK_APCP_ATRIM#(L:H145_SDK_APCP_ATRIM)#Hype Performance Group.H145.Autopilot.H145_SDK_APCP_ATRIM +H145_SDK_APCP_BKUP#(L:H145_SDK_APCP_BKUP)#Hype Performance Group.H145.Autopilot.H145_SDK_APCP_BKUP +H145_SDK_APCP_CRHT#(L:H145_SDK_APCP_CRHT)#Hype Performance Group.H145.Autopilot.H145_SDK_APCP_CRHT +Hype Performance Group/H145/Avionics#GROUP +H145_SDK_SYSTEM_COLLECTIVE#(L:H145_SDK_SYSTEM_COLLECTIVE)#Hype Performance Group.H145.Avionics.H145_SDK_SYSTEM_COLLECTIVE +H145_SDK_SYSTEM_FLIGHTMODE#(L:H145_SDK_SYSTEM_FLIGHTMODE)#Hype Performance Group.H145.Avionics.H145_SDK_SYSTEM_FLIGHTMODE +H145_SDK_SYSTEM_ISACTIVATED#(L:H145_SDK_SYSTEM_ISACTIVATED)#Hype Performance Group.H145.Avionics.H145_SDK_SYSTEM_ISACTIVATED +H145_SDK_SYSTEM_LOADED#(L:H145_SDK_SYSTEM_LOADED)#Hype Performance Group.H145.Avionics.H145_SDK_SYSTEM_LOADED +Hype Performance Group/H145/Electrical#GROUP +H145_SDK_OH_BATTERY_MASTER#(L:H145_SDK_OH_BATTERY_MASTER)#Hype Performance Group.H145.Electrical.H145_SDK_OH_BATTERY_MASTER +H145_SDK_OH_DC_POWER_RECEPTACLES#(L:H145_SDK_OH_DC_POWER_RECEPTACLES)#Hype Performance Group.H145.Electrical.H145_SDK_OH_DC_POWER_RECEPTACLES +Hype Performance Group/H145/Engines#GROUP +H145_SDK_ECP_FADEC_EMER_1#(L:H145_SDK_ECP_FADEC_EMER_1)#Hype Performance Group.H145.Engines.H145_SDK_ECP_FADEC_EMER_1 +H145_SDK_ECP_FADEC_EMER_2#(L:H145_SDK_ECP_FADEC_EMER_2)#Hype Performance Group.H145.Engines.H145_SDK_ECP_FADEC_EMER_2 +H145_SDK_ECP_MAIN_1#(L:H145_SDK_ECP_MAIN_1)#Hype Performance Group.H145.Engines.H145_SDK_ECP_MAIN_1 +H145_SDK_ECP_MAIN_2#(L:H145_SDK_ECP_MAIN_2)#Hype Performance Group.H145.Engines.H145_SDK_ECP_MAIN_2 +H145_SDK_ECP_MAIN_LATCH_1#(L:H145_SDK_ECP_MAIN_LATCH_1)#Hype Performance Group.H145.Engines.H145_SDK_ECP_MAIN_LATCH_1 +H145_SDK_ECP_MAIN_LATCH_2#(L:H145_SDK_ECP_MAIN_LATCH_2)#Hype Performance Group.H145.Engines.H145_SDK_ECP_MAIN_LATCH_2 +H145_SDK_ENG_1_N2#(L:H145_SDK_ENG_1_N2)#Hype Performance Group.H145.Engines.H145_SDK_ENG_1_N2 +H145_SDK_ENG_1_TRQ#(L:H145_SDK_ENG_1_TRQ)#Hype Performance Group.H145.Engines.H145_SDK_ENG_1_TRQ +H145_SDK_ENG_2_N2#(L:H145_SDK_ENG_2_N2)#Hype Performance Group.H145.Engines.H145_SDK_ENG_2_N2 +H145_SDK_ENG_2_TRQ#(L:H145_SDK_ENG_2_TRQ)#Hype Performance Group.H145.Engines.H145_SDK_ENG_2_TRQ +H145_SDK_HYD_1_PRESSURE#(L:H145_SDK_HYD_1_PRESSURE)#Hype Performance Group.H145.Engines.H145_SDK_HYD_1_PRESSURE +H145_SDK_HYD_2_PRESSURE#(L:H145_SDK_HYD_2_PRESSURE)#Hype Performance Group.H145.Engines.H145_SDK_HYD_2_PRESSURE +H145_SDK_IBF_1_CLOGGED#(L:H145_SDK_IBF_1_CLOGGED)#Hype Performance Group.H145.Engines.H145_SDK_IBF_1_CLOGGED +H145_SDK_IBF_2_CLOGGED#(L:H145_SDK_IBF_2_CLOGGED)#Hype Performance Group.H145.Engines.H145_SDK_IBF_2_CLOGGED +H145_SDK_MGB_PRESSURE1#(L:H145_SDK_MGB_PRESSURE1)#Hype Performance Group.H145.Engines.H145_SDK_MGB_PRESSURE1 +H145_SDK_MGB_PRESSURE2#(L:H145_SDK_MGB_PRESSURE2)#Hype Performance Group.H145.Engines.H145_SDK_MGB_PRESSURE2 +H145_SDK_MGB_TEMPERATURE#(L:H145_SDK_MGB_TEMPERATURE)#Hype Performance Group.H145.Engines.H145_SDK_MGB_TEMPERATURE +H145_SDK_ROTOR_RPM#(L:H145_SDK_ROTOR_RPM)#Hype Performance Group.H145.Engines.H145_SDK_ROTOR_RPM +Hype Performance Group/H145/Fuel#GROUP +H145_SDK_OH_FUEL_ENG1_PRIME#(L:H145_SDK_OH_FUEL_ENG1_PRIME)#Hype Performance Group.H145.Fuel.H145_SDK_OH_FUEL_ENG1_PRIME +H145_SDK_OH_FUEL_ENG2_PRIME#(L:H145_SDK_OH_FUEL_ENG2_PRIME)#Hype Performance Group.H145.Fuel.H145_SDK_OH_FUEL_ENG2_PRIME +H145_SDK_OH_FUEL_TRANSFER_AFT#(L:H145_SDK_OH_FUEL_TRANSFER_AFT)#Hype Performance Group.H145.Fuel.H145_SDK_OH_FUEL_TRANSFER_AFT +H145_SDK_OH_FUEL_TRANSFER_FWD#(L:H145_SDK_OH_FUEL_TRANSFER_FWD)#Hype Performance Group.H145.Fuel.H145_SDK_OH_FUEL_TRANSFER_FWD +Hype Performance Group/H145/Lights#GROUP +H145_SDK_OH_INT_LIGHT_CARGO_PAX#(L:H145_SDK_OH_INT_LIGHT_CARGO_PAX)#Hype Performance Group.H145.Lights.H145_SDK_OH_INT_LIGHT_CARGO_PAX +H145_SDK_OH_INT_LIGHT_EMERGENCY_EXITS#(L:H145_SDK_OH_INT_LIGHT_EMERGENCY_EXITS)#Hype Performance Group.H145.Lights.H145_SDK_OH_INT_LIGHT_EMERGENCY_EXITS +H145_SDK_OH_INT_LIGHT_INSTRUMENT_PANE#(L:H145_SDK_OH_INT_LIGHT_INSTRUMENT_PANE)#Hype Performance Group.H145.Lights.H145_SDK_OH_INT_LIGHT_INSTRUMENT_PANE +H145_SDK_OH_INT_LIGHT_INSTRUMENT_PANEL_POT#(L:H145_SDK_OH_INT_LIGHT_INSTRUMENT_PANEL_POT)#Hype Performance Group.H145.Lights.H145_SDK_OH_INT_LIGHT_INSTRUMENT_PANEL_POT +H145_SDK_OH_LAMP_AND_PREFLIGHT_TEST#(L:H145_SDK_OH_LAMP_AND_PREFLIGHT_TEST)#Hype Performance Group.H145.Lights.H145_SDK_OH_LAMP_AND_PREFLIGHT_TEST +Hype Performance Group/H145/Miscellaneous#GROUP +H145_SDK_DOOR_CARGO_L#(L:H145_SDK_DOOR_CARGO_L)#Hype Performance Group.H145.Miscellaneous.H145_SDK_DOOR_CARGO_L +H145_SDK_DOOR_CARGO_R#(L:H145_SDK_DOOR_CARGO_R)#Hype Performance Group.H145.Miscellaneous.H145_SDK_DOOR_CARGO_R +H145_SDK_DOOR_COCKPIT_L#(L:H145_SDK_DOOR_COCKPIT_L)#Hype Performance Group.H145.Miscellaneous.H145_SDK_DOOR_COCKPIT_L +H145_SDK_DOOR_COCKPIT_R#(L:H145_SDK_DOOR_COCKPIT_R)#Hype Performance Group.H145.Miscellaneous.H145_SDK_DOOR_COCKPIT_R +H145_SDK_DOOR_PAX_L#(L:H145_SDK_DOOR_PAX_L)#Hype Performance Group.H145.Miscellaneous.H145_SDK_DOOR_PAX_L +H145_SDK_DOOR_PAX_R#(L:H145_SDK_DOOR_PAX_R)#Hype Performance Group.H145.Miscellaneous.H145_SDK_DOOR_PAX_R +H145_SDK_EQUIP_EMERGENCY_EXITS#(L:H145_SDK_EQUIP_EMERGENCY_EXITS)#Hype Performance Group.H145.Miscellaneous.H145_SDK_EQUIP_EMERGENCY_EXITS +H145_SDK_EQUIP_EMERGENCY_FLOATS#(L:H145_SDK_EQUIP_EMERGENCY_FLOATS)#Hype Performance Group.H145.Miscellaneous.H145_SDK_EQUIP_EMERGENCY_FLOATS +H145_SDK_EQUIP_SEARCHLIGHT_ON#(L:H145_SDK_EQUIP_SEARCHLIGHT_ON)#Hype Performance Group.H145.Miscellaneous.H145_SDK_EQUIP_SEARCHLIGHT_ON +H145_SDK_EQUIP_SEARCHLIGHT_X_POS#(L:H145_SDK_EQUIP_SEARCHLIGHT_X_POS)#Hype Performance Group.H145.Miscellaneous.H145_SDK_EQUIP_SEARCHLIGHT_X_POS +H145_SDK_EQUIP_SEARCHLIGHT_Y_POS#(L:H145_SDK_EQUIP_SEARCHLIGHT_Y_POS)#Hype Performance Group.H145.Miscellaneous.H145_SDK_EQUIP_SEARCHLIGHT_Y_POS +H145_SDK_MISC_DOWNLOAD#(L:H145_SDK_MISC_DOWNLOAD)#Hype Performance Group.H145.Miscellaneous.H145_SDK_MISC_DOWNLOAD +H145_SDK_MISC_RADIOHEIGHT#(L:H145_SDK_MISC_RADIOHEIGHT)#Hype Performance Group.H145.Miscellaneous.H145_SDK_MISC_RADIOHEIGHT +H145_SDK_OH_WINDSHIELD_WIPER#(L:H145_SDK_OH_WINDSHIELD_WIPER)#Hype Performance Group.H145.Miscellaneous.H145_SDK_OH_WINDSHIELD_WIPER +Hype Performance Group/H145/Radio#GROUP +H145_SDK_OH_AUDIO_ACAS#(L:H145_SDK_OH_AUDIO_ACAS)#Hype Performance Group.H145.Radio.H145_SDK_OH_AUDIO_ACAS +H145_SDK_OH_AUDIO_HTAWS#(L:H145_SDK_OH_AUDIO_HTAWS)#Hype Performance Group.H145.Radio.H145_SDK_OH_AUDIO_HTAWS +Hype Performance Group/H145/Safety#GROUP +H145_SDK_OH_EMERGENCY_FLOATS#(L:H145_SDK_OH_EMERGENCY_FLOATS)#Hype Performance Group.H145.Safety.H145_SDK_OH_EMERGENCY_FLOATS +H145_SDK_OH_ENG1_FIRE_TEST#(L:H145_SDK_OH_ENG1_FIRE_TEST)#Hype Performance Group.H145.Safety.H145_SDK_OH_ENG1_FIRE_TEST +H145_SDK_OH_ENG2_FIRE_TEST#(L:H145_SDK_OH_ENG2_FIRE_TEST)#Hype Performance Group.H145.Safety.H145_SDK_OH_ENG2_FIRE_TEST +H145_SDK_OH_FUZZ_CHIP_BURNER#(L:H145_SDK_OH_FUZZ_CHIP_BURNER)#Hype Performance Group.H145.Safety.H145_SDK_OH_FUZZ_CHIP_BURNER +H145_SDK_OH_HYD_TEST#(L:H145_SDK_OH_HYD_TEST)#Hype Performance Group.H145.Safety.H145_SDK_OH_HYD_TEST +H145_SDK_OH_LAVCS_SYSTEM#(L:H145_SDK_OH_LAVCS_SYSTEM)#Hype Performance Group.H145.Safety.H145_SDK_OH_LAVCS_SYSTEM +H145_SDK_TEST_POWERUP#(L:H145_SDK_TEST_POWERUP)#Hype Performance Group.H145.Safety.H145_SDK_TEST_POWERUP +H145_SDK_TEST_PREFLIGHT#(L:H145_SDK_TEST_PREFLIGHT)#Hype Performance Group.H145.Safety.H145_SDK_TEST_PREFLIGHT +H145_SDK_TEST_STARTUP#(L:H145_SDK_TEST_STARTUP)#Hype Performance Group.H145.Safety.H145_SDK_TEST_STARTUP +Just Flight/Piper Arrow III/Autopilot#GROUP +AUTOPILOT_ALT_LOCK_LED#(A:AUTOPILOT ALTITUDE LOCK, Bool)#Just Flight.Piper Arrow III.Autopilot.AUTOPILOT_ALT_LOCK_LED +AUTOPILOT_ENGAGED_LED#(L:AUTOPILOT_onoff)#Just Flight.Piper Arrow III.Autopilot.AUTOPILOT_ENGAGED_LED +AUTOPILOT_HDG_LED#(L:AUTOPILOT_hdg)#Just Flight.Piper Arrow III.Autopilot.AUTOPILOT_HDG_LED +AUTOPILOT_NAV_MODE_LED#(L:AUTOPILOT_mode)#Just Flight.Piper Arrow III.Autopilot.AUTOPILOT_NAV_MODE_LED +Just Flight/Piper Arrow III/Electrical#GROUP +Alternator amps#(L:LEFT_LOWER_alt_amp, number)#Just Flight.Piper Arrow III.Electrical.Alternator amps +Just Flight/Piper Arrow III/Engines#GROUP +Eng Oil Temp#(A:GENERAL ENG OIL TEMPERATURE:1,Rankine)#Just Flight.Piper Arrow III.Engines.Eng Oil Temp +Eng Oil psi#(A:GENERAL ENG OIL PRESSURE:1,Psi)#Just Flight.Piper Arrow III.Engines.Eng Oil psi +Manifold pressure#(L:LEFT_LOWER_manifold, number)#Just Flight.Piper Arrow III.Engines.Manifold pressure +Just Flight/Piper Arrow III/Fuel#GROUP +Fuel Pressure#(L:LEFT_LOWER_fuel_press, number)#Just Flight.Piper Arrow III.Fuel.Fuel Pressure +Fuel flow#(L:LEFT_LOWER_fuelflow, number)#Just Flight.Piper Arrow III.Fuel.Fuel flow +Fuel quantity left tank#(L:LEFT_LOWER_fuel_left, number)#Just Flight.Piper Arrow III.Fuel.Fuel quantity left tank +Fuel quantity right tank#(L:LEFT_LOWER_fuel_right, number)#Just Flight.Piper Arrow III.Fuel.Fuel quantity right tank +Just Flight/Piper Arrow III/Gear#GROUP +LAND_GEAR_LEFT_LED#(L:LDG_GEAR_left_gear)#Just Flight.Piper Arrow III.Gear.LAND_GEAR_LEFT_LED +LAND_GEAR_NOSE_LED#(L:LDG_GEAR_nose_gear)#Just Flight.Piper Arrow III.Gear.LAND_GEAR_NOSE_LED +LAND_GEAR_RIGHT_LED#(L:LDG_GEAR_right_gear)#Just Flight.Piper Arrow III.Gear.LAND_GEAR_RIGHT_LED +LDG_GEAR_AUTO_EXT / AUTO EXT OFF#(L:LDG_GEAR_AUTO_EXT,Bool)#Just Flight.Piper Arrow III.Gear.LDG_GEAR_AUTO_EXT / AUTO EXT OFF +PARKING_BRAKE_LED#(L:ParkingBrake_Position)#Just Flight.Piper Arrow III.Gear.PARKING_BRAKE_LED +Microsoft/A320/EFIS#GROUP +LED QFE ENCENDIDO#(L:XMLVAR_Baro1_Mode) ++ 2 %#Microsoft.A320.EFIS.LED QFE ENCENDIDO +Microsoft/Generic/Autopilot#GROUP +AUTOPILOT AIRSPEED HOLD#(A:AUTOPILOT AIRSPEED HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT AIRSPEED HOLD +AUTOPILOT AIRSPEED HOLD VAR#(A:AUTOPILOT AIRSPEED HOLD VAR,Knots)#Microsoft.Generic.Autopilot.AUTOPILOT AIRSPEED HOLD VAR +AUTOPILOT ALTITUDE LOCK#(A:AUTOPILOT ALTITUDE LOCK,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT ALTITUDE LOCK +AUTOPILOT ALTITUDE LOCK VAR#(A:AUTOPILOT ALTITUDE LOCK VAR,Feet)#Microsoft.Generic.Autopilot.AUTOPILOT ALTITUDE LOCK VAR +AUTOPILOT ALTITUDE SLOT INDEX#(A:AUTOPILOT ALTITUDE SLOT INDEX,Number)#Microsoft.Generic.Autopilot.AUTOPILOT ALTITUDE SLOT INDEX +AUTOPILOT APPROACH HOLD#(A:AUTOPILOT APPROACH HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT APPROACH HOLD +AUTOPILOT ATTITUDE HOLD#(A:AUTOPILOT ATTITUDE HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT ATTITUDE HOLD +AUTOPILOT AVAILABLE#(A:AUTOPILOT AVAILABLE,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT AVAILABLE +AUTOPILOT BACKCOURSE HOLD#(A:AUTOPILOT BACKCOURSE HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT BACKCOURSE HOLD +AUTOPILOT BANK HOLD#(A:AUTOPILOT BANK HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT BANK HOLD +AUTOPILOT DISENGAGED#(A:AUTOPILOT DISENGAGED,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT DISENGAGED +AUTOPILOT FLIGHT DIRECTOR ACTIVE#(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT FLIGHT DIRECTOR ACTIVE +AUTOPILOT FLIGHT DIRECTOR BANK#(A:AUTOPILOT FLIGHT DIRECTOR BANK,Radians)#Microsoft.Generic.Autopilot.AUTOPILOT FLIGHT DIRECTOR BANK +AUTOPILOT FLIGHT DIRECTOR BANK EX1#(A:AUTOPILOT FLIGHT DIRECTOR BANK EX1,Radians)#Microsoft.Generic.Autopilot.AUTOPILOT FLIGHT DIRECTOR BANK EX1 +AUTOPILOT FLIGHT DIRECTOR PITCH#(A:AUTOPILOT FLIGHT DIRECTOR PITCH,Radians)#Microsoft.Generic.Autopilot.AUTOPILOT FLIGHT DIRECTOR PITCH +AUTOPILOT FLIGHT DIRECTOR PITCH EX1#(A:AUTOPILOT FLIGHT DIRECTOR PITCH EX1,Radians)#Microsoft.Generic.Autopilot.AUTOPILOT FLIGHT DIRECTOR PITCH EX1 +AUTOPILOT FLIGHT LEVEL CHANGE#(A:AUTOPILOT FLIGHT LEVEL CHANGE,bool)#Microsoft.Generic.Autopilot.AUTOPILOT FLIGHT LEVEL CHANGE +AUTOPILOT GLIDESLOPE ACTIVE#(A:AUTOPILOT GLIDESLOPE ACTIVE,bool)#Microsoft.Generic.Autopilot.AUTOPILOT GLIDESLOPE ACTIVE +AUTOPILOT GLIDESLOPE ARM#(A:AUTOPILOT GLIDESLOPE ARM,bool)#Microsoft.Generic.Autopilot.AUTOPILOT GLIDESLOPE ARM +AUTOPILOT GLIDESLOPE HOLD#(A:AUTOPILOT GLIDESLOPE HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT GLIDESLOPE HOLD +AUTOPILOT HEADING LOCK#(A:AUTOPILOT HEADING LOCK,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT HEADING LOCK +AUTOPILOT HEADING LOCK DIR#(A:AUTOPILOT HEADING LOCK DIR,Degrees)#Microsoft.Generic.Autopilot.AUTOPILOT HEADING LOCK DIR +AUTOPILOT HEADING SLOT INDEX#(A:AUTOPILOT HEADING SLOT INDEX,Number)#Microsoft.Generic.Autopilot.AUTOPILOT HEADING SLOT INDEX +AUTOPILOT MACH HOLD#(A:AUTOPILOT MACH HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT MACH HOLD +AUTOPILOT MACH HOLD VAR#(A:AUTOPILOT MACH HOLD VAR,Number)#Microsoft.Generic.Autopilot.AUTOPILOT MACH HOLD VAR +AUTOPILOT MANAGED INDEX#(A:AUTOPILOT MANAGED INDEX,Number)#Microsoft.Generic.Autopilot.AUTOPILOT MANAGED INDEX +AUTOPILOT MANAGED SPEED IN MACH#(A:AUTOPILOT MANAGED SPEED IN MACH,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT MANAGED SPEED IN MACH +AUTOPILOT MANAGED THROTTLE ACTIVE#(A:AUTOPILOT MANAGED THROTTLE ACTIVE,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT MANAGED THROTTLE ACTIVE +AUTOPILOT MASTER#(A:AUTOPILOT MASTER,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT MASTER +AUTOPILOT MAX BANK#(A:AUTOPILOT MAX BANK,Radians)#Microsoft.Generic.Autopilot.AUTOPILOT MAX BANK +AUTOPILOT NAV SELECTED#(A:AUTOPILOT NAV SELECTED,Number)#Microsoft.Generic.Autopilot.AUTOPILOT NAV SELECTED +AUTOPILOT NAV1 LOCK#(A:AUTOPILOT NAV1 LOCK,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT NAV1 LOCK +AUTOPILOT PITCH HOLD#(A:AUTOPILOT PITCH HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT PITCH HOLD +AUTOPILOT PITCH HOLD REF#(A:AUTOPILOT PITCH HOLD REF,Radians)#Microsoft.Generic.Autopilot.AUTOPILOT PITCH HOLD REF +AUTOPILOT RPM HOLD#(A:AUTOPILOT RPM HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT RPM HOLD +AUTOPILOT RPM HOLD VAR#(A:AUTOPILOT RPM HOLD VAR,Number)#Microsoft.Generic.Autopilot.AUTOPILOT RPM HOLD VAR +AUTOPILOT RPM SLOT INDEX#(A:AUTOPILOT RPM SLOT INDEX,Number)#Microsoft.Generic.Autopilot.AUTOPILOT RPM SLOT INDEX +AUTOPILOT SPEED SLOT INDEX#(A:AUTOPILOT SPEED SLOT INDEX,Number)#Microsoft.Generic.Autopilot.AUTOPILOT SPEED SLOT INDEX +AUTOPILOT TAKEOFF POWER ACTIVE#(A:AUTOPILOT TAKEOFF POWER ACTIVE,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT TAKEOFF POWER ACTIVE +AUTOPILOT THROTTLE ARM#(A:AUTOPILOT THROTTLE ARM,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT THROTTLE ARM +AUTOPILOT THROTTLE MAX THRUST#(A:AUTOPILOT THROTTLE MAX THRUST,Percent)#Microsoft.Generic.Autopilot.AUTOPILOT THROTTLE MAX THRUST +AUTOPILOT VERTICAL HOLD#(A:AUTOPILOT VERTICAL HOLD,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT VERTICAL HOLD +AUTOPILOT VERTICAL HOLD VAR#(A:AUTOPILOT VERTICAL HOLD VAR,Feet/minute)#Microsoft.Generic.Autopilot.AUTOPILOT VERTICAL HOLD VAR +AUTOPILOT VS SLOT INDEX#(A:AUTOPILOT VS SLOT INDEX,Number)#Microsoft.Generic.Autopilot.AUTOPILOT VS SLOT INDEX +AUTOPILOT WING LEVELER#(A:AUTOPILOT WING LEVELER,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT WING LEVELER +AUTOPILOT YAW DAMPER#(A:AUTOPILOT YAW DAMPER,Bool)#Microsoft.Generic.Autopilot.AUTOPILOT YAW DAMPER +AUTOTHROTTLE ACTIVE#(A:AUTOTHROTTLE ACTIVE,Bool)#Microsoft.Generic.Autopilot.AUTOTHROTTLE ACTIVE +COM SPACING MODE#(A:COM SPACING MODE,Enum)#Microsoft.Generic.Autopilot.COM SPACING MODE +FLY BY WIRE ELAC FAILED#(A:FLY BY WIRE ELAC FAILED,Bool)#Microsoft.Generic.Autopilot.FLY BY WIRE ELAC FAILED +FLY BY WIRE ELAC SWITCH#(A:FLY BY WIRE ELAC SWITCH,Bool)#Microsoft.Generic.Autopilot.FLY BY WIRE ELAC SWITCH +FLY BY WIRE FAC FAILED#(A:FLY BY WIRE FAC FAILED,Bool)#Microsoft.Generic.Autopilot.FLY BY WIRE FAC FAILED +FLY BY WIRE FAC SWITCH#(A:FLY BY WIRE FAC SWITCH,Bool)#Microsoft.Generic.Autopilot.FLY BY WIRE FAC SWITCH +FLY BY WIRE SEC FAILED#(A:FLY BY WIRE SEC FAILED,Bool)#Microsoft.Generic.Autopilot.FLY BY WIRE SEC FAILED +FLY BY WIRE SEC SWITCH#(A:FLY BY WIRE SEC SWITCH,Bool)#Microsoft.Generic.Autopilot.FLY BY WIRE SEC SWITCH +Microsoft/Generic/Avionics#GROUP +ADF ACTIVE FREQUENCY:index#(A:ADF ACTIVE FREQUENCY:index,KHz)#Microsoft.Generic.Avionics.ADF ACTIVE FREQUENCY:index +ADF AVAILABLE#(A:ADF AVAILABLE,Bool)#Microsoft.Generic.Avionics.ADF AVAILABLE +ADF CARD#(A:ADF CARD,Degrees)#Microsoft.Generic.Avionics.ADF CARD +ADF EXT FREQUENCY:index#(A:ADF EXT FREQUENCY:index,KHz)#Microsoft.Generic.Avionics.ADF EXT FREQUENCY:index +ADF FREQUENCY:index#(A:ADF FREQUENCY:index,KHz)#Microsoft.Generic.Avionics.ADF FREQUENCY:index +ADF IDENT#(A:ADF IDENT,String)#Microsoft.Generic.Avionics.ADF IDENT +ADF LATLONALT:index#(A:ADF LATLONALT:index,Number)#Microsoft.Generic.Avionics.ADF LATLONALT:index +ADF NAME#(A:ADF NAME,String)#Microsoft.Generic.Avionics.ADF NAME +ADF RADIAL:index#(A:ADF RADIAL:index,Degrees)#Microsoft.Generic.Avionics.ADF RADIAL:index +ADF SIGNAL:index#(A:ADF SIGNAL:index,Number)#Microsoft.Generic.Avionics.ADF SIGNAL:index +ADF SOUND:index#(A:ADF SOUND:index,Bool)#Microsoft.Generic.Avionics.ADF SOUND:index +ADF STANDBY AVAILABLE#(A:ADF STANDBY AVAILABLE,Bool)#Microsoft.Generic.Avionics.ADF STANDBY AVAILABLE +ADF STANDBY FREQUENCY:index#(A:ADF STANDBY FREQUENCY:index,KHz)#Microsoft.Generic.Avionics.ADF STANDBY FREQUENCY:index +AUDIO PANEL AVAILABLE#(A:AUDIO PANEL AVAILABLE,Bool)#Microsoft.Generic.Avionics.AUDIO PANEL AVAILABLE +AUDIO PANEL VOLUME#(A:AUDIO PANEL VOLUME,Percent)#Microsoft.Generic.Avionics.AUDIO PANEL VOLUME +AVIONICS MASTER SWITCH#(A:AVIONICS MASTER SWITCH,Bool)#Microsoft.Generic.Avionics.AVIONICS MASTER SWITCH +COM ACTIVE FREQUENCY:index#(A:COM ACTIVE FREQUENCY:index,KHz)#Microsoft.Generic.Avionics.COM ACTIVE FREQUENCY:index +COM AVAILABLE#(A:COM AVAILABLE,Bool)#Microsoft.Generic.Avionics.COM AVAILABLE +COM RECEIVE ALL#(A:COM RECEIVE ALL,Bool)#Microsoft.Generic.Avionics.COM RECEIVE ALL +COM RECIEVE ALL#(A:COM RECIEVE ALL,Bool)#Microsoft.Generic.Avionics.COM RECIEVE ALL +COM STANDBY FREQUENCY:index#(A:COM STANDBY FREQUENCY:index,KHz)#Microsoft.Generic.Avionics.COM STANDBY FREQUENCY:index +COM STATUS:index#(A:COM STATUS:index,Enum)#Microsoft.Generic.Avionics.COM STATUS:index +COM TEST:index#(A:COM TEST:index,Bool)#Microsoft.Generic.Avionics.COM TEST:index +COM TRANSMIT:index#(A:COM TRANSMIT:index,Bool)#Microsoft.Generic.Avionics.COM TRANSMIT:index +COPILOT TRANSMITTER TYPE#(A:COPILOT TRANSMITTER TYPE,Enum)#Microsoft.Generic.Avionics.COPILOT TRANSMITTER TYPE +COPILOT TRANSMITTING#(A:COPILOT TRANSMITTING,Bool)#Microsoft.Generic.Avionics.COPILOT TRANSMITTING +DME SOUND#(A:DME SOUND:index,Bool)#Microsoft.Generic.Avionics.DME SOUND +GPS APPROACH APPROACH INDEX#(A:GPS APPROACH APPROACH INDEX,Number)#Microsoft.Generic.Avionics.GPS APPROACH APPROACH INDEX +GPS APPROACH APPROACH TYPE#(A:GPS APPROACH APPROACH TYPE,Enum)#Microsoft.Generic.Avionics.GPS APPROACH APPROACH TYPE +GPS APPROACH IS FINAL#(A:GPS APPROACH IS FINAL,Bool)#Microsoft.Generic.Avionics.GPS APPROACH IS FINAL +GPS APPROACH IS MISSED#(A:GPS APPROACH IS MISSED,Bool)#Microsoft.Generic.Avionics.GPS APPROACH IS MISSED +GPS APPROACH IS WP RUNWAY#(A:GPS APPROACH IS WP RUNWAY,Bool)#Microsoft.Generic.Avionics.GPS APPROACH IS WP RUNWAY +GPS APPROACH MODE#(A:GPS APPROACH MODE,Enum)#Microsoft.Generic.Avionics.GPS APPROACH MODE +GPS APPROACH SEGMENT TYPE#(A:GPS APPROACH SEGMENT TYPE,Enum)#Microsoft.Generic.Avionics.GPS APPROACH SEGMENT TYPE +GPS APPROACH TIMEZONE DEVIATION#(A:GPS APPROACH TIMEZONE DEVIATION,Seconds)#Microsoft.Generic.Avionics.GPS APPROACH TIMEZONE DEVIATION +GPS APPROACH TRANSITION INDEX#(A:GPS APPROACH TRANSITION INDEX,Number)#Microsoft.Generic.Avionics.GPS APPROACH TRANSITION INDEX +GPS APPROACH WP COUNT#(A:GPS APPROACH WP COUNT,Number)#Microsoft.Generic.Avionics.GPS APPROACH WP COUNT +GPS APPROACH WP INDEX#(A:GPS APPROACH WP INDEX,Number)#Microsoft.Generic.Avionics.GPS APPROACH WP INDEX +GPS APPROACH WP TYPE#(A:GPS APPROACH WP TYPE,Enum)#Microsoft.Generic.Avionics.GPS APPROACH WP TYPE +GPS COURSE TO STEER#(A:GPS COURSE TO STEER,Radians)#Microsoft.Generic.Avionics.GPS COURSE TO STEER +GPS DRIVES NAV1#(A:GPS DRIVES NAV1,Bool)#Microsoft.Generic.Avionics.GPS DRIVES NAV1 +GPS ETA#(A:GPS ETA,Seconds)#Microsoft.Generic.Avionics.GPS ETA +GPS ETE#(A:GPS ETE,Seconds)#Microsoft.Generic.Avionics.GPS ETE +GPS FLIGHT PLAN WP COUNT#(A:GPS FLIGHT PLAN WP COUNT,Number)#Microsoft.Generic.Avionics.GPS FLIGHT PLAN WP COUNT +GPS FLIGHT PLAN WP INDEX#(A:GPS FLIGHT PLAN WP INDEX,Number)#Microsoft.Generic.Avionics.GPS FLIGHT PLAN WP INDEX +GPS GROUND MAGNETIC TRACK#(A:GPS GROUND MAGNETIC TRACK,Radians)#Microsoft.Generic.Avionics.GPS GROUND MAGNETIC TRACK +GPS GROUND SPEED#(A:GPS GROUND SPEED,Meters per second)#Microsoft.Generic.Avionics.GPS GROUND SPEED +GPS GROUND TRUE HEADING#(A:GPS GROUND TRUE HEADING,Radians)#Microsoft.Generic.Avionics.GPS GROUND TRUE HEADING +GPS GROUND TRUE TRACK#(A:GPS GROUND TRUE TRACK,Radians)#Microsoft.Generic.Avionics.GPS GROUND TRUE TRACK +GPS IS ACTIVE FLIGHT PLAN#(A:GPS IS ACTIVE FLIGHT PLAN,Bool)#Microsoft.Generic.Avionics.GPS IS ACTIVE FLIGHT PLAN +GPS IS ACTIVE WAY POINT#(A:GPS IS ACTIVE WAY POINT,Bool)#Microsoft.Generic.Avionics.GPS IS ACTIVE WAY POINT +GPS IS ACTIVE WP LOCKED#(A:GPS IS ACTIVE WP LOCKED,Bool)#Microsoft.Generic.Avionics.GPS IS ACTIVE WP LOCKED +GPS IS APPROACH ACTIVE#(A:GPS IS APPROACH ACTIVE,Bool)#Microsoft.Generic.Avionics.GPS IS APPROACH ACTIVE +GPS IS APPROACH LOADED#(A:GPS IS APPROACH LOADED,Bool)#Microsoft.Generic.Avionics.GPS IS APPROACH LOADED +GPS IS ARRIVED#(A:GPS IS ARRIVED,Bool)#Microsoft.Generic.Avionics.GPS IS ARRIVED +GPS IS DIRECTTO FLIGHTPLAN#(A:GPS IS DIRECTTO FLIGHTPLAN,Bool)#Microsoft.Generic.Avionics.GPS IS DIRECTTO FLIGHTPLAN +GPS MAGVAR#(A:GPS MAGVAR,Radians)#Microsoft.Generic.Avionics.GPS MAGVAR +GPS POSITION ALT#(A:GPS POSITION ALT,Meters)#Microsoft.Generic.Avionics.GPS POSITION ALT +GPS POSITION LAT#(A:GPS POSITION LAT,Degrees)#Microsoft.Generic.Avionics.GPS POSITION LAT +GPS POSITION LON#(A:GPS POSITION LON,Degrees)#Microsoft.Generic.Avionics.GPS POSITION LON +GPS TARGET ALTITUDE#(A:GPS TARGET ALTITUDE,Meters)#Microsoft.Generic.Avionics.GPS TARGET ALTITUDE +GPS TARGET DISTANCE#(A:GPS TARGET DISTANCE,Meters)#Microsoft.Generic.Avionics.GPS TARGET DISTANCE +GPS VERTICAL ANGLE#(A:GPS VERTICAL ANGLE,Degrees)#Microsoft.Generic.Avionics.GPS VERTICAL ANGLE +GPS VERTICAL ANGLE ERROR#(A:GPS VERTICAL ANGLE ERROR,Degrees)#Microsoft.Generic.Avionics.GPS VERTICAL ANGLE ERROR +GPS VERTICAL ERROR#(A:GPS VERTICAL ERROR,Meters)#Microsoft.Generic.Avionics.GPS VERTICAL ERROR +GPS WP BEARING#(A:GPS WP BEARING,Radians)#Microsoft.Generic.Avionics.GPS WP BEARING +GPS WP CROSS TRK#(A:GPS WP CROSS TRK,Meters)#Microsoft.Generic.Avionics.GPS WP CROSS TRK +GPS WP DESIRED TRACK#(A:GPS WP DESIRED TRACK,Radians)#Microsoft.Generic.Avionics.GPS WP DESIRED TRACK +GPS WP DISTANCE#(A:GPS WP DISTANCE,Meters)#Microsoft.Generic.Avionics.GPS WP DISTANCE +GPS WP ETA#(A:GPS WP ETA,Seconds)#Microsoft.Generic.Avionics.GPS WP ETA +GPS WP ETE#(A:GPS WP ETE,Seconds)#Microsoft.Generic.Avionics.GPS WP ETE +GPS WP NEXT ALT#(A:GPS WP NEXT ALT,Meters)#Microsoft.Generic.Avionics.GPS WP NEXT ALT +GPS WP NEXT LAT#(A:GPS WP NEXT LAT,Degrees)#Microsoft.Generic.Avionics.GPS WP NEXT LAT +GPS WP NEXT LON#(A:GPS WP NEXT LON,Degrees)#Microsoft.Generic.Avionics.GPS WP NEXT LON +GPS WP PREV ALT#(A:GPS WP PREV ALT,Meters)#Microsoft.Generic.Avionics.GPS WP PREV ALT +GPS WP PREV LAT#(A:GPS WP PREV LAT,Degrees)#Microsoft.Generic.Avionics.GPS WP PREV LAT +GPS WP PREV LON#(A:GPS WP PREV LON,Degrees)#Microsoft.Generic.Avionics.GPS WP PREV LON +GPS WP PREV VALID#(A:GPS WP PREV VALID,Bool)#Microsoft.Generic.Avionics.GPS WP PREV VALID +GPS WP TRACK ANGLE ERROR#(A:GPS WP TRACK ANGLE ERROR,Radians)#Microsoft.Generic.Avionics.GPS WP TRACK ANGLE ERROR +GPS WP TRUE BEARING#(A:GPS WP TRUE BEARING,Radians)#Microsoft.Generic.Avionics.GPS WP TRUE BEARING +GPS WP TRUE REQ HDG#(A:GPS WP TRUE REQ HDG,Radians)#Microsoft.Generic.Avionics.GPS WP TRUE REQ HDG +GPS WP VERTICAL SPEED#(A:GPS WP VERTICAL SPEED,Meters per second)#Microsoft.Generic.Avionics.GPS WP VERTICAL SPEED +HSI BEARING#(A:HSI BEARING,Degrees)#Microsoft.Generic.Avionics.HSI BEARING +HSI BEARING VALID#(A:HSI BEARING VALID,Bool)#Microsoft.Generic.Avionics.HSI BEARING VALID +HSI CDI NEEDLE#(A:HSI CDI NEEDLE,Number)#Microsoft.Generic.Avionics.HSI CDI NEEDLE +HSI CDI NEEDLE VALID#(A:HSI CDI NEEDLE VALID,Bool)#Microsoft.Generic.Avionics.HSI CDI NEEDLE VALID +HSI DISTANCE#(A:HSI DISTANCE,Nautical miles)#Microsoft.Generic.Avionics.HSI DISTANCE +HSI GSI NEEDLE#(A:HSI GSI NEEDLE,Number)#Microsoft.Generic.Avionics.HSI GSI NEEDLE +HSI GSI NEEDLE VALID#(A:HSI GSI NEEDLE VALID,Bool)#Microsoft.Generic.Avionics.HSI GSI NEEDLE VALID +HSI HAS LOCALIZER#(A:HSI HAS LOCALIZER,Bool)#Microsoft.Generic.Avionics.HSI HAS LOCALIZER +HSI SPEED#(A:HSI SPEED,Knots)#Microsoft.Generic.Avionics.HSI SPEED +HSI TF FLAGS#(A:HSI TF FLAGS,Enum)#Microsoft.Generic.Avionics.HSI TF FLAGS +INNER MARKER#(A:INNER MARKER,Bool)#Microsoft.Generic.Avionics.INNER MARKER +INNER MARKER LATLONALT#(A:INNER MARKER LATLONALT,Number)#Microsoft.Generic.Avionics.INNER MARKER LATLONALT +INTERCOM MODE#(A:INTERCOM MODE,Enum)#Microsoft.Generic.Avionics.INTERCOM MODE +INTERCOM SYSTEM ACTIVE#(A:INTERCOM SYSTEM ACTIVE,Bool)#Microsoft.Generic.Avionics.INTERCOM SYSTEM ACTIVE +MARKER AVAILABLE#(A:MARKER AVAILABLE,Bool)#Microsoft.Generic.Avionics.MARKER AVAILABLE +MARKER BEACON SENSITIVITY HIGH#(A:MARKER BEACON SENSITIVITY HIGH,Bool)#Microsoft.Generic.Avionics.MARKER BEACON SENSITIVITY HIGH +MARKER BEACON STATE#(A:MARKER BEACON STATE,Enum)#Microsoft.Generic.Avionics.MARKER BEACON STATE +MARKER BEACON TEST MUTE#(A:MARKER BEACON TEST MUTE,Bool)#Microsoft.Generic.Avionics.MARKER BEACON TEST MUTE +MARKER SOUND#(A:MARKER SOUND:index,Bool)#Microsoft.Generic.Avionics.MARKER SOUND +MIDDLE MARKER#(A:MIDDLE MARKER,Bool)#Microsoft.Generic.Avionics.MIDDLE MARKER +MIDDLE MARKER LATLONALT#(A:MIDDLE MARKER LATLONALT,Number)#Microsoft.Generic.Avionics.MIDDLE MARKER LATLONALT +NAV ACTIVE FREQUENCY:index#(A:NAV ACTIVE FREQUENCY:index,MHz)#Microsoft.Generic.Avionics.NAV ACTIVE FREQUENCY:index +NAV AVAILABLE:index#(A:NAV AVAILABLE:index,Bool)#Microsoft.Generic.Avionics.NAV AVAILABLE:index +NAV BACK COURSE flagsindex#(A:NAV BACK COURSE flagsindex,flags)#Microsoft.Generic.Avionics.NAV BACK COURSE flagsindex +NAV CDI:index#(A:NAV CDI:index,Number)#Microsoft.Generic.Avionics.NAV CDI:index +NAV CLOSE DME#(A:NAV CLOSE DME,Nautical miles)#Microsoft.Generic.Avionics.NAV CLOSE DME +NAV CLOSE FREQUENCY#(A:NAV CLOSE FREQUENCY,KHz)#Microsoft.Generic.Avionics.NAV CLOSE FREQUENCY +NAV CLOSE IDENT#(A:NAV CLOSE IDENT,String)#Microsoft.Generic.Avionics.NAV CLOSE IDENT +NAV CLOSE LOCALIZER#(A:NAV CLOSE LOCALIZER,Degrees)#Microsoft.Generic.Avionics.NAV CLOSE LOCALIZER +NAV CLOSE NAME#(A:NAV CLOSE NAME,String)#Microsoft.Generic.Avionics.NAV CLOSE NAME +NAV CODES:index#(A:NAV CODES:index,flags)#Microsoft.Generic.Avionics.NAV CODES:index +NAV DME LATLONALT:index#(A:NAV DME LATLONALT:index,Number)#Microsoft.Generic.Avionics.NAV DME LATLONALT:index +NAV DME:index#(A:NAV DME:index,Nautical miles)#Microsoft.Generic.Avionics.NAV DME:index +NAV DMESPEED:index#(A:NAV DMESPEED:index,Knots)#Microsoft.Generic.Avionics.NAV DMESPEED:index +NAV FREQUENCY#(A:NAV FREQUENCY,Hz)#Microsoft.Generic.Avionics.NAV FREQUENCY +NAV GLIDE SLOPE#(A:NAV GLIDE SLOPE,Number)#Microsoft.Generic.Avionics.NAV GLIDE SLOPE +NAV GLIDE SLOPE ERROR:index#(A:NAV GLIDE SLOPE ERROR:index,Degrees)#Microsoft.Generic.Avionics.NAV GLIDE SLOPE ERROR:index +NAV GS FLAG:index#(A:NAV GS FLAG:index,Bool)#Microsoft.Generic.Avionics.NAV GS FLAG:index +NAV GS LATLONALT:index#(A:NAV GS LATLONALT:index,Number)#Microsoft.Generic.Avionics.NAV GS LATLONALT:index +NAV GSI:index#(A:NAV GSI:index,Number)#Microsoft.Generic.Avionics.NAV GSI:index +NAV HAS CLOSE DME#(A:NAV HAS CLOSE DME,Bool)#Microsoft.Generic.Avionics.NAV HAS CLOSE DME +NAV HAS CLOSE LOCALIZER#(A:NAV HAS CLOSE LOCALIZER,Bool)#Microsoft.Generic.Avionics.NAV HAS CLOSE LOCALIZER +NAV HAS DME:index#(A:NAV HAS DME:index,Bool)#Microsoft.Generic.Avionics.NAV HAS DME:index +NAV HAS GLIDE SLOPE:index#(A:NAV HAS GLIDE SLOPE:index,Bool)#Microsoft.Generic.Avionics.NAV HAS GLIDE SLOPE:index +NAV HAS LOCALIZER:index#(A:NAV HAS LOCALIZER:index,Bool)#Microsoft.Generic.Avionics.NAV HAS LOCALIZER:index +NAV HAS NAV:index#(A:NAV HAS NAV:index,Bool)#Microsoft.Generic.Avionics.NAV HAS NAV:index +NAV IDENT#(A:NAV IDENT,String)#Microsoft.Generic.Avionics.NAV IDENT +NAV LOCALIZER:index#(A:NAV LOCALIZER:index,Degrees)#Microsoft.Generic.Avionics.NAV LOCALIZER:index +NAV MAGVAR:index#(A:NAV MAGVAR:index,Degrees)#Microsoft.Generic.Avionics.NAV MAGVAR:index +NAV NAME#(A:NAV NAME,String)#Microsoft.Generic.Avionics.NAV NAME +NAV OBS:index#(A:NAV OBS:index,Degrees)#Microsoft.Generic.Avionics.NAV OBS:index +NAV RADIAL ERROR:index#(A:NAV RADIAL ERROR:index,Degrees)#Microsoft.Generic.Avionics.NAV RADIAL ERROR:index +NAV RADIAL:index#(A:NAV RADIAL:index,Degrees)#Microsoft.Generic.Avionics.NAV RADIAL:index +NAV RAW GLIDE SLOPE:index#(A:NAV RAW GLIDE SLOPE:index,Degrees)#Microsoft.Generic.Avionics.NAV RAW GLIDE SLOPE:index +NAV RELATIVE BEARING TO STATION:index#(A:NAV RELATIVE BEARING TO STATION:index,Degrees)#Microsoft.Generic.Avionics.NAV RELATIVE BEARING TO STATION:index +NAV SIGNAL:index#(A:NAV SIGNAL:index,Number)#Microsoft.Generic.Avionics.NAV SIGNAL:index +NAV SOUND:index#(A:NAV SOUND:index,Bool)#Microsoft.Generic.Avionics.NAV SOUND:index +NAV STANDBY FREQUENCY:index#(A:NAV STANDBY FREQUENCY:index,MHz)#Microsoft.Generic.Avionics.NAV STANDBY FREQUENCY:index +NAV TOFROM:index#(A:NAV TOFROM:index,Enum)#Microsoft.Generic.Avionics.NAV TOFROM:index +NAV VOR DISTANCE#(A:NAV VOR DISTANCE,Meters)#Microsoft.Generic.Avionics.NAV VOR DISTANCE +NAV VOR LATLONALT:index#(A:NAV VOR LATLONALT:index,Number)#Microsoft.Generic.Avionics.NAV VOR LATLONALT:index +OUTER MARKER#(A:OUTER MARKER,Bool)#Microsoft.Generic.Avionics.OUTER MARKER +OUTER MARKER LATLONALT#(A:OUTER MARKER LATLONALT,Number)#Microsoft.Generic.Avionics.OUTER MARKER LATLONALT +PILOT TRANSMITTER TYPE#(A:PILOT TRANSMITTER TYPE,Enum)#Microsoft.Generic.Avionics.PILOT TRANSMITTER TYPE +PILOT TRANSMITTING#(A:PILOT TRANSMITTING,Bool)#Microsoft.Generic.Avionics.PILOT TRANSMITTING +SELECTED DME#(A:SELECTED DME,Number)#Microsoft.Generic.Avionics.SELECTED DME +SPEAKER ACTIVE#(A:SPEAKER ACTIVE,Bool)#Microsoft.Generic.Avionics.SPEAKER ACTIVE +TRANSPONDER AVAILABLE#(A:TRANSPONDER AVAILABLE,Bool)#Microsoft.Generic.Avionics.TRANSPONDER AVAILABLE +TRANSPONDER CODE#(A:TRANSPONDER CODE:index,number)#Microsoft.Generic.Avionics.TRANSPONDER CODE +TRANSPONDER IDENT#(A:TRANSPONDER IDENT:index, Bool)#Microsoft.Generic.Avionics.TRANSPONDER IDENT +TRANSPONDER STATE#(A:TRANSPONDER STATE:index,Enum)#Microsoft.Generic.Avionics.TRANSPONDER STATE +Microsoft/Generic/Controls#GROUP +AILERON AVERAGE DEFLECTION#(A:AILERON AVERAGE DEFLECTION,Radians)#Microsoft.Generic.Controls.AILERON AVERAGE DEFLECTION +AILERON LEFT DEFLECTION#(A:AILERON LEFT DEFLECTION,Radians)#Microsoft.Generic.Controls.AILERON LEFT DEFLECTION +AILERON LEFT DEFLECTION PCT#(A:AILERON LEFT DEFLECTION PCT,Percent Over 100)#Microsoft.Generic.Controls.AILERON LEFT DEFLECTION PCT +AILERON POSITION#(A:AILERON POSITION,Position)#Microsoft.Generic.Controls.AILERON POSITION +AILERON RIGHT DEFLECTION#(A:AILERON RIGHT DEFLECTION,Radians)#Microsoft.Generic.Controls.AILERON RIGHT DEFLECTION +AILERON RIGHT DEFLECTION PCT#(A:AILERON RIGHT DEFLECTION PCT,Percent Over 100)#Microsoft.Generic.Controls.AILERON RIGHT DEFLECTION PCT +AILERON TRIM#(A:AILERON TRIM,Radians)#Microsoft.Generic.Controls.AILERON TRIM +AILERON TRIM DISABLED#(A:AILERON TRIM DISABLED,Bool)#Microsoft.Generic.Controls.AILERON TRIM DISABLED +AILERON TRIM PCT#(A:AILERON TRIM PCT,Float. Percent over 100)#Microsoft.Generic.Controls.AILERON TRIM PCT +ALTERNATE STATIC SOURCE OPEN#(A:ALTERNATE STATIC SOURCE OPEN,Bool)#Microsoft.Generic.Controls.ALTERNATE STATIC SOURCE OPEN +ANTISKID BRAKES ACTIVE#(A:ANTISKID BRAKES ACTIVE,Bool)#Microsoft.Generic.Controls.ANTISKID BRAKES ACTIVE +AUTO BRAKE SWITCH CB#(A:AUTO BRAKE SWITCH CB,Number)#Microsoft.Generic.Controls.AUTO BRAKE SWITCH CB +AUTOBRAKES ACTIVE#(A:AUTOBRAKES ACTIVE,Bool)#Microsoft.Generic.Controls.AUTOBRAKES ACTIVE +BRAKE DEPENDENT HYDRAULIC PRESSURE#(A:BRAKE DEPENDENT HYDRAULIC PRESSURE,Pounds per square foot)#Microsoft.Generic.Controls.BRAKE DEPENDENT HYDRAULIC PRESSURE +BRAKE INDICATOR#(A:BRAKE INDICATOR,Position)#Microsoft.Generic.Controls.BRAKE INDICATOR +BRAKE LEFT POSITION#(A:BRAKE LEFT POSITION,Position)#Microsoft.Generic.Controls.BRAKE LEFT POSITION +BRAKE LEFT POSITION EX1#(A:BRAKE LEFT POSITION EX1,Position)#Microsoft.Generic.Controls.BRAKE LEFT POSITION EX1 +BRAKE PARKING INDICATOR#(A:BRAKE PARKING INDICATOR,Bool)#Microsoft.Generic.Controls.BRAKE PARKING INDICATOR +BRAKE PARKING POSITION#(A:BRAKE PARKING POSITION,Position)#Microsoft.Generic.Controls.BRAKE PARKING POSITION +BRAKE RIGHT POSITION#(A:BRAKE RIGHT POSITION,Position)#Microsoft.Generic.Controls.BRAKE RIGHT POSITION +BRAKE RIGHT POSITION EX1#(A:BRAKE RIGHT POSITION EX1,Position)#Microsoft.Generic.Controls.BRAKE RIGHT POSITION EX1 +CIRCUIT AUTO BRAKES ON#(A:CIRCUIT AUTO BRAKES ON,Bool)#Microsoft.Generic.Controls.CIRCUIT AUTO BRAKES ON +ELEVATOR DEFLECTION#(A:ELEVATOR DEFLECTION,Radians)#Microsoft.Generic.Controls.ELEVATOR DEFLECTION +ELEVATOR DEFLECTION PCT#(A:ELEVATOR DEFLECTION PCT,Percent Over 100)#Microsoft.Generic.Controls.ELEVATOR DEFLECTION PCT +ELEVATOR POSITION#(A:ELEVATOR POSITION,Position)#Microsoft.Generic.Controls.ELEVATOR POSITION +ELEVATOR TRIM INDICATOR#(A:ELEVATOR TRIM INDICATOR,Position)#Microsoft.Generic.Controls.ELEVATOR TRIM INDICATOR +ELEVATOR TRIM PCT#(A:ELEVATOR TRIM PCT,Percent Over 100)#Microsoft.Generic.Controls.ELEVATOR TRIM PCT +ELEVATOR TRIM POSITION#(A:ELEVATOR TRIM POSITION,Radians)#Microsoft.Generic.Controls.ELEVATOR TRIM POSITION +FLAP DAMAGE BY SPEED#(A:FLAP DAMAGE BY SPEED,Bool)#Microsoft.Generic.Controls.FLAP DAMAGE BY SPEED +FLAP SPEED EXCEEDED#(A:FLAP SPEED EXCEEDED,Bool)#Microsoft.Generic.Controls.FLAP SPEED EXCEEDED +FLAPS AVAILABLE#(A:FLAPS AVAILABLE,Bool)#Microsoft.Generic.Controls.FLAPS AVAILABLE +FLAPS HANDLE INDEX#(A:FLAPS HANDLE INDEX,Number)#Microsoft.Generic.Controls.FLAPS HANDLE INDEX +FLAPS HANDLE PERCENT#(A:FLAPS HANDLE PERCENT,Percent Over 100)#Microsoft.Generic.Controls.FLAPS HANDLE PERCENT +FLAPS NUM HANDLE POSITIONS#(A:FLAPS NUM HANDLE POSITIONS,Number)#Microsoft.Generic.Controls.FLAPS NUM HANDLE POSITIONS +FOLDING WING HANDLE POSITION#(A:FOLDING WING HANDLE POSITION,Bool)#Microsoft.Generic.Controls.FOLDING WING HANDLE POSITION +FUEL DUMP SWITCH#(A:FUEL DUMP SWITCH,Bool)#Microsoft.Generic.Controls.FUEL DUMP SWITCH +LEADING EDGE FLAPS LEFT ANGLE#(A:LEADING EDGE FLAPS LEFT ANGLE,Radians)#Microsoft.Generic.Controls.LEADING EDGE FLAPS LEFT ANGLE +LEADING EDGE FLAPS LEFT INDEX#(A:LEADING EDGE FLAPS LEFT INDEX,Number)#Microsoft.Generic.Controls.LEADING EDGE FLAPS LEFT INDEX +LEADING EDGE FLAPS LEFT PERCENT#(A:LEADING EDGE FLAPS LEFT PERCENT,Percent Over 100)#Microsoft.Generic.Controls.LEADING EDGE FLAPS LEFT PERCENT +LEADING EDGE FLAPS RIGHT ANGLE#(A:LEADING EDGE FLAPS RIGHT ANGLE,Radians)#Microsoft.Generic.Controls.LEADING EDGE FLAPS RIGHT ANGLE +LEADING EDGE FLAPS RIGHT INDEX#(A:LEADING EDGE FLAPS RIGHT INDEX,Number)#Microsoft.Generic.Controls.LEADING EDGE FLAPS RIGHT INDEX +LEADING EDGE FLAPS RIGHT PERCENT#(A:LEADING EDGE FLAPS RIGHT PERCENT,Percent Over 100)#Microsoft.Generic.Controls.LEADING EDGE FLAPS RIGHT PERCENT +LIGHT BRAKE ON#(A:LIGHT BRAKE ON,Bool)#Microsoft.Generic.Controls.LIGHT BRAKE ON +REJECTED TAKEOFF BRAKES ACTIVE#(A:REJECTED TAKEOFF BRAKES ACTIVE,Bool)#Microsoft.Generic.Controls.REJECTED TAKEOFF BRAKES ACTIVE +RUDDER DEFLECTION#(A:RUDDER DEFLECTION,Radians)#Microsoft.Generic.Controls.RUDDER DEFLECTION +RUDDER DEFLECTION PCT#(A:RUDDER DEFLECTION PCT,Percent Over 100)#Microsoft.Generic.Controls.RUDDER DEFLECTION PCT +RUDDER PEDAL POSITION#(A:RUDDER PEDAL POSITION,Position)#Microsoft.Generic.Controls.RUDDER PEDAL POSITION +RUDDER POSITION#(A:RUDDER POSITION,Position)#Microsoft.Generic.Controls.RUDDER POSITION +RUDDER TRIM#(A:RUDDER TRIM,Radians)#Microsoft.Generic.Controls.RUDDER TRIM +RUDDER TRIM PCT#(A:RUDDER TRIM PCT, Percent over 100)#Microsoft.Generic.Controls.RUDDER TRIM PCT +SPOILERS ARMED#(A:SPOILERS ARMED,Bool)#Microsoft.Generic.Controls.SPOILERS ARMED +SPOILERS HANDLE POSITION#(A:SPOILERS HANDLE POSITION,Position)#Microsoft.Generic.Controls.SPOILERS HANDLE POSITION +SPOILERS LEFT POSITION#(A:SPOILERS LEFT POSITION,Position)#Microsoft.Generic.Controls.SPOILERS LEFT POSITION +SPOILERS RIGHT POSITION#(A:SPOILERS RIGHT POSITION,Position)#Microsoft.Generic.Controls.SPOILERS RIGHT POSITION +TOE BRAKES AVAILABLE#(A:TOE BRAKES AVAILABLE,Bool)#Microsoft.Generic.Controls.TOE BRAKES AVAILABLE +TRAILING EDGE FLAPS LEFT ANGLE#(A:TRAILING EDGE FLAPS LEFT ANGLE,Radians)#Microsoft.Generic.Controls.TRAILING EDGE FLAPS LEFT ANGLE +TRAILING EDGE FLAPS LEFT INDEX#(A:TRAILING EDGE FLAPS LEFT INDEX,Number)#Microsoft.Generic.Controls.TRAILING EDGE FLAPS LEFT INDEX +TRAILING EDGE FLAPS LEFT PERCENT#(A:TRAILING EDGE FLAPS LEFT PERCENT,Percent Over 100)#Microsoft.Generic.Controls.TRAILING EDGE FLAPS LEFT PERCENT +TRAILING EDGE FLAPS RIGHT ANGLE#(A:TRAILING EDGE FLAPS RIGHT ANGLE,Radians)#Microsoft.Generic.Controls.TRAILING EDGE FLAPS RIGHT ANGLE +TRAILING EDGE FLAPS RIGHT INDEX#(A:TRAILING EDGE FLAPS RIGHT INDEX,Number)#Microsoft.Generic.Controls.TRAILING EDGE FLAPS RIGHT INDEX +TRAILING EDGE FLAPS RIGHT PERCENT#(A:TRAILING EDGE FLAPS RIGHT PERCENT,Percent Over 100)#Microsoft.Generic.Controls.TRAILING EDGE FLAPS RIGHT PERCENT +YOKE X POSITION#(A:YOKE X POSITION,Position)#Microsoft.Generic.Controls.YOKE X POSITION +YOKE X POSITION WITH AP#(A:YOKE X POSITION WITH AP,Position)#Microsoft.Generic.Controls.YOKE X POSITION WITH AP +YOKE Y POSITION#(A:YOKE Y POSITION,Position)#Microsoft.Generic.Controls.YOKE Y POSITION +YOKE Y POSITION WITH AP#(A:YOKE Y POSITION WITH AP,Position)#Microsoft.Generic.Controls.YOKE Y POSITION WITH AP +Microsoft/Generic/Engines#GROUP +ELEVATOR TRIM NEUTRAL#(A:ELEVATOR TRIM NEUTRAL,Radians)#Microsoft.Generic.Engines.ELEVATOR TRIM NEUTRAL +ENG ANTI ICE:index#(A:ENG ANTI ICE:index,Bool)#Microsoft.Generic.Engines.ENG ANTI ICE:index +ENG COMBUSTION#(A:ENG COMBUSTION,Bool)#Microsoft.Generic.Engines.ENG COMBUSTION +ENG CYLINDER HEAD TEMPERATURE:index#(A:ENG CYLINDER HEAD TEMPERATURE:index,Rankine)#Microsoft.Generic.Engines.ENG CYLINDER HEAD TEMPERATURE:index +ENG EXHAUST GAS TEMPERATURE GES:index#(A:ENG EXHAUST GAS TEMPERATURE GES:index,Percent over 100)#Microsoft.Generic.Engines.ENG EXHAUST GAS TEMPERATURE GES:index +ENG EXHAUST GAS TEMPERATURE:index#(A:ENG EXHAUST GAS TEMPERATURE:index,Rankine)#Microsoft.Generic.Engines.ENG EXHAUST GAS TEMPERATURE:index +ENG FAILED:index#(A:ENG FAILED:index,Number)#Microsoft.Generic.Engines.ENG FAILED:index +ENG FUEL FLOW BUG POSITION:index#(A:ENG FUEL FLOW BUG POSITION:index,Pounds per hour)#Microsoft.Generic.Engines.ENG FUEL FLOW BUG POSITION:index +ENG FUEL FLOW GPH:index#(A:ENG FUEL FLOW GPH:index,Gallons per hour)#Microsoft.Generic.Engines.ENG FUEL FLOW GPH:index +ENG FUEL FLOW PPH:index#(A:ENG FUEL FLOW PPH:index,Pounds per hour)#Microsoft.Generic.Engines.ENG FUEL FLOW PPH:index +ENG HYDRAULIC PRESSURE:index#(A:ENG HYDRAULIC PRESSURE:index,Pounds per square foot)#Microsoft.Generic.Engines.ENG HYDRAULIC PRESSURE:index +ENG HYDRAULIC QUANTITY:index#(A:ENG HYDRAULIC QUANTITY:index,Percent over 100)#Microsoft.Generic.Engines.ENG HYDRAULIC QUANTITY:index +ENG MANIFOLD PRESSURE:index#(A:ENG MANIFOLD PRESSURE:index,inHG)#Microsoft.Generic.Engines.ENG MANIFOLD PRESSURE:index +ENG MAX RPM#(A:ENG MAX RPM,Rpm)#Microsoft.Generic.Engines.ENG MAX RPM +ENG N1 RPM:index#(A:ENG N1 RPM:index,Rpm)#Microsoft.Generic.Engines.ENG N1 RPM:index +ENG N2 RPM:index#(A:ENG N2 RPM:index,Rpm)#Microsoft.Generic.Engines.ENG N2 RPM:index +ENG OIL PRESSURE:index#(A:ENG OIL PRESSURE:index,Pounds per square foot)#Microsoft.Generic.Engines.ENG OIL PRESSURE:index +ENG OIL QUANTITY:index#(A:ENG OIL QUANTITY:index,Percent over 100)#Microsoft.Generic.Engines.ENG OIL QUANTITY:index +ENG OIL TEMPERATURE:index#(A:ENG OIL TEMPERATURE:index,Rankine)#Microsoft.Generic.Engines.ENG OIL TEMPERATURE:index +ENG ON FIRE:index#(A:ENG ON FIRE:index,Bool)#Microsoft.Generic.Engines.ENG ON FIRE:index +ENG PRESSURE RATIO:index#(A:ENG PRESSURE RATIO:index,Ratio)#Microsoft.Generic.Engines.ENG PRESSURE RATIO:index +ENG RPM ANIMATION PERCENT:index#(A:ENG RPM ANIMATION PERCENT:index,Percent)#Microsoft.Generic.Engines.ENG RPM ANIMATION PERCENT:index +ENG RPM SCALER:index#(A:ENG RPM SCALER:index,Scalar)#Microsoft.Generic.Engines.ENG RPM SCALER:index +ENG TORQUE:index#(A:ENG TORQUE:index,Foot pounds)#Microsoft.Generic.Engines.ENG TORQUE:index +ENG VIBRATION:index#(A:ENG VIBRATION:index,Number)#Microsoft.Generic.Engines.ENG VIBRATION:index +ENGINE CONTROL SELECT#(A:ENGINE CONTROL SELECT,Mask)#Microsoft.Generic.Engines.ENGINE CONTROL SELECT +ENGINE TYPE#(A:ENGINE TYPE,Enum)#Microsoft.Generic.Engines.ENGINE TYPE +GENERAL ENG ANTI ICE POSITION:index#(A:GENERAL ENG ANTI ICE POSITION:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG ANTI ICE POSITION:index +GENERAL ENG COMBUSTION SOUND PERCENT:index#(A:GENERAL ENG COMBUSTION SOUND PERCENT:index,Percent)#Microsoft.Generic.Engines.GENERAL ENG COMBUSTION SOUND PERCENT:index +GENERAL ENG COMBUSTION:index#(A:GENERAL ENG COMBUSTION:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG COMBUSTION:index +GENERAL ENG DAMAGE PERCENT:index#(A:GENERAL ENG DAMAGE PERCENT:index,Percent)#Microsoft.Generic.Engines.GENERAL ENG DAMAGE PERCENT:index +GENERAL ENG ELAPSED TIME:index#(A:GENERAL ENG ELAPSED TIME:index,Hours)#Microsoft.Generic.Engines.GENERAL ENG ELAPSED TIME:index +GENERAL ENG EXHAUST GAS TEMPERATURE:index#(A:GENERAL ENG EXHAUST GAS TEMPERATURE:index,Rankine)#Microsoft.Generic.Engines.GENERAL ENG EXHAUST GAS TEMPERATURE:index +GENERAL ENG FAILED:index#(A:GENERAL ENG FAILED:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG FAILED:index +GENERAL ENG FUEL PRESSURE:index#(A:GENERAL ENG FUEL PRESSURE:index,Psi)#Microsoft.Generic.Engines.GENERAL ENG FUEL PRESSURE:index +GENERAL ENG FUEL PUMP ON:index#(A:GENERAL ENG FUEL PUMP ON:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG FUEL PUMP ON:index +GENERAL ENG FUEL PUMP SWITCH:index#(A:GENERAL ENG FUEL PUMP SWITCH:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG FUEL PUMP SWITCH:index +GENERAL ENG FUEL USED SINCE START#(A:GENERAL ENG FUEL USED SINCE START,Pounds)#Microsoft.Generic.Engines.GENERAL ENG FUEL USED SINCE START +GENERAL ENG FUEL VALVE:index#(A:GENERAL ENG FUEL VALVE:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG FUEL VALVE:index +GENERAL ENG GENERATOR ACTIVE:index#(A:GENERAL ENG GENERATOR ACTIVE:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG GENERATOR ACTIVE:index +GENERAL ENG GENERATOR SWITCH:index#(A:GENERAL ENG GENERATOR SWITCH:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG GENERATOR SWITCH:index +GENERAL ENG MASTER ALTERNATOR:index#(A:GENERAL ENG MASTER ALTERNATOR:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG MASTER ALTERNATOR:index +GENERAL ENG MAX REACHED RPM:index#(A:GENERAL ENG MAX REACHED RPM:index,Rpm)#Microsoft.Generic.Engines.GENERAL ENG MAX REACHED RPM:index +GENERAL ENG MIXTURE LEVER POSITION:index#(A:GENERAL ENG MIXTURE LEVER POSITION:index,Percent)#Microsoft.Generic.Engines.GENERAL ENG MIXTURE LEVER POSITION:index +GENERAL ENG OIL LEAKED PERCENT:index#(A:GENERAL ENG OIL LEAKED PERCENT:index,Percent)#Microsoft.Generic.Engines.GENERAL ENG OIL LEAKED PERCENT:index +GENERAL ENG OIL PRESSURE:index#(A:GENERAL ENG OIL PRESSURE:index,Psf)#Microsoft.Generic.Engines.GENERAL ENG OIL PRESSURE:index +GENERAL ENG OIL TEMPERATURE:index#(A:GENERAL ENG OIL TEMPERATURE:index,Rankine)#Microsoft.Generic.Engines.GENERAL ENG OIL TEMPERATURE:index +GENERAL ENG PCT MAX RPM:index#(A:GENERAL ENG PCT MAX RPM:index,Percent)#Microsoft.Generic.Engines.GENERAL ENG PCT MAX RPM:index +GENERAL ENG PROPELLER LEVER POSITION:index#(A:GENERAL ENG PROPELLER LEVER POSITION:index,Percent)#Microsoft.Generic.Engines.GENERAL ENG PROPELLER LEVER POSITION:index +GENERAL ENG RPM:index#(A:GENERAL ENG RPM:index,Rpm)#Microsoft.Generic.Engines.GENERAL ENG RPM:index +GENERAL ENG STARTER ACTIVE#(A:GENERAL ENG STARTER ACTIVE,Bool)#Microsoft.Generic.Engines.GENERAL ENG STARTER ACTIVE +GENERAL ENG STARTER:index#(A:GENERAL ENG STARTER:index,Bool)#Microsoft.Generic.Engines.GENERAL ENG STARTER:index +GENERAL ENG THROTTLE LEVER POSITION:index#(A:GENERAL ENG THROTTLE LEVER POSITION:index,Percent)#Microsoft.Generic.Engines.GENERAL ENG THROTTLE LEVER POSITION:index +GENERAL ENG THROTTLE MANAGED MODE#(A:GENERAL ENG THROTTLE MANAGED MODE,Number)#Microsoft.Generic.Engines.GENERAL ENG THROTTLE MANAGED MODE +MASTER IGNITION SWITCH#(A:MASTER IGNITION SWITCH,Bool)#Microsoft.Generic.Engines.MASTER IGNITION SWITCH +NUMBER OF ENGINES#(A:NUMBER OF ENGINES,Number)#Microsoft.Generic.Engines.NUMBER OF ENGINES +PANEL AUTO FEATHER SWITCH:index#(A:PANEL AUTO FEATHER SWITCH:index,Bool)#Microsoft.Generic.Engines.PANEL AUTO FEATHER SWITCH:index +PROP AUTO FEATHER ARMED:index#(A:PROP AUTO FEATHER ARMED:index,Bool)#Microsoft.Generic.Engines.PROP AUTO FEATHER ARMED:index +PROP BETA:index#(A:PROP BETA:index,Radians)#Microsoft.Generic.Engines.PROP BETA:index +PROP DEICE SWITCH:index#(A:PROP DEICE SWITCH:index,Bool)#Microsoft.Generic.Engines.PROP DEICE SWITCH:index +PROP FEATHER SWITCH:index#(A:PROP FEATHER SWITCH:index,Bool)#Microsoft.Generic.Engines.PROP FEATHER SWITCH:index +PROP FEATHERED:index#(A:PROP FEATHERED:index,Bool)#Microsoft.Generic.Engines.PROP FEATHERED:index +PROP FEATHERING INHIBIT:index#(A:PROP FEATHERING INHIBIT:index,Bool)#Microsoft.Generic.Engines.PROP FEATHERING INHIBIT:index +PROP MAX RPM PERCENT:index#(A:PROP MAX RPM PERCENT:index,Percent)#Microsoft.Generic.Engines.PROP MAX RPM PERCENT:index +PROP RPM:index#(A:PROP RPM:index,Rpm)#Microsoft.Generic.Engines.PROP RPM:index +PROP SYNC ACTIVE:index#(A:PROP SYNC ACTIVE:index,Bool)#Microsoft.Generic.Engines.PROP SYNC ACTIVE:index +PROP SYNC DELTA LEVER:index#(A:PROP SYNC DELTA LEVER:index,Position)#Microsoft.Generic.Engines.PROP SYNC DELTA LEVER:index +PROP THRUST:index#(A:PROP THRUST:index,Pounds)#Microsoft.Generic.Engines.PROP THRUST:index +RECIP CARBURETOR TEMPERATURE:index#(A:RECIP CARBURETOR TEMPERATURE:index,Celsius)#Microsoft.Generic.Engines.RECIP CARBURETOR TEMPERATURE:index +RECIP ENG ALTERNATE AIR POSITION:index#(A:RECIP ENG ALTERNATE AIR POSITION:index,Position)#Microsoft.Generic.Engines.RECIP ENG ALTERNATE AIR POSITION:index +RECIP ENG BRAKE POWER:index#(A:RECIP ENG BRAKE POWER:index,Number)#Microsoft.Generic.Engines.RECIP ENG BRAKE POWER:index +RECIP ENG COOLANT RESERVOIR PERCENT:index#(A:RECIP ENG COOLANT RESERVOIR PERCENT:index,Percent)#Microsoft.Generic.Engines.RECIP ENG COOLANT RESERVOIR PERCENT:index +RECIP ENG COWL FLAP POSITION:index#(A:RECIP ENG COWL FLAP POSITION:index,Percent)#Microsoft.Generic.Engines.RECIP ENG COWL FLAP POSITION:index +RECIP ENG CYLINDER HEAD TEMPERATURE:index#(A:RECIP ENG CYLINDER HEAD TEMPERATURE:index,Celsius)#Microsoft.Generic.Engines.RECIP ENG CYLINDER HEAD TEMPERATURE:index +RECIP ENG EMERGENCY BOOST ACTIVE:index#(A:RECIP ENG EMERGENCY BOOST ACTIVE:index,Bool)#Microsoft.Generic.Engines.RECIP ENG EMERGENCY BOOST ACTIVE:index +RECIP ENG EMERGENCY BOOST ELAPSED TIME:index#(A:RECIP ENG EMERGENCY BOOST ELAPSED TIME:index,Hours)#Microsoft.Generic.Engines.RECIP ENG EMERGENCY BOOST ELAPSED TIME:index +RECIP ENG FUEL AVAILABLE:index#(A:RECIP ENG FUEL AVAILABLE:index,Bool)#Microsoft.Generic.Engines.RECIP ENG FUEL AVAILABLE:index +RECIP ENG FUEL FLOW:index#(A:RECIP ENG FUEL FLOW:index,Pounds per hour)#Microsoft.Generic.Engines.RECIP ENG FUEL FLOW:index +RECIP ENG FUEL NUMBER TANKS USED:index#(A:RECIP ENG FUEL NUMBER TANKS USED:index,Number)#Microsoft.Generic.Engines.RECIP ENG FUEL NUMBER TANKS USED:index +RECIP ENG FUEL TANK SELECTOR:index#(A:RECIP ENG FUEL TANK SELECTOR:index,Enum)#Microsoft.Generic.Engines.RECIP ENG FUEL TANK SELECTOR:index +RECIP ENG FUEL TANKS USED:index#(A:RECIP ENG FUEL TANKS USED:index,Mask)#Microsoft.Generic.Engines.RECIP ENG FUEL TANKS USED:index +RECIP ENG LEFT MAGNETO:index#(A:RECIP ENG LEFT MAGNETO:index,Bool)#Microsoft.Generic.Engines.RECIP ENG LEFT MAGNETO:index +RECIP ENG MANIFOLD PRESSURE:index#(A:RECIP ENG MANIFOLD PRESSURE:index,Psi)#Microsoft.Generic.Engines.RECIP ENG MANIFOLD PRESSURE:index +RECIP ENG PRIMER:index#(A:RECIP ENG PRIMER:index,Bool)#Microsoft.Generic.Engines.RECIP ENG PRIMER:index +RECIP ENG RADIATOR TEMPERATURE:index#(A:RECIP ENG RADIATOR TEMPERATURE:index,Celsius)#Microsoft.Generic.Engines.RECIP ENG RADIATOR TEMPERATURE:index +RECIP ENG RIGHT MAGNETO:index#(A:RECIP ENG RIGHT MAGNETO:index,Bool)#Microsoft.Generic.Engines.RECIP ENG RIGHT MAGNETO:index +RECIP ENG STARTER TORQUE:index#(A:RECIP ENG STARTER TORQUE:index,Foot pound)#Microsoft.Generic.Engines.RECIP ENG STARTER TORQUE:index +RECIP ENG TURBINE INLET TEMPERATURE:index#(A:RECIP ENG TURBINE INLET TEMPERATURE:index,Celsius)#Microsoft.Generic.Engines.RECIP ENG TURBINE INLET TEMPERATURE:index +RECIP ENG TURBOCHARGER FAILED:index#(A:RECIP ENG TURBOCHARGER FAILED:index,Bool)#Microsoft.Generic.Engines.RECIP ENG TURBOCHARGER FAILED:index +RECIP ENG WASTEGATE POSITION:index#(A:RECIP ENG WASTEGATE POSITION:index,Percent)#Microsoft.Generic.Engines.RECIP ENG WASTEGATE POSITION:index +RECIP MIXTURE RATIO:index#(A:RECIP MIXTURE RATIO:index,Ratio)#Microsoft.Generic.Engines.RECIP MIXTURE RATIO:index +THROTTLE LOWER LIMIT#(A:THROTTLE LOWER LIMIT,Percent)#Microsoft.Generic.Engines.THROTTLE LOWER LIMIT +TURB ENG AFTERBURNER PCT ACTIVE#(A:TURB ENG AFTERBURNER PCT ACTIVE,Percent over 100)#Microsoft.Generic.Engines.TURB ENG AFTERBURNER PCT ACTIVE +TURB ENG AFTERBURNER STAGE ACTIVE#(A:TURB ENG AFTERBURNER STAGE ACTIVE,Number)#Microsoft.Generic.Engines.TURB ENG AFTERBURNER STAGE ACTIVE +TURB ENG AFTERBURNER:index#(A:TURB ENG AFTERBURNER:index,Bool)#Microsoft.Generic.Engines.TURB ENG AFTERBURNER:index +TURB ENG BLEED AIR:index#(A:TURB ENG BLEED AIR:index,Psi)#Microsoft.Generic.Engines.TURB ENG BLEED AIR:index +TURB ENG COMMANDED N1#(A:TURB ENG COMMANDED N1,Percent)#Microsoft.Generic.Engines.TURB ENG COMMANDED N1 +TURB ENG CORRECTED FF:index#(A:TURB ENG CORRECTED FF:index,Pounds per hour)#Microsoft.Generic.Engines.TURB ENG CORRECTED FF:index +TURB ENG CORRECTED N1:index#(A:TURB ENG CORRECTED N1:index,Percent)#Microsoft.Generic.Engines.TURB ENG CORRECTED N1:index +TURB ENG CORRECTED N2:index#(A:TURB ENG CORRECTED N2:index,Percent)#Microsoft.Generic.Engines.TURB ENG CORRECTED N2:index +TURB ENG FREE TURBINE TORQUE#(A:TURB ENG FREE TURBINE TORQUE,Foot Pound)#Microsoft.Generic.Engines.TURB ENG FREE TURBINE TORQUE +TURB ENG FUEL AVAILABLE:index#(A:TURB ENG FUEL AVAILABLE:index,Bool)#Microsoft.Generic.Engines.TURB ENG FUEL AVAILABLE:index +TURB ENG FUEL FLOW PPH:index#(A:TURB ENG FUEL FLOW PPH:index,Pounds per hour)#Microsoft.Generic.Engines.TURB ENG FUEL FLOW PPH:index +TURB ENG IGNITION SWITCH#(A:TURB ENG IGNITION SWITCH,Bool)#Microsoft.Generic.Engines.TURB ENG IGNITION SWITCH +TURB ENG ITT:index#(A:TURB ENG ITT:index,Rankine)#Microsoft.Generic.Engines.TURB ENG ITT:index +TURB ENG JET THRUST:index#(A:TURB ENG JET THRUST:index,Pounds)#Microsoft.Generic.Engines.TURB ENG JET THRUST:index +TURB ENG MASTER STARTER SWITCH#(A:TURB ENG MASTER STARTER SWITCH,Bool)#Microsoft.Generic.Engines.TURB ENG MASTER STARTER SWITCH +TURB ENG MAX TORQUE PERCENT:index#(A:TURB ENG MAX TORQUE PERCENT:index,Percent)#Microsoft.Generic.Engines.TURB ENG MAX TORQUE PERCENT:index +TURB ENG N1:index#(A:TURB ENG N1:index,Percent)#Microsoft.Generic.Engines.TURB ENG N1:index +TURB ENG N2:index#(A:TURB ENG N2:index,Percent)#Microsoft.Generic.Engines.TURB ENG N2:index +TURB ENG NUM TANKS USED:index#(A:TURB ENG NUM TANKS USED:index,Number)#Microsoft.Generic.Engines.TURB ENG NUM TANKS USED:index +TURB ENG PRESSURE RATIO:index#(A:TURB ENG PRESSURE RATIO:index,Ratio)#Microsoft.Generic.Engines.TURB ENG PRESSURE RATIO:index +TURB ENG PRIMARY NOZZLE PERCENT:index#(A:TURB ENG PRIMARY NOZZLE PERCENT:index,Percent over 100)#Microsoft.Generic.Engines.TURB ENG PRIMARY NOZZLE PERCENT:index +TURB ENG REVERSE NOZZLE PERCENT:index#(A:TURB ENG REVERSE NOZZLE PERCENT:index,Percent)#Microsoft.Generic.Engines.TURB ENG REVERSE NOZZLE PERCENT:index +TURB ENG TANK SELECTOR:index#(A:TURB ENG TANK SELECTOR:index,Enum)#Microsoft.Generic.Engines.TURB ENG TANK SELECTOR:index +TURB ENG TANKS USED:index#(A:TURB ENG TANKS USED:index,Mask)#Microsoft.Generic.Engines.TURB ENG TANKS USED:index +TURB ENG THROTTLE COMMANDED N1#(A:TURB ENG THROTTLE COMMANDED N1,Percent)#Microsoft.Generic.Engines.TURB ENG THROTTLE COMMANDED N1 +TURB ENG VIBRATION:index#(A:TURB ENG VIBRATION:index,Number)#Microsoft.Generic.Engines.TURB ENG VIBRATION:index +Microsoft/Generic/Environment#GROUP +AIRCRAFT WIND X#(A:AIRCRAFT WIND X,Knots)#Microsoft.Generic.Environment.AIRCRAFT WIND X +AIRCRAFT WIND Y#(A:AIRCRAFT WIND Y,Knots)#Microsoft.Generic.Environment.AIRCRAFT WIND Y +AIRCRAFT WIND Z#(A:AIRCRAFT WIND Z,Knots)#Microsoft.Generic.Environment.AIRCRAFT WIND Z +AMBIENT DENSITY#(A:AMBIENT DENSITY,Slugs per cubic feet)#Microsoft.Generic.Environment.AMBIENT DENSITY +AMBIENT IN CLOUD#(A:AMBIENT IN CLOUD,Bool)#Microsoft.Generic.Environment.AMBIENT IN CLOUD +AMBIENT PRECIP STATE#(A:AMBIENT PRECIP STATE,mask)#Microsoft.Generic.Environment.AMBIENT PRECIP STATE +AMBIENT PRESSURE#(A:AMBIENT PRESSURE,Inches of mercury, inHg)#Microsoft.Generic.Environment.AMBIENT PRESSURE +AMBIENT TEMPERATURE#(A:AMBIENT TEMPERATURE,Celsius)#Microsoft.Generic.Environment.AMBIENT TEMPERATURE +AMBIENT VISIBILITY#(A:AMBIENT VISIBILITY,Meters)#Microsoft.Generic.Environment.AMBIENT VISIBILITY +AMBIENT WIND DIRECTION#(A:AMBIENT WIND DIRECTION,Degrees)#Microsoft.Generic.Environment.AMBIENT WIND DIRECTION +AMBIENT WIND VELOCITY#(A:AMBIENT WIND VELOCITY,Knots)#Microsoft.Generic.Environment.AMBIENT WIND VELOCITY +AMBIENT WIND X#(A:AMBIENT WIND X,Meters per second)#Microsoft.Generic.Environment.AMBIENT WIND X +AMBIENT WIND Y#(A:AMBIENT WIND Y,Meters per second)#Microsoft.Generic.Environment.AMBIENT WIND Y +AMBIENT WIND Z#(A:AMBIENT WIND Z,Meters per second)#Microsoft.Generic.Environment.AMBIENT WIND Z +BAROMETER PRESSURE#(A:BAROMETER PRESSURE,Millibars)#Microsoft.Generic.Environment.BAROMETER PRESSURE +LOCAL DAY OF MONTH#(E:LOCAL DAY OF MONTH,number)#Microsoft.Generic.Environment.LOCAL DAY OF MONTH +LOCAL DAY OF WEEK#(E:LOCAL DAY OF WEEK,number)#Microsoft.Generic.Environment.LOCAL DAY OF WEEK +LOCAL DAY OF YEAR#(E:LOCAL DAY OF YEAR,number)#Microsoft.Generic.Environment.LOCAL DAY OF YEAR +LOCAL MONTH OF YEAR#(E:LOCAL MONTH OF YEAR,number)#Microsoft.Generic.Environment.LOCAL MONTH OF YEAR +LOCAL TIME#(E:LOCAL TIME,second)#Microsoft.Generic.Environment.LOCAL TIME +LOCAL YEAR#(E:LOCAL YEAR,number)#Microsoft.Generic.Environment.LOCAL YEAR +SEA LEVEL PRESSURE#(A:SEA LEVEL PRESSURE,Millibars)#Microsoft.Generic.Environment.SEA LEVEL PRESSURE +SIMULATION TIME#(E:SIMULATION TIME,second)#Microsoft.Generic.Environment.SIMULATION TIME +SIMULATION_RATE#(E:SIMULATION RATE,number)#Microsoft.Generic.Environment.SIMULATION_RATE +STANDARD ATM TEMPERATURE#(A:STANDARD ATM TEMPERATURE,Rankine)#Microsoft.Generic.Environment.STANDARD ATM TEMPERATURE +STRUCT AMBIENT WIND#(A:STRUCT AMBIENT WIND,Feet_per_second)#Microsoft.Generic.Environment.STRUCT AMBIENT WIND +TIME OF DAY#(E:TIME OF DAY,enum)#Microsoft.Generic.Environment.TIME OF DAY +TIME ZONE OFFSET#(E:TIME ZONE OFFSET,second)#Microsoft.Generic.Environment.TIME ZONE OFFSET +TOTAL AIR TEMPERATURE#(A:TOTAL AIR TEMPERATURE,Celsius)#Microsoft.Generic.Environment.TOTAL AIR TEMPERATURE +WINDSHIELD RAIN EFFECT AVAILABLE#(A:WINDSHIELD RAIN EFFECT AVAILABLE,Bool)#Microsoft.Generic.Environment.WINDSHIELD RAIN EFFECT AVAILABLE +ZULU DAY OF MONTH#(E:ZULU DAY OF MONTH,number)#Microsoft.Generic.Environment.ZULU DAY OF MONTH +ZULU DAY OF WEEK#(E:ZULU DAY OF WEEK,number)#Microsoft.Generic.Environment.ZULU DAY OF WEEK +ZULU DAY OF YEAR#(E:ZULU DAY OF YEAR,number)#Microsoft.Generic.Environment.ZULU DAY OF YEAR +ZULU MONTH OF YEAR#(E:ZULU MONTH OF YEAR,number)#Microsoft.Generic.Environment.ZULU MONTH OF YEAR +ZULU TIME#(E:ZULU TIME,second)#Microsoft.Generic.Environment.ZULU TIME +ZULU YEAR#(E:ZULU YEAR,number)#Microsoft.Generic.Environment.ZULU YEAR +Microsoft/Generic/Flight Instrumentation#GROUP +AIRSPEED BARBER POLE#(A:AIRSPEED BARBER POLE,Knots)#Microsoft.Generic.Flight Instrumentation.AIRSPEED BARBER POLE +AIRSPEED INDICATED#(A:AIRSPEED INDICATED,Knots)#Microsoft.Generic.Flight Instrumentation.AIRSPEED INDICATED +AIRSPEED MACH#(A:AIRSPEED MACH,Mach)#Microsoft.Generic.Flight Instrumentation.AIRSPEED MACH +AIRSPEED TRUE#(A:AIRSPEED TRUE,Knots)#Microsoft.Generic.Flight Instrumentation.AIRSPEED TRUE +AIRSPEED TRUE CALIBRATE#(A:AIRSPEED TRUE CALIBRATE,Degrees)#Microsoft.Generic.Flight Instrumentation.AIRSPEED TRUE CALIBRATE +ANGLE OF ATTACK INDICATOR#(A:ANGLE OF ATTACK INDICATOR,Radians)#Microsoft.Generic.Flight Instrumentation.ANGLE OF ATTACK INDICATOR +ATTITUDE BARS POSITION#(A:ATTITUDE BARS POSITION,Percent Over 100)#Microsoft.Generic.Flight Instrumentation.ATTITUDE BARS POSITION +ATTITUDE CAGE#(A:ATTITUDE CAGE,Bool)#Microsoft.Generic.Flight Instrumentation.ATTITUDE CAGE +ATTITUDE INDICATOR BANK DEGREES#(A:ATTITUDE INDICATOR BANK DEGREES,Radians)#Microsoft.Generic.Flight Instrumentation.ATTITUDE INDICATOR BANK DEGREES +ATTITUDE INDICATOR PITCH DEGREES#(A:ATTITUDE INDICATOR PITCH DEGREES,Radians)#Microsoft.Generic.Flight Instrumentation.ATTITUDE INDICATOR PITCH DEGREES +BARBER POLE MACH#(A:BARBER POLE MACH,Mach)#Microsoft.Generic.Flight Instrumentation.BARBER POLE MACH +DELTA HEADING RATE#(A:DELTA HEADING RATE,Radians per second)#Microsoft.Generic.Flight Instrumentation.DELTA HEADING RATE +GYRO DRIFT ERROR#(A:GYRO DRIFT ERROR,Radians)#Microsoft.Generic.Flight Instrumentation.GYRO DRIFT ERROR +HEADING INDICATOR#(A:HEADING INDICATOR,Degrees)#Microsoft.Generic.Flight Instrumentation.HEADING INDICATOR +INDICATED ALTITUDE#(A:INDICATED ALTITUDE,Feet)#Microsoft.Generic.Flight Instrumentation.INDICATED ALTITUDE +INDICATED ALTITUDE EX1#(A:INDICATED ALTITUDE EX1,Feet)#Microsoft.Generic.Flight Instrumentation.INDICATED ALTITUDE EX1 +KOHLSMAN SETTING HG#(A:KOHLSMAN SETTING HG, inHg)#Microsoft.Generic.Flight Instrumentation.KOHLSMAN SETTING HG +KOHLSMAN SETTING MB#(A:KOHLSMAN SETTING MB,Millibars)#Microsoft.Generic.Flight Instrumentation.KOHLSMAN SETTING MB +KOHLSMAN SETTING STD#(A:KOHLSMAN SETTING STD:index,Bool)#Microsoft.Generic.Flight Instrumentation.KOHLSMAN SETTING STD +MACH MAX OPERATE#(A:MACH MAX OPERATE,Mach)#Microsoft.Generic.Flight Instrumentation.MACH MAX OPERATE +MAX G FORCE#(A:MAX G FORCE,Gforce)#Microsoft.Generic.Flight Instrumentation.MAX G FORCE +MIN G FORCE#(A:MIN G FORCE,Gforce)#Microsoft.Generic.Flight Instrumentation.MIN G FORCE +OVERSPEED WARNING#(A:OVERSPEED WARNING,Bool)#Microsoft.Generic.Flight Instrumentation.OVERSPEED WARNING +PARTIAL PANEL ADF#(A:PARTIAL PANEL ADF,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL ADF +PARTIAL PANEL AIRSPEED#(A:PARTIAL PANEL AIRSPEED,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL AIRSPEED +PARTIAL PANEL ALTIMETER#(A:PARTIAL PANEL ALTIMETER,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL ALTIMETER +PARTIAL PANEL ATTITUDE#(A:PARTIAL PANEL ATTITUDE,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL ATTITUDE +PARTIAL PANEL AVIONICS#(A:PARTIAL PANEL AVIONICS,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL AVIONICS +PARTIAL PANEL COMM#(A:PARTIAL PANEL COMM,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL COMM +PARTIAL PANEL COMPASS#(A:PARTIAL PANEL COMPASS,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL COMPASS +PARTIAL PANEL ELECTRICAL#(A:PARTIAL PANEL ELECTRICAL,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL ELECTRICAL +PARTIAL PANEL ENGINE#(A:PARTIAL PANEL ENGINE,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL ENGINE +PARTIAL PANEL FUEL INDICATOR#(A:PARTIAL PANEL FUEL INDICATOR,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL FUEL INDICATOR +PARTIAL PANEL HEADING#(A:PARTIAL PANEL HEADING,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL HEADING +PARTIAL PANEL NAV#(A:PARTIAL PANEL NAV,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL NAV +PARTIAL PANEL PITOT#(A:PARTIAL PANEL PITOT,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL PITOT +PARTIAL PANEL TRANSPONDER#(A:PARTIAL PANEL TRANSPONDER,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL TRANSPONDER +PARTIAL PANEL TURN COORDINATOR#(A:PARTIAL PANEL TURN COORDINATOR,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL TURN COORDINATOR +PARTIAL PANEL VACUUM#(A:PARTIAL PANEL VACUUM,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL VACUUM +PARTIAL PANEL VERTICAL VELOCITY#(A:PARTIAL PANEL VERTICAL VELOCITY,Enum)#Microsoft.Generic.Flight Instrumentation.PARTIAL PANEL VERTICAL VELOCITY +PLANE HEADING DEGREES GYRO#(A:PLANE HEADING DEGREES GYRO,Radians)#Microsoft.Generic.Flight Instrumentation.PLANE HEADING DEGREES GYRO +RADIO HEIGHT#(A:RADIO HEIGHT,Feet)#Microsoft.Generic.Flight Instrumentation.RADIO HEIGHT +STALL WARNING#(A:STALL WARNING,Bool)#Microsoft.Generic.Flight Instrumentation.STALL WARNING +SUCTION PRESSURE#(A:SUCTION PRESSURE,Inches of Mercury, inHg)#Microsoft.Generic.Flight Instrumentation.SUCTION PRESSURE +TURN COORDINATOR BALL#(A:TURN COORDINATOR BALL,Position)#Microsoft.Generic.Flight Instrumentation.TURN COORDINATOR BALL +TURN COORDINATOR BALL INV#(A:TURN COORDINATOR BALL INV,Position)#Microsoft.Generic.Flight Instrumentation.TURN COORDINATOR BALL INV +VERTICAL SPEED#(A:VERTICAL SPEED,Feet per minute)#Microsoft.Generic.Flight Instrumentation.VERTICAL SPEED +WISKEY COMPASS INDICATION DEGREES#(A:WISKEY COMPASS INDICATION DEGREES,Degrees)#Microsoft.Generic.Flight Instrumentation.WISKEY COMPASS INDICATION DEGREES +Microsoft/Generic/Fuel#GROUP +ESTIMATED FUEL FLOW#(A:ESTIMATED FUEL FLOW,Pounds per hour)#Microsoft.Generic.Fuel.ESTIMATED FUEL FLOW +FUEL CROSS FEED#(A:FUEL CROSS FEED,Enum)#Microsoft.Generic.Fuel.FUEL CROSS FEED +FUEL LEFT CAPACITY#(A:FUEL LEFT CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL LEFT CAPACITY +FUEL LEFT QUANTITY#(A:FUEL LEFT QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL LEFT QUANTITY +FUEL RIGHT CAPACITY#(A:FUEL RIGHT CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL RIGHT CAPACITY +FUEL RIGHT QUANTITY#(A:FUEL RIGHT QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL RIGHT QUANTITY +FUEL SELECTED QUANTITY#(A:FUEL SELECTED QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL SELECTED QUANTITY +FUEL SELECTED QUANTITY PERCENT#(A:FUEL SELECTED QUANTITY PERCENT,Percent Over 100)#Microsoft.Generic.Fuel.FUEL SELECTED QUANTITY PERCENT +FUEL TANK CENTER CAPACITY#(A:FUEL TANK CENTER CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK CENTER CAPACITY +FUEL TANK CENTER LEVEL#(A:FUEL TANK CENTER LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK CENTER LEVEL +FUEL TANK CENTER QUANTITY#(A:FUEL TANK CENTER QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK CENTER QUANTITY +FUEL TANK CENTER2 CAPACITY#(A:FUEL TANK CENTER2 CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK CENTER2 CAPACITY +FUEL TANK CENTER2 LEVEL#(A:FUEL TANK CENTER2 LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK CENTER2 LEVEL +FUEL TANK CENTER2 QUANTITY#(A:FUEL TANK CENTER2 QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK CENTER2 QUANTITY +FUEL TANK CENTER3 CAPACITY#(A:FUEL TANK CENTER3 CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK CENTER3 CAPACITY +FUEL TANK CENTER3 LEVEL#(A:FUEL TANK CENTER3 LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK CENTER3 LEVEL +FUEL TANK CENTER3 QUANTITY#(A:FUEL TANK CENTER3 QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK CENTER3 QUANTITY +FUEL TANK EXTERNAL1 CAPACITY#(A:FUEL TANK EXTERNAL1 CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK EXTERNAL1 CAPACITY +FUEL TANK EXTERNAL1 LEVEL#(A:FUEL TANK EXTERNAL1 LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK EXTERNAL1 LEVEL +FUEL TANK EXTERNAL1 QUANTITY#(A:FUEL TANK EXTERNAL1 QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK EXTERNAL1 QUANTITY +FUEL TANK EXTERNAL2 CAPACITY#(A:FUEL TANK EXTERNAL2 CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK EXTERNAL2 CAPACITY +FUEL TANK EXTERNAL2 LEVEL#(A:FUEL TANK EXTERNAL2 LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK EXTERNAL2 LEVEL +FUEL TANK EXTERNAL2 QUANTITY#(A:FUEL TANK EXTERNAL2 QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK EXTERNAL2 QUANTITY +FUEL TANK LEFT AUX CAPACITY#(A:FUEL TANK LEFT AUX CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK LEFT AUX CAPACITY +FUEL TANK LEFT AUX LEVEL#(A:FUEL TANK LEFT AUX LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK LEFT AUX LEVEL +FUEL TANK LEFT AUX QUANTITY#(A:FUEL TANK LEFT AUX QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK LEFT AUX QUANTITY +FUEL TANK LEFT MAIN CAPACITY#(A:FUEL TANK LEFT MAIN CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK LEFT MAIN CAPACITY +FUEL TANK LEFT MAIN LEVEL#(A:FUEL TANK LEFT MAIN LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK LEFT MAIN LEVEL +FUEL TANK LEFT MAIN QUANTITY#(A:FUEL TANK LEFT MAIN QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK LEFT MAIN QUANTITY +FUEL TANK LEFT TIP CAPACITY#(A:FUEL TANK LEFT TIP CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK LEFT TIP CAPACITY +FUEL TANK LEFT TIP LEVEL#(A:FUEL TANK LEFT TIP LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK LEFT TIP LEVEL +FUEL TANK LEFT TIP QUANTITY#(A:FUEL TANK LEFT TIP QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK LEFT TIP QUANTITY +FUEL TANK RIGHT AUX CAPACITY#(A:FUEL TANK RIGHT AUX CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK RIGHT AUX CAPACITY +FUEL TANK RIGHT AUX LEVEL#(A:FUEL TANK RIGHT AUX LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK RIGHT AUX LEVEL +FUEL TANK RIGHT AUX QUANTITY#(A:FUEL TANK RIGHT AUX QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK RIGHT AUX QUANTITY +FUEL TANK RIGHT MAIN CAPACITY#(A:FUEL TANK RIGHT MAIN CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK RIGHT MAIN CAPACITY +FUEL TANK RIGHT MAIN LEVEL#(A:FUEL TANK RIGHT MAIN LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK RIGHT MAIN LEVEL +FUEL TANK RIGHT MAIN QUANTITY#(A:FUEL TANK RIGHT MAIN QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK RIGHT MAIN QUANTITY +FUEL TANK RIGHT TIP CAPACITY#(A:FUEL TANK RIGHT TIP CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK RIGHT TIP CAPACITY +FUEL TANK RIGHT TIP LEVEL#(A:FUEL TANK RIGHT TIP LEVEL,Percent Over 100)#Microsoft.Generic.Fuel.FUEL TANK RIGHT TIP LEVEL +FUEL TANK RIGHT TIP QUANTITY#(A:FUEL TANK RIGHT TIP QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TANK RIGHT TIP QUANTITY +FUEL TANK SELECTOR:index#(A:FUEL TANK SELECTOR:index,Enum)#Microsoft.Generic.Fuel.FUEL TANK SELECTOR:index +FUEL TOTAL CAPACITY#(A:FUEL TOTAL CAPACITY,Gallons)#Microsoft.Generic.Fuel.FUEL TOTAL CAPACITY +FUEL TOTAL QUANTITY#(A:FUEL TOTAL QUANTITY,Gallons)#Microsoft.Generic.Fuel.FUEL TOTAL QUANTITY +FUEL TOTAL QUANTITY WEIGHT#(A:FUEL TOTAL QUANTITY WEIGHT,Pounds)#Microsoft.Generic.Fuel.FUEL TOTAL QUANTITY WEIGHT +FUEL WEIGHT PER GALLON#(A:FUEL WEIGHT PER GALLON,Pounds)#Microsoft.Generic.Fuel.FUEL WEIGHT PER GALLON +NEW FUEL SYSTEM#(A:NEW FUEL SYSTEM,Bool)#Microsoft.Generic.Fuel.NEW FUEL SYSTEM +NUM FUEL SELECTORS#(A:NUM FUEL SELECTORS,Number)#Microsoft.Generic.Fuel.NUM FUEL SELECTORS +UNLIMITED FUEL#(A:UNLIMITED FUEL,Bool)#Microsoft.Generic.Fuel.UNLIMITED FUEL +Microsoft/Generic/Gear#GROUP +AUX WHEEL ROTATION ANGLE#(A:AUX WHEEL ROTATION ANGLE,Radians)#Microsoft.Generic.Gear.AUX WHEEL ROTATION ANGLE +AUX WHEEL RPM#(A:AUX WHEEL RPM,Rpm)#Microsoft.Generic.Gear.AUX WHEEL RPM +CENTER WHEEL ROTATION ANGLE#(A:CENTER WHEEL ROTATION ANGLE,Radians)#Microsoft.Generic.Gear.CENTER WHEEL ROTATION ANGLE +CENTER WHEEL RPM#(A:CENTER WHEEL RPM,Rpm)#Microsoft.Generic.Gear.CENTER WHEEL RPM +GEAR ANIMATION POSITION:index#(A:GEAR ANIMATION POSITION:index,Number)#Microsoft.Generic.Gear.GEAR ANIMATION POSITION:index +GEAR AUX POSITION#(A:GEAR AUX POSITION,Percent Over 100)#Microsoft.Generic.Gear.GEAR AUX POSITION +GEAR AUX STEER ANGLE#(A:GEAR AUX STEER ANGLE,Percent Over 100)#Microsoft.Generic.Gear.GEAR AUX STEER ANGLE +GEAR AUX STEER ANGLE PCT#(A:GEAR AUX STEER ANGLE PCT,Percent Over 100)#Microsoft.Generic.Gear.GEAR AUX STEER ANGLE PCT +GEAR CENTER POSITION#(A:GEAR CENTER POSITION,Percent)#Microsoft.Generic.Gear.GEAR CENTER POSITION +GEAR CENTER STEER ANGLE#(A:GEAR CENTER STEER ANGLE,Percent Over 100)#Microsoft.Generic.Gear.GEAR CENTER STEER ANGLE +GEAR CENTER STEER ANGLE PCT#(A:GEAR CENTER STEER ANGLE PCT,Percent Over 100)#Microsoft.Generic.Gear.GEAR CENTER STEER ANGLE PCT +GEAR DAMAGE BY SPEED#(A:GEAR DAMAGE BY SPEED,Bool)#Microsoft.Generic.Gear.GEAR DAMAGE BY SPEED +GEAR EMERGENCY HANDLE POSITION#(A:GEAR EMERGENCY HANDLE POSITION,Bool)#Microsoft.Generic.Gear.GEAR EMERGENCY HANDLE POSITION +GEAR HANDLE POSITION#(A:GEAR HANDLE POSITION,Bool)#Microsoft.Generic.Gear.GEAR HANDLE POSITION +GEAR HYDRAULIC PRESSURE#(A:GEAR HYDRAULIC PRESSURE,Pound)#Microsoft.Generic.Gear.GEAR HYDRAULIC PRESSURE +GEAR LEFT POSITION#(A:GEAR LEFT POSITION,Percent)#Microsoft.Generic.Gear.GEAR LEFT POSITION +GEAR LEFT STEER ANGLE#(A:GEAR LEFT STEER ANGLE,Percent Over 100)#Microsoft.Generic.Gear.GEAR LEFT STEER ANGLE +GEAR LEFT STEER ANGLE PCT#(A:GEAR LEFT STEER ANGLE PCT,Percent Over 100)#Microsoft.Generic.Gear.GEAR LEFT STEER ANGLE PCT +GEAR POSITION:index#(A:GEAR POSITION:index,Enum)#Microsoft.Generic.Gear.GEAR POSITION:index +GEAR RIGHT POSITION#(A:GEAR RIGHT POSITION,Percent)#Microsoft.Generic.Gear.GEAR RIGHT POSITION +GEAR RIGHT STEER ANGLE#(A:GEAR RIGHT STEER ANGLE,Percent Over 100)#Microsoft.Generic.Gear.GEAR RIGHT STEER ANGLE +GEAR RIGHT STEER ANGLE PCT#(A:GEAR RIGHT STEER ANGLE PCT,Percent Over 100)#Microsoft.Generic.Gear.GEAR RIGHT STEER ANGLE PCT +GEAR SPEED EXCEEDED#(A:GEAR SPEED EXCEEDED,Bool)#Microsoft.Generic.Gear.GEAR SPEED EXCEEDED +GEAR STEER ANGLE PCT:index#(A:GEAR STEER ANGLE PCT:index,Percent Over 100)#Microsoft.Generic.Gear.GEAR STEER ANGLE PCT:index +GEAR STEER ANGLE:index#(A:GEAR STEER ANGLE:index,Percent Over 100)#Microsoft.Generic.Gear.GEAR STEER ANGLE:index +GEAR TAIL POSITION#(A:GEAR TAIL POSITION,Percent Over 100)#Microsoft.Generic.Gear.GEAR TAIL POSITION +GEAR TOTAL PCT EXTENDED#(A:GEAR TOTAL PCT EXTENDED,Percentage)#Microsoft.Generic.Gear.GEAR TOTAL PCT EXTENDED +GEAR WARNING#(A:GEAR WARNING,Enum)#Microsoft.Generic.Gear.GEAR WARNING +IS GEAR FLOATS#(A:IS GEAR FLOATS,Bool)#Microsoft.Generic.Gear.IS GEAR FLOATS +IS GEAR RETRACTABLE#(A:IS GEAR RETRACTABLE,Bool)#Microsoft.Generic.Gear.IS GEAR RETRACTABLE +IS GEAR SKIDS#(A:IS GEAR SKIDS,Bool)#Microsoft.Generic.Gear.IS GEAR SKIDS +IS GEAR SKIS#(A:IS GEAR SKIS,Bool)#Microsoft.Generic.Gear.IS GEAR SKIS +IS GEAR WHEELS#(A:IS GEAR WHEELS,Bool)#Microsoft.Generic.Gear.IS GEAR WHEELS +LEFT WHEEL ROTATION ANGLE#(A:LEFT WHEEL ROTATION ANGLE,Radians)#Microsoft.Generic.Gear.LEFT WHEEL ROTATION ANGLE +LEFT WHEEL RPM#(A:LEFT WHEEL RPM,Rpm)#Microsoft.Generic.Gear.LEFT WHEEL RPM +NOSEWHEEL LOCK ON#(A:NOSEWHEEL LOCK ON,Bool)#Microsoft.Generic.Gear.NOSEWHEEL LOCK ON +RETRACT FLOAT SWITCH#(A:RETRACT FLOAT SWITCH,Bool)#Microsoft.Generic.Gear.RETRACT FLOAT SWITCH +RETRACT LEFT FLOAT EXTENDED#(A:RETRACT LEFT FLOAT EXTENDED,Percent)#Microsoft.Generic.Gear.RETRACT LEFT FLOAT EXTENDED +RETRACT RIGHT FLOAT EXTENDED#(A:RETRACT RIGHT FLOAT EXTENDED,Percent)#Microsoft.Generic.Gear.RETRACT RIGHT FLOAT EXTENDED +RIGHT WHEEL ROTATION ANGLE#(A:RIGHT WHEEL ROTATION ANGLE,Radians)#Microsoft.Generic.Gear.RIGHT WHEEL ROTATION ANGLE +RIGHT WHEEL RPM#(A:RIGHT WHEEL RPM,Rpm)#Microsoft.Generic.Gear.RIGHT WHEEL RPM +STEER INPUT CONTROL#(A:STEER INPUT CONTROL,Percent over 100)#Microsoft.Generic.Gear.STEER INPUT CONTROL +TAILWHEEL LOCK ON#(A:TAILWHEEL LOCK ON,Bool)#Microsoft.Generic.Gear.TAILWHEEL LOCK ON +WATER LEFT RUDDER EXTENDED#(A:WATER LEFT RUDDER EXTENDED,Percentage)#Microsoft.Generic.Gear.WATER LEFT RUDDER EXTENDED +WATER LEFT RUDDER STEER ANGLE#(A:WATER LEFT RUDDER STEER ANGLE,Percent Over 100)#Microsoft.Generic.Gear.WATER LEFT RUDDER STEER ANGLE +WATER LEFT RUDDER STEER ANGLE PCT#(A:WATER LEFT RUDDER STEER ANGLE PCT,Percent Over 100)#Microsoft.Generic.Gear.WATER LEFT RUDDER STEER ANGLE PCT +WATER RIGHT RUDDER EXTENDED#(A:WATER RIGHT RUDDER EXTENDED,Percentage)#Microsoft.Generic.Gear.WATER RIGHT RUDDER EXTENDED +WATER RIGHT RUDDER STEER ANGLE#(A:WATER RIGHT RUDDER STEER ANGLE,Percent Over 100)#Microsoft.Generic.Gear.WATER RIGHT RUDDER STEER ANGLE +WATER RIGHT RUDDER STEER ANGLE PCT#(A:WATER RIGHT RUDDER STEER ANGLE PCT,Percent Over 100)#Microsoft.Generic.Gear.WATER RIGHT RUDDER STEER ANGLE PCT +WATER RUDDER HANDLE POSITION#(A:WATER RUDDER HANDLE POSITION,Percent Over 100)#Microsoft.Generic.Gear.WATER RUDDER HANDLE POSITION +WHEEL ROTATION ANGLE#(A:WHEEL ROTATION ANGLE,Radians)#Microsoft.Generic.Gear.WHEEL ROTATION ANGLE +WHEEL RPM#(A:WHEEL RPM,Rpm)#Microsoft.Generic.Gear.WHEEL RPM +Microsoft/Generic/Interaction#GROUP +EXIT OPEN:index#(A:EXIT OPEN:index,Percent Over 100)#Microsoft.Generic.Interaction.EXIT OPEN:index +EXIT POSX#(A:EXIT POSX,Feet)#Microsoft.Generic.Interaction.EXIT POSX +EXIT POSY#(A:EXIT POSY,Feet)#Microsoft.Generic.Interaction.EXIT POSY +EXIT POSZ#(A:EXIT POSZ,Feet)#Microsoft.Generic.Interaction.EXIT POSZ +EXIT TYPE#(A:EXIT TYPE,Enum)#Microsoft.Generic.Interaction.EXIT TYPE +INTERACTIVE POINT BANK#(A:INTERACTIVE POINT BANK,Degrees)#Microsoft.Generic.Interaction.INTERACTIVE POINT BANK +INTERACTIVE POINT HEADING#(A:INTERACTIVE POINT HEADING,Degrees)#Microsoft.Generic.Interaction.INTERACTIVE POINT HEADING +INTERACTIVE POINT JETWAY LEFT BEND#(A:INTERACTIVE POINT JETWAY LEFT BEND,Percent)#Microsoft.Generic.Interaction.INTERACTIVE POINT JETWAY LEFT BEND +INTERACTIVE POINT JETWAY LEFT DEPLOYMENT#(A:INTERACTIVE POINT JETWAY LEFT DEPLOYMENT,Degrees)#Microsoft.Generic.Interaction.INTERACTIVE POINT JETWAY LEFT DEPLOYMENT +INTERACTIVE POINT JETWAY RIGHT BEND#(A:INTERACTIVE POINT JETWAY RIGHT BEND,Percent)#Microsoft.Generic.Interaction.INTERACTIVE POINT JETWAY RIGHT BEND +INTERACTIVE POINT JETWAY RIGHT DEPLOYMENT#(A:INTERACTIVE POINT JETWAY RIGHT DEPLOYMENT,Degrees)#Microsoft.Generic.Interaction.INTERACTIVE POINT JETWAY RIGHT DEPLOYMENT +INTERACTIVE POINT JETWAY TOP HORIZONTAL#(A:INTERACTIVE POINT JETWAY TOP HORIZONTAL,Percent)#Microsoft.Generic.Interaction.INTERACTIVE POINT JETWAY TOP HORIZONTAL +INTERACTIVE POINT JETWAY TOP VERTICAL#(A:INTERACTIVE POINT JETWAY TOP VERTICAL,Percent)#Microsoft.Generic.Interaction.INTERACTIVE POINT JETWAY TOP VERTICAL +INTERACTIVE POINT OPEN#(A:INTERACTIVE POINT OPEN,Percent over 100)#Microsoft.Generic.Interaction.INTERACTIVE POINT OPEN +INTERACTIVE POINT PITCH#(A:INTERACTIVE POINT PITCH,Degrees)#Microsoft.Generic.Interaction.INTERACTIVE POINT PITCH +INTERACTIVE POINT POSX#(A:INTERACTIVE POINT POSX,Feet)#Microsoft.Generic.Interaction.INTERACTIVE POINT POSX +INTERACTIVE POINT POSY#(A:INTERACTIVE POINT POSY,Feet)#Microsoft.Generic.Interaction.INTERACTIVE POINT POSY +INTERACTIVE POINT POSZ#(A:INTERACTIVE POINT POSZ,Feet)#Microsoft.Generic.Interaction.INTERACTIVE POINT POSZ +INTERACTIVE POINT TYPE#(A:INTERACTIVE POINT TYPE,Enum)#Microsoft.Generic.Interaction.INTERACTIVE POINT TYPE +Microsoft/Generic/Lights#GROUP +LANDING LIGHT PBH#(A:LANDING LIGHT PBH,Number)#Microsoft.Generic.Lights.LANDING LIGHT PBH +LIGHT BACKLIGHT INTENSITY#(A:LIGHT BACKLIGHT INTENSITY,Percent over 100)#Microsoft.Generic.Lights.LIGHT BACKLIGHT INTENSITY +LIGHT BEACON#(A:LIGHT BEACON,Bool)#Microsoft.Generic.Lights.LIGHT BEACON +LIGHT BEACON ON#(A:LIGHT BEACON ON,Bool)#Microsoft.Generic.Lights.LIGHT BEACON ON +LIGHT CABIN#(A:LIGHT CABIN,Bool)#Microsoft.Generic.Lights.LIGHT CABIN +LIGHT CABIN ON#(A:LIGHT CABIN ON,Bool)#Microsoft.Generic.Lights.LIGHT CABIN ON +LIGHT GYROLIGHT INTENSITY#(A:LIGHT GYROLIGHT INTENSITY,Percent over 100)#Microsoft.Generic.Lights.LIGHT GYROLIGHT INTENSITY +LIGHT HEAD ON#(A:LIGHT HEAD ON,Bool)#Microsoft.Generic.Lights.LIGHT HEAD ON +LIGHT HEADLIGHT INTENSITY#(A:LIGHT HEADLIGHT INTENSITY,Percent over 100)#Microsoft.Generic.Lights.LIGHT HEADLIGHT INTENSITY +LIGHT LANDING#(A:LIGHT LANDING,Bool)#Microsoft.Generic.Lights.LIGHT LANDING +LIGHT LANDING ON#(A:LIGHT LANDING ON,Bool)#Microsoft.Generic.Lights.LIGHT LANDING ON +LIGHT LOGO#(A:LIGHT LOGO,Bool)#Microsoft.Generic.Lights.LIGHT LOGO +LIGHT LOGO ON#(A:LIGHT LOGO ON,Bool)#Microsoft.Generic.Lights.LIGHT LOGO ON +LIGHT NAV#(A:LIGHT NAV,Bool)#Microsoft.Generic.Lights.LIGHT NAV +LIGHT NAV ON#(A:LIGHT NAV ON,Bool)#Microsoft.Generic.Lights.LIGHT NAV ON +LIGHT ON STATES#(A:LIGHT ON STATES,Mask)#Microsoft.Generic.Lights.LIGHT ON STATES +LIGHT PANEL#(A:LIGHT PANEL,Bool)#Microsoft.Generic.Lights.LIGHT PANEL +LIGHT PANEL ON#(A:LIGHT PANEL ON,Bool)#Microsoft.Generic.Lights.LIGHT PANEL ON +LIGHT RECOGNITION#(A:LIGHT RECOGNITION,Bool)#Microsoft.Generic.Lights.LIGHT RECOGNITION +LIGHT RECOGNITION ON#(A:LIGHT RECOGNITION ON,Bool)#Microsoft.Generic.Lights.LIGHT RECOGNITION ON +LIGHT STATES#(A:LIGHT STATES,Mask)#Microsoft.Generic.Lights.LIGHT STATES +LIGHT STROBE#(A:LIGHT STROBE,Bool)#Microsoft.Generic.Lights.LIGHT STROBE +LIGHT STROBE ON#(A:LIGHT STROBE ON,Bool)#Microsoft.Generic.Lights.LIGHT STROBE ON +LIGHT TAXI#(A:LIGHT TAXI,Bool)#Microsoft.Generic.Lights.LIGHT TAXI +LIGHT TAXI ON#(A:LIGHT TAXI ON,Bool)#Microsoft.Generic.Lights.LIGHT TAXI ON +LIGHT WING#(A:LIGHT WING,Bool)#Microsoft.Generic.Lights.LIGHT WING +LIGHT WING ON#(A:LIGHT WING ON,Bool)#Microsoft.Generic.Lights.LIGHT WING ON +Microsoft/Generic/Miscellaneous#GROUP +AIRSPEED SELECT INDICATED OR TRUE#(A:AIRSPEED SELECT INDICATED OR TRUE,Knots)#Microsoft.Generic.Miscellaneous.AIRSPEED SELECT INDICATED OR TRUE +ANEMOMETER PCT RPM#(A:ANEMOMETER PCT RPM,Percent over 100)#Microsoft.Generic.Miscellaneous.ANEMOMETER PCT RPM +ANIMATION DELTA TIME#(A:ANIMATION DELTA TIME,Seconds)#Microsoft.Generic.Miscellaneous.ANIMATION DELTA TIME +ANNUNCIATOR SWITCH#(A:ANNUNCIATOR SWITCH,Bool)#Microsoft.Generic.Miscellaneous.ANNUNCIATOR SWITCH +APPLY HEAT TO SYSTEMS#(A:APPLY HEAT TO SYSTEMS,Bool)#Microsoft.Generic.Miscellaneous.APPLY HEAT TO SYSTEMS +APU GENERATOR ACTIVE#(A:APU GENERATOR ACTIVE,Bool)#Microsoft.Generic.Miscellaneous.APU GENERATOR ACTIVE +APU GENERATOR SWITCH#(A:APU GENERATOR SWITCH,Bool)#Microsoft.Generic.Miscellaneous.APU GENERATOR SWITCH +APU ON FIRE DETECTED#(A:APU ON FIRE DETECTED,Bool)#Microsoft.Generic.Miscellaneous.APU ON FIRE DETECTED +APU PCT RPM#(A:APU PCT RPM,Percent over 100)#Microsoft.Generic.Miscellaneous.APU PCT RPM +APU PCT STARTER#(A:APU PCT STARTER,Percent over 100)#Microsoft.Generic.Miscellaneous.APU PCT STARTER +APU VOLTS#(A:APU VOLTS,Volts)#Microsoft.Generic.Miscellaneous.APU VOLTS +ARTIFICIAL GROUND ELEVATION#(A:ARTIFICIAL GROUND ELEVATION,Feet)#Microsoft.Generic.Miscellaneous.ARTIFICIAL GROUND ELEVATION +ATC AIRLINE#(A:ATC AIRLINE,String)#Microsoft.Generic.Miscellaneous.ATC AIRLINE +ATC FLIGHT NUMBER#(A:ATC FLIGHT NUMBER,String)#Microsoft.Generic.Miscellaneous.ATC FLIGHT NUMBER +ATC HEAVY#(A:ATC HEAVY,Bool)#Microsoft.Generic.Miscellaneous.ATC HEAVY +ATC ID#(A:ATC ID,String)#Microsoft.Generic.Miscellaneous.ATC ID +ATC MODEL#(A:ATC MODEL,String)#Microsoft.Generic.Miscellaneous.ATC MODEL +ATC ON PARKING SPOT#(A:ATC ON PARKING SPOT,Bool)#Microsoft.Generic.Miscellaneous.ATC ON PARKING SPOT +ATC SUGGESTED MIN RWY LANDING#(A:ATC SUGGESTED MIN RWY LANDING,Feet)#Microsoft.Generic.Miscellaneous.ATC SUGGESTED MIN RWY LANDING +ATC SUGGESTED MIN RWY TAKEOFF#(A:ATC SUGGESTED MIN RWY TAKEOFF,Feet)#Microsoft.Generic.Miscellaneous.ATC SUGGESTED MIN RWY TAKEOFF +ATC TYPE#(A:ATC TYPE,String)#Microsoft.Generic.Miscellaneous.ATC TYPE +AUTO COORDINATION#(A:AUTO COORDINATION,Bool)#Microsoft.Generic.Miscellaneous.AUTO COORDINATION +BETA DOT#(A:BETA DOT,Radians per second)#Microsoft.Generic.Miscellaneous.BETA DOT +BLEED AIR SOURCE CONTROL#(A:BLEED AIR SOURCE CONTROL,Enum)#Microsoft.Generic.Miscellaneous.BLEED AIR SOURCE CONTROL +CABIN NO SMOKING ALERT SWITCH#(A:CABIN NO SMOKING ALERT SWITCH,Bool)#Microsoft.Generic.Miscellaneous.CABIN NO SMOKING ALERT SWITCH +CANOPY OPEN#(A:CANOPY OPEN,Percent Over 100)#Microsoft.Generic.Miscellaneous.CANOPY OPEN +CARB HEAT AVAILABLE#(A:CARB HEAT AVAILABLE,Bool)#Microsoft.Generic.Miscellaneous.CARB HEAT AVAILABLE +CATEGORY#(A:CATEGORY,String)#Microsoft.Generic.Miscellaneous.CATEGORY +CG AFT LIMIT#(A:CG AFT LIMIT,Percent over 100)#Microsoft.Generic.Miscellaneous.CG AFT LIMIT +CG FWD LIMIT#(A:CG FWD LIMIT,Percent over 100)#Microsoft.Generic.Miscellaneous.CG FWD LIMIT +CG MAX MACH#(A:CG MAX MACH,Machs)#Microsoft.Generic.Miscellaneous.CG MAX MACH +CG MIN MACH#(A:CG MIN MACH,Machs)#Microsoft.Generic.Miscellaneous.CG MIN MACH +CG PERCENT#(A:CG PERCENT,Percent over 100)#Microsoft.Generic.Miscellaneous.CG PERCENT +CG PERCENT LATERAL#(A:CG PERCENT LATERAL,Percent over 100)#Microsoft.Generic.Miscellaneous.CG PERCENT LATERAL +CIRCUIT AUTO FEATHER ON#(A:CIRCUIT AUTO FEATHER ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT AUTO FEATHER ON +CIRCUIT AUTOPILOT ON#(A:CIRCUIT AUTOPILOT ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT AUTOPILOT ON +CIRCUIT AVIONICS ON#(A:CIRCUIT AVIONICS ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT AVIONICS ON +CIRCUIT FLAP MOTOR ON#(A:CIRCUIT FLAP MOTOR ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT FLAP MOTOR ON +CIRCUIT GEAR MOTOR ON#(A:CIRCUIT GEAR MOTOR ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT GEAR MOTOR ON +CIRCUIT GEAR WARNING ON#(A:CIRCUIT GEAR WARNING ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT GEAR WARNING ON +CIRCUIT GENERAL PANEL ON#(A:CIRCUIT GENERAL PANEL ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT GENERAL PANEL ON +CIRCUIT HYDRAULIC PUMP ON#(A:CIRCUIT HYDRAULIC PUMP ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT HYDRAULIC PUMP ON +CIRCUIT MARKER BEACON ON#(A:CIRCUIT MARKER BEACON ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT MARKER BEACON ON +CIRCUIT PITOT HEAT ON#(A:CIRCUIT PITOT HEAT ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT PITOT HEAT ON +CIRCUIT PROP SYNC ON#(A:CIRCUIT PROP SYNC ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT PROP SYNC ON +CIRCUIT STANDY VACUUM ON#(A:CIRCUIT STANDY VACUUM ON,Bool)#Microsoft.Generic.Miscellaneous.CIRCUIT STANDY VACUUM ON +CONCORDE NOSE ANGLE#(A:CONCORDE NOSE ANGLE,Radians)#Microsoft.Generic.Miscellaneous.CONCORDE NOSE ANGLE +CONCORDE VISOR NOSE HANDLE#(A:CONCORDE VISOR NOSE HANDLE,Enum)#Microsoft.Generic.Miscellaneous.CONCORDE VISOR NOSE HANDLE +CONCORDE VISOR POSITION PERCENT#(A:CONCORDE VISOR POSITION PERCENT,Percent over 100)#Microsoft.Generic.Miscellaneous.CONCORDE VISOR POSITION PERCENT +CRASH FLAG#(A:CRASH FLAG,Enum)#Microsoft.Generic.Miscellaneous.CRASH FLAG +CRASH SEQUENCE#(A:CRASH SEQUENCE,Enum)#Microsoft.Generic.Miscellaneous.CRASH SEQUENCE +DECISION ALTITUDE MSL#(A:DECISION ALTITUDE MSL,Feet)#Microsoft.Generic.Miscellaneous.DECISION ALTITUDE MSL +DECISION HEIGHT#(A:DECISION HEIGHT,Feet)#Microsoft.Generic.Miscellaneous.DECISION HEIGHT +DESIGN SPEED VC#(A:DESIGN SPEED VC,Feet per second)#Microsoft.Generic.Miscellaneous.DESIGN SPEED VC +DESIGN SPEED VS0#(A:DESIGN SPEED VS0,Feet per second)#Microsoft.Generic.Miscellaneous.DESIGN SPEED VS0 +DESIGN SPEED VS1#(A:DESIGN SPEED VS1,Feet per second)#Microsoft.Generic.Miscellaneous.DESIGN SPEED VS1 +DISK BANK ANGLE#(A:DISK BANK ANGLE,Radians)#Microsoft.Generic.Miscellaneous.DISK BANK ANGLE +DISK BANK PCT#(A:DISK BANK PCT,Percent over 100)#Microsoft.Generic.Miscellaneous.DISK BANK PCT +DISK CONING PCT#(A:DISK CONING PCT,Percent over 100)#Microsoft.Generic.Miscellaneous.DISK CONING PCT +DISK PITCH ANGLE#(A:DISK PITCH ANGLE,Radians)#Microsoft.Generic.Miscellaneous.DISK PITCH ANGLE +DISK PITCH PCT#(A:DISK PITCH PCT,Percent over 100)#Microsoft.Generic.Miscellaneous.DISK PITCH PCT +DROPPABLE OBJECTS COUNT:index#(A:DROPPABLE OBJECTS COUNT:index,Number)#Microsoft.Generic.Miscellaneous.DROPPABLE OBJECTS COUNT:index +DROPPABLE OBJECTS TYPE:index#(A:DROPPABLE OBJECTS TYPE:index,String)#Microsoft.Generic.Miscellaneous.DROPPABLE OBJECTS TYPE:index +DROPPABLE OBJECTS UI NAME#(A:DROPPABLE OBJECTS UI NAME,String)#Microsoft.Generic.Miscellaneous.DROPPABLE OBJECTS UI NAME +DYNAMIC PRESSURE#(A:DYNAMIC PRESSURE,Pounds)#Microsoft.Generic.Miscellaneous.DYNAMIC PRESSURE +ELECTRICAL AVIONICS BUS AMPS#(A:ELECTRICAL AVIONICS BUS AMPS,Amperes)#Microsoft.Generic.Miscellaneous.ELECTRICAL AVIONICS BUS AMPS +ELECTRICAL AVIONICS BUS VOLTAGE#(A:ELECTRICAL AVIONICS BUS VOLTAGE,Volts)#Microsoft.Generic.Miscellaneous.ELECTRICAL AVIONICS BUS VOLTAGE +ELECTRICAL BATTERY BUS AMPS#(A:ELECTRICAL BATTERY BUS AMPS,Amperes)#Microsoft.Generic.Miscellaneous.ELECTRICAL BATTERY BUS AMPS +ELECTRICAL BATTERY BUS VOLTAGE#(A:ELECTRICAL BATTERY BUS VOLTAGE,Volts)#Microsoft.Generic.Miscellaneous.ELECTRICAL BATTERY BUS VOLTAGE +ELECTRICAL BATTERY LOAD#(A:ELECTRICAL BATTERY LOAD,Amperes)#Microsoft.Generic.Miscellaneous.ELECTRICAL BATTERY LOAD +ELECTRICAL BATTERY VOLTAGE#(A:ELECTRICAL BATTERY VOLTAGE,Volts)#Microsoft.Generic.Miscellaneous.ELECTRICAL BATTERY VOLTAGE +ELECTRICAL GENALT BUS AMPS:index#(A:ELECTRICAL GENALT BUS AMPS:index,Amperes)#Microsoft.Generic.Miscellaneous.ELECTRICAL GENALT BUS AMPS:index +ELECTRICAL GENALT BUS VOLTAGE:index#(A:ELECTRICAL GENALT BUS VOLTAGE:index,Volts)#Microsoft.Generic.Miscellaneous.ELECTRICAL GENALT BUS VOLTAGE:index +ELECTRICAL HOT BATTERY BUS AMPS#(A:ELECTRICAL HOT BATTERY BUS AMPS,Amperes)#Microsoft.Generic.Miscellaneous.ELECTRICAL HOT BATTERY BUS AMPS +ELECTRICAL HOT BATTERY BUS VOLTAGE#(A:ELECTRICAL HOT BATTERY BUS VOLTAGE,Volts)#Microsoft.Generic.Miscellaneous.ELECTRICAL HOT BATTERY BUS VOLTAGE +ELECTRICAL MAIN BUS AMPS#(A:ELECTRICAL MAIN BUS AMPS,Amperes)#Microsoft.Generic.Miscellaneous.ELECTRICAL MAIN BUS AMPS +ELECTRICAL MAIN BUS VOLTAGE#(A:ELECTRICAL MAIN BUS VOLTAGE,Volts)#Microsoft.Generic.Miscellaneous.ELECTRICAL MAIN BUS VOLTAGE +ELECTRICAL MASTER BATTERY#(A:ELECTRICAL MASTER BATTERY,Bool)#Microsoft.Generic.Miscellaneous.ELECTRICAL MASTER BATTERY +ELECTRICAL OLD CHARGING AMPS#(A:ELECTRICAL OLD CHARGING AMPS,Amps)#Microsoft.Generic.Miscellaneous.ELECTRICAL OLD CHARGING AMPS +ELECTRICAL TOTAL LOAD AMPS#(A:ELECTRICAL TOTAL LOAD AMPS,Amperes)#Microsoft.Generic.Miscellaneous.ELECTRICAL TOTAL LOAD AMPS +ELEVON DEFLECTION#(A:ELEVON DEFLECTION,Radians)#Microsoft.Generic.Miscellaneous.ELEVON DEFLECTION +EMPTY WEIGHT#(A:EMPTY WEIGHT,Pounds)#Microsoft.Generic.Miscellaneous.EMPTY WEIGHT +EMPTY WEIGHT CROSS COUPLED MOI#(A:EMPTY WEIGHT CROSS COUPLED MOI,Slugs per feet squared)#Microsoft.Generic.Miscellaneous.EMPTY WEIGHT CROSS COUPLED MOI +EMPTY WEIGHT PITCH MOI#(A:EMPTY WEIGHT PITCH MOI,Slugs per feet squared)#Microsoft.Generic.Miscellaneous.EMPTY WEIGHT PITCH MOI +EMPTY WEIGHT ROLL MOI#(A:EMPTY WEIGHT ROLL MOI,Slugs per feet squared)#Microsoft.Generic.Miscellaneous.EMPTY WEIGHT ROLL MOI +EMPTY WEIGHT YAW MOI#(A:EMPTY WEIGHT YAW MOI,Slugs per feet squared)#Microsoft.Generic.Miscellaneous.EMPTY WEIGHT YAW MOI +ENGINE MIXURE AVAILABLE#(A:ENGINE MIXURE AVAILABLE,Bool)#Microsoft.Generic.Miscellaneous.ENGINE MIXURE AVAILABLE +ESTIMATED CRUISE SPEED#(A:ESTIMATED CRUISE SPEED,Feet per second)#Microsoft.Generic.Miscellaneous.ESTIMATED CRUISE SPEED +FIRE BOTTLE DISCHARGED#(A:FIRE BOTTLE DISCHARGED,Bool)#Microsoft.Generic.Miscellaneous.FIRE BOTTLE DISCHARGED +FIRE BOTTLE SWITCH#(A:FIRE BOTTLE SWITCH,Bool)#Microsoft.Generic.Miscellaneous.FIRE BOTTLE SWITCH +FOLDING WING LEFT PERCENT#(A:FOLDING WING LEFT PERCENT,Percent Over 100)#Microsoft.Generic.Miscellaneous.FOLDING WING LEFT PERCENT +FOLDING WING RIGHT PERCENT#(A:FOLDING WING RIGHT PERCENT,Percent Over 100)#Microsoft.Generic.Miscellaneous.FOLDING WING RIGHT PERCENT +FUEL SELECTED TRANSFER MODE#(A:FUEL SELECTED TRANSFER MODE,Enum)#Microsoft.Generic.Miscellaneous.FUEL SELECTED TRANSFER MODE +FULL THROTTLE THRUST TO WEIGHT RATIO#(A:FULL THROTTLE THRUST TO WEIGHT RATIO,Number)#Microsoft.Generic.Miscellaneous.FULL THROTTLE THRUST TO WEIGHT RATIO +G FORCE#(A:G FORCE,GForce)#Microsoft.Generic.Miscellaneous.G FORCE +GPS APPROACH AIRPORT ID#(A:GPS APPROACH AIRPORT ID,String)#Microsoft.Generic.Miscellaneous.GPS APPROACH AIRPORT ID +GPS APPROACH APPROACH ID#(A:GPS APPROACH APPROACH ID,String)#Microsoft.Generic.Miscellaneous.GPS APPROACH APPROACH ID +GPS APPROACH TRANSITION ID#(A:GPS APPROACH TRANSITION ID,String)#Microsoft.Generic.Miscellaneous.GPS APPROACH TRANSITION ID +GPS WP NEXT ID#(A:GPS WP NEXT ID,String)#Microsoft.Generic.Miscellaneous.GPS WP NEXT ID +GPS WP PREV ID#(A:GPS WP PREV ID,String)#Microsoft.Generic.Miscellaneous.GPS WP PREV ID +GPWS SYSTEM ACTIVE#(A:GPWS SYSTEM ACTIVE,Bool)#Microsoft.Generic.Miscellaneous.GPWS SYSTEM ACTIVE +GPWS WARNING#(A:GPWS WARNING,Bool)#Microsoft.Generic.Miscellaneous.GPWS WARNING +HSI STATION IDENT#(A:HSI STATION IDENT,String)#Microsoft.Generic.Miscellaneous.HSI STATION IDENT +HYDRAULIC PRESSURE:index#(A:HYDRAULIC PRESSURE:index,Pound force per square foot)#Microsoft.Generic.Miscellaneous.HYDRAULIC PRESSURE:index +HYDRAULIC RESERVOIR PERCENT:index#(A:HYDRAULIC RESERVOIR PERCENT:index,Percent Over 100)#Microsoft.Generic.Miscellaneous.HYDRAULIC RESERVOIR PERCENT:index +HYDRAULIC SWITCH#(A:HYDRAULIC SWITCH,Bool)#Microsoft.Generic.Miscellaneous.HYDRAULIC SWITCH +HYDRAULIC SYSTEM INTEGRITY#(A:HYDRAULIC SYSTEM INTEGRITY,Percent Over 100)#Microsoft.Generic.Miscellaneous.HYDRAULIC SYSTEM INTEGRITY +INDUCTOR COMPASS HEADING REF#(A:INDUCTOR COMPASS HEADING REF,Radians)#Microsoft.Generic.Miscellaneous.INDUCTOR COMPASS HEADING REF +INDUCTOR COMPASS PERCENT DEVIATION#(A:INDUCTOR COMPASS PERCENT DEVIATION,Percent over 100)#Microsoft.Generic.Miscellaneous.INDUCTOR COMPASS PERCENT DEVIATION +IS ALTITUDE FREEZE ON#(A:IS ALTITUDE FREEZE ON,Bool)#Microsoft.Generic.Miscellaneous.IS ALTITUDE FREEZE ON +IS ATTITUDE FREEZE ON#(A:IS ATTITUDE FREEZE ON,Bool)#Microsoft.Generic.Miscellaneous.IS ATTITUDE FREEZE ON +IS LATITUDE LONGITUDE FREEZE ON#(A:IS LATITUDE LONGITUDE FREEZE ON,Bool)#Microsoft.Generic.Miscellaneous.IS LATITUDE LONGITUDE FREEZE ON +IS SLEW ACTIVE#(A:IS SLEW ACTIVE,Bool)#Microsoft.Generic.Miscellaneous.IS SLEW ACTIVE +IS SLEW ALLOWED#(A:IS SLEW ALLOWED,Bool)#Microsoft.Generic.Miscellaneous.IS SLEW ALLOWED +IS TAIL DRAGGER#(A:IS TAIL DRAGGER,Bool)#Microsoft.Generic.Miscellaneous.IS TAIL DRAGGER +IS USER SIM#(A:IS USER SIM,Bool)#Microsoft.Generic.Miscellaneous.IS USER SIM +LINEAR CL ALPHA#(A:LINEAR CL ALPHA,Per radian)#Microsoft.Generic.Miscellaneous.LINEAR CL ALPHA +MAGNETIC COMPASS#(A:MAGNETIC COMPASS,Degrees)#Microsoft.Generic.Miscellaneous.MAGNETIC COMPASS +MANUAL FUEL PUMP HANDLE#(A:MANUAL FUEL PUMP HANDLE,Percent over 100)#Microsoft.Generic.Miscellaneous.MANUAL FUEL PUMP HANDLE +MANUAL INSTRUMENT LIGHTS#(A:MANUAL INSTRUMENT LIGHTS,Bool)#Microsoft.Generic.Miscellaneous.MANUAL INSTRUMENT LIGHTS +MAX GROSS WEIGHT#(A:MAX GROSS WEIGHT,Pounds)#Microsoft.Generic.Miscellaneous.MAX GROSS WEIGHT +MAX RATED ENGINE RPM#(A:MAX RATED ENGINE RPM,Rpm)#Microsoft.Generic.Miscellaneous.MAX RATED ENGINE RPM +MIN DRAG VELOCITY#(A:MIN DRAG VELOCITY,Feet per second)#Microsoft.Generic.Miscellaneous.MIN DRAG VELOCITY +NAV GS LLAF64#(A:NAV GS LLAF64,Number)#Microsoft.Generic.Miscellaneous.NAV GS LLAF64 +NAV VOR LLAF64#(A:NAV VOR LLAF64,Number)#Microsoft.Generic.Miscellaneous.NAV VOR LLAF64 +PANEL ANTI ICE SWITCH#(A:PANEL ANTI ICE SWITCH,Bool)#Microsoft.Generic.Miscellaneous.PANEL ANTI ICE SWITCH +PAYLOAD STATION COUNT#(A:PAYLOAD STATION COUNT,Number)#Microsoft.Generic.Miscellaneous.PAYLOAD STATION COUNT +PAYLOAD STATION NAME#(A:PAYLOAD STATION NAME,String)#Microsoft.Generic.Miscellaneous.PAYLOAD STATION NAME +PAYLOAD STATION WEIGHT:index#(A:PAYLOAD STATION WEIGHT:index,Pounds)#Microsoft.Generic.Miscellaneous.PAYLOAD STATION WEIGHT:index +PITOT HEAT#(A:PITOT HEAT,Bool)#Microsoft.Generic.Miscellaneous.PITOT HEAT +PITOT HEAT SWITCH#(A:PITOT HEAT SWITCH,Enum)#Microsoft.Generic.Miscellaneous.PITOT HEAT SWITCH +PITOT ICE PCT#(A:PITOT ICE PCT,Percent over 100)#Microsoft.Generic.Miscellaneous.PITOT ICE PCT +PRESSURE ALTITUDE#(A:PRESSURE ALTITUDE,Meters)#Microsoft.Generic.Miscellaneous.PRESSURE ALTITUDE +PRESSURIZATION CABIN ALTITUDE#(A:PRESSURIZATION CABIN ALTITUDE,Feet)#Microsoft.Generic.Miscellaneous.PRESSURIZATION CABIN ALTITUDE +PRESSURIZATION CABIN ALTITUDE GOAL#(A:PRESSURIZATION CABIN ALTITUDE GOAL,Feet)#Microsoft.Generic.Miscellaneous.PRESSURIZATION CABIN ALTITUDE GOAL +PRESSURIZATION CABIN ALTITUDE RATE#(A:PRESSURIZATION CABIN ALTITUDE RATE,Feet per second)#Microsoft.Generic.Miscellaneous.PRESSURIZATION CABIN ALTITUDE RATE +PRESSURIZATION DUMP SWITCH#(A:PRESSURIZATION DUMP SWITCH,Bool)#Microsoft.Generic.Miscellaneous.PRESSURIZATION DUMP SWITCH +PRESSURIZATION PRESSURE DIFFERENTIAL#(A:PRESSURIZATION PRESSURE DIFFERENTIAL,Pounds per square foot)#Microsoft.Generic.Miscellaneous.PRESSURIZATION PRESSURE DIFFERENTIAL +PROP AUTO CRUISE ACTIVE#(A:PROP AUTO CRUISE ACTIVE,Bool)#Microsoft.Generic.Miscellaneous.PROP AUTO CRUISE ACTIVE +PROP BETA MAX#(A:PROP BETA MAX,Radians)#Microsoft.Generic.Miscellaneous.PROP BETA MAX +PROP BETA MIN#(A:PROP BETA MIN,Radians)#Microsoft.Generic.Miscellaneous.PROP BETA MIN +PROP BETA MIN REVERSE#(A:PROP BETA MIN REVERSE,Radians)#Microsoft.Generic.Miscellaneous.PROP BETA MIN REVERSE +PROP ROTATION ANGLE#(A:PROP ROTATION ANGLE,Radians)#Microsoft.Generic.Miscellaneous.PROP ROTATION ANGLE +PUSHBACK ANGLE#(A:PUSHBACK ANGLE,Radians)#Microsoft.Generic.Miscellaneous.PUSHBACK ANGLE +PUSHBACK CONTACTX#(A:PUSHBACK CONTACTX,Feet)#Microsoft.Generic.Miscellaneous.PUSHBACK CONTACTX +PUSHBACK CONTACTY#(A:PUSHBACK CONTACTY,Feet)#Microsoft.Generic.Miscellaneous.PUSHBACK CONTACTY +PUSHBACK CONTACTZ#(A:PUSHBACK CONTACTZ,Feet)#Microsoft.Generic.Miscellaneous.PUSHBACK CONTACTZ +PUSHBACK STATE#(A:PUSHBACK STATE,Enum)#Microsoft.Generic.Miscellaneous.PUSHBACK STATE +PUSHBACK WAIT#(A:PUSHBACK WAIT,Bool)#Microsoft.Generic.Miscellaneous.PUSHBACK WAIT +RAD INS SWITCH#(A:RAD INS SWITCH,Bool)#Microsoft.Generic.Miscellaneous.RAD INS SWITCH +REALISM#(A:REALISM,Number)#Microsoft.Generic.Miscellaneous.REALISM +REALISM CRASH DETECTION#(A:REALISM CRASH DETECTION,Bool)#Microsoft.Generic.Miscellaneous.REALISM CRASH DETECTION +REALISM CRASH WITH OTHERS#(A:REALISM CRASH WITH OTHERS,Bool)#Microsoft.Generic.Miscellaneous.REALISM CRASH WITH OTHERS +ROTOR ROTATION ANGLE#(A:ROTOR ROTATION ANGLE,Radians)#Microsoft.Generic.Miscellaneous.ROTOR ROTATION ANGLE +RUDDER PEDAL INDICATOR#(A:RUDDER PEDAL INDICATOR,Position)#Microsoft.Generic.Miscellaneous.RUDDER PEDAL INDICATOR +SEMIBODY LOADFACTOR Y#(A:SEMIBODY LOADFACTOR Y,Number)#Microsoft.Generic.Miscellaneous.SEMIBODY LOADFACTOR Y +SEMIBODY LOADFACTOR YDOT#(A:SEMIBODY LOADFACTOR YDOT,Per second)#Microsoft.Generic.Miscellaneous.SEMIBODY LOADFACTOR YDOT +SIGMA SQRT#(A:SIGMA SQRT,Number)#Microsoft.Generic.Miscellaneous.SIGMA SQRT +SIM DISABLED#(A:SIM DISABLED,Bool)#Microsoft.Generic.Miscellaneous.SIM DISABLED +SIMULATED RADIUS#(A:SIMULATED RADIUS,Feet)#Microsoft.Generic.Miscellaneous.SIMULATED RADIUS +SMOKE ENABLE#(A:SMOKE ENABLE,Bool)#Microsoft.Generic.Miscellaneous.SMOKE ENABLE +SMOKESYSTEM AVAILABLE#(A:SMOKESYSTEM AVAILABLE,Bool)#Microsoft.Generic.Miscellaneous.SMOKESYSTEM AVAILABLE +SPOILER AVAILABLE#(A:SPOILER AVAILABLE,Bool)#Microsoft.Generic.Miscellaneous.SPOILER AVAILABLE +STALL ALPHA#(A:STALL ALPHA,Radians)#Microsoft.Generic.Miscellaneous.STALL ALPHA +STALL HORN AVAILABLE#(A:STALL HORN AVAILABLE,Bool)#Microsoft.Generic.Miscellaneous.STALL HORN AVAILABLE +STATIC CG TO GROUND#(A:STATIC CG TO GROUND,Feet)#Microsoft.Generic.Miscellaneous.STATIC CG TO GROUND +STATIC PITCH#(A:STATIC PITCH,Radians)#Microsoft.Generic.Miscellaneous.STATIC PITCH +STROBES AVAILABLE#(A:STROBES AVAILABLE,Bool)#Microsoft.Generic.Miscellaneous.STROBES AVAILABLE +STRUCTURAL DEICE SWITCH#(A:STRUCTURAL DEICE SWITCH,Bool)#Microsoft.Generic.Miscellaneous.STRUCTURAL DEICE SWITCH +STRUCTURAL ICE PCT#(A:STRUCTURAL ICE PCT,Percent over 100)#Microsoft.Generic.Miscellaneous.STRUCTURAL ICE PCT +SURFACE CONDITION#(A:SURFACE CONDITION,Enum)#Microsoft.Generic.Miscellaneous.SURFACE CONDITION +SURFACE INFO VALID#(A:SURFACE INFO VALID,Bool)#Microsoft.Generic.Miscellaneous.SURFACE INFO VALID +TAILHOOK POSITION#(A:TAILHOOK POSITION,Percent Over 100)#Microsoft.Generic.Miscellaneous.TAILHOOK POSITION +TITLE#(A:TITLE,String)#Microsoft.Generic.Miscellaneous.TITLE +TOTAL VELOCITY#(A:TOTAL VELOCITY,Feet per second)#Microsoft.Generic.Miscellaneous.TOTAL VELOCITY +TOTAL WEIGHT#(A:TOTAL WEIGHT,Pounds)#Microsoft.Generic.Miscellaneous.TOTAL WEIGHT +TOTAL WEIGHT CROSS COUPLED MOI#(A:TOTAL WEIGHT CROSS COUPLED MOI,Slugs per feet squared)#Microsoft.Generic.Miscellaneous.TOTAL WEIGHT CROSS COUPLED MOI +TOTAL WEIGHT PITCH MOI#(A:TOTAL WEIGHT PITCH MOI,Slugs per feet squared)#Microsoft.Generic.Miscellaneous.TOTAL WEIGHT PITCH MOI +TOTAL WEIGHT ROLL MOI#(A:TOTAL WEIGHT ROLL MOI,Slugs per feet squared)#Microsoft.Generic.Miscellaneous.TOTAL WEIGHT ROLL MOI +TOTAL WEIGHT YAW MOI#(A:TOTAL WEIGHT YAW MOI,Slugs per feet squared)#Microsoft.Generic.Miscellaneous.TOTAL WEIGHT YAW MOI +TOW CONNECTION#(A:TOW CONNECTION,Bool)#Microsoft.Generic.Miscellaneous.TOW CONNECTION +TOW RELEASE HANDLE#(A:TOW RELEASE HANDLE,Percent over 100)#Microsoft.Generic.Miscellaneous.TOW RELEASE HANDLE +TRUE AIRSPEED SELECTED#(A:TRUE AIRSPEED SELECTED,Bool)#Microsoft.Generic.Miscellaneous.TRUE AIRSPEED SELECTED +TURN INDICATOR RATE#(A:TURN INDICATOR RATE,Radians per second)#Microsoft.Generic.Miscellaneous.TURN INDICATOR RATE +TURN INDICATOR SWITCH#(A:TURN INDICATOR SWITCH,Bool)#Microsoft.Generic.Miscellaneous.TURN INDICATOR SWITCH +TYPICAL DESCENT RATE#(A:TYPICAL DESCENT RATE,Feet per minute)#Microsoft.Generic.Miscellaneous.TYPICAL DESCENT RATE +USER INPUT ENABLED#(A:USER INPUT ENABLED,Bool)#Microsoft.Generic.Miscellaneous.USER INPUT ENABLED +VARIOMETER RATE#(A:VARIOMETER RATE,Feet per second)#Microsoft.Generic.Miscellaneous.VARIOMETER RATE +VARIOMETER SWITCH#(A:VARIOMETER SWITCH,Bool)#Microsoft.Generic.Miscellaneous.VARIOMETER SWITCH +VISUAL MODEL RADIUS#(A:VISUAL MODEL RADIUS,Meters)#Microsoft.Generic.Miscellaneous.VISUAL MODEL RADIUS +WATER BALLAST VALVE#(A:WATER BALLAST VALVE,Bool)#Microsoft.Generic.Miscellaneous.WATER BALLAST VALVE +WINDSHIELD DEICE SWITCH#(A:WINDSHIELD DEICE SWITCH,Bool)#Microsoft.Generic.Miscellaneous.WINDSHIELD DEICE SWITCH +WING AREA#(A:WING AREA,Square feet)#Microsoft.Generic.Miscellaneous.WING AREA +WING SPAN#(A:WING SPAN,Feet)#Microsoft.Generic.Miscellaneous.WING SPAN +YAW STRING ANGLE#(A:YAW STRING ANGLE,Radians)#Microsoft.Generic.Miscellaneous.YAW STRING ANGLE +YAW STRING PCT EXTENDED#(A:YAW STRING PCT EXTENDED,Percent over 100)#Microsoft.Generic.Miscellaneous.YAW STRING PCT EXTENDED +YOKE X INDICATOR#(A:YOKE X INDICATOR,Position)#Microsoft.Generic.Miscellaneous.YOKE X INDICATOR +YOKE Y INDICATOR#(A:YOKE Y INDICATOR,Position)#Microsoft.Generic.Miscellaneous.YOKE Y INDICATOR +ZERO LIFT ALPHA#(A:ZERO LIFT ALPHA,Radians)#Microsoft.Generic.Miscellaneous.ZERO LIFT ALPHA +Microsoft/Generic/Position and Speed#GROUP +ACCELERATION BODY X#(A:ACCELERATION BODY X,Feet per second squared)#Microsoft.Generic.Position and Speed.ACCELERATION BODY X +ACCELERATION BODY Y#(A:ACCELERATION BODY Y,Feet per second squared)#Microsoft.Generic.Position and Speed.ACCELERATION BODY Y +ACCELERATION BODY Z#(A:ACCELERATION BODY Z,Feet per second squared)#Microsoft.Generic.Position and Speed.ACCELERATION BODY Z +ACCELERATION WORLD X#(A:ACCELERATION WORLD X,Feet per second squared)#Microsoft.Generic.Position and Speed.ACCELERATION WORLD X +ACCELERATION WORLD Y#(A:ACCELERATION WORLD Y,Feet per second squared)#Microsoft.Generic.Position and Speed.ACCELERATION WORLD Y +ACCELERATION WORLD Z#(A:ACCELERATION WORLD Z,Feet per second squared)#Microsoft.Generic.Position and Speed.ACCELERATION WORLD Z +ATC AIRPORT IS TOWERED#(A:ATC AIRPORT IS TOWERED,Bool)#Microsoft.Generic.Position and Speed.ATC AIRPORT IS TOWERED +ATC CLEARED LANDING#(A:ATC CLEARED LANDING,Bool)#Microsoft.Generic.Position and Speed.ATC CLEARED LANDING +ATC CLEARED TAKEOFF#(A:ATC CLEARED TAKEOFF,Bool)#Microsoft.Generic.Position and Speed.ATC CLEARED TAKEOFF +ATC CLEARED TAXI#(A:ATC CLEARED TAXI,Bool)#Microsoft.Generic.Position and Speed.ATC CLEARED TAXI +ATC RUNWAY AIRPORT NAME#(A:ATC RUNWAY AIRPORT NAME,String)#Microsoft.Generic.Position and Speed.ATC RUNWAY AIRPORT NAME +ATC RUNWAY DISTANCE#(A:ATC RUNWAY DISTANCE,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY DISTANCE +ATC RUNWAY END DISTANCE#(A:ATC RUNWAY END DISTANCE,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY END DISTANCE +ATC RUNWAY HEADING DEGREES TRUE#(A:ATC RUNWAY HEADING DEGREES TRUE,Degrees)#Microsoft.Generic.Position and Speed.ATC RUNWAY HEADING DEGREES TRUE +ATC RUNWAY LENGTH#(A:ATC RUNWAY LENGTH,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY LENGTH +ATC RUNWAY RELATIVE POSITION X#(A:ATC RUNWAY RELATIVE POSITION X,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY RELATIVE POSITION X +ATC RUNWAY RELATIVE POSITION Y#(A:ATC RUNWAY RELATIVE POSITION Y,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY RELATIVE POSITION Y +ATC RUNWAY RELATIVE POSITION Z#(A:ATC RUNWAY RELATIVE POSITION Z,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY RELATIVE POSITION Z +ATC RUNWAY SELECTED#(A:ATC RUNWAY SELECTED,Bool)#Microsoft.Generic.Position and Speed.ATC RUNWAY SELECTED +ATC RUNWAY START DISTANCE#(A:ATC RUNWAY START DISTANCE,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY START DISTANCE +ATC RUNWAY TDPOINT RELATIVE POSITION X#(A:ATC RUNWAY TDPOINT RELATIVE POSITION X,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY TDPOINT RELATIVE POSITION X +ATC RUNWAY TDPOINT RELATIVE POSITION Y#(A:ATC RUNWAY TDPOINT RELATIVE POSITION Y,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY TDPOINT RELATIVE POSITION Y +ATC RUNWAY TDPOINT RELATIVE POSITION Z#(A:ATC RUNWAY TDPOINT RELATIVE POSITION Z,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY TDPOINT RELATIVE POSITION Z +ATC RUNWAY WIDTH#(A:ATC RUNWAY WIDTH,Meters)#Microsoft.Generic.Position and Speed.ATC RUNWAY WIDTH +ELEVATOR TRIM DISABLED#(A:ELEVATOR TRIM DISABLED,Bool)#Microsoft.Generic.Position and Speed.ELEVATOR TRIM DISABLED +EYEPOINT POSITION#(A:EYEPOINT POSITION,Number)#Microsoft.Generic.Position and Speed.EYEPOINT POSITION +GROUND ALTITUDE#(A:GROUND ALTITUDE,Meters)#Microsoft.Generic.Position and Speed.GROUND ALTITUDE +GROUND VELOCITY#(A:GROUND VELOCITY,Knots)#Microsoft.Generic.Position and Speed.GROUND VELOCITY +INCIDENCE ALPHA#(A:INCIDENCE ALPHA,Radians)#Microsoft.Generic.Position and Speed.INCIDENCE ALPHA +INCIDENCE BETA#(A:INCIDENCE BETA,Radians)#Microsoft.Generic.Position and Speed.INCIDENCE BETA +MAGVAR#(A:MAGVAR,Degrees)#Microsoft.Generic.Position and Speed.MAGVAR +ON ANY RUNWAY#(A:ON ANY RUNWAY,Bool)#Microsoft.Generic.Position and Speed.ON ANY RUNWAY +PLANE ALT ABOVE GROUND#(A:PLANE ALT ABOVE GROUND,Feet)#Microsoft.Generic.Position and Speed.PLANE ALT ABOVE GROUND +PLANE ALT ABOVE GROUND MINUS CG#(A:PLANE ALT ABOVE GROUND MINUS CG,Feet)#Microsoft.Generic.Position and Speed.PLANE ALT ABOVE GROUND MINUS CG +PLANE ALTITUDE#(A:PLANE ALTITUDE,Feet)#Microsoft.Generic.Position and Speed.PLANE ALTITUDE +PLANE BANK DEGREES#(A:PLANE BANK DEGREES,Radians)#Microsoft.Generic.Position and Speed.PLANE BANK DEGREES +PLANE HEADING DEGREES MAGNETIC#(A:PLANE HEADING DEGREES MAGNETIC,Radians)#Microsoft.Generic.Position and Speed.PLANE HEADING DEGREES MAGNETIC +PLANE HEADING DEGREES TRUE#(A:PLANE HEADING DEGREES TRUE,Radians)#Microsoft.Generic.Position and Speed.PLANE HEADING DEGREES TRUE +PLANE LATITUDE#(A:PLANE LATITUDE,Radians)#Microsoft.Generic.Position and Speed.PLANE LATITUDE +PLANE LONGITUDE#(A:PLANE LONGITUDE,Radians)#Microsoft.Generic.Position and Speed.PLANE LONGITUDE +PLANE PITCH DEGREES#(A:PLANE PITCH DEGREES,Radians)#Microsoft.Generic.Position and Speed.PLANE PITCH DEGREES +PLANE TOUCHDOWN BANK DEGREES#(A:PLANE TOUCHDOWN BANK DEGREES,Degrees)#Microsoft.Generic.Position and Speed.PLANE TOUCHDOWN BANK DEGREES +PLANE TOUCHDOWN HEADING DEGREES MAGNETIC#(A:PLANE TOUCHDOWN HEADING DEGREES MAGNETIC,Degrees)#Microsoft.Generic.Position and Speed.PLANE TOUCHDOWN HEADING DEGREES MAGNETIC +PLANE TOUCHDOWN HEADING DEGREES TRUE#(A:PLANE TOUCHDOWN HEADING DEGREES TRUE,Degrees)#Microsoft.Generic.Position and Speed.PLANE TOUCHDOWN HEADING DEGREES TRUE +PLANE TOUCHDOWN LATITUDE#(A:PLANE TOUCHDOWN LATITUDE,Radians)#Microsoft.Generic.Position and Speed.PLANE TOUCHDOWN LATITUDE +PLANE TOUCHDOWN LONGITUDE#(A:PLANE TOUCHDOWN LONGITUDE,Radians)#Microsoft.Generic.Position and Speed.PLANE TOUCHDOWN LONGITUDE +PLANE TOUCHDOWN NORMAL VELOCITY#(A:PLANE TOUCHDOWN NORMAL VELOCITY,Feet per second)#Microsoft.Generic.Position and Speed.PLANE TOUCHDOWN NORMAL VELOCITY +PLANE TOUCHDOWN PITCH DEGREES#(A:PLANE TOUCHDOWN PITCH DEGREES,Degrees)#Microsoft.Generic.Position and Speed.PLANE TOUCHDOWN PITCH DEGREES +RELATIVE WIND VELOCITY BODY X#(A:RELATIVE WIND VELOCITY BODY X,Feet per second)#Microsoft.Generic.Position and Speed.RELATIVE WIND VELOCITY BODY X +RELATIVE WIND VELOCITY BODY Y#(A:RELATIVE WIND VELOCITY BODY Y,Feet per second)#Microsoft.Generic.Position and Speed.RELATIVE WIND VELOCITY BODY Y +RELATIVE WIND VELOCITY BODY Z#(A:RELATIVE WIND VELOCITY BODY Z,Feet per second)#Microsoft.Generic.Position and Speed.RELATIVE WIND VELOCITY BODY Z +ROTATION ACCELERATION BODY X#(A:ROTATION ACCELERATION BODY X,Radians per second squared)#Microsoft.Generic.Position and Speed.ROTATION ACCELERATION BODY X +ROTATION ACCELERATION BODY Y#(A:ROTATION ACCELERATION BODY Y,Radians per second squared)#Microsoft.Generic.Position and Speed.ROTATION ACCELERATION BODY Y +ROTATION ACCELERATION BODY Z#(A:ROTATION ACCELERATION BODY Z,Radians per second squared)#Microsoft.Generic.Position and Speed.ROTATION ACCELERATION BODY Z +ROTATION VELOCITY BODY X#(A:ROTATION VELOCITY BODY X,Feet per second)#Microsoft.Generic.Position and Speed.ROTATION VELOCITY BODY X +ROTATION VELOCITY BODY Y#(A:ROTATION VELOCITY BODY Y,Feet per second)#Microsoft.Generic.Position and Speed.ROTATION VELOCITY BODY Y +ROTATION VELOCITY BODY Z#(A:ROTATION VELOCITY BODY Z,Feet per second)#Microsoft.Generic.Position and Speed.ROTATION VELOCITY BODY Z +RUDDER TRIM DISABLED#(A:RUDDER TRIM DISABLED,Bool)#Microsoft.Generic.Position and Speed.RUDDER TRIM DISABLED +SIM ON GROUND#(A:SIM ON GROUND,Bool)#Microsoft.Generic.Position and Speed.SIM ON GROUND +SLOPE TO ATC RUNWAY#(A:SLOPE TO ATC RUNWAY,Radians)#Microsoft.Generic.Position and Speed.SLOPE TO ATC RUNWAY +STRUCT BODY ROTATION VELOCITY#(A:STRUCT BODY ROTATION VELOCITY,Number)#Microsoft.Generic.Position and Speed.STRUCT BODY ROTATION VELOCITY +STRUCT BODY VELOCITY#(A:STRUCT BODY VELOCITY,Number)#Microsoft.Generic.Position and Speed.STRUCT BODY VELOCITY +STRUCT ENGINE POSITION:index#(A:STRUCT ENGINE POSITION:index,Number)#Microsoft.Generic.Position and Speed.STRUCT ENGINE POSITION:index +STRUCT EYEPOINT DYNAMIC ANGLE#(A:STRUCT EYEPOINT DYNAMIC ANGLE,Number)#Microsoft.Generic.Position and Speed.STRUCT EYEPOINT DYNAMIC ANGLE +STRUCT EYEPOINT DYNAMIC OFFSET#(A:STRUCT EYEPOINT DYNAMIC OFFSET,Number)#Microsoft.Generic.Position and Speed.STRUCT EYEPOINT DYNAMIC OFFSET +STRUCT LATLONALT#(A:STRUCT LATLONALT,Number)#Microsoft.Generic.Position and Speed.STRUCT LATLONALT +STRUCT LATLONALTPBH#(A:STRUCT LATLONALTPBH,Number)#Microsoft.Generic.Position and Speed.STRUCT LATLONALTPBH +STRUCT SURFACE RELATIVE VELOCITY#(A:STRUCT SURFACE RELATIVE VELOCITY,Number)#Microsoft.Generic.Position and Speed.STRUCT SURFACE RELATIVE VELOCITY +STRUCT WORLD ACCELERATION#(A:STRUCT WORLD ACCELERATION,Number)#Microsoft.Generic.Position and Speed.STRUCT WORLD ACCELERATION +STRUCT WORLD ROTATION VELOCITY#(A:STRUCT WORLD ROTATION VELOCITY,Number)#Microsoft.Generic.Position and Speed.STRUCT WORLD ROTATION VELOCITY +STRUCT WORLDVELOCITY#(A:STRUCT WORLDVELOCITY,Number)#Microsoft.Generic.Position and Speed.STRUCT WORLDVELOCITY +SURFACE TYPE#(A:SURFACE TYPE,Enum)#Microsoft.Generic.Position and Speed.SURFACE TYPE +TOTAL WORLD VELOCITY#(A:TOTAL WORLD VELOCITY,Feet per second)#Microsoft.Generic.Position and Speed.TOTAL WORLD VELOCITY +VELOCITY BODY X#(A:VELOCITY BODY X,Feet per second)#Microsoft.Generic.Position and Speed.VELOCITY BODY X +VELOCITY BODY Y#(A:VELOCITY BODY Y,Feet per second)#Microsoft.Generic.Position and Speed.VELOCITY BODY Y +VELOCITY BODY Z#(A:VELOCITY BODY Z,Feet per second)#Microsoft.Generic.Position and Speed.VELOCITY BODY Z +VELOCITY WORLD X#(A:VELOCITY WORLD X,Feet per second)#Microsoft.Generic.Position and Speed.VELOCITY WORLD X +VELOCITY WORLD Y#(A:VELOCITY WORLD Y,Feet per second)#Microsoft.Generic.Position and Speed.VELOCITY WORLD Y +VELOCITY WORLD Z#(A:VELOCITY WORLD Z,Feet per second)#Microsoft.Generic.Position and Speed.VELOCITY WORLD Z +WINDSHIELD WIND VELOCITY#(A:WINDSHIELD WIND VELOCITY,Feet per second)#Microsoft.Generic.Position and Speed.WINDSHIELD WIND VELOCITY +WING FLEX PCT:index#(A:WING FLEX PCT:index,Percent over 100)#Microsoft.Generic.Position and Speed.WING FLEX PCT:index +Microsoft/Generic/Radio#GROUP +COM RECEIVE EX1:index#(A:COM RECEIVE EX1:index,bool)#Microsoft.Generic.Radio.COM RECEIVE EX1:index +COM RECEIVE:index#(A:COM RECEIVE:index,bool)#Microsoft.Generic.Radio.COM RECEIVE:index +Microsoft/Generic/Warning System#GROUP +CABIN_SEATBELTS_ALERT_SWITCH#(A:CABIN SEATBELTS ALERT SWITCH, bool)#Microsoft.Generic.Warning System.CABIN_SEATBELTS_ALERT_SWITCH +Working Title/CJ4/Air Condition / Pressurization#GROUP +Pressurization Dump Switch ON#(A:PRESSURIZATION DUMP SWITCH, bool)#Working Title.CJ4.Air Condition / Pressurization.Pressurization Dump Switch ON +Working Title/CJ4/Anti-Ice#GROUP +WT CJ4 Pitot Heat 1 is ON#(L:DEICE_Pitot_1, Bool)#Working Title.CJ4.Anti-Ice.WT CJ4 Pitot Heat 1 is ON +WT CJ4 Pitot Heat 2 is ON#(L:DEICE_Pitot_2, Bool)#Working Title.CJ4.Anti-Ice.WT CJ4 Pitot Heat 2 is ON +WT_CJ4_ANTIICE_ENG_LEFT_LED#(A:ENG ANTI ICE:1,Bool)#Working Title.CJ4.Anti-Ice.WT_CJ4_ANTIICE_ENG_LEFT_LED +WT_CJ4_ANTIICE_ENG_RIGHT_LED#(A:ENG ANTI ICE:2,Bool)#Working Title.CJ4.Anti-Ice.WT_CJ4_ANTIICE_ENG_RIGHT_LED +WT_CJ4_DEICE_AIRFRAME_1#(L:DEICE_Airframe_1, bool)#Working Title.CJ4.Anti-Ice.WT_CJ4_DEICE_AIRFRAME_1 +WT_CJ4_DEICE_AIRFRAME_2#(L:DEICE_Airframe_2, Bool)#Working Title.CJ4.Anti-Ice.WT_CJ4_DEICE_AIRFRAME_2 +WT_CJ4_WING_LIGHT_ON#(A:LIGHT WING:0, Bool)#Working Title.CJ4.Anti-Ice.WT_CJ4_WING_LIGHT_ON +Working Title/CJ4/Autopilot#GROUP +WT_CJ4_AP_ALT_HOLD#(L:WT_CJ4_ALT_HOLD,Bool)#Working Title.CJ4.Autopilot.WT_CJ4_AP_ALT_HOLD +WT_CJ4_AP_ALT_LOCK_VAR#(A:AUTOPILOT ALTITUDE LOCK VAR:1,Feet)#Working Title.CJ4.Autopilot.WT_CJ4_AP_ALT_LOCK_VAR +WT_CJ4_AP_FLC_LOCK_DIR#(A:AUTOPILOT AIRSPEED LOCK DIR:1, knots)#Working Title.CJ4.Autopilot.WT_CJ4_AP_FLC_LOCK_DIR +WT_CJ4_AP_HDG_LOCK_DIR#(A:AUTOPILOT HEADING LOCK DIR:1, Degrees)#Working Title.CJ4.Autopilot.WT_CJ4_AP_HDG_LOCK_DIR +WT_CJ4_AP_VNAV_ON#(L:WT_CJ4_VNAV_ON,Bool)#Working Title.CJ4.Autopilot.WT_CJ4_AP_VNAV_ON +WT_CJ4_AP_VS_LOCK_DIR#(A:AUTOPILOT VERTICAL LOCK DIR:1, Feet/minute)#Working Title.CJ4.Autopilot.WT_CJ4_AP_VS_LOCK_DIR +WT_CJ4_FLC_ON#(L:WT_CJ4_FLC_ON, bool)#Working Title.CJ4.Autopilot.WT_CJ4_FLC_ON +WT_CJ4_HDG_ON#(L:WT_CJ4_HDG_ON,bool)#Working Title.CJ4.Autopilot.WT_CJ4_HDG_ON +WT_CJ4_NAV_ON#(L:WT_CJ4_NAV_ON, Bool)#Working Title.CJ4.Autopilot.WT_CJ4_NAV_ON +WT_CJ4_TOD_DISTANCE#(L:WT_CJ4_TOD_DISTANCE)#Working Title.CJ4.Autopilot.WT_CJ4_TOD_DISTANCE +WT_CJ4_TOD_REMAINING#(L:WT_CJ4_TOD_REMAINING)#Working Title.CJ4.Autopilot.WT_CJ4_TOD_REMAINING +WT_CJ4_VS_ON#(L:WT_CJ4_VS_ON)#Working Title.CJ4.Autopilot.WT_CJ4_VS_ON +Working Title/CJ4/Avionics#GROUP +WT_CJ4_PANEL_BRIGHTNESS#(L:LIGHTING_Knob_Master)#Working Title.CJ4.Avionics.WT_CJ4_PANEL_BRIGHTNESS +Working Title/CJ4/Engines#GROUP +Eng L Man Ignition Switch ON#(A:TURB ENG IGNITION SWITCH EX1:1, enum) 2 ==#Working Title.CJ4.Engines.Eng L Man Ignition Switch ON +Eng R Man Ignition ON#(A:TURB ENG IGNITION SWITCH EX1:2, enum) 2 ==#Working Title.CJ4.Engines.Eng R Man Ignition ON +Engine L Run ON#(A:GENERAL ENG MIXTURE LEVER POSITION:1, Percent) 0 >#Working Title.CJ4.Engines.Engine L Run ON +Engine L Starter ON#(A:GENERAL ENG STARTER:1, bool)#Working Title.CJ4.Engines.Engine L Starter ON +Engine L Stop ON#(A:GENERAL ENG MIXTURE LEVER POSITION:1, percent) 0 == (A:GENERAL ENG STARTER:1, bool) (A:GENERAL ENG STARTER:2, bool) or ! and#Working Title.CJ4.Engines.Engine L Stop ON +Engine R Run ON#(A:GENERAL ENG MIXTURE LEVER POSITION:2, Percent) 0 >#Working Title.CJ4.Engines.Engine R Run ON +Engine R Starter ON#(A:GENERAL ENG STARTER:2, bool)#Working Title.CJ4.Engines.Engine R Starter ON +Engine R Stop ON#(A:GENERAL ENG MIXTURE LEVER POSITION:2, percent) 0 == (A:GENERAL ENG STARTER:1, bool) (A:GENERAL ENG STARTER:2, bool) or ! and#Working Title.CJ4.Engines.Engine R Stop ON +Working Title/CJ4/Fuel#GROUP +(A:GENERAL ENG FUEL PUMP SWITCH:1, bool)#(A:GENERAL ENG FUEL PUMP SWITCH:1, bool)#Working Title.CJ4.Fuel.(A:GENERAL ENG FUEL PUMP SWITCH:1, bool) +(A:GENERAL ENG FUEL PUMP SWITCH:2, bool)#(A:GENERAL ENG FUEL PUMP SWITCH:2, bool)#Working Title.CJ4.Fuel.(A:GENERAL ENG FUEL PUMP SWITCH:2, bool) +(A:PRESSURIZATION DUMP SWITCH, bool)#(A:PRESSURIZATION DUMP SWITCH, bool)#Working Title.CJ4.Fuel.(A:PRESSURIZATION DUMP SWITCH, bool) +(A:TURB ENG IGNITION SWITCH EX1:1, enum) 2 ==#(A:TURB ENG IGNITION SWITCH EX1:1, enum) 2 ==#Working Title.CJ4.Fuel.(A:TURB ENG IGNITION SWITCH EX1:1, enum) 2 == +(A:TURB ENG IGNITION SWITCH EX1:2, enum) 2 ==#(A:TURB ENG IGNITION SWITCH EX1:2, enum) 2 ==#Working Title.CJ4.Fuel.(A:TURB ENG IGNITION SWITCH EX1:2, enum) 2 == +Fuel Booster Pump L ON#(A:GENERAL ENG FUEL PUMP SWITCH:1, bool)#Working Title.CJ4.Fuel.Fuel Booster Pump L ON +Fuel Booster Pump R ON#(A:GENERAL ENG FUEL PUMP SWITCH:2, bool)#Working Title.CJ4.Fuel.Fuel Booster Pump R ON +Working Title/CJ4/Lights#GROUP +WT CJ4 Beacon Lights ON#(L:LIGHTING_STROBE_1)#Working Title.CJ4.Lights.WT CJ4 Beacon Lights ON +WT CJ4 Landing Lights ON#(A:LIGHT LANDING, Bool)#Working Title.CJ4.Lights.WT CJ4 Landing Lights ON +WT CJ4 Strobe Lights ON#(L:LIGHTING_STROBE_1)#Working Title.CJ4.Lights.WT CJ4 Strobe Lights ON +WT CJ4 Taxi Lights ON#(A:LIGHT TAXI, Bool)#Working Title.CJ4.Lights.WT CJ4 Taxi Lights ON +Working Title/CJ4/Radio#GROUP +(A:COM TRANSMIT:1, bool)#(A:COM TRANSMIT:1, bool)#Working Title.CJ4.Radio.(A:COM TRANSMIT:1, bool) +(A:COM TRANSMIT:2, bool)#(A:COM TRANSMIT:2, bool)#Working Title.CJ4.Radio.(A:COM TRANSMIT:2, bool) +Working Title/CJ4/Warning System#GROUP +WT_CJ4_MASTER_CAUTION_ON#(L:Generic_Master_Caution_Active) (L:MF_Master_Caution_Test) or#Working Title.CJ4.Warning System.WT_CJ4_MASTER_CAUTION_ON +WT_CJ4_MASTER_WARNING_ON#(L:Generic_Master_Warning_Active) (L:MF_Master_Warning_Test) or#Working Title.CJ4.Warning System.WT_CJ4_MASTER_WARNING_ON \ No newline at end of file diff --git a/ReactClient/public/config/profiles/kodiak/SimConnectDataDefinition.json b/ReactClient/public/config/profiles/kodiak/SimConnectDataDefinition.json new file mode 100644 index 0000000..b8c64f4 --- /dev/null +++ b/ReactClient/public/config/profiles/kodiak/SimConnectDataDefinition.json @@ -0,0 +1,380 @@ +[ + { + "propName": "SIM_RATE", + "variableName": "SIMULATION RATE", + "simConnectUnit": "number", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed2" + }, + { + "propName": "GPS_LAT", + "variableName": "GPS POSITION LAT", + "simConnectUnit": "degrees", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "GPS_LON", + "variableName": "GPS POSITION LON", + "simConnectUnit": "degrees", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PLANE_HEADING_TRUE", + "variableName": "PLANE HEADING DEGREES TRUE", + "simConnectUnit": "degrees", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed0" + }, + { + "propName": "PLANE_AIRSPEED", + "variableName": "AIRSPEED INDICATED", + "simConnectUnit": "knots", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed0" + }, + { + "propName": "FLAPS", + "variableName": "TRAILING EDGE FLAPS LEFT ANGLE", + "simConnectUnit": "degrees", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed0" + }, + { + "propName": "ELEVATOR_TRIM", + "variableName": "ELEVATOR TRIM PCT", + "simConnectUnit": "percent", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed1" + }, + { + "propName": "RUDDER_TRIM", + "variableName": "RUDDER TRIM", + "simConnectUnit": "radians", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed2" + }, + { + "propName": "AILERON_TRIM", + "variableName": "AILERON TRIM", + "simConnectUnit": "radians", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed3" + }, + { + "propName": "BRAKE_PARKING_INDICATOR", + "variableName": "BRAKE PARKING INDICATOR", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed0" + }, + { + "propName": "GEAR_POSITION", + "variableName": "GEAR POSITION", + "simConnectUnit": "enum", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "GEAR_CENTER_POSITION", + "variableName": "GEAR CENTER POSITION", + "simConnectUnit": "percent", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "GEAR_LEFT_POSITION", + "variableName": "GEAR LEFT POSITION", + "simConnectUnit": "percent", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "GEAR_RIGHT_POSITION", + "variableName": "GEAR RIGHT POSITION", + "simConnectUnit": "percent", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "AP_YAW_DAMPER_ON", + "variableName": "AUTOPILOT YAW DAMPER", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "BATTERY_MASTER_ON", + "variableName": "ELECTRICAL MASTER BATTERY", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "AVIONICS_MASTER_ON", + "variableName": "AVIONICS MASTER SWITCH", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "AP_MASTER_ON", + "variableName": "AUTOPILOT MASTER", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "LIGHT_TAXI_ON", + "variableName": "LIGHT TAXI", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "LIGHT_NAV_ON", + "variableName": "LIGHT NAV", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "LIGHT_BEACON_ON", + "variableName": "LIGHT BEACON", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "LIGHT_STROBE_ON", + "variableName": "LIGHT STROBE", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "LIGHT_WING_ON", + "variableName": "LIGHT WING", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_LANDING_LIGHT", + "variableName": "SWS_LIGHTING_Switch_Light_Landing", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_CABIN_LIGHT", + "variableName": "SWS_LIGHTING_Switch_Light_CABIN_12", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_PITOT_HEAT_1", + "variableName": "DEICE_Pitot_1", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_PITOT_HEAT_2", + "variableName": "DEICE_Pitot_2", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_AUX_BUS", + "variableName": "XMLVAR_AUX_Bus_ON", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_FUEL_PUMP", + "variableName": "SWS_FUEL_Switch_Pump_1", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_IGNITION", + "variableName": "SWS_ENGINE_Switch_Ignition_1", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_STARTER", + "variableName": "SWS_ENGINE_Switch_Starter_ThreeState_1", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_FUEL_SHUTOFF_LEFT", + "variableName": "SWS_Kodiak_TankSelector_1", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_FUEL_SHUTOFF_RIGHT", + "variableName": "SWS_Kodiak_TankSelector_2", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_OXYGEN", + "variableName": "XMLVAR_Oxygen", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "ENG_ANTI_ICE_1", + "variableName": "ENG ANTI ICE:1", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PROP_DEICE_SWITCH", + "variableName": "PROP DEICE SWITCH:1", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "WINDSHIELD_DEICE_SWITCH", + "variableName": "WINDSHIELD DEICE SWITCH", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "ALTERNATOR_1_ON", + "variableName": "GENERAL ENG MASTER ALTERNATOR:1", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "ALTERNATOR_2_ON", + "variableName": "GENERAL ENG MASTER ALTERNATOR:2", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_GLARESHIELD_SETTING", + "variableName": "LIGHT POTENTIOMETER:3", + "simConnectUnit": "number", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_INSTRUMENTATION_LIGHT_SETTING", + "variableName": "LIGHT POTENTIOMETER:2", + "simConnectUnit": "number", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "KODIAK_PANEL_LIGHT_SETTING", + "variableName": "LIGHT POTENTIOMETER:21", + "simConnectUnit": "number", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + } +] \ No newline at end of file diff --git a/ReactClient/public/config/profiles/kodiak/electrical/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/kodiak/electrical/PopoutPanelDefinition.json new file mode 100644 index 0000000..237e667 --- /dev/null +++ b/ReactClient/public/config/profiles/kodiak/electrical/PopoutPanelDefinition.json @@ -0,0 +1,389 @@ +{ + "id": "KODIAK_ELECTRICAL_DEF", + "value": { + "panelSize": { + "width": 812, + "height": 377 + }, + "backgroundImage": "background_electrical.png", + "controlSize": { + "buttonBase": { + "width": 57, + "height": 36 + }, + "toggleButtonBase": { + "width": 50, + "height": 98 + }, + "masterBase": { + "width": 80, + "height": 141 + }, + "rockerBase": { + "width": 55, + "height": 115 + }, + "buttonStatusIndicator": { + "width": 4, + "height": 32 + } + }, + "panelControlDefinitions": [ + { + "id": "btn_yd", + "type": "imageButton", + "image": "button_yd.png", + "left": 46, + "top": 74, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "YAW_DAMPER_TOGGLE", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_yd_indicator", + "type": "bindableImageButton", + "left": 105, + "top": 73, + "controlSize": { + "$ref": "#value.controlSize.buttonStatusIndicator" + }, + "highlight": false, + "binding": { + "variable": "AP_YAW_DAMPER_ON", + "images": [ + { + "url": "button_status_on.png", + "val": 0 + }, + { + "url": "button_status_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_lvl", + "type": "imageButton", + "image": "button_lvl.png", + "left": 46, + "top": 134, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "NO_ACTION", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_bank", + "type": "imageButton", + "image": "button_bank.png", + "left": 46, + "top": 196, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "NO_ACTION", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_spd", + "type": "imageButton", + "image": "button_spd.png", + "left": 46, + "top": 258, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_SPD_VAR_SET", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_master", + "type": "bindableImageButton", + "left": 155, + "top": 98, + "controlSize": { + "$ref": "#value.controlSize.masterBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_MASTER_BATTERY", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "BATTERY_MASTER_ON", + "images": [ + { + "url": "master_off.png", + "val": 0 + }, + { + "url": "master_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_avn_bus", + "type": "bindableImageButton", + "left": 274, + "top": 106, + "controlSize": { + "$ref": "#value.controlSize.rockerBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_AVIONICS_MASTER", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "AVIONICS_MASTER_ON", + "images": [ + { + "url": "rocker_off.png", + "val": 0 + }, + { + "url": "rocker_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_aux_bus", + "type": "bindableImageButton", + "left": 363, + "top": 106, + "controlSize": { + "$ref": "#value.controlSize.rockerBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:XMLVAR_AUX_Bus_ON) ++ 2 % (>L:XMLVAR_AUX_Bus_ON)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_AUX_BUS", + "images": [ + { + "url": "rocker_off.png", + "val": 0 + }, + { + "url": "rocker_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_aux_fuel_pump", + "type": "bindableImageButton", + "left": 472, + "top": 47, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:SWS_FUEL_Switch_Pump_1) ++ 3 % (>L:SWS_FUEL_Switch_Pump_1)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_FUEL_PUMP", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_mid.png", + "val": 1 + }, + { + "url": "toggle_up.png", + "val": 2 + } + ] + } + }, + { + "id": "btn_ignition", + "type": "bindableImageButton", + "left": 569, + "top": 47, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:SWS_ENGINE_Switch_Ignition_1) ++ 2 % (>L:SWS_ENGINE_Switch_Ignition_1)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_IGNITION", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_starter", + "type": "bindableImageButton", + "left": 666, + "top": 47, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:SWS_ENGINE_Switch_Starter_ThreeState_1) ++ 3 % (>L:SWS_ENGINE_Switch_Starter_ThreeState_1)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_STARTER", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_mid.png", + "val": 1 + }, + { + "url": "toggle_up.png", + "val": 2 + } + ] + } + }, + { + "id": "btn_generator", + "type": "bindableImageButton", + "left": 569, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_ALTERNATOR1", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "ALTERNATOR_1_ON", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_alternator", + "type": "bindableImageButton", + "left": 666, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_ALTERNATOR2", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "ALTERNATOR_2_ON", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/background_electrical.png b/ReactClient/public/config/profiles/kodiak/electrical/img/background_electrical.png new file mode 100644 index 0000000..9eb0c71 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/background_electrical.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/button_bank.png b/ReactClient/public/config/profiles/kodiak/electrical/img/button_bank.png new file mode 100644 index 0000000..a31f96c Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/button_bank.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/button_lvl.png b/ReactClient/public/config/profiles/kodiak/electrical/img/button_lvl.png new file mode 100644 index 0000000..0aca3a8 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/button_lvl.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/button_spd.png b/ReactClient/public/config/profiles/kodiak/electrical/img/button_spd.png new file mode 100644 index 0000000..3cae97a Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/button_spd.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/button_yd.png b/ReactClient/public/config/profiles/kodiak/electrical/img/button_yd.png new file mode 100644 index 0000000..48d9bf1 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/button_yd.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/master_off.png b/ReactClient/public/config/profiles/kodiak/electrical/img/master_off.png new file mode 100644 index 0000000..44a3ac7 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/master_off.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/master_on.png b/ReactClient/public/config/profiles/kodiak/electrical/img/master_on.png new file mode 100644 index 0000000..045c871 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/master_on.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/rocker_off.png b/ReactClient/public/config/profiles/kodiak/electrical/img/rocker_off.png new file mode 100644 index 0000000..fe28146 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/rocker_off.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/rocker_on.png b/ReactClient/public/config/profiles/kodiak/electrical/img/rocker_on.png new file mode 100644 index 0000000..816c278 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/rocker_on.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_down.png b/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_down.png new file mode 100644 index 0000000..ac947f2 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_down.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_mid.png b/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_mid.png new file mode 100644 index 0000000..2135757 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_mid.png differ diff --git a/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_up.png b/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_up.png new file mode 100644 index 0000000..f4558a9 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/electrical/img/toggle_up.png differ diff --git a/ReactClient/public/config/profiles/kodiak/fuel/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/kodiak/fuel/PopoutPanelDefinition.json new file mode 100644 index 0000000..4fb14c4 --- /dev/null +++ b/ReactClient/public/config/profiles/kodiak/fuel/PopoutPanelDefinition.json @@ -0,0 +1,80 @@ +{ + "id": "KODIAK_FUEL_DEF", + "value": { + "panelSize": { + "width": 440, + "height": 226 + }, + "backgroundImage": "background_fuel.png", + "controlSize": { + "fuelLever": { + "width": 158, + "height": 158 + } + }, + "panelControlDefinitions": [ + { + "id": "btn_fuel_left", + "type": "bindableImageButton", + "left": 50, + "top": 45, + "controlSize": { + "$ref": "#value.controlSize.fuelLever" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:SWS_Kodiak_TankSelector_1) ++ 2 % (>L:SWS_Kodiak_TankSelector_1)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_FUEL_SHUTOFF_LEFT", + "images": [ + { + "url": "fuel_lever_left_off.png", + "val": 0 + }, + { + "url": "fuel_lever_left_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_fuel_right", + "type": "bindableImageButton", + "left": 232, + "top": 45, + "controlSize": { + "$ref": "#value.controlSize.fuelLever" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:SWS_Kodiak_TankSelector_2) ++ 2 % (>L:SWS_Kodiak_TankSelector_2)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_FUEL_SHUTOFF_RIGHT", + "images": [ + { + "url": "fuel_lever_right_off.png", + "val": 0 + }, + { + "url": "fuel_lever_right_on.png", + "val": 1 + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/kodiak/fuel/img/background_fuel.png b/ReactClient/public/config/profiles/kodiak/fuel/img/background_fuel.png new file mode 100644 index 0000000..31b645b Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/fuel/img/background_fuel.png differ diff --git a/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_left_off.png b/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_left_off.png new file mode 100644 index 0000000..377a231 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_left_off.png differ diff --git a/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_left_on.png b/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_left_on.png new file mode 100644 index 0000000..a573b76 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_left_on.png differ diff --git a/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_right_off.png b/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_right_off.png new file mode 100644 index 0000000..06fa260 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_right_off.png differ diff --git a/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_right_on.png b/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_right_on.png new file mode 100644 index 0000000..b099d68 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/fuel/img/fuel_lever_right_on.png differ diff --git a/ReactClient/public/config/profiles/kodiak/lights/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/kodiak/lights/PopoutPanelDefinition.json new file mode 100644 index 0000000..9628e1f --- /dev/null +++ b/ReactClient/public/config/profiles/kodiak/lights/PopoutPanelDefinition.json @@ -0,0 +1,488 @@ +{ + "id": "KODIAK_LIGHTS_DEF", + "value": { + "panelSize": { + "width": 929, + "height": 380 + }, + "backgroundImage": "background_lights.png", + "controlSize": { + "toggleButtonBase": { + "width": 50, + "height": 98 + }, + "lightKnob": { + "width": 70, + "height": 70 + }, + "iceKnob": { + "width": 65, + "height": 65 + }, + "rockerBase": { + "width": 55, + "height": 115 + } + }, + "panelControlDefinitions": [ + { + "id": "btn_beacon_light", + "type": "bindableImageButton", + "left": 82, + "top": 49, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_BEACON_LIGHTS", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "LIGHT_BEACON_ON", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_strobe_light", + "type": "bindableImageButton", + "left": 178, + "top": 49, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "STROBES_TOGGLE", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "LIGHT_STROBE_ON", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_nav_light", + "type": "bindableImageButton", + "left": 272, + "top": 49, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_NAV_LIGHTS", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "LIGHT_NAV_ON", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_taxi_light", + "type": "bindableImageButton", + "left": 367, + "top": 49, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_TAXI_LIGHTS", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "LIGHT_TAXI_ON", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_landing_light", + "type": "bindableImageButton", + "left": 485, + "top": 49, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:SWS_LIGHTING_Switch_Light_Landing) ++ 3 % (>L:SWS_LIGHTING_Switch_Light_Landing)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_LANDING_LIGHT", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_mid.png", + "val": 1 + }, + { + "url": "toggle_up.png", + "val": 2 + } + ] + } + }, + { + "id": "btn_cabin_light", + "type": "bindableImageButton", + "left": 603, + "top": 49, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:SWS_LIGHTING_Switch_Light_CABIN_12) ++ 3 % (>L:SWS_LIGHTING_Switch_Light_CABIN_12)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_CABIN_LIGHT", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_mid.png", + "val": 1 + }, + { + "url": "toggle_up.png", + "val": 2 + } + ] + } + }, + { + "id": "btn_instrument_light_knob", + "type": "imageButton", + "image": "knob_light_dual.png", + "left": 685, + "top": 69, + "controlSize": { + "$ref": "#value.controlSize.lightKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "KODIAK_INSTRUMENTS_LIGHT_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "[/{KODIAK_GLARESHIELD_SETTING/} * 100 + 5] 100 min (>K:LIGHT_POTENTIOMETER_3_SET) 1 (>K:GLARESHIELD_LIGHTS_ON)", + "encoderLowerCCW": "[/{KODIAK_GLARESHIELD_SETTING/} * 100 - 5] 0 max (>K:LIGHT_POTENTIOMETER_3_SET)", + "encoderUpperCW": "[/{KODIAK_INSTRUMENTATION_LIGHT_SETTING/} * 100 + 5] 100 min (>K:LIGHT_POTENTIOMETER_2_SET) 1 (>K:PANEL_LIGHTS_ON)", + "encoderUpperCCW": "[/{KODIAK_INSTRUMENTATION_LIGHT_SETTING/} * 100 - 5] 0 max (>K:LIGHT_POTENTIOMETER_2_SET)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_switch_panel_light_knob", + "type": "imageButton", + "image": "knob_light.png", + "left": 778, + "top": 69, + "controlSize": { + "$ref": "#value.controlSize.lightKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "KODIAK_PANEL_LIGHT_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "[/{KODIAK_PANEL_LIGHT_SETTING/} * 100 + 5] 100 min (>K:LIGHT_POTENTIOMETER_21_SET) 1 (>K:PEDESTRAL_LIGHTS_ON)", + "encoderLowerCCW": "[/{KODIAK_PANEL_LIGHT_SETTING/} * 100 - 5] 0 max (>K:LIGHT_POTENTIOMETER_21_SET)", + "encoderUpperCW": "[/{KODIAK_PANEL_LIGHT_SETTING/} * 100 + 5] 100 min (>K:LIGHT_POTENTIOMETER_21_SET) 1 (>K:PEDESTRAL_LIGHTS_ON)", + "encoderUpperCCW": "[/{KODIAK_PANEL_LIGHT_SETTING/} * 100 - 5] 0 max (>K:LIGHT_POTENTIOMETER_21_SET)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_engine_inlet_bypass_override", + "type": "image", + "image": "toggle_down.png", + "left": 82, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false + }, + { + "id": "btn_engine_inlet_bypass", + "type": "bindableImageButton", + "left": 178, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "1 (>K:ANTI_ICE_TOGGLE_ENG1)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "ENG_ANTI_ICE_1", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_pitot_heat_left", + "type": "bindableImageButton", + "left": 272, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "1 (>K:PITOT_HEAT_TOGGLE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_PITOT_HEAT_1", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_pitot_heat_right", + "type": "bindableImageButton", + "left": 367, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "2 (>K:PITOT_HEAT_TOGGLE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_PITOT_HEAT_2", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_ice_knob", + "type": "bindableImageButton", + "left": 480, + "top": 250, + "controlSize": { + "$ref": "#value.controlSize.iceKnob" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_PROPELLER_DEICE", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "PROP_DEICE_SWITCH", + "images": [ + { + "url": "knob_ice.png", + "rotate": 0, + "val": 0 + }, + { + "url": "knob_ice.png", + "rotate": 95, + "val": 1 + } + ] + } + }, + { + "id": "btn_wind_shield_heat", + "type": "bindableImageButton", + "left": 603, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "KODIAK_100_DEICE_WINDSHIELD_TOGGLE", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "WINDSHIELD_DEICE_SWITCH", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_backup_pump_heat", + "type": "image", + "image": "toggle_down.png", + "left": 696, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false + }, + { + "id": "btn_ice_light", + "type": "bindableImageButton", + "left": 790, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.toggleButtonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_WING_LIGHTS", + "actionType": "SimEventId" + } + ] + }, + "binding": { + "variable": "LIGHT_WING_ON", + "images": [ + { + "url": "toggle_down.png", + "val": 0 + }, + { + "url": "toggle_up.png", + "val": 1 + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/kodiak/lights/img/background_lights.png b/ReactClient/public/config/profiles/kodiak/lights/img/background_lights.png new file mode 100644 index 0000000..9682705 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/lights/img/background_lights.png differ diff --git a/ReactClient/public/config/profiles/kodiak/lights/img/knob_ice.png b/ReactClient/public/config/profiles/kodiak/lights/img/knob_ice.png new file mode 100644 index 0000000..9030c0b Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/lights/img/knob_ice.png differ diff --git a/ReactClient/public/config/profiles/kodiak/lights/img/knob_light.png b/ReactClient/public/config/profiles/kodiak/lights/img/knob_light.png new file mode 100644 index 0000000..e987f54 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/lights/img/knob_light.png differ diff --git a/ReactClient/public/config/profiles/kodiak/lights/img/knob_light_dual.png b/ReactClient/public/config/profiles/kodiak/lights/img/knob_light_dual.png new file mode 100644 index 0000000..6c19de3 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/lights/img/knob_light_dual.png differ diff --git a/ReactClient/public/config/profiles/kodiak/lights/img/toggle_down.png b/ReactClient/public/config/profiles/kodiak/lights/img/toggle_down.png new file mode 100644 index 0000000..ac947f2 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/lights/img/toggle_down.png differ diff --git a/ReactClient/public/config/profiles/kodiak/lights/img/toggle_mid.png b/ReactClient/public/config/profiles/kodiak/lights/img/toggle_mid.png new file mode 100644 index 0000000..2135757 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/lights/img/toggle_mid.png differ diff --git a/ReactClient/public/config/profiles/kodiak/lights/img/toggle_up.png b/ReactClient/public/config/profiles/kodiak/lights/img/toggle_up.png new file mode 100644 index 0000000..f4558a9 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/lights/img/toggle_up.png differ diff --git a/ReactClient/public/config/profiles/kodiak/oxygen/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/kodiak/oxygen/PopoutPanelDefinition.json new file mode 100644 index 0000000..f0e583d --- /dev/null +++ b/ReactClient/public/config/profiles/kodiak/oxygen/PopoutPanelDefinition.json @@ -0,0 +1,76 @@ +{ + "id": "KODIAK_OXYGEN_DEF", + "value": { + "panelSize": { + "width": 215, + "height": 215 + }, + "backgroundImage": "background_oxygen.png", + "controlSize": { + "oxygenBase": { + "width": 49, + "height": 69 + }, + "oxygenIndicatorBase": { + "width": 10, + "height": 107 + } + }, + "panelControlDefinitions": [ + { + "id": "btn_oxygen", + "type": "bindableImageButton", + "left": 92, + "top": 82, + "controlSize": { + "$ref": "#value.controlSize.oxygenBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "(L:XMLVAR_Oxygen) ++ 2 % (>L:XMLVAR_Oxygen)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "KODIAK_OXYGEN", + "images": [ + { + "url": "oxygen_off.png", + "val": 0 + }, + { + "url": "oxygen_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_oxygen_indicator", + "type": "bindableImageButton", + "left": 66, + "top": 60, + "controlSize": { + "$ref": "#value.controlSize.oxygenIndicatorBase" + }, + "highlight": false, + "binding": { + "variable": "KODIAK_OXYGEN", + "images": [ + { + "url": "oxygen_indicator_off.png", + "val": 0 + }, + { + "url": "oxygen_indicator_on.png", + "val": 1 + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/kodiak/oxygen/img/background_oxygen.png b/ReactClient/public/config/profiles/kodiak/oxygen/img/background_oxygen.png new file mode 100644 index 0000000..2de93ee Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/oxygen/img/background_oxygen.png differ diff --git a/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_indicator_on.png b/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_indicator_on.png new file mode 100644 index 0000000..8dda8e4 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_indicator_on.png differ diff --git a/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_off.png b/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_off.png new file mode 100644 index 0000000..473c9d3 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_off.png differ diff --git a/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_on.png b/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_on.png new file mode 100644 index 0000000..6293789 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/oxygen/img/oxygen_on.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/kodiak/pfdmfd/PopoutPanelDefinition.json new file mode 100644 index 0000000..abfb95e --- /dev/null +++ b/ReactClient/public/config/profiles/kodiak/pfdmfd/PopoutPanelDefinition.json @@ -0,0 +1,3203 @@ +[ + { + "id": "KODIAK_PFD_MFD_DEF", + "value": { + "panelSize": { + "width": 2458, + "height": 914 + }, + "backgroundImage": "background_pfdmfd.png", + "controlSize": { + "regularKnob": { + "width": 77, + "height": 77 + }, + "crsKnob": { + "width": 79, + "height": 79 + }, + "volKnob": { + "width": 49, + "height": 49 + }, + "rangeKnob": { + "width": 66, + "height": 66 + }, + "buttonBase": { + "width": 57, + "height": 36 + }, + "speedKnob": { + "width": 53, + "height": 94 + } + }, + "encoderAction": { + "mfdFms": { + "encoderLowerCW": "AS1000_MFD_FMS_Lower_INC", + "encoderLowerCCW": "AS1000_MFD_FMS_Lower_DEC", + "encoderUpperCW": "AS1000_MFD_FMS_Upper_INC", + "encoderUpperCCW": "AS1000_MFD_FMS_Upper_DEC", + "encoderLowerSwitch": "AS1000_MFD_FMS_Upper_PUSH", + "encoderUpperSwitch": "AS1000_MFD_FMS_Upper_PUSH", + "actionType": "SimEventId" + } + }, + "panelControlDefinitions": [ + { + "id": "btn_vol1knob", + "type": "imageButton", + "image": "knob_vol.png", + "left": 60, + "top": 41, + "controlSize": { + "$ref": "#value.controlSize.volKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_VOL1_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_VOL_1_INC", + "encoderLowerCCW": "AS1000_PFD_VOL_1_DEC", + "encoderUpperCW": "AS1000_PFD_VOL_1_INC", + "encoderUpperCCW": "AS1000_PFD_VOL_1_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_vol2knob", + "type": "imageButton", + "image": "knob_vol.png", + "left": 2348, + "top": 41, + "controlSize": { + "$ref": "#value.controlSize.volKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_VOL2_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_VOL_2_INC", + "encoderLowerCCW": "AS1000_PFD_VOL_2_DEC", + "encoderUpperCW": "AS1000_PFD_VOL_2_INC", + "encoderUpperCCW": "AS1000_PFD_VOL_2_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_navknob", + "type": "imageButton", + "image": "knob.png", + "left": 47, + "top": 171, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_NAV_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_NAV_Large_INC", + "encoderLowerCCW": "AS1000_PFD_NAV_Large_DEC", + "encoderUpperCW": "AS1000_PFD_NAV_Small_INC", + "encoderUpperCCW": "AS1000_PFD_NAV_Small_DEC", + "encoderLowerSwitch": "AS1000_PFD_NAV_Push", + "encoderUpperSwitch": "AS1000_PFD_NAV_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_navswap", + "type": "imageButton", + "image": "button_swap.png", + "left": 97, + "top": 104, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_NAV_Switch", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_NAV_Large_INC", + "encoderLowerCCW": "AS1000_PFD_NAV_Large_DEC", + "encoderUpperCW": "AS1000_PFD_NAV_Small_INC", + "encoderUpperCCW": "AS1000_PFD_NAV_Small_DEC", + "encoderLowerSwitch": "AS1000_PFD_NAV_Push", + "encoderUpperSwitch": "AS1000_PFD_NAV_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_hdgknob", + "type": "imageButton", + "image": "knob_hdg.png", + "left": 46, + "top": 339, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_HDG_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_HEADING_FAST_INC", + "encoderLowerCCW": "AS1000_PFD_HEADING_FAST_DEC", + "encoderUpperCW": "AS1000_PFD_HEADING_INC", + "encoderUpperCCW": "AS1000_PFD_HEADING_DEC", + "encoderLowerSwitch": "AS1000_PFD_HEADING_SYNC", + "encoderUpperSwitch": "AS1000_PFD_HEADING_SYNC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_altknob", + "type": "imageButton", + "image": "knob.png", + "left": 48, + "top": 790, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_ALT_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_AP_ALT_INC_1000", + "encoderLowerCCW": "AS1000_AP_ALT_DEC_1000", + "encoderLowerSwitch": "AS1000_AP_ALT_SYNC", + "encoderUpperCW": "AS1000_AP_ALT_INC_100", + "encoderUpperCCW": "AS1000_AP_ALT_DEC_100", + "encoderUpperSwitch": "AS1000_AP_ALT_SYNC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_comknob", + "type": "imageButton", + "image": "knob.png", + "left": 2334, + "top": 170, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_COM_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_COM_Large_INC", + "encoderLowerCCW": "AS1000_PFD_COM_Large_DEC", + "encoderLowerSwitch": "AS1000_PFD_COM_Push", + "encoderUpperCW": "AS1000_PFD_COM_Small_INC", + "encoderUpperCCW": "AS1000_PFD_COM_Small_DEC", + "encoderUpperSwitch": "AS1000_PFD_COM_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_comswap", + "type": "imageButton", + "image": "button_swap.png", + "left": 2304, + "top": 104, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_COM_Switch", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerw": "AS1000_PFD_COM_Small_INC", + "encoderLowerCCW": "AS1000_PFD_COM_Small_DEC", + "encoderUpperCW": "AS1000_PFD_COM_Large_INC", + "encoderUpperCCW": "AS1000_PFD_COM_Large_DEC", + "encoderLowerSwitch": "AS1000_PFD_COM_Push", + "encoderUpperSwitch": "AS1000_PFD_COM_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_crsknob", + "type": "imageButton", + "image": "knob_crs.png", + "left": 2334, + "top": 334, + "controlSize": { + "$ref": "#value.controlSize.crsKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_CRS_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_BARO_INC", + "encoderLowerCCW": "AS1000_PFD_BARO_DEC", + "encoderUpperCW": "AS1000_PFD_CRS_INC", + "encoderUpperCCW": "AS1000_PFD_CRS_DEC", + "encoderLowerSwitch": "AS1000_PFD_CRS_PUSH", + "encoderUpperSwitch": "AS1000_PFD_CRS_PUSH", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_rangeknob", + "type": "imageButton", + "image": "knob_range.png", + "left": 2339, + "top": 493, + "controlSize": { + "$ref": "#value.controlSize.rangeKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_MAP_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_RANGE_INC", + "encoderLowerCCW": "AS1000_MFD_RANGE_DEC", + "encoderLowerSwitch": "AS1000_MFD_JOYSTICK_PUSH", + "encoderUpperCW": "AS1000_MFD_RANGE_INC", + "encoderUpperCCW": "AS1000_MFD_RANGE_DEC", + "encoderUpperSwitch": "AS1000_MFD_JOYSTICK_PUSH", + "joystick1up": "AS1000_MFD_JOYSTICK_UP", + "joystick1down": "AS1000_MFD_JOYSTICK_DOWN", + "joystick1left": "AS1000_MFD_JOYSTICK_LEFT", + "joystick1right": "AS1000_MFD_JOYSTICK_RIGHT", + "joystick1switch": "AS1000_MFD_JOYSTICK_PUSH", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_fmsknob", + "type": "imageButton", + "image": "knob.png", + "left": 2331, + "top": 791, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_FMS_KNOB_SELECT", + "actionType": "EncoderAction" + } + ], + "useDualEncoder": true + } + }, + { + "id": "btn_ap", + "type": "imageButton", + "image": "button_ap.png", + "left": 22, + "top": 468, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_MASTER", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_fd", + "type": "imageButton", + "image": "button_fd.png", + "left": 94, + "top": 468, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_FLIGHT_DIRECTOR", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_hdg", + "type": "imageButton", + "image": "button_hdg.png", + "left": 22, + "top": 518, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_HEADING_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_alt", + "type": "imageButton", + "image": "button_alt.png", + "left": 94, + "top": 518, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_ALTITUDE_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_nav", + "type": "imageButton", + "image": "button_nav.png", + "left": 22, + "top": 568, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_NAV1_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_vnv", + "type": "imageButton", + "image": "button_vnv.png", + "left": 94, + "top": 568, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_VNAV_TOGGLE", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_apr", + "type": "imageButton", + "image": "button_apr.png", + "left": 22, + "top": 619, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_APR_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_bc", + "type": "imageButton", + "image": "button_bc.png", + "left": 94, + "top": 619, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_BC_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_vs", + "type": "imageButton", + "image": "button_vs.png", + "left": 22, + "top": 669, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_VS_HOLD", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_NOSE_UP", + "encoderLowerCCW": "AS1000_MFD_NOSE_DN", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_flc", + "type": "imageButton", + "image": "button_flc.png", + "left": 22, + "top": 719, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_FLC_Push", + "actionType": "SimEventId" + }, + { + "action": "AP_SPD_VAR_SET", + "actionValueVariable": "PLANE_AIRSPEED", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_NOSE_DN", + "encoderLowerCCW": "AS1000_MFD_NOSE_UP", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_speedknob", + "type": "imageButton", + "image": "knob_speed.png", + "left": 96, + "top": 668, + "controlSize": { + "$ref": "#value.controlSize.speedKnob" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AIRSPEED_BUG_SELECT", + "actionType": "EncoderAction" + } + ], + "useEncoder": true + } + }, + { + "id": "btn_dir", + "type": "imageButton", + "image": "button_dir.png", + "left": 2306, + "top": 618, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_DIRECTTO", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_menu", + "type": "imageButton", + "image": "button_menu.png", + "left": 2379, + "top": 618, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_MENU_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_fpl", + "type": "imageButton", + "image": "button_fpl.png", + "left": 2306, + "top": 670, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_FPL_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_proc", + "type": "imageButton", + "image": "button_proc.png", + "left": 2379, + "top": 670, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_PROC_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_clr", + "type": "imageButton", + "image": "button_clr.png", + "left": 2306, + "top": 722, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_CLR", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_ent", + "type": "imageButton", + "image": "button_ent.png", + "left": 2379, + "top": 722, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_ENT_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_1", + "type": "imageButton", + "image": "button_softkey.png", + "left": 208, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_1", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_2", + "type": "imageButton", + "image": "button_softkey.png", + "left": 292, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_2", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_3", + "type": "imageButton", + "image": "button_softkey.png", + "left": 378, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_3", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_4", + "type": "imageButton", + "image": "button_softkey.png", + "left": 463, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_4", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_5", + "type": "imageButton", + "image": "button_softkey.png", + "left": 549, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_5", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_6", + "type": "imageButton", + "image": "button_softkey.png", + "left": 636, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_6", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_7", + "type": "imageButton", + "image": "button_softkey.png", + "left": 721, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_7", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_8", + "type": "imageButton", + "image": "button_softkey.png", + "left": 804, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_8", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_9", + "type": "imageButton", + "image": "button_softkey.png", + "left": 890, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_9", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_10", + "type": "imageButton", + "image": "button_softkey.png", + "left": 976, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_10", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_11", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1061, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_11", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_12", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1145, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_12", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_1", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1258, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_1", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_2", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1343, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_2", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_3", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1429, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_3", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_4", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1514, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_4", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_5", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1600, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_5", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_6", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1686, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_6", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_7", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1770, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_7", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_8", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1854, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_8", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_9", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1940, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_9", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_10", + "type": "imageButton", + "image": "button_softkey.png", + "left": 2024, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_10", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_11", + "type": "imageButton", + "image": "button_softkey.png", + "left": 2110, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_11", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_12", + "type": "imageButton", + "image": "button_softkey.png", + "left": 2195, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_12", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + } + ] + } + }, + { + "id": "KODIAK_PFD_ONLY_DEF", + "value": { + "panelSize": { + "width": 1408, + "height": 914 + }, + "backgroundImage": "background_pfd_only.png", + "controlSize": { + "regularKnob": { + "width": 77, + "height": 77 + }, + "crsKnob": { + "width": 79, + "height": 79 + }, + "volKnob": { + "width": 49, + "height": 49 + }, + "rangeKnob": { + "width": 66, + "height": 66 + }, + "buttonBase": { + "width": 57, + "height": 36 + }, + "speedKnob": { + "width": 53, + "height": 94 + } + }, + "encoderAction": { + "pfdFms": { + "encoderLowerCW": "AS1000_PFD_FMS_Lower_INC", + "encoderLowerCCW": "AS1000_PFD_FMS_Lower_DEC", + "encoderUpperCW": "AS1000_PFD_FMS_Upper_INC", + "encoderUpperCCW": "AS1000_PFD_FMS_Upper_DEC", + "encoderLowerSwitch": "AS1000_PFD_FMS_Upper_PUSH", + "encoderUpperSwitch": "AS1000_PFD_FMS_Upper_PUSH", + "actionType": "SimEventId" + } + }, + "panelControlDefinitions": [ + { + "id": "btn_vol1knob", + "type": "imageButton", + "image": "knob_vol.png", + "left": 60, + "top": 41, + "controlSize": { + "$ref": "#value.controlSize.volKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_VOL1_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_VOL_1_INC", + "encoderLowerCCW": "AS1000_PFD_VOL_1_DEC", + "encoderUpperCW": "AS1000_PFD_VOL_1_INC", + "encoderUpperCCW": "AS1000_PFD_VOL_1_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_vol2knob", + "type": "imageButton", + "image": "knob_vol.png", + "left": 1296, + "top": 41, + "controlSize": { + "$ref": "#value.controlSize.volKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_VOL2_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_VOL_2_INC", + "encoderLowerCCW": "AS1000_PFD_VOL_2_DEC", + "encoderUpperCW": "AS1000_PFD_VOL_2_INC", + "encoderUpperCCW": "AS1000_PFD_VOL_2_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_navknob", + "type": "imageButton", + "image": "knob.png", + "left": 47, + "top": 171, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_NAV_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_NAV_Large_INC", + "encoderLowerCCW": "AS1000_PFD_NAV_Large_DEC", + "encoderUpperCW": "AS1000_PFD_NAV_Small_INC", + "encoderUpperCCW": "AS1000_PFD_NAV_Small_DEC", + "encoderLowerSwitch": "AS1000_PFD_NAV_Push", + "encoderUpperSwitch": "AS1000_PFD_NAV_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_navswap", + "type": "imageButton", + "image": "button_swap.png", + "left": 97, + "top": 104, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_NAV_Switch", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_NAV_Large_INC", + "encoderLowerCCW": "AS1000_PFD_NAV_Large_DEC", + "encoderUpperCW": "AS1000_PFD_NAV_Small_INC", + "encoderUpperCCW": "AS1000_PFD_NAV_Small_DEC", + "encoderLowerSwitch": "AS1000_PFD_NAV_Push", + "encoderUpperSwitch": "AS1000_PFD_NAV_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_hdgknob", + "type": "imageButton", + "image": "knob_hdg.png", + "left": 46, + "top": 339, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_HDG_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_HEADING_FAST_INC", + "encoderLowerCCW": "AS1000_PFD_HEADING_FAST_DEC", + "encoderUpperCW": "AS1000_PFD_HEADING_INC", + "encoderUpperCCW": "AS1000_PFD_HEADING_DEC", + "encoderLowerSwitch": "AS1000_PFD_HEADING_SYNC", + "encoderUpperSwitch": "AS1000_PFD_HEADING_SYNC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_altknob", + "type": "imageButton", + "image": "knob.png", + "left": 48, + "top": 790, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_ALT_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_AP_ALT_INC_1000", + "encoderLowerCCW": "AS1000_AP_ALT_DEC_1000", + "encoderLowerSwitch": "AS1000_AP_ALT_SYNC", + "encoderUpperCW": "AS1000_AP_ALT_INC_100", + "encoderUpperCCW": "AS1000_AP_ALT_DEC_100", + "encoderUpperSwitch": "AS1000_AP_ALT_SYNC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_comknob", + "type": "imageButton", + "image": "knob.png", + "left": 1282, + "top": 170, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_COM_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_COM_Large_INC", + "encoderLowerCCW": "AS1000_PFD_COM_Large_DEC", + "encoderLowerSwitch": "AS1000_PFD_COM_Push", + "encoderUpperCW": "AS1000_PFD_COM_Small_INC", + "encoderUpperCCW": "AS1000_PFD_COM_Small_DEC", + "encoderUpperSwitch": "AS1000_PFD_COM_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_comswap", + "type": "imageButton", + "image": "button_swap.png", + "left": 1252, + "top": 104, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_COM_Switch", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerw": "AS1000_PFD_COM_Small_INC", + "encoderLowerCCW": "AS1000_PFD_COM_Small_DEC", + "encoderUpperCW": "AS1000_PFD_COM_Large_INC", + "encoderUpperCCW": "AS1000_PFD_COM_Large_DEC", + "encoderLowerSwitch": "AS1000_PFD_COM_Push", + "encoderUpperSwitch": "AS1000_PFD_COM_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_crsknob", + "type": "imageButton", + "image": "knob_crs.png", + "left": 1282, + "top": 334, + "controlSize": { + "$ref": "#value.controlSize.crsKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_CRS_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_BARO_INC", + "encoderLowerCCW": "AS1000_PFD_BARO_DEC", + "encoderUpperCW": "AS1000_PFD_CRS_INC", + "encoderUpperCCW": "AS1000_PFD_CRS_DEC", + "encoderLowerSwitch": "AS1000_PFD_CRS_PUSH", + "encoderUpperSwitch": "AS1000_PFD_CRS_PUSH", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_rangeknob", + "type": "imageButton", + "image": "knob_range.png", + "left": 1287, + "top": 493, + "controlSize": { + "$ref": "#value.controlSize.rangeKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_MAP_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_RANGE_INC", + "encoderLowerCCW": "AS1000_PFD_RANGE_DEC", + "encoderLowerSwitch": "AS1000_PFD_JOYSTICK_PUSH", + "encoderUpperCW": "AS1000_PFD_RANGE_INC", + "encoderUpperCCW": "AS1000_PFD_RANGE_DEC", + "encoderUpperSwitch": "AS1000_PFD_JOYSTICK_PUSH", + "joystick1up": "AS1000_PFD_JOYSTICK_UP", + "joystick1down": "AS1000_PFD_JOYSTICK_DOWN", + "joystick1left": "AS1000_PFD_JOYSTICK_LEFT", + "joystick1right": "AS1000_PFD_JOYSTICK_RIGHT", + "joystick1switch": "AS1000_PFD_JOYSTICK_PUSH", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_fmsknob", + "type": "imageButton", + "image": "knob.png", + "left": 1281, + "top": 791, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_FMS_KNOB_SELECT", + "actionType": "EncoderAction" + } + ], + "useDualEncoder": true + } + }, + { + "id": "btn_ap", + "type": "imageButton", + "image": "button_ap.png", + "left": 22, + "top": 468, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_MASTER", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_fd", + "type": "imageButton", + "image": "button_fd.png", + "left": 94, + "top": 468, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_FLIGHT_DIRECTOR", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_hdg", + "type": "imageButton", + "image": "button_hdg.png", + "left": 22, + "top": 518, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_HEADING_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_alt", + "type": "imageButton", + "image": "button_alt.png", + "left": 94, + "top": 518, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_ALTITUDE_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_nav", + "type": "imageButton", + "image": "button_nav.png", + "left": 22, + "top": 568, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_NAV1_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_vnv", + "type": "imageButton", + "image": "button_vnv.png", + "left": 94, + "top": 568, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_VNAV_TOGGLE", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_apr", + "type": "imageButton", + "image": "button_apr.png", + "left": 22, + "top": 619, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_APR_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_bc", + "type": "imageButton", + "image": "button_bc.png", + "left": 94, + "top": 619, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_BC_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_vs", + "type": "imageButton", + "image": "button_vs.png", + "left": 22, + "top": 669, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_VS_HOLD", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_NOSE_UP", + "encoderLowerCCW": "AS1000_PFD_NOSE_DN", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_flc", + "type": "imageButton", + "image": "button_flc.png", + "left": 22, + "top": 719, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_FLC_Push", + "actionType": "SimEventId" + }, + { + "action": "AP_SPD_VAR_SET", + "actionValueVariable": "PLANE_AIRSPEED", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_PFD_NOSE_DN", + "encoderLowerCCW": "AS1000_PFD_NOSE_UP", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_speedknob", + "type": "imageButton", + "image": "knob_speed.png", + "left": 96, + "top": 668, + "controlSize": { + "$ref": "#value.controlSize.speedKnob" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AIRSPEED_BUG_SELECT", + "actionType": "EncoderAction" + } + ], + "useEncoder": true + } + }, + { + "id": "btn_dir", + "type": "imageButton", + "image": "button_dir.png", + "left": 1254, + "top": 618, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_DIRECTTO", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_menu", + "type": "imageButton", + "image": "button_menu.png", + "left": 1327, + "top": 618, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_MENU_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_fpl", + "type": "imageButton", + "image": "button_fpl.png", + "left": 1254, + "top": 670, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_FPL_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_proc", + "type": "imageButton", + "image": "button_proc.png", + "left": 1327, + "top": 670, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_PROC_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_clr", + "type": "imageButton", + "image": "button_clr.png", + "left": 1254, + "top": 722, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_CLR", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_ent", + "type": "imageButton", + "image": "button_ent.png", + "left": 1327, + "top": 722, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_ENT_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_1", + "type": "imageButton", + "image": "button_softkey.png", + "left": 208, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_1", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_2", + "type": "imageButton", + "image": "button_softkey.png", + "left": 292, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_2", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_3", + "type": "imageButton", + "image": "button_softkey.png", + "left": 378, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_3", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_4", + "type": "imageButton", + "image": "button_softkey.png", + "left": 463, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_4", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_5", + "type": "imageButton", + "image": "button_softkey.png", + "left": 549, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_5", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_6", + "type": "imageButton", + "image": "button_softkey.png", + "left": 636, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_6", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_7", + "type": "imageButton", + "image": "button_softkey.png", + "left": 721, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_7", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_8", + "type": "imageButton", + "image": "button_softkey.png", + "left": 804, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_8", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_9", + "type": "imageButton", + "image": "button_softkey.png", + "left": 890, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_9", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_10", + "type": "imageButton", + "image": "button_softkey.png", + "left": 976, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_10", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_11", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1061, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_11", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + }, + { + "id": "btn_softkey_pfd_12", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1145, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_PFD_SOFTKEYS_12", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.pfdFms" + } + } + } + ] + } + }, + { + "id": "KODIAK_MFD_ONLY_DEF", + "value": { + "panelSize": { + "width": 1408, + "height": 914 + }, + "backgroundImage": "background_pfd_only.png", + "controlSize": { + "regularKnob": { + "width": 77, + "height": 77 + }, + "crsKnob": { + "width": 79, + "height": 79 + }, + "volKnob": { + "width": 49, + "height": 49 + }, + "rangeKnob": { + "width": 66, + "height": 66 + }, + "buttonBase": { + "width": 57, + "height": 36 + }, + "speedKnob": { + "width": 53, + "height": 94 + } + }, + "encoderAction": { + "mfdFms": { + "encoderLowerCW": "AS1000_MFD_FMS_Lower_INC", + "encoderLowerCCW": "AS1000_MFD_FMS_Lower_DEC", + "encoderUpperCW": "AS1000_MFD_FMS_Upper_INC", + "encoderUpperCCW": "AS1000_MFD_FMS_Upper_DEC", + "encoderLowerSwitch": "AS1000_MFD_FMS_Upper_PUSH", + "encoderUpperSwitch": "AS1000_MFD_FMS_Upper_PUSH", + "actionType": "SimEventId" + } + }, + "panelControlDefinitions": [ + { + "id": "btn_vol1knob", + "type": "imageButton", + "image": "knob_vol.png", + "left": 60, + "top": 41, + "controlSize": { + "$ref": "#value.controlSize.volKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_VOL1_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_VOL_1_INC", + "encoderLowerCCW": "AS1000_MFD_VOL_1_DEC", + "encoderUpperCW": "AS1000_MFD_VOL_1_INC", + "encoderUpperCCW": "AS1000_MFD_VOL_1_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_vol2knob", + "type": "imageButton", + "image": "knob_vol.png", + "left": 1296, + "top": 41, + "controlSize": { + "$ref": "#value.controlSize.volKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_VOL2_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_VOL_2_INC", + "encoderLowerCCW": "AS1000_MFD_VOL_2_DEC", + "encoderUpperCW": "AS1000_MFD_VOL_2_INC", + "encoderUpperCCW": "AS1000_MFD_VOL_2_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_navknob", + "type": "imageButton", + "image": "knob.png", + "left": 47, + "top": 171, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_NAV_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_NAV_Large_INC", + "encoderLowerCCW": "AS1000_MFD_NAV_Large_DEC", + "encoderUpperCW": "AS1000_MFD_NAV_Small_INC", + "encoderUpperCCW": "AS1000_MFD_NAV_Small_DEC", + "encoderLowerSwitch": "AS1000_MFD_NAV_Push", + "encoderUpperSwitch": "AS1000_MFD_NAV_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_navswap", + "type": "imageButton", + "image": "button_swap.png", + "left": 97, + "top": 104, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_NAV_Switch", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_NAV_Large_INC", + "encoderLowerCCW": "AS1000_MFD_NAV_Large_DEC", + "encoderUpperCW": "AS1000_MFD_NAV_Small_INC", + "encoderUpperCCW": "AS1000_MFD_NAV_Small_DEC", + "encoderLowerSwitch": "AS1000_MFD_NAV_Push", + "encoderUpperSwitch": "AS1000_MFD_NAV_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_hdgknob", + "type": "imageButton", + "image": "knob_hdg.png", + "left": 46, + "top": 339, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_HDG_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_HEADING_FAST_INC", + "encoderLowerCCW": "AS1000_MFD_HEADING_FAST_DEC", + "encoderUpperCW": "AS1000_MFD_HEADING_INC", + "encoderUpperCCW": "AS1000_MFD_HEADING_DEC", + "encoderLowerSwitch": "AS1000_MFD_HEADING_SYNC", + "encoderUpperSwitch": "AS1000_MFD_HEADING_SYNC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_altknob", + "type": "imageButton", + "image": "knob.png", + "left": 48, + "top": 790, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_ALT_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_AP_ALT_INC_1000", + "encoderLowerCCW": "AS1000_AP_ALT_DEC_1000", + "encoderLowerSwitch": "AS1000_AP_ALT_SYNC", + "encoderUpperCW": "AS1000_AP_ALT_INC_100", + "encoderUpperCCW": "AS1000_AP_ALT_DEC_100", + "encoderUpperSwitch": "AS1000_AP_ALT_SYNC", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_comknob", + "type": "imageButton", + "image": "knob.png", + "left": 1282, + "top": 170, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_COM_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_COM_Large_INC", + "encoderLowerCCW": "AS1000_MFD_COM_Large_DEC", + "encoderLowerSwitch": "AS1000_MFD_COM_Push", + "encoderUpperCW": "AS1000_MFD_COM_Small_INC", + "encoderUpperCCW": "AS1000_MFD_COM_Small_DEC", + "encoderUpperSwitch": "AS1000_MFD_COM_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_comswap", + "type": "imageButton", + "image": "button_swap.png", + "left": 1252, + "top": 104, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_COM_Switch", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerw": "AS1000_MFD_COM_Small_INC", + "encoderLowerCCW": "AS1000_MFD_COM_Small_DEC", + "encoderUpperCW": "AS1000_MFD_COM_Large_INC", + "encoderUpperCCW": "AS1000_MFD_COM_Large_DEC", + "encoderLowerSwitch": "AS1000_MFD_COM_Push", + "encoderUpperSwitch": "AS1000_MFD_COM_Push", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_crsknob", + "type": "imageButton", + "image": "knob_crs.png", + "left": 1282, + "top": 334, + "controlSize": { + "$ref": "#value.controlSize.crsKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_CRS_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_BARO_INC", + "encoderLowerCCW": "AS1000_MFD_BARO_DEC", + "encoderUpperCW": "AS1000_MFD_CRS_INC", + "encoderUpperCCW": "AS1000_MFD_CRS_DEC", + "encoderLowerSwitch": "AS1000_MFD_CRS_PUSH", + "encoderUpperSwitch": "AS1000_MFD_CRS_PUSH", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_rangeknob", + "type": "imageButton", + "image": "knob_range.png", + "left": 1287, + "top": 493, + "controlSize": { + "$ref": "#value.controlSize.rangeKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_MAP_KNOB_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_RANGE_INC", + "encoderLowerCCW": "AS1000_MFD_RANGE_DEC", + "encoderLowerSwitch": "AS1000_MFD_JOYSTICK_PUSH", + "encoderUpperCW": "AS1000_MFD_RANGE_INC", + "encoderUpperCCW": "AS1000_MFD_RANGE_DEC", + "encoderUpperSwitch": "AS1000_MFD_JOYSTICK_PUSH", + "joystick1up": "AS1000_MFD_JOYSTICK_UP", + "joystick1down": "AS1000_MFD_JOYSTICK_DOWN", + "joystick1left": "AS1000_MFD_JOYSTICK_LEFT", + "joystick1right": "AS1000_MFD_JOYSTICK_RIGHT", + "joystick1switch": "AS1000_MFD_JOYSTICK_PUSH", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_fmsknob", + "type": "imageButton", + "image": "knob.png", + "left": 1281, + "top": 791, + "controlSize": { + "$ref": "#value.controlSize.regularKnob" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_FMS_KNOB_SELECT", + "actionType": "EncoderAction" + } + ], + "useDualEncoder": true + } + }, + { + "id": "btn_ap", + "type": "imageButton", + "image": "button_ap.png", + "left": 22, + "top": 468, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_MASTER", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_fd", + "type": "imageButton", + "image": "button_fd.png", + "left": 94, + "top": 468, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "TOGGLE_FLIGHT_DIRECTOR", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_hdg", + "type": "imageButton", + "image": "button_hdg.png", + "left": 22, + "top": 518, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_HEADING_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_alt", + "type": "imageButton", + "image": "button_alt.png", + "left": 94, + "top": 518, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_ALTITUDE_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_nav", + "type": "imageButton", + "image": "button_nav.png", + "left": 22, + "top": 568, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_NAV1_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_vnv", + "type": "imageButton", + "image": "button_vnv.png", + "left": 94, + "top": 568, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_VNAV_TOGGLE", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_apr", + "type": "imageButton", + "image": "button_apr.png", + "left": 22, + "top": 619, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_APR_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_bc", + "type": "imageButton", + "image": "button_bc.png", + "left": 94, + "top": 619, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_BC_HOLD", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "btn_vs", + "type": "imageButton", + "image": "button_vs.png", + "left": 22, + "top": 669, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AP_PANEL_VS_HOLD", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_NOSE_UP", + "encoderLowerCCW": "AS1000_MFD_NOSE_DN", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_flc", + "type": "imageButton", + "image": "button_flc.png", + "left": 22, + "top": 719, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_FLC_Push", + "actionType": "SimEventId" + }, + { + "action": "AP_SPD_VAR_SET", + "actionValueVariable": "PLANE_AIRSPEED", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "AS1000_MFD_NOSE_DN", + "encoderLowerCCW": "AS1000_MFD_NOSE_UP", + "actionType": "SimEventId" + } + } + }, + { + "id": "btn_speedknob", + "type": "imageButton", + "image": "knob_speed.png", + "left": 96, + "top": 668, + "controlSize": { + "$ref": "#value.controlSize.speedKnob" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AIRSPEED_BUG_SELECT", + "actionType": "EncoderAction" + } + ], + "useEncoder": true + } + }, + { + "id": "btn_dir", + "type": "imageButton", + "image": "button_dir.png", + "left": 1254, + "top": 618, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_DIRECTTO", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_menu", + "type": "imageButton", + "image": "button_menu.png", + "left": 1327, + "top": 618, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_MENU_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_fpl", + "type": "imageButton", + "image": "button_fpl.png", + "left": 1254, + "top": 670, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_FPL_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_proc", + "type": "imageButton", + "image": "button_proc.png", + "left": 1327, + "top": 670, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_PROC_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_clr", + "type": "imageButton", + "image": "button_clr.png", + "left": 1254, + "top": 722, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_CLR", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_ent", + "type": "imageButton", + "image": "button_ent.png", + "left": 1327, + "top": 722, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_ENT_Push", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_1", + "type": "imageButton", + "image": "button_softkey.png", + "left": 208, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_1", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_2", + "type": "imageButton", + "image": "button_softkey.png", + "left": 292, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_2", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_3", + "type": "imageButton", + "image": "button_softkey.png", + "left": 378, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_3", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_4", + "type": "imageButton", + "image": "button_softkey.png", + "left": 463, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_4", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_5", + "type": "imageButton", + "image": "button_softkey.png", + "left": 549, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_5", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_6", + "type": "imageButton", + "image": "button_softkey.png", + "left": 636, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_6", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_7", + "type": "imageButton", + "image": "button_softkey.png", + "left": 721, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_7", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_8", + "type": "imageButton", + "image": "button_softkey.png", + "left": 804, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_8", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_9", + "type": "imageButton", + "image": "button_softkey.png", + "left": 890, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_9", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_10", + "type": "imageButton", + "image": "button_softkey.png", + "left": 976, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_10", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_11", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1061, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_11", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + }, + { + "id": "btn_softkey_mfd_12", + "type": "imageButton", + "image": "button_softkey.png", + "left": 1145, + "top": 850, + "controlSize": { + "$ref": "#value.controlSize.buttonBase" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "AS1000_MFD_SOFTKEYS_12", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "$ref": "#value.encoderAction.mfdFms" + } + } + } + ] + } + } +] \ No newline at end of file diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/background_pfd_only.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/background_pfd_only.png new file mode 100644 index 0000000..80cb14a Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/background_pfd_only.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/background_pfdmfd.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/background_pfdmfd.png new file mode 100644 index 0000000..d3a8753 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/background_pfdmfd.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/blank_button.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/blank_button.png new file mode 100644 index 0000000..eb067c8 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/blank_button.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_adf.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_adf.png new file mode 100644 index 0000000..2481199 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_adf.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_alt.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_alt.png new file mode 100644 index 0000000..bd3b47f Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_alt.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_ap.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_ap.png new file mode 100644 index 0000000..f2708e1 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_ap.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_apr.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_apr.png new file mode 100644 index 0000000..fbf7f8b Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_apr.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_aux.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_aux.png new file mode 100644 index 0000000..ba1c700 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_aux.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_bc.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_bc.png new file mode 100644 index 0000000..a018f3d Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_bc.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_clr.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_clr.png new file mode 100644 index 0000000..516c940 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_clr.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com1.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com1.png new file mode 100644 index 0000000..0625701 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com1.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com12.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com12.png new file mode 100644 index 0000000..df754d8 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com12.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com1mic.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com1mic.png new file mode 100644 index 0000000..2612ad2 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com1mic.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com2.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com2.png new file mode 100644 index 0000000..a5ed503 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com2.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com2mic.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com2mic.png new file mode 100644 index 0000000..965d1a7 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_com2mic.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_dir.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_dir.png new file mode 100644 index 0000000..e117668 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_dir.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_dme.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_dme.png new file mode 100644 index 0000000..aa0db57 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_dme.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_ent.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_ent.png new file mode 100644 index 0000000..fe22dc9 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_ent.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_fd.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_fd.png new file mode 100644 index 0000000..45567ab Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_fd.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_flc.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_flc.png new file mode 100644 index 0000000..f69cbaa Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_flc.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_fpl.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_fpl.png new file mode 100644 index 0000000..aac131a Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_fpl.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_hdg.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_hdg.png new file mode 100644 index 0000000..0520362 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_hdg.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_menu.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_menu.png new file mode 100644 index 0000000..9e9061a Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_menu.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav.png new file mode 100644 index 0000000..651ea98 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav1.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav1.png new file mode 100644 index 0000000..5ae391f Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav1.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav2.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav2.png new file mode 100644 index 0000000..954fe94 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nav2.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nose_down.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nose_down.png new file mode 100644 index 0000000..72e02e4 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nose_down.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nose_up.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nose_up.png new file mode 100644 index 0000000..e87094d Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_nose_up.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_proc.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_proc.png new file mode 100644 index 0000000..b390295 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_proc.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_softkey.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_softkey.png new file mode 100644 index 0000000..3d9c0e0 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_softkey.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_swap.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_swap.png new file mode 100644 index 0000000..9eb3bff Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_swap.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_vnv.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_vnv.png new file mode 100644 index 0000000..1ccf0d2 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_vnv.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_vs.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_vs.png new file mode 100644 index 0000000..d431681 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/button_vs.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob.png new file mode 100644 index 0000000..8dd1292 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_crs.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_crs.png new file mode 100644 index 0000000..3add246 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_crs.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_hdg.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_hdg.png new file mode 100644 index 0000000..1de5ae1 Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_hdg.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_range.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_range.png new file mode 100644 index 0000000..21b8e9a Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_range.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_speed.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_speed.png new file mode 100644 index 0000000..e7cca8f Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_speed.png differ diff --git a/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_vol.png b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_vol.png new file mode 100644 index 0000000..78eda3c Binary files /dev/null and b/ReactClient/public/config/profiles/kodiak/pfdmfd/img/knob_vol.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/SimConnectDataDefinition.json b/ReactClient/public/config/profiles/pmdg-737-700/SimConnectDataDefinition.json new file mode 100644 index 0000000..6f6a7b9 --- /dev/null +++ b/ReactClient/public/config/profiles/pmdg-737-700/SimConnectDataDefinition.json @@ -0,0 +1,507 @@ +[ + { + "propName": "SIM_RATE", + "variableName": "SIMULATION RATE", + "simConnectUnit": "number", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed2" + }, + { + "propName": "GPS_LAT", + "variableName": "GPS POSITION LAT", + "simConnectUnit": "degrees", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "GPS_LON", + "variableName": "GPS POSITION LON", + "simConnectUnit": "degrees", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PLANE_HEADING_TRUE", + "variableName": "PLANE HEADING DEGREES TRUE", + "simConnectUnit": "degrees", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed0" + }, + { + "propName": "PLANE_AIRSPEED", + "variableName": "AIRSPEED INDICATED", + "simConnectUnit": "knots", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed0" + }, + { + "propName": "FLAPS", + "variableName": "FLAPS HANDLE INDEX", + "simConnectUnit": "number", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toBoeingFlapsValue" + }, + { + "propName": "ELEVATOR_TRIM", + "variableName": "switch_690_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": "toBoeingElevatorTrimValue" + }, + { + "propName": "RUDDER_TRIM", + "variableName": "RUDDER TRIM", + "simConnectUnit": "radians", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed2" + }, + { + "propName": "AILERON_TRIM", + "variableName": "AILERON TRIM", + "simConnectUnit": "radians", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed3" + }, + { + "propName": "BRAKE_PARKING_INDICATOR", + "variableName": "BRAKE PARKING INDICATOR", + "simConnectUnit": "bool", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed0" + }, + { + "propName": "GEAR_POSITION", + "variableName": "GEAR POSITION", + "simConnectUnit": "enum", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "GEAR_CENTER_POSITION", + "variableName": "GEAR CENTER POSITION", + "simConnectUnit": "percent", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "GEAR_LEFT_POSITION", + "variableName": "GEAR LEFT POSITION", + "simConnectUnit": "percent", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "GEAR_RIGHT_POSITION", + "variableName": "GEAR RIGHT POSITION", + "simConnectUnit": "percent", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "TRANSPONDER_CODE", + "variableName": "TRANSPONDER CODE:1", + "simConnectUnit": "number", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_AT_ARM_LIGHT", + "variableName": "switch_3801_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_CPT_FD_IND", + "variableName": "ngx_MCP_FDLeft", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_FO_FD_IND", + "variableName": "ngx_MCP_FDRight", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_CPT_CRS", + "variableName": "ngx_CRSwindowL", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_FO_CRS", + "variableName": "ngx_CRSwindowR", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_IAS_MACH", + "variableName": "ngx_SPDwindow", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": "toBlankIfNegative" + }, + { + "propName": "PMDG_B737_MCP_HDG", + "variableName": "ngx_HDGwindow", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_ALT", + "variableName": "ngx_ALTwindow", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_V_SPEED", + "variableName": "ngx_VSwindow", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": "toBlankIfNegative" + }, + { + "propName": "PMDG_B737_MCP_VS_IND", + "variableName": "ngx_MCP_VS", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_N1_IND", + "variableName": "ngx_MCP_N1", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_SPEED_IND", + "variableName": "ngx_MCP_Speed", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_LVL_CHANGE_IND", + "variableName": "ngx_MCP_LvlChg", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_HDG_SEL_IND", + "variableName": "ngx_MCP_HdgSel", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_APP_IND", + "variableName": "ngx_MCP_App", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_ALT_HOLD_IND", + "variableName": "ngx_MCP_AltHold", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_BANK_ANGLE", + "variableName": "switch_389_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_CMD_A_IND", + "variableName": "ngx_MCP_CMDA", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_CMD_B_IND", + "variableName": "ngx_MCP_CMDB", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_CWS_A_IND", + "variableName": "ngx_MCP_CWSA", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_CWS_B_IND", + "variableName": "ngx_MCP_CWSB", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_VNAV_IND", + "variableName": "ngx_MCP_VNav", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_LNAV_IND", + "variableName": "ngx_MCP_LNav", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_MCP_VOR_LOC_IND", + "variableName": "ngx_MCP_VORLock", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + + { + "propName": "PMDG_B737_COM1_ACTIVE_FREQ", + "variableName": "COM ACTIVE FREQUENCY:1", + "simConnectUnit": "mhz", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed3" + }, + { + "propName": "PMDG_B737_COM1_STANDBY_FREQ", + "variableName": "COM STANDBY FREQUENCY:1", + "simConnectUnit": "mhz", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed3" + }, + { + "propName": "PMDG_B737_COM2_ACTIVE_FREQ", + "variableName": "COM ACTIVE FREQUENCY:2", + "simConnectUnit": "mhz", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed3" + }, + { + "propName": "PMDG_B737_COM2_STANDBY_FREQ", + "variableName": "COM STANDBY FREQUENCY:2", + "simConnectUnit": "mhz", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed3" + }, + { + "propName": "PMDG_B737_NAV1_ACTIVE_FREQ", + "variableName": "NAV ACTIVE FREQUENCY:1", + "simConnectUnit": "mhz", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed2" + }, + { + "propName": "PMDG_B737_NAV1_STANDBY_FREQ", + "variableName": "NAV STANDBY FREQUENCY:1", + "simConnectUnit": "mhz", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed2" + }, + { + "propName": "PMDG_B737_NAV2_ACTIVE_FREQ", + "variableName": "NAV ACTIVE FREQUENCY:2", + "simConnectUnit": "mhz", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed2" + }, + { + "propName": "PMDG_B737_NAV2_STANDBY_FREQ", + "variableName": "NAV STANDBY FREQUENCY:2", + "simConnectUnit": "mhz", + "dataType": "Float64", + "dataDefinitionType": "SimConnect", + "defaultValue": 0, + "JavaScriptFormatting": "toFixed2" + }, + { + "propName": "PMDG_B737_XPNDR_ATC_MODE", + "variableName": "switch_800_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_XPNDR_XPNDR_MODE", + "variableName": "switch_798_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_XPNDR_ALTSOURCE_MODE", + "variableName": "switch_803_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_EFIS_CPT_RST", + "variableName": "switch_356_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_EFIS_CPT_STD", + "variableName": "switch_366_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_EFIS_CPT_CTR", + "variableName": "switch_359_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_EFIS_CPT_TFS", + "variableName": "switch_361_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_EFIS_CPT_VOR1", + "variableName": "switch_358_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + }, + { + "propName": "PMDG_B737_EFIS_CPT_VOR2", + "variableName": "switch_368_73X", + "simConnectUnit": null, + "dataType": "Default", + "dataDefinitionType": "LVar", + "defaultValue": 0, + "JavaScriptFormatting": null + } +] \ No newline at end of file diff --git a/ReactClient/public/config/profiles/pmdg-737-700/cdu/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/pmdg-737-700/cdu/PopoutPanelDefinition.json new file mode 100644 index 0000000..a2f3a36 --- /dev/null +++ b/ReactClient/public/config/profiles/pmdg-737-700/cdu/PopoutPanelDefinition.json @@ -0,0 +1,41 @@ +{ + "id": "PMDG_737_700_CDU_DEF", + "value": { + "panelSize": { + "width": 900, + "height": 675 + }, + "controlSize": { + "webBrowser": { + "width": 445, + "height": 675 + } + }, + "panelControlDefinitions": [ + { + "id": "cdu-left", + "type": "webBrowser", + "left": 0, + "top": 0, + "controlSize": { + "$ref": "#value.controlSize.webBrowser" + }, + "binding": { + "url": "http://localhost:32111/" + } + }, + { + "id": "cdu-right", + "type": "webBrowser", + "left": 455, + "top": 0, + "controlSize": { + "$ref": "#value.controlSize.webBrowser" + }, + "binding": { + "url": "http://localhost:32112/" + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/PopoutPanelDefinition.json new file mode 100644 index 0000000..b6703b4 --- /dev/null +++ b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/PopoutPanelDefinition.json @@ -0,0 +1,611 @@ +{ + "id": "PMDG_737_700_EFIS_CPT_DEF", + "value": { + "panelSize": { + "width": 724, + "height": 394 + }, + "backgroundImage": "background_efis.png", + "controlSize": { + "squareButton": { + "width": 60, + "height": 60 + }, + "roundButton": { + "width": 50, + "height": 50 + }, + "switchButton": { + "width": 120, + "height": 120 + }, + "efisKnob": { + "width": 110, + "height": 110 + }, + "efisKnobText": { + "width": 50, + "height": 50 + }, + "efisKnob2": { + "width": 90, + "height": 90 + }, + "efisKnob2Text": { + "width": 60, + "height": 60 + } + }, + "panelControlDefinitions": [ + { + "id": "btn_rst_knob", + "type": "bindableImageButton", + "left": 89, + "top": 62, + "controlSize": { + "$ref": "#value.controlSize.efisKnob" + }, + "highlight": true, + "binding": { + "variable": "PMDG_B737_EFIS_CPT_RST", + "images": [ + { + "url": "knob_efis_1.png", + "rotate": -33, + "val": 0 + }, + { + "url": "knob_efis_1.png", + "rotate": 33, + "val": 100 + } + ] + }, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_EFIS_RST_SELECT", + "actionType": "SimVarCode" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "(L:switch_356_73X) 0 == if{ 35601 (>K:ROTOR_BRAKE) }", + "encoderLowerCCW": "(L:switch_356_73X) 100 == if{ 35601 (>K:ROTOR_BRAKE) }", + "encoderLowerSwitch": "35701 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "35507 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "35508 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "35701 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_rst_knob_text", + "type": "imageButton", + "left": 119, + "top": 90, + "controlSize": { + "$ref": "#value.controlSize.efisKnobText" + }, + "highlight": true, + "image": "knob_rst_text.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_EFIS_RST_SELECT", + "actionType": "SimVarCode" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "(L:switch_356_73X) 0 == if{ 35601 (>K:ROTOR_BRAKE) }", + "encoderLowerCCW": "(L:switch_356_73X) 100 == if{ 35601 (>K:ROTOR_BRAKE) }", + "encoderLowerSwitch": "35701 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "35507 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "35508 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "35701 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_std_knob", + "type": "bindableImageButton", + "left": 528, + "top": 62, + "controlSize": { + "$ref": "#value.controlSize.efisKnob" + }, + "highlight": true, + "binding": { + "variable": "PMDG_B737_EFIS_CPT_STD", + "images": [ + { + "url": "knob_efis_1.png", + "rotate": -33, + "val": 0 + }, + { + "url": "knob_efis_1.png", + "rotate": 33, + "val": 100 + } + ] + }, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_EFIS_STD_SELECT", + "actionType": "SimVarCode" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "(L:switch_366_73X) 0 == if{ 36601 (>K:ROTOR_BRAKE) }", + "encoderLowerCCW": "(L:switch_366_73X) 100 == if{ 36601 (>K:ROTOR_BRAKE) }", + "encoderLowerSwitch": "36701 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "36507 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "36508 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "36701 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_std_knob_text", + "type": "imageButton", + "left": 556, + "top": 91, + "controlSize": { + "$ref": "#value.controlSize.efisKnobText" + }, + "highlight": true, + "image": "knob_std_text.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_EFIS_STD_SELECT", + "actionType": "SimVarCode" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "(L:switch_366_73X) 0 == if{ 36601 (>K:ROTOR_BRAKE) }", + "encoderLowerCCW": "(L:switch_366_73X) 100 == if{ 36601 (>K:ROTOR_BRAKE) }", + "encoderLowerSwitch": "36701 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "36507 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "36508 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "36701 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_ctr_knob", + "type": "bindableImageButton", + "left": 229, + "top": 205, + "controlSize": { + "$ref": "#value.controlSize.efisKnob2" + }, + "highlight": true, + "binding": { + "variable": "PMDG_B737_EFIS_CPT_CTR", + "images": [ + { + "url": "knob_efis_2.png", + "rotate": -44, + "val": 0 + }, + { + "url": "knob_efis_2.png", + "rotate": -22, + "val": 10 + }, + { + "url": "knob_efis_2.png", + "rotate": 22, + "val": 20 + }, + { + "url": "knob_efis_2.png", + "rotate": 44, + "val": 30 + } + ] + }, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_EFIS_CTR_SELECT", + "actionType": "SimVarCode" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "35907 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "35908 (>K:ROTOR_BRAKE)", + "encoderLowerSwitch": "36001 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "35907 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "35908 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "36001 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_ctr_knob_text", + "type": "imageButton", + "left": 243, + "top": 221, + "controlSize": { + "$ref": "#value.controlSize.efisKnob2Text" + }, + "highlight": true, + "image": "knob_ctr_text.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_EFIS_CTR_SELECT", + "actionType": "SimVarCode" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "35907 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "35908 (>K:ROTOR_BRAKE)", + "encoderLowerSwitch": "36001 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "35907 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "35908 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "36001 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_tfc_knob", + "type": "bindableImageButton", + "left": 407, + "top": 205, + "controlSize": { + "$ref": "#value.controlSize.efisKnob2" + }, + "highlight": true, + "binding": { + "variable": "PMDG_B737_EFIS_CPT_TFS", + "images": [ + { + "url": "knob_efis_2.png", + "rotate": -90, + "val": 0 + }, + { + "url": "knob_efis_2.png", + "rotate": -60, + "val": 10 + }, + { + "url": "knob_efis_2.png", + "rotate": -30, + "val": 20 + }, + { + "url": "knob_efis_2.png", + "rotate": 0, + "val": 30 + }, + { + "url": "knob_efis_2.png", + "rotate": 30, + "val": 40 + }, + { + "url": "knob_efis_2.png", + "rotate": 60, + "val": 50 + }, + { + "url": "knob_efis_2.png", + "rotate": 90, + "val": 60 + }, + { + "url": "knob_efis_2.png", + "rotate": 118, + "val": 70 + } + ] + }, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_EFIS_TFC_SELECT", + "actionType": "SimVarCode" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "36107 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "36108 (>K:ROTOR_BRAKE)", + "encoderLowerSwitch": "36201 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "36107 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "36108 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "36201 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_tfc_knob_text", + "type": "imageButton", + "left": 420, + "top": 221, + "controlSize": { + "$ref": "#value.controlSize.efisKnob2Text" + }, + "highlight": true, + "image": "knob_tfc_text.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_EFIS_TFC_SELECT", + "actionType": "SimVarCode" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "36107 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "36108 (>K:ROTOR_BRAKE)", + "encoderLowerSwitch": "36201 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "36107 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "36108 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "36201 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_fpv", + "type": "imageButton", + "left": 271, + "top": 57, + "controlSize": { + "$ref": "#value.controlSize.roundButton" + }, + "highlight": false, + "image": "btn_efis_round.png", + "action": { + "touchActions": [ + { + "action": "36301 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_mtrs", + "type": "imageButton", + "left": 406, + "top": 57, + "controlSize": { + "$ref": "#value.controlSize.roundButton" + }, + "highlight": false, + "image": "btn_efis_round.png", + "action": { + "touchActions": [ + { + "action": "36401 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_wxr", + "type": "imageButton", + "left": 61, + "top": 303, + "controlSize": { + "$ref": "#value.controlSize.squareButton" + }, + "highlight": false, + "image": "btn_wxr.png", + "action": { + "touchActions": [ + { + "action": "36901 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_sta", + "type": "imageButton", + "left": 151, + "top": 303, + "controlSize": { + "$ref": "#value.controlSize.squareButton" + }, + "highlight": false, + "image": "btn_sta.png", + "action": { + "touchActions": [ + { + "action": "37001 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_wpt", + "type": "imageButton", + "left": 243, + "top": 303, + "controlSize": { + "$ref": "#value.controlSize.squareButton" + }, + "highlight": false, + "image": "btn_wpt.png", + "action": { + "touchActions": [ + { + "action": "37101 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_arpt", + "type": "imageButton", + "left": 332, + "top": 303, + "controlSize": { + "$ref": "#value.controlSize.squareButton" + }, + "highlight": false, + "image": "btn_arpt.png", + "action": { + "touchActions": [ + { + "action": "37201 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_data", + "type": "imageButton", + "left": 426, + "top": 303, + "controlSize": { + "$ref": "#value.controlSize.squareButton" + }, + "highlight": false, + "image": "btn_data.png", + "action": { + "touchActions": [ + { + "action": "37301 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_pos", + "type": "imageButton", + "left": 515, + "top": 303, + "controlSize": { + "$ref": "#value.controlSize.squareButton" + }, + "highlight": false, + "image": "btn_pos.png", + "action": { + "touchActions": [ + { + "action": "37401 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_terr", + "type": "imageButton", + "left": 607, + "top": 303, + "controlSize": { + "$ref": "#value.controlSize.squareButton" + }, + "highlight": false, + "image": "btn_terr.png", + "action": { + "touchActions": [ + { + "action": "37501 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_vor1", + "type": "bindableImageButton", + "left": 21, + "top": 171, + "controlSize": { + "$ref": "#value.controlSize.switchButton" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_EFIS_CPT_VOR1", + "images": [ + { + "url": "switch_vor1_up.png", + "val": 0 + }, + { + "url": "switch_vor1_mid.png", + "val": 50 + }, + { + "url": "switch_vor1_down.png", + "val": 100 + } + ] + }, + "action": { + "touchActions": [ + { + "action": "(L:switch_358_73X) 0 == if{ 35801 (>K:ROTOR_BRAKE) } els{ (L:switch_358_73X) 50 == if{ 35801 (>K:ROTOR_BRAKE) } els{ 35802 (>K:ROTOR_BRAKE) 35802 (>K:ROTOR_BRAKE) }}", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_vor2", + "type": "bindableImageButton", + "left": 595, + "top": 171, + "controlSize": { + "$ref": "#value.controlSize.switchButton" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_EFIS_CPT_VOR2", + "images": [ + { + "url": "switch_vor2_up.png", + "val": 0 + }, + { + "url": "switch_vor2_mid.png", + "val": 50 + }, + { + "url": "switch_vor2_down.png", + "val": 100 + } + ] + }, + "action": { + "touchActions": [ + { + "action": "(L:switch_368_73X) 0 == if{ 36801 (>K:ROTOR_BRAKE) } els{ (L:switch_368_73X) 50 == if{ 36801 (>K:ROTOR_BRAKE) } els{ 36802 (>K:ROTOR_BRAKE) 36802 (>K:ROTOR_BRAKE) }}", + "actionType": "SimVarCode" + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/background_efis.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/background_efis.png new file mode 100644 index 0000000..13cb3f5 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/background_efis.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_arpt.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_arpt.png new file mode 100644 index 0000000..c660f7e Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_arpt.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_data.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_data.png new file mode 100644 index 0000000..2398c72 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_data.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_efis_round.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_efis_round.png new file mode 100644 index 0000000..26e2d52 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_efis_round.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_pos.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_pos.png new file mode 100644 index 0000000..dc74ba7 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_pos.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_sta.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_sta.png new file mode 100644 index 0000000..698f1a9 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_sta.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_terr.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_terr.png new file mode 100644 index 0000000..51e6228 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_terr.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_wpt.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_wpt.png new file mode 100644 index 0000000..e6d3baf Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_wpt.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_wxr.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_wxr.png new file mode 100644 index 0000000..074e7cc Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/btn_wxr.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_ctr_text.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_ctr_text.png new file mode 100644 index 0000000..9300a84 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_ctr_text.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_efis_1.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_efis_1.png new file mode 100644 index 0000000..f441e5c Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_efis_1.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_efis_2.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_efis_2.png new file mode 100644 index 0000000..0b01b87 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_efis_2.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_rst_text.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_rst_text.png new file mode 100644 index 0000000..7796869 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_rst_text.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_std_text.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_std_text.png new file mode 100644 index 0000000..c490c45 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_std_text.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_tfc_text.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_tfc_text.png new file mode 100644 index 0000000..21ded47 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/knob_tfc_text.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_down.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_down.png new file mode 100644 index 0000000..827ff8f Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_down.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_mid.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_mid.png new file mode 100644 index 0000000..6323119 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_mid.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_up.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_up.png new file mode 100644 index 0000000..9b905cd Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor1_up.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_down.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_down.png new file mode 100644 index 0000000..6d5b53a Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_down.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_mid.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_mid.png new file mode 100644 index 0000000..d66092f Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_mid.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_up.png b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_up.png new file mode 100644 index 0000000..6b5a5a8 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/efis-cpt/img/switch_vor2_up.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/pmdg-737-700/mcp/PopoutPanelDefinition.json new file mode 100644 index 0000000..bfaccf2 --- /dev/null +++ b/ReactClient/public/config/profiles/pmdg-737-700/mcp/PopoutPanelDefinition.json @@ -0,0 +1,1066 @@ +{ + "id": "PMDG_737_700_MCP_DEF", + "value": { + "panelSize": { + "width": 1920, + "height": 329 + }, + "backgroundImage": "background_mcp.png", + "controlSize": { + "regularButton": { + "width": 65, + "height": 65 + }, + "crsKnob": { + "width": 81, + "height": 81 + }, + "mcpKnob": { + "width": 81, + "height": 81 + }, + "bkKnob": { + "width": 81, + "height": 81 + }, + "toggleButton": { + "width": 97, + "height": 97 + }, + "knobWheel": { + "width": 33, + "height": 121 + }, + "buttonApDisengage": { + "width": 130, + "height": 41 + }, + "buttonIntv": { + "width": 45, + "height": 45 + }, + "buttonMaster": { + "width": 36, + "height": 36 + }, + "atArmLight": { + "width": 40, + "height": 14 + }, + "threeDigitDisplay": { + "width": 75, + "height": 35 + }, + "fourDigitDisplay": { + "width": 100, + "height": 35 + }, + "fiveDigitDisplay": { + "width": 125, + "height": 35 + } + }, + "panelControlDefinitions": [ + { + "id": "ind_at_arm", + "type": "bindableImageButton", + "left": 265, + "top": 57, + "controlSize": { + "$ref": "#value.controlSize.atArmLight" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_AT_ARM_LIGHT", + "images": [ + { + "url": "button_at_arm_off.png", + "val": 0 + }, + { + "url": "button_at_arm_on.png", + "val": 0.5 + } + ] + } + }, + { + "id": "btn_at_arm", + "type": "bindableImageButton", + "left": 240, + "top": 68, + "controlSize": { + "$ref": "#value.controlSize.toggleButton" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_AT_ARM_LIGHT", + "images": [ + { + "url": "button_toggle_left_off.png", + "val": 0 + }, + { + "url": "button_toggle_left_on.png", + "val": 0.5 + } + ] + }, + "action": { + "touchActions": [ + { + "action": "38001 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_cpt_crs_knob", + "type": "imageButton", + "left": 96, + "top": 123, + "controlSize": { + "$ref": "#value.controlSize.crsKnob" + }, + "highlight": true, + "image": "knob_crs.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_MCP_CPT_CRS_SELECT", + "actionType": "SimVarCode" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "37607 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "37608 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "37607 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "37608 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_fo_crs_knob", + "type": "imageButton", + "left": 1737, + "top": 123, + "controlSize": { + "$ref": "#value.controlSize.crsKnob" + }, + "highlight": true, + "image": "knob_crs.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_MCP_FO_CRS_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "40907 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "40908 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "40907 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "40908 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_cpt_fd", + "type": "bindableImageButton", + "left": 168, + "top": 203, + "controlSize": { + "$ref": "#value.controlSize.toggleButton" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_CPT_FD_IND", + "images": [ + { + "url": "button_toggle_left_off.png", + "val": 0 + }, + { + "url": "button_toggle_left_on.png", + "val": 1 + } + ] + }, + "action": { + "touchActions": [ + { + "action": "37801 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_cpt_fd_ind", + "type": "bindableImageButton", + "left": 192, + "top": 134, + "controlSize": { + "$ref": "#value.controlSize.buttonMaster" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_CPT_FD_IND", + "images": [ + { + "url": "master_light_off.png", + "val": 0 + }, + { + "url": "master_light_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_fo_fd", + "type": "bindableImageButton", + "left": 1658, + "top": 203, + "controlSize": { + "$ref": "#value.controlSize.toggleButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "40701 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_FO_FD_IND", + "images": [ + { + "url": "button_toggle_right_off.png", + "val": 0 + }, + { + "url": "button_toggle_right_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_fo_fd_ind", + "type": "bindableImageButton", + "left": 1682, + "top": 134, + "controlSize": { + "$ref": "#value.controlSize.buttonMaster" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_FO_FD_IND", + "images": [ + { + "url": "master_light_off.png", + "val": 0 + }, + { + "url": "master_light_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_toga", + "type": "imageButton", + "image": "button_toga.png", + "left": 80, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "68401 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_hud", + "type": "imageButton", + "image": "button_hud.png", + "left": 1769, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_MCP_HUD_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "98007 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "98008 (>K:ROTOR_BRAKE)", + "encoderLowerSwitch": "97901 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "98007 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "98008 (>K:ROTOR_BRAKE)", + "encoderUpperSwitch": "98101 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_n1_limit", + "type": "bindableImageButton", + "left": 252, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "38101 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_N1_IND", + "images": [ + { + "url": "button_n1_off.png", + "val": 0 + }, + { + "url": "button_n1_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_speed", + "type": "bindableImageButton", + "left": 342, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "38201 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_SPEED_IND", + "images": [ + { + "url": "button_speed_off.png", + "val": 0 + }, + { + "url": "button_speed_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_lvl_chg", + "type": "bindableImageButton", + "left": 605, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "39101 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_LVL_CHANGE_IND", + "images": [ + { + "url": "button_lvl_chg_off.png", + "val": 0 + }, + { + "url": "button_lvl_chg_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_hdg_sel", + "type": "bindableImageButton", + "left": 733, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "39201 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_HDG_SEL_IND", + "images": [ + { + "url": "button_hdg_sel_off.png", + "val": 0 + }, + { + "url": "button_hdg_sel_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_app", + "type": "bindableImageButton", + "left": 865, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "39301 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_APP_IND", + "images": [ + { + "url": "button_app_off.png", + "val": 0 + }, + { + "url": "button_app_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_alt_hld", + "type": "bindableImageButton", + "left": 1043, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "39401 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_ALT_HOLD_IND", + "images": [ + { + "url": "button_alt_hld_off.png", + "val": 0 + }, + { + "url": "button_alt_hld_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_vnav", + "type": "bindableImageButton", + "left": 605, + "top": 34, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "38601 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_VNAV_IND", + "images": [ + { + "url": "button_vnav_off.png", + "val": 0 + }, + { + "url": "button_vnav_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_lnav", + "type": "bindableImageButton", + "left": 865, + "top": 34, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "39701 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_LNAV_IND", + "images": [ + { + "url": "button_lnav_off.png", + "val": 0 + }, + { + "url": "button_lnav_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_vor_loc", + "type": "bindableImageButton", + "left": 865, + "top": 130, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "39601 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_VOR_LOC_IND", + "images": [ + { + "url": "button_vor_loc_off.png", + "val": 0 + }, + { + "url": "button_vor_loc_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_cmd_a", + "type": "bindableImageButton", + "left": 1485, + "top": 55, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "40201 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_CMD_A_IND", + "images": [ + { + "url": "button_cmd_off.png", + "val": 0 + }, + { + "url": "button_cmd_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_cmd_b", + "type": "bindableImageButton", + "left": 1589, + "top": 55, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "40301 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_CMD_B_IND", + "images": [ + { + "url": "button_cmd_off.png", + "val": 0 + }, + { + "url": "button_cmd_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_cws_a", + "type": "bindableImageButton", + "left": 1485, + "top": 146, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "40401 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_CWS_A_IND", + "images": [ + { + "url": "button_cws_off.png", + "val": 0 + }, + { + "url": "button_cws_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_cws_b", + "type": "bindableImageButton", + "left": 1589, + "top": 146, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "40501 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_CWS_B_IND", + "images": [ + { + "url": "button_cws_off.png", + "val": 0 + }, + { + "url": "button_cws_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_hdg_bk_knob", + "type": "bindableImageButton", + "left": 726, + "top": 125, + "controlSize": { + "$ref": "#value.controlSize.bkKnob" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_MCP_BANK_ANGLE_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "38902 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "38901 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "39007 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "39008 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + }, + "binding": { + "variable": "PMDG_B737_MCP_BANK_ANGLE", + "images": [ + { + "url": "knob_bk.png", + "rotate": 30, + "val": 0 + }, + { + "url": "knob_bk.png", + "rotate": 60, + "val": 10 + }, + { + "url": "knob_bk.png", + "rotate": 90, + "val": 20 + }, + { + "url": "knob_bk.png", + "rotate": 120, + "val": 30 + }, + { + "url": "knob_bk.png", + "rotate": 150, + "val": 40 + } + ] + } + }, + { + "id": "btn_speed_knob", + "type": "imageButton", + "left": 465, + "top": 155, + "controlSize": { + "$ref": "#value.controlSize.mcpKnob" + }, + "highlight": true, + "image": "knob_mcp.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_MCP_SPEED_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "38407 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "38408 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "38407 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "38408 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_alt_knob", + "type": "imageButton", + "left": 1034, + "top": 124, + "controlSize": { + "$ref": "#value.controlSize.mcpKnob" + }, + "highlight": true, + "image": "knob_mcp.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_MCP_ALT_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "40007 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "40008 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "40007 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "40008 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_alt_intv", + "type": "imageButton", + "left": 1143, + "top": 144, + "controlSize": { + "$ref": "#value.controlSize.buttonIntv" + }, + "highlight": false, + "image": "button_intv.png", + "action": { + "touchActions": [ + { + "action": "88501 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_co_intv", + "type": "imageButton", + "left": 397, + "top": 144, + "controlSize": { + "$ref": "#value.controlSize.buttonIntv" + }, + "highlight": false, + "image": "button_intv.png", + "action": { + "touchActions": [ + { + "action": "38301 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_spd_intv", + "type": "imageButton", + "left": 570, + "top": 144, + "controlSize": { + "$ref": "#value.controlSize.buttonIntv" + }, + "highlight": false, + "image": "button_intv.png", + "action": { + "touchActions": [ + { + "action": "38701 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "btn_vs", + "type": "bindableImageButton", + "left": 1144, + "top": 225, + "controlSize": { + "$ref": "#value.controlSize.regularButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "39501 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_MCP_VS_IND", + "images": [ + { + "url": "button_vs_off.png", + "val": 0 + }, + { + "url": "button_vs_on.png", + "val": 1 + } + ] + } + }, + { + "id": "btn_vs_knob", + "type": "imageButton", + "left": 1367, + "top": 152, + "controlSize": { + "$ref": "#value.controlSize.knobWheel" + }, + "highlight": true, + "image": "knob_wheel.png", + "action": { + "touchActions": [ + { + "action": "PMDG_B737_MCP_VS_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "40108 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "40107 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "40108 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "40107 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "btn_at_disengage", + "type": "imageButton", + "left": 1503, + "top": 264, + "controlSize": { + "$ref": "#value.controlSize.buttonApDisengage" + }, + "highlight": false, + "image": "button_ap_disengage.png", + "action": { + "touchActions": [ + { + "action": "40601 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "display_cpt_crs", + "type": "digitDisplay", + "left": 112, + "top": 65, + "controlSize": { + "$ref": "#value.controlSize.threeDigitDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_CPT_CRS", + "numberOfDisplayDigit": 3, + "padZeroes": true + } + }, + { + "id": "display_fo_crs", + "type": "digitDisplay", + "left": 1710, + "top": 65, + "controlSize": { + "$ref": "#value.controlSize.threeDigitDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_FO_CRS", + "numberOfDisplayDigit": 3, + "padZeroes": true + } + }, + { + "id": "display_ias_mach", + "type": "digitDisplay", + "left": 440, + "top": 65, + "controlSize": { + "$ref": "#value.controlSize.fourDigitDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_IAS_MACH", + "numberOfDisplayDigit": 3, + "decimalPlaces": 2, + "decimalPlacesLessThanOneOnly": true + } + }, + { + "id": "display_hdg", + "type": "digitDisplay", + "left": 720, + "top": 65, + "controlSize": { + "$ref": "#value.controlSize.threeDigitDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_HDG", + "numberOfDisplayDigit": 3, + "padZeroes": true + } + }, + { + "id": "display_alt", + "type": "digitDisplay", + "left": 1028, + "top": 65, + "controlSize": { + "$ref": "#value.controlSize.fiveDigitDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_ALT", + "numberOfDisplayDigit": 5 + } + }, + { + "id": "display_vs", + "type": "digitDisplay", + "left": 1339, + "top": 65, + "controlSize": { + "$ref": "#value.controlSize.threeDigitDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_MCP_V_SPEED", + "numberOfDisplayDigit": 4 + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/background_mcp.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/background_mcp.png new file mode 100644 index 0000000..a0bc9c5 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/background_mcp.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_hld_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_hld_off.png new file mode 100644 index 0000000..f19f320 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_hld_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_hld_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_hld_on.png new file mode 100644 index 0000000..93d90fd Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_hld_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_intv.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_intv.png new file mode 100644 index 0000000..cabda4c Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_alt_intv.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_ap_disengage.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_ap_disengage.png new file mode 100644 index 0000000..e951df0 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_ap_disengage.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_app_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_app_off.png new file mode 100644 index 0000000..9e94f77 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_app_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_app_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_app_on.png new file mode 100644 index 0000000..6821a92 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_app_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_at_arm_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_at_arm_off.png new file mode 100644 index 0000000..b2a2877 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_at_arm_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_at_arm_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_at_arm_on.png new file mode 100644 index 0000000..f0b5dae Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_at_arm_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_base_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_base_off.png new file mode 100644 index 0000000..31e70a3 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_base_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_base_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_base_on.png new file mode 100644 index 0000000..725fc56 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_base_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cmd_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cmd_off.png new file mode 100644 index 0000000..883ea88 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cmd_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cmd_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cmd_on.png new file mode 100644 index 0000000..f5d398a Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cmd_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cws_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cws_off.png new file mode 100644 index 0000000..4b105c5 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cws_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cws_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cws_on.png new file mode 100644 index 0000000..128ab88 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_cws_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hdg_sel_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hdg_sel_off.png new file mode 100644 index 0000000..cb68049 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hdg_sel_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hdg_sel_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hdg_sel_on.png new file mode 100644 index 0000000..2ffbb8b Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hdg_sel_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hud.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hud.png new file mode 100644 index 0000000..49ff268 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_hud.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_intv.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_intv.png new file mode 100644 index 0000000..8685cf2 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_intv.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lnav_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lnav_off.png new file mode 100644 index 0000000..d75846e Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lnav_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lnav_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lnav_on.png new file mode 100644 index 0000000..cc4b30b Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lnav_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lvl_chg_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lvl_chg_off.png new file mode 100644 index 0000000..8fa7b0a Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lvl_chg_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lvl_chg_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lvl_chg_on.png new file mode 100644 index 0000000..2cb1110 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_lvl_chg_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_n1_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_n1_off.png new file mode 100644 index 0000000..04c633a Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_n1_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_n1_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_n1_on.png new file mode 100644 index 0000000..e62ad3c Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_n1_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_speed_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_speed_off.png new file mode 100644 index 0000000..58945aa Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_speed_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_speed_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_speed_on.png new file mode 100644 index 0000000..749598e Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_speed_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toga.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toga.png new file mode 100644 index 0000000..7ebeae1 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toga.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_left_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_left_off.png new file mode 100644 index 0000000..05fc521 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_left_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_left_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_left_on.png new file mode 100644 index 0000000..5a3c410 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_left_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_right_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_right_off.png new file mode 100644 index 0000000..8998453 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_right_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_right_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_right_on.png new file mode 100644 index 0000000..73bcba4 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_toggle_right_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vnav_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vnav_off.png new file mode 100644 index 0000000..6a731c0 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vnav_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vnav_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vnav_on.png new file mode 100644 index 0000000..a12cb76 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vnav_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vor_loc_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vor_loc_off.png new file mode 100644 index 0000000..fb8165b Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vor_loc_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vor_loc_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vor_loc_on.png new file mode 100644 index 0000000..4b27c7d Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vor_loc_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vs_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vs_off.png new file mode 100644 index 0000000..4bdc3f1 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vs_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vs_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vs_on.png new file mode 100644 index 0000000..aad3cb5 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/button_vs_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_bk.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_bk.png new file mode 100644 index 0000000..8e74ca1 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_bk.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_crs.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_crs.png new file mode 100644 index 0000000..060b536 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_crs.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_mcp.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_mcp.png new file mode 100644 index 0000000..728027c Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_mcp.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_wheel.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_wheel.png new file mode 100644 index 0000000..c6909b8 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/knob_wheel.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/master_light_off.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/master_light_off.png new file mode 100644 index 0000000..3273401 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/master_light_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/master_light_on.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/master_light_on.png new file mode 100644 index 0000000..e3d0f75 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/master_light_on.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/preview.png b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/preview.png new file mode 100644 index 0000000..4e98064 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/mcp/img/preview.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/pmdg-737-700/radio/PopoutPanelDefinition.json new file mode 100644 index 0000000..dfbf843 --- /dev/null +++ b/ReactClient/public/config/profiles/pmdg-737-700/radio/PopoutPanelDefinition.json @@ -0,0 +1,774 @@ +{ + "id": "PMDG_737_700_RADIO_DEF", + "value": { + "panelSize": { + "width": 995, + "height": 485 + }, + "backgroundImage": "background_radio.png", + "controlSize": { + "radioDisplay": { + "width": 115, + "height": 49 + }, + "pushButton": { + "width": 50, + "height": 32 + }, + "pushButtonOff": { + "width": 45, + "height": 27 + }, + "pushButtonTransfer": { + "width": 48, + "height": 28 + }, + "comIndicator": { + "width": 29, + "height": 8 + }, + "knob1": { + "width": 63, + "height": 63 + }, + "knob2": { + "width": 92, + "height": 92 + }, + "test": { + "width": 40, + "height": 40 + } + }, + "panelControlDefinitions": [ + { + "id": "display_active_com1", + "type": "digitDisplay", + "left": 69, + "top": 63, + "controlSize": { + "$ref": "#value.controlSize.radioDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_COM1_ACTIVE_FREQ", + "numberOfDisplayDigit": 7, + "decimalPlaces": 3, + "padZeroes": true, + "color": "rgb(255, 121, 10, 1)" + } + }, + { + "id": "display_standby_com1", + "type": "digitDisplay", + "left": 303, + "top": 63, + "controlSize": { + "$ref": "#value.controlSize.radioDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_COM1_STANDBY_FREQ", + "numberOfDisplayDigit": 7, + "decimalPlaces": 3, + "padZeroes": true, + "color": "rgb(255, 121, 10, 1)" + } + }, + { + "id": "display_active_com2", + "type": "digitDisplay", + "left": 569, + "top": 63, + "controlSize": { + "$ref": "#value.controlSize.radioDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_COM2_ACTIVE_FREQ", + "numberOfDisplayDigit": 7, + "decimalPlaces": 3, + "padZeroes": true, + "color": "rgb(255, 121, 10, 1)" + } + }, + { + "id": "display_standby_com2", + "type": "digitDisplay", + "left": 802, + "top": 63, + "controlSize": { + "$ref": "#value.controlSize.radioDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_COM2_STANDBY_FREQ", + "numberOfDisplayDigit": 7, + "decimalPlaces": 3, + "padZeroes": true, + "color": "rgb(255, 121, 10, 1)" + } + }, + { + "id": "display_active_nav1", + "type": "digitDisplay", + "left": 69, + "top": 306, + "controlSize": { + "$ref": "#value.controlSize.radioDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_NAV1_ACTIVE_FREQ", + "numberOfDisplayDigit": 6, + "decimalPlaces": 2, + "padZeroes": true, + "color": "rgb(255, 121, 10, 1)" + } + }, + { + "id": "display_standby_nav1", + "type": "digitDisplay", + "left": 303, + "top": 306, + "controlSize": { + "$ref": "#value.controlSize.radioDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_NAV1_STANDBY_FREQ", + "numberOfDisplayDigit": 6, + "decimalPlaces": 2, + "padZeroes": true, + "color": "rgb(255, 121, 10, 1)" + } + }, + { + "id": "display_active_nav2", + "type": "digitDisplay", + "left": 569, + "top": 306, + "controlSize": { + "$ref": "#value.controlSize.radioDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_NAV2_ACTIVE_FREQ", + "numberOfDisplayDigit": 6, + "decimalPlaces": 2, + "padZeroes": true, + "color": "rgb(255, 121, 10, 1)" + } + }, + { + "id": "display_standby_nav2", + "type": "digitDisplay", + "left": 802, + "top": 306, + "controlSize": { + "$ref": "#value.controlSize.radioDisplay" + }, + "highlight": false, + "binding": { + "variable": "PMDG_B737_NAV2_STANDBY_FREQ", + "numberOfDisplayDigit": 6, + "decimalPlaces": 2, + "padZeroes": true, + "color": "rgb(255, 121, 10, 1)" + } + }, + { + "id": "hf_sens_1_knob", + "type": "imageButton", + "image": "knob.png", + "left": 58, + "top": 152, + "controlSize": { + "$ref": "#value.controlSize.knob1" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "None", + "encoderLowerCCW": "None", + "encoderUpperCW": "None", + "encoderUpperCCW": "None", + "actionType": "SimVarCode" + } + } + }, + { + "id": "com_1_knob", + "type": "imageButton", + "image": "knob2.png", + "left": 384, + "top": 130, + "controlSize": { + "$ref": "#value.controlSize.knob2" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_COM1_RADIO_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "COM_RADIO_WHOLE_INC", + "encoderLowerCCW": "COM_RADIO_WHOLE_DEC", + "encoderUpperCW": "COM_RADIO_FRACT_INC", + "encoderUpperCCW": "COM_RADIO_FRACT_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "com_1_transfer", + "type": "imageButton", + "image": "transfer.png", + "left": 223, + "top": 61, + "controlSize": { + "$ref": "#value.controlSize.pushButtonTransfer" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "COM_STBY_RADIO_SWAP", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "COM_RADIO_WHOLE_INC", + "encoderLowerCCW": "COM_RADIO_WHOLE_DEC", + "encoderUpperCW": "COM_RADIO_FRACT_INC", + "encoderUpperCCW": "COM_RADIO_FRACT_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "com_1_off", + "type": "imageButton", + "image": "button_off.png", + "left": 75, + "top": 116, + "controlSize": { + "$ref": "#value.controlSize.pushButtonOff" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_1_indicatior", + "type": "image", + "image": "indicator.png", + "left": 163, + "top": 121, + "controlSize": { + "$ref": "#value.controlSize.comIndicator" + }, + "highlight": false + }, + { + "id": "com_1_vhf1", + "type": "imageButton", + "image": "button_vhf1.png", + "left": 152, + "top": 137, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_1_vhf2", + "type": "imageButton", + "image": "button_vhf2.png", + "left": 222, + "top": 137, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_1_vhf3", + "type": "imageButton", + "image": "button_vhf3.png", + "left": 292, + "top": 137, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_1_hf1", + "type": "imageButton", + "image": "button_hf1.png", + "left": 152, + "top": 188, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_1_am", + "type": "imageButton", + "image": "button_am.png", + "left": 222, + "top": 188, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_1_hf2", + "type": "imageButton", + "image": "button_hf2.png", + "left": 292, + "top": 188, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "hf_sens_2_knob", + "type": "imageButton", + "image": "knob.png", + "left": 557, + "top": 152, + "controlSize": { + "$ref": "#value.controlSize.knob1" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "None", + "encoderLowerCCW": "None", + "encoderUpperCW": "None", + "encoderUpperCCW": "None", + "actionType": "SimVarCode" + } + } + }, + { + "id": "com_2_knob", + "type": "imageButton", + "image": "knob2.png", + "left": 883, + "top": 130, + "controlSize": { + "$ref": "#value.controlSize.knob2" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_COM2_RADIO_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "COM2_RADIO_WHOLE_INC", + "encoderLowerCCW": "COM2_RADIO_WHOLE_DEC", + "encoderUpperCW": "COM2_RADIO_FRACT_INC", + "encoderUpperCCW": "COM2_RADIO_FRACT_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "com_2_transfer", + "type": "imageButton", + "image": "transfer.png", + "left": 723, + "top": 61, + "controlSize": { + "$ref": "#value.controlSize.pushButtonTransfer" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "COM2_RADIO_SWAP", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "COM2_RADIO_WHOLE_INC", + "encoderLowerCCW": "COM2_RADIO_WHOLE_DEC", + "encoderUpperCW": "COM2_RADIO_FRACT_INC", + "encoderUpperCCW": "COM2_RADIO_FRACT_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "com_2_off", + "type": "imageButton", + "image": "button_off.png", + "left": 574, + "top": 116, + "controlSize": { + "$ref": "#value.controlSize.pushButtonOff" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_2_indicatior", + "type": "image", + "image": "indicator.png", + "left": 733, + "top": 121, + "controlSize": { + "$ref": "#value.controlSize.comIndicator" + }, + "highlight": false + }, + { + "id": "com_2_vhf1", + "type": "imageButton", + "image": "button_vhf1.png", + "left": 652, + "top": 137, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_2_vhf2", + "type": "imageButton", + "image": "button_vhf2.png", + "left": 722, + "top": 137, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_2_vhf3", + "type": "imageButton", + "image": "button_vhf3.png", + "left": 792, + "top": 137, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_2_hf1", + "type": "imageButton", + "image": "button_hf1.png", + "left": 652, + "top": 188, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_2_am", + "type": "imageButton", + "image": "button_am.png", + "left": 722, + "top": 188, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "com_2_hf2", + "type": "imageButton", + "image": "button_hf2.png", + "left": 792, + "top": 188, + "controlSize": { + "$ref": "#value.controlSize.pushButton" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimVarCode" + } + ] + } + }, + { + "id": "nav_1_test", + "type": "imageButton", + "image": "test.png", + "left": 110, + "top": 404, + "controlSize": { + "$ref": "#value.controlSize.test" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "nav_1_knob", + "type": "imageButton", + "image": "knob2.png", + "left": 384, + "top": 374, + "controlSize": { + "$ref": "#value.controlSize.knob2" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_NAV1_RADIO_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "NAV1_RADIO_WHOLE_INC", + "encoderLowerCCW": "NAV1_RADIO_WHOLE_DEC", + "encoderUpperCW": "NAV1_RADIO_FRACT_INC", + "encoderUpperCCW": "NAV1_RADIO_FRACT_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "nav_1_transfer", + "type": "imageButton", + "image": "transfer.png", + "left": 223, + "top": 307, + "controlSize": { + "$ref": "#value.controlSize.pushButtonTransfer" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "NAV1_RADIO_SWAP", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "NAV1_RADIO_WHOLE_INC", + "encoderLowerCCW": "NAV1_RADIO_WHOLE_DEC", + "encoderUpperCW": "NAV1_RADIO_FRACT_INC", + "encoderUpperCCW": "NAV1_RADIO_FRACT_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "nav_2_test", + "type": "imageButton", + "image": "test.png", + "left": 610, + "top": 405, + "controlSize": { + "$ref": "#value.controlSize.test" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "None", + "actionType": "SimEventId" + } + ] + } + }, + { + "id": "nav_2_knob", + "type": "imageButton", + "image": "knob2.png", + "left": 883, + "top": 374, + "controlSize": { + "$ref": "#value.controlSize.knob2" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_NAV2_RADIO_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "NAV2_RADIO_WHOLE_INC", + "encoderLowerCCW": "NAV2_RADIO_WHOLE_DEC", + "encoderUpperCW": "NAV2_RADIO_FRACT_INC", + "encoderUpperCCW": "NAV2_RADIO_FRACT_DEC", + "actionType": "SimEventId" + } + } + }, + { + "id": "nav_2_transfer", + "type": "imageButton", + "image": "transfer.png", + "left": 723, + "top": 307, + "controlSize": { + "$ref": "#value.controlSize.pushButtonTransfer" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "NAV2_RADIO_SWAP", + "actionType": "SimEventId" + } + ], + "encoderAction": { + "encoderLowerCW": "NAV2_RADIO_WHOLE_INC", + "encoderLowerCCW": "NAV2_RADIO_WHOLE_DEC", + "encoderUpperCW": "NAV2_RADIO_FRACT_INC", + "encoderUpperCCW": "NAV2_RADIO_FRACT_DEC", + "actionType": "SimEventId" + } + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/background_radio.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/background_radio.png new file mode 100644 index 0000000..5cafe27 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/background_radio.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_am.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_am.png new file mode 100644 index 0000000..6b2b66c Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_am.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_hf1.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_hf1.png new file mode 100644 index 0000000..b80178f Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_hf1.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_hf2.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_hf2.png new file mode 100644 index 0000000..9d020e4 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_hf2.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_off.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_off.png new file mode 100644 index 0000000..eaecf70 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_off.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf1.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf1.png new file mode 100644 index 0000000..d308394 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf1.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf2.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf2.png new file mode 100644 index 0000000..a8b4d86 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf2.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf3.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf3.png new file mode 100644 index 0000000..2d43a4a Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/button_vhf3.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/indicator.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/indicator.png new file mode 100644 index 0000000..eaa2b3c Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/indicator.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/knob.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/knob.png new file mode 100644 index 0000000..2cc87af Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/knob.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/knob2.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/knob2.png new file mode 100644 index 0000000..bb8e8ab Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/knob2.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/preview.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/preview.png new file mode 100644 index 0000000..fa61af8 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/preview.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/test.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/test.png new file mode 100644 index 0000000..ade122f Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/test.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/radio/img/transfer.png b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/transfer.png new file mode 100644 index 0000000..2841bc1 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/radio/img/transfer.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/xpndr/PopoutPanelDefinition.json b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/PopoutPanelDefinition.json new file mode 100644 index 0000000..2315505 --- /dev/null +++ b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/PopoutPanelDefinition.json @@ -0,0 +1,299 @@ +{ + "id": "PMDG_737_700_XPNDR_DEF", + "value": { + "panelSize": { + "width": 498, + "height": 259 + }, + "backgroundImage": "background_xpndr.png", + "controlSize": { + "adfDisplay": { + "width": 115, + "height": 49 + }, + "adfModeKnob": { + "width": 75, + "height": 75 + }, + "adfKnob": { + "width": 92, + "height": 92 + }, + "atcDisplay": { + "width": 115, + "height": 49 + }, + "xpndrDisplay": { + "width": 115, + "height": 49 + }, + "transfer": { + "width": 48, + "height": 28 + }, + "knob2": { + "width": 75, + "height": 75 + }, + "knob6": { + "width": 75, + "height": 75 + }, + "knob6a": { + "width": 50, + "height": 50 + }, + "ident": { + "width": 30, + "height": 30 + } + }, + "panelControlDefinitions": [ + { + "id": "display_atc", + "type": "textBlock", + "left": 205, + "top": 60, + "controlSize": { + "$ref": "#value.controlSize.atcDisplay" + }, + "binding": { + "color": "rgb(255, 255, 255, 1)", + "text": "ATC" + } + }, + { + "id": "display_atc_mode", + "type": "textBlock", + "left": 233, + "top": 60, + "controlSize": { + "$ref": "#value.controlSize.atcDisplay" + }, + "binding": { + "variable": "PMDG_B737_XPNDR_XPNDR_MODE", + "color": "rgb(255, 255, 255, 1)", + "bindingValues": [ + { + "val": 0, + "text": "1" + }, + { + "val": 100, + "text": "2" + } + ] + } + }, + { + "id": "display_xpndr", + "type": "digitDisplay", + "left": 171, + "top": 83, + "controlSize": { + "$ref": "#value.controlSize.xpndrDisplay" + }, + "binding": { + "variable": "TRANSPONDER_CODE", + "numberOfDisplayDigit": 4, + "padZeroes": true, + "color": "rgb(255, 255, 255, 1)" + } + }, + { + "id": "button_xpndr_mode", + "type": "bindableImageButton", + "left": 48, + "top": 55, + "controlSize": { + "$ref": "#value.controlSize.knob6a" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "79801 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_XPNDR_XPNDR_MODE", + "images": [ + { + "url": "knob6.png", + "rotate": 70, + "val": 0 + }, + { + "url": "knob6.png", + "rotate": 110, + "val": 100 + } + ] + } + }, + { + "id": "button_altsource_mode", + "type": "bindableImageButton", + "left": 48, + "top": 165, + "controlSize": { + "$ref": "#value.controlSize.knob6a" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "80301 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + }, + "binding": { + "variable": "PMDG_B737_XPNDR_ALTSOURCE_MODE", + "images": [ + { + "url": "knob6.png", + "rotate": 70, + "val": 0 + }, + { + "url": "knob6.png", + "rotate": 110, + "val": 100 + } + ] + } + }, + { + "id": "atc_mode_knob", + "type": "bindableImageButton", + "left": 365, + "top": 61, + "controlSize": { + "$ref": "#value.controlSize.knob6" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_ATC_MODE_SELECT", + "actionType": "SimEventId" + } + ], + "useEncoder": true, + "encoderAction": { + "encoderLowerCW": "80007 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "80008 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "80007 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "80008 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + }, + "binding": { + "variable": "PMDG_B737_XPNDR_ATC_MODE", + "images": [ + { + "url": "knob6.png", + "val": 0 + }, + { + "url": "knob6.png", + "rotate": 30, + "val": 10 + }, + { + "url": "knob6.png", + "rotate": 60, + "val": 20 + }, + { + "url": "knob6.png", + "rotate": 90, + "val": 30 + }, + { + "url": "knob6.png", + "rotate": 120, + "val": 40 + } + ] + } + }, + { + "id": "atc_left_knob", + "type": "imageButton", + "image": "knob2.png", + "left": 128, + "top": 147, + "controlSize": { + "$ref": "#value.controlSize.knob2" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_ATC1_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderLowerCW": "80407 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "80408 (>K:ROTOR_BRAKE)", + "encoderUpperCW": "80507 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "80508 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "atc_right_knob", + "type": "imageButton", + "image": "knob2.png", + "left": 292, + "top": 147, + "controlSize": { + "$ref": "#value.controlSize.knob2" + }, + "highlight": true, + "action": { + "touchActions": [ + { + "action": "PMDG_B737_ATC2_SELECT", + "actionType": "SimEventId" + } + ], + "useDualEncoder": true, + "encoderAction": { + "encoderUpperCW": "80807 (>K:ROTOR_BRAKE)", + "encoderUpperCCW": "80808 (>K:ROTOR_BRAKE)", + "encoderLowerCW": "80707 (>K:ROTOR_BRAKE)", + "encoderLowerCCW": "80708 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + } + }, + { + "id": "button_atc_ident", + "type": "imageButton", + "image": "ident.png", + "left": 236, + "top": 189, + "controlSize": { + "$ref": "#value.controlSize.ident" + }, + "highlight": false, + "action": { + "touchActions": [ + { + "action": "80601 (>K:ROTOR_BRAKE)", + "actionType": "SimVarCode" + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/background_xpndr.png b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/background_xpndr.png new file mode 100644 index 0000000..a9c18c8 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/background_xpndr.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/ident.png b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/ident.png new file mode 100644 index 0000000..ade122f Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/ident.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/knob2.png b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/knob2.png new file mode 100644 index 0000000..bb8e8ab Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/knob2.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/knob6.png b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/knob6.png new file mode 100644 index 0000000..e667f81 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/knob6.png differ diff --git a/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/transfer.png b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/transfer.png new file mode 100644 index 0000000..2841bc1 Binary files /dev/null and b/ReactClient/public/config/profiles/pmdg-737-700/xpndr/img/transfer.png differ diff --git a/ReactClient/public/favicon.ico b/ReactClient/public/favicon.ico new file mode 100644 index 0000000..456e14e Binary files /dev/null and b/ReactClient/public/favicon.ico differ diff --git a/ReactClient/public/img/airplane-dark.png b/ReactClient/public/img/airplane-dark.png new file mode 100644 index 0000000..3f4524b Binary files /dev/null and b/ReactClient/public/img/airplane-dark.png differ diff --git a/ReactClient/public/img/airplane-light.png b/ReactClient/public/img/airplane-light.png new file mode 100644 index 0000000..bd86f2e Binary files /dev/null and b/ReactClient/public/img/airplane-light.png differ diff --git a/ReactClient/public/index.css b/ReactClient/public/index.css new file mode 100644 index 0000000..6194c98 --- /dev/null +++ b/ReactClient/public/index.css @@ -0,0 +1,4 @@ +html { + -webkit-text-size-adjust: none; + /* font-size: 16px; */ +} \ No newline at end of file diff --git a/ReactClient/public/index.html b/ReactClient/public/index.html new file mode 100644 index 0000000..675fbb1 --- /dev/null +++ b/ReactClient/public/index.html @@ -0,0 +1,38 @@ + + + + Touch Panel + + + + + + + + + + + + + + + + + + +
+ + diff --git a/ReactClient/public/logo.jpg b/ReactClient/public/logo.jpg new file mode 100644 index 0000000..f0653fa Binary files /dev/null and b/ReactClient/public/logo.jpg differ diff --git a/ReactClient/public/logo192.png b/ReactClient/public/logo192.png new file mode 100644 index 0000000..666cd5b Binary files /dev/null and b/ReactClient/public/logo192.png differ diff --git a/ReactClient/public/logo512.png b/ReactClient/public/logo512.png new file mode 100644 index 0000000..4d5cac0 Binary files /dev/null and b/ReactClient/public/logo512.png differ diff --git a/ReactClient/public/manifest.json b/ReactClient/public/manifest.json new file mode 100644 index 0000000..b5c13e4 --- /dev/null +++ b/ReactClient/public/manifest.json @@ -0,0 +1,31 @@ +{ + "short_name": "Touch Panel", + "name": "Touch Panel", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + }, + { + "src": "logo192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/ReactClient/public/robots.txt b/ReactClient/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/ReactClient/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/ReactClient/public/sound/button-click.mp3 b/ReactClient/public/sound/button-click.mp3 new file mode 100644 index 0000000..70bacd6 Binary files /dev/null and b/ReactClient/public/sound/button-click.mp3 differ diff --git a/ReactClient/src/App/ApplicationBar.js b/ReactClient/src/App/ApplicationBar.js new file mode 100644 index 0000000..ffff9f1 --- /dev/null +++ b/ReactClient/src/App/ApplicationBar.js @@ -0,0 +1,109 @@ +import React, { useMemo } from 'react'; +import makeStyles from '@mui/styles/makeStyles'; +import { useSimConnectData } from '../Services/SimConnectDataProvider'; +import AppBar from '@mui/material/AppBar'; +import Toolbar from '@mui/material/Toolbar'; +import Grid from '@mui/material/Grid'; +import IconButton from '@mui/material/IconButton'; +import UsbIcon from '@mui/icons-material/Usb'; +import MapIcon from '@mui/icons-material/Map'; +import NetworkCheckIcon from '@mui/icons-material/NetworkCheck'; +import { Typography } from '@mui/material'; +import Telemetry from './Telemetry'; + +const useStyles = makeStyles(() => ({ + toolbar: { + minHeight: '1.5em', + padding: 0 + }, + menuIcons: { + display: 'flex', + flexDirection: 'row', + justifyContent: 'flex-end', + alignItems: 'center', + }, + statusIcons: { + display: 'flex', + flexDirection: 'row', + justifyContent: 'flex-start', + alignItems: 'center', + }, + menuButton: { + marginRight: '0.5em', + marginLeft: '0.5em' + }, + networkConnected: { + color: 'lightgreen' + }, + networkDisconnected: { + color: 'red' + }, + drawer: { + width: 250, + }, + simRate:{ + display: 'flex', + flexDirection: 'row', + justifyContent: 'center', + }, + simRateData: + { + marginLeft: '0.5em', + color: 'rgb(32, 217, 32, 1)' + } +})); + +const ApplicationBar = ({mapOpenChanged, panelProfile}) => { + const classes = useStyles(); + const { networkStatus, arduinoStatus, simConnectData } = useSimConnectData(); + const { SIM_RATE } = simConnectData; + + const displaySimRate = (simRate) => { + if(simRate === undefined) + return 1; + + var value = Number(simRate); + + if(value >= 1) + return value.toFixed(0); + else if (value >= 0.5) + return value.toFixed(1); + + return value.toFixed(2); + } + + return useMemo(() => ( +
+ + + + + + + + + + + {panelProfile.enableMap && + mapOpenChanged()}> + + + } + + + + + + + Sim Rate: + x{displaySimRate(SIM_RATE)} + + + + + +
+ ), [classes, networkStatus, arduinoStatus, panelProfile, mapOpenChanged, SIM_RATE]); +} + +export default ApplicationBar; \ No newline at end of file diff --git a/ReactClient/src/App/InteractiveControlTemplate.js b/ReactClient/src/App/InteractiveControlTemplate.js new file mode 100644 index 0000000..4c944c4 --- /dev/null +++ b/ReactClient/src/App/InteractiveControlTemplate.js @@ -0,0 +1,290 @@ +import React, { useMemo, useRef, useEffect } from 'react'; +import IconButton from '@mui/material/IconButton'; +import makeStyles from '@mui/styles/makeStyles'; +import { useSimConnectData } from '../Services/SimConnectDataProvider'; +import { useLocalStorageData } from '../Services/LocalStorageProvider'; +import { simConnectPost } from '../Services/simConnectPost'; +import { useWindowDimensions } from '../Components/Util/hooks'; +import { Typography } from '@mui/material'; +import SevenSegmentDisplay from '../Components/Control/SevenSegmentDisplay'; + +const useStyles = makeStyles(() => ({ + iconButton: { + width: '100%', + height: '100%' + }, + iconImageHighlight: { + filter: 'sepia(80%)' + }, + controlBase: { + position: 'absolute', + backgroundRepeat: 'no-repeat', + backgroundSize: '100%', + paddingRight: '0.1em' + } +})); + +const getImagePath = (panelInfo) => { + return `/config/profiles/${panelInfo.parentRootPath}/${panelInfo.rootPath}/img/`; +} + +const playSound = (isEnabledSound) => { + if (isEnabledSound) { + let audio = new Audio('/sound/button-click.mp3'); + audio.play(); + } +} + +const execActions = (event, action, simConnectData, showEncoder) => { + for (let i = 0; i < action.touchActions.length; i++) { + let curAction = action.touchActions[i]; + let actionValue; + + if (curAction.actionValueVariable !== undefined) + actionValue = simConnectData[curAction.actionValueVariable]; + else + actionValue = curAction.actionValue === undefined ? 1 : curAction.actionValue + + if (curAction.action !== undefined && curAction.action !== null) + setTimeout(() => + simConnectPost({ + action: curAction.action, + actionValue: actionValue, + actionType: curAction.actionType, + encoderAction: action.encoderAction === undefined ? null : action.encoderAction + }), 200 * i); + + + if(action.useEncoder) + { + showEncoder(event, false); + return; + } + + if(action.useDualEncoder) + showEncoder(event, action.useDualEncoder); + } +} + +const setupControlLocationStyle = (ctrl, panelInfo) => { + if(panelInfo === undefined || panelInfo === null) + return {}; + + return { left: (ctrl.left / panelInfo.panelSize.width * 100.0) + '%', top: (ctrl.top / panelInfo.panelSize.height * 100.0) + '%' }; +} + +const setupControlWidthHeightStyle = (ctrl, panelInfo) => { + if (ctrl.controlSize === undefined) + return; + + return { width: `calc(100% * ${ctrl.controlSize.width} / ${panelInfo.panelSize.width})`, height: `calc(100% * ${ctrl.controlSize.height} / ${panelInfo.panelSize.height})` }; +} + +const ImageControl = ({ctrl, panelInfo}) => { + const classes = useStyles(); + const imagePath = getImagePath(panelInfo); + const isHighlighted = useRef(false); + + const setupBackgroundImageStyle = () => { + if (ctrl.image === undefined) { + console.log('Missing image value for image control... Button Id: ' + ctrl.id); + return {}; + } + + return { backgroundImage: `url(${imagePath}${ctrl.image})` }; + } + + return useMemo(() =>( +
+ +
+ ), [ctrl, isHighlighted.current]) +} + +const ImageButton = ({ctrl, panelInfo, showEncoder}) => { + const classes = useStyles(); + const { simConnectData } = useSimConnectData(); + const { isUsedArduino, isEnabledSound } = useLocalStorageData().configurationData; + const imagePath = getImagePath(panelInfo); + const isHighlighted = useRef(false); + + const setupBackgroundImageStyle = () => { + if (ctrl.image === undefined) { + console.log('Missing image value for image button control... Button Id: ' + ctrl.id); + return {}; + } + + return { backgroundImage: `url(${imagePath}${ctrl.image})` }; + } + + const handleOnClick = (event) => { + if (ctrl.highlight === undefined || ctrl.highlight) { + isHighlighted.current = true; + setTimeout(() => { isHighlighted.current = false; }, 2000); + } + + if (ctrl.actions != null && ctrl.actions.length > 0) + playSound(isEnabledSound); + + if (!isUsedArduino && (ctrl.action.useEncoder || ctrl.action.useDualEncoder)) + showEncoder(event, ctrl.action.useDualEncoder === undefined ? false : ctrl.action.useDualEncoder); + + execActions(event, ctrl.action, simConnectData, showEncoder); + } + + return useMemo(() =>( +
+ handleOnClick(event)} /> +
+ ), [ctrl, isHighlighted.current, isUsedArduino, isEnabledSound]) +} + +const BindableImageButton = ({ctrl, panelInfo, showEncoder}) => { + const classes = useStyles(); + const { simConnectData } = useSimConnectData(); + const { isUsedArduino, isEnabledSound } = useLocalStorageData().configurationData; + const imagePath = getImagePath(panelInfo); + const isHighlighted = useRef(false); + const dataBindingValue = simConnectData[ctrl.binding?.variable]; + + const setupBackgroundImageStyle = () => { + if (ctrl.binding !== undefined && ctrl.binding.images !== undefined) { + let image = ctrl.binding.images.find(x => x.val === dataBindingValue); + + if(dataBindingValue === undefined) + { + image = ctrl.binding.images[0]; + } + else if (image === undefined && dataBindingValue !== undefined) + { + console.log('Missing binding value for bindable image button control... Button Id: ' + ctrl.id + ' Data Value: ' + dataBindingValue); + image = ctrl.binding.images[0]; + } + + if (image.rotate !== undefined) + return { backgroundImage: `url(${imagePath}${image.url})`, transform: `rotate(${image.rotate}deg)` }; + else + return { backgroundImage: `url(${imagePath}${image.url})` }; + } + + return {}; + } + + const handleOnClick = (event) => { + if (ctrl.highlight === undefined || ctrl.highlight) { + isHighlighted.current = true; + setTimeout(() => { isHighlighted.current = false; }, 2000); + } + + if (ctrl.actions != null && ctrl.actions.length > 0) + playSound(isEnabledSound); + + if (!isUsedArduino && (ctrl.action.useEncoder || ctrl.action.useDualEncoder)) + showEncoder(event, ctrl.action.useDualEncoder === undefined ? false : ctrl.action.useDualEncoder); + + execActions(event, ctrl.action, simConnectData, showEncoder); + } + + return useMemo(() =>( +
+ handleOnClick(event)} /> +
+ ), [ctrl, dataBindingValue, isHighlighted.current, isUsedArduino, isEnabledSound]) +} + +const DigitDisplay = ({ctrl, panelInfo}) => { + const classes = useStyles(); + const windowHeight = useWindowDimensions().windowHeight; + const dataBindingValue = useSimConnectData().simConnectData[ctrl.binding?.variable]; + + return useMemo(() =>( +
+ + +
+ ), [ctrl, dataBindingValue, windowHeight]) +} + +const WebBrowser = ({ctrl, panelInfo}) => { + const classes = useStyles(); + + return useMemo(() =>( +
+