summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNick Coutsos <[email protected]>2023-10-02 15:55:45 -0400
committerNick Coutsos <[email protected]>2023-10-02 15:55:45 -0400
commitd5062209b88e0e3c09799a8e3581a493554f3697 (patch)
tree5623c1c6be1aedeb48c35d92f8a968709e29e5a7
parentcf2c07a080562bf8ba1b11574b42a8392e8c6f06 (diff)
downloadkeymap-editor-d5062209b88e0e3c09799a8e3581a493554f3697.tar.gz
keymap-editor-d5062209b88e0e3c09799a8e3581a493554f3697.zip
Restore binding tooltip functionality
-rw-r--r--4820.b507c25afed6dac5aae4.js2
-rw-r--r--6538.3d001932cf27995f58f4.js2
-rw-r--r--BehaviorEditorTab.0b5501dcbc97d570a7b7.js2
-rw-r--r--ComboEditorTab.7e5450fc7f3a3f1670ed.js2
-rw-r--r--LayerEditorTab.ecd2decea0eb86442e14.js2
-rw-r--r--index.html2
-rw-r--r--runtime.4f2bd5bcacbbf89851cf.js2
-rw-r--r--shared.1bb7f3be69248d107351.js2
8 files changed, 15 insertions, 1 deletions
diff --git a/4820.b507c25afed6dac5aae4.js b/4820.b507c25afed6dac5aae4.js
new file mode 100644
index 0000000..064d223
--- /dev/null
+++ b/4820.b507c25afed6dac5aae4.js
@@ -0,0 +1,2 @@
+(self.webpackChunkapp=self.webpackChunkapp||[]).push([[4820],{58887:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(94184),o=n.n(r),i=n(86322),u=n(91118),c=n(48118),a=n(85893);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===l(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){var t=e.keyPositions;return(0,a.jsx)(i.i,{bindings:[],renderKey:function(e){var n,r=e.index;return(0,a.jsx)(u.Z,{selectable:!1,themeClass:o()((n={},s(n,c.Z.key,!0),s(n,c.Z.highlight,t.includes(r)),n),c.Z.keyMini)})}})}},15023:function(e,t,n){"use strict";n.d(t,{Z:function(){return he}});var r=n(67294),o=n(45697),i=n.n(o),u=n(86322),c=n(91118),a=n(94184),l=n.n(a),s=n(93379),f=n.n(s),y=n(7795),b=n.n(y),p=n(90569),d=n.n(p),m=n(3565),v=n.n(m),h=n(19216),g=n.n(h),A=n(44589),j=n.n(A),O=n(57141),S={};S.styleTagTransform=j(),S.setAttributes=v(),S.insert=d().bind(null,"head"),S.domAPI=b(),S.insertStyleElement=g(),f()(O.Z,S);var w=O.Z&&O.Z.locals?O.Z.locals:void 0,C=n(74691),E=n.n(C),x=n(39316);function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t){return{x:t.x-e.x,y:t.y-e.y}}function T(e,t){return e.x*t.y-e.y*t.x}function M(e,t){var n=P(e,2),r=n[0],o=n[1],i=P(t,2),u=i[0],c=i[1],a=D(r,o),l=D(u,c),s=T(a,D(o,u)),f=T(a,D(o,c)),y=T(l,D(c,r)),b=T(l,D(c,o));return Math.sign(s)!==Math.sign(f)&&Math.sign(y)!==Math.sign(b)}function B(e){var t=P(e,4),n=t[0],r=t[1],o=t[2],i=t[3];return[[n,r],[r,o],[o,i],[i,n]]}function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?I(Object(n),!0).forEach((function(t){N(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function N(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Z(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Z(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function L(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(e,t)||_(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e,t){if(e){if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var K="add",U="remove",q="box",F="path",Y=(0,r.createContext)({});function X(e,t){var n=function(){var e=L((0,r.useReducer)(G,null,V),2),t=e[0],n=e[1],o=(0,r.useCallback)((function(e){return n({type:"set_style",style:e})}),[n]),i=(0,r.useCallback)((function(e){return n({type:"set_mode",mode:e})}),[n]);return[t,{setStyle:o,setMode:i,beginDrag:(0,r.useCallback)((function(e,t){return n({type:"begin",startPoint:e,offsetRect:t})}),[n]),endDrag:(0,r.useCallback)((function(){return n({type:"end"})}),[n]),drag:(0,r.useCallback)((function(e,t){return n({type:"drag",clientX:e,clientY:t})}),[n])}]}(),o=L(n,2),i=o[0],u=o[1],c=i.style,a=i.mode,l=i.start,s=i.rect,f=i.trail,y=u.setStyle,b=u.setMode,p=u.beginDrag,d=u.endDrag,m=u.drag,v=(0,r.useMemo)((function(){return s&&(Math.abs(s[0][0]-s[1][0])>3||Math.abs(s[0][1]-s[1][1])>3)}),[s]),h=(0,r.useMemo)((function(){return e.map(x.VW).reduce(x.FP)}),[e]),g=(0,r.useMemo)((function(){return v?c===q?function(e,t){var n=B(function(e){var t=P(e,2),n=P(t[0],2),r=n[0],o=n[1],i=P(t[1],2),u=i[0],c=i[1];return[{x:r,y:o},{x:r,y:c},{x:u,y:c},{x:u,y:o}]}(e));return t.reduce((function(t,r,o){return(r.some((function(t){return n=e,o=(r=t).x,i=r.y,n[0][0]<o&&o<n[1][0]&&n[0][1]<i&&i<n[1][1];var n,r,o,i}))||B(r).some((function(e){return n.some((function(t){return M(e,t)}))})))&&t.push(o),t}),[])}(s,e):function(e,t){var n=e.map((function(e){var t=P(e,2);return{x:t[0],y:t[1]}})).reduce((function(e,t,n,r){return n<r.length-1&&e.push([t,r[n+1]]),e}),[]);return t.reduce((function(e,t,r){return B(t).some((function(e){return n.some((function(t){return M(e,t)}))}))&&e.push(r),e}),[])}(f,e):[]}),[e,v,c,s,f]),A=(0,r.useCallback)((function(e){return y(e)}),[y]),j=(0,r.useCallback)((function(e){a===K&&e.shiftKey&&b(U)}),[a,b]),O=(0,r.useCallback)((function(e){a!==U||e.shiftKey||b(K)}),[a,b]),S=(0,r.useCallback)((function(e){var t=function(e){for(;(e=e.parentNode)&&("relative"!==e.style.position||!e.getBoundingClientRect().height););return e}(e.target).getBoundingClientRect(),n=e.clientX,r=e.clientY;e.preventDefault(),p([n,r],t)}),[p]),w=(0,r.useCallback)((function(e){l&&m(e.clientX,e.clientY)}),[l,m]),C=(0,r.useCallback)((function(e){l&&(v&&t({mode:a,intersections:g}),d())}),[t,g,a,l,v,d]);return(0,r.useEffect)((function(){return window.addEventListener("mouseup",C),window.addEventListener("mousemove",w),window.addEventListener("keydown",j),window.addEventListener("keyup",O),function(){window.removeEventListener("mouseup",C),window.removeEventListener("mousemove",w),window.removeEventListener("keydown",j),window.removeEventListener("keyup",O)}}),[C,w,j,O]),R(R({},i),{},{boundingBox:h,selecting:v,intersections:g,onMouseDown:S,onChangeStyle:A})}function V(){return{style:q,mode:K,start:null,trail:null,rect:null,offsetRect:null}}function G(e,t){switch(t.type){case"set_style":return R(R({},e),{},{style:t.style});case"set_mode":return R(R({},e),{},{mode:t.mode});case"begin":return R(R({},e),{},{start:[t.startPoint[0]-t.offsetRect.left,t.startPoint[1]-t.offsetRect.top],offsetRect:t.offsetRect,trail:[]});case"end":return R(R({},e),{},{start:null,negate:!1,trail:null,rect:null});case"drag":return R(R({},e),{},{rect:H(e,t),trail:W(e,t)});default:throw new Error('Unknown action "'.concat(t.type,'"'))}}function H(e,t){var n=e.start,r=e.offsetRect,o=t.clientX,i=t.clientY,u=L(n,2),c=u[0],a=u[1],l=E()(o,r.left,r.right)-r.left,s=E()(i,r.top,r.bottom)-r.top;return[[Math.min(l,c),Math.min(s,a)],[Math.max(l,c),Math.max(s,a)]]}function W(e,t){var n,r=e.trail,o=e.offsetRect,i=t.clientX,u=t.clientY,c=[i-o.left,u-o.top];return[].concat(function(e){if(Array.isArray(e))return z(e)}(n=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||_(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[c])}var $=n(85893);function J(e){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J(e)}function Q(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(e,t)||ee(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ee(e,t){if(e){if("string"==typeof e)return te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?te(e,t):void 0}}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){oe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function oe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==J(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==J(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===J(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ie(e){var t=e.style,n=e.selecting,r=e.children,o=e.onMouseDown,i=e.mode,u=e.intersections;return(0,$.jsx)("div",{style:{position:"relative"},children:(0,$.jsx)("div",{onMouseDown:o,className:l()(w.container,oe({},w.selecting,n)),children:(0,$.jsxs)(Y.Provider,{value:{dragMode:i,intersections:u},children:[r,n&&t===q&&(0,$.jsx)(ue,re({},e)),n&&t===F&&(0,$.jsx)(ce,re({},e))]})})})}function ue(e){var t=e.mode,n=Q(e.rect,2),r=n[0],o=n[1],i=Math.abs(r[0]-o[0])+"px",u=Math.abs(r[1]-o[1])+"px";return(0,$.jsx)("div",{className:l()(w.overlay,oe({},w.negate,t===U)),style:{position:"absolute",top:r[1]+"px",left:r[0]+"px",width:i,height:u}})}function ce(e){var t,n=e.start,r=e.trail,o=e.boundingBox,i=["M ".concat(n[0]," ").concat(n[1])].concat((t=r.map((function(e){var t=Q(e,2),n=t[0],r=t[1];return"L ".concat(n," ").concat(r)})),function(e){if(Array.isArray(e))return te(e)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||ee(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())).join("\n"),u="0 0 ".concat(o.max.x," ").concat(o.max.y);return(0,$.jsx)("div",{style:{position:"absolute",pointerEvents:"none",top:0,left:0,width:"100%",height:"100%"},children:(0,$.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:u,children:(0,$.jsx)("path",{fill:"none",stroke:"royalblue",strokeWidth:"2",strokeDasharray:"4 2",d:i})})})}var ae=n(48118),le=n(2062),se=n(20817);function fe(e){return fe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fe(e)}function ye(e){return function(e){if(Array.isArray(e))return ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||me(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?be(Object(n),!0).forEach((function(t){de(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):be(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function de(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==fe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==fe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===fe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function me(e,t){if(e){if("string"==typeof e)return ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ve(e,t):void 0}}function ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function he(e){var t,n,o,i,a,s,f,y,b,p=e.value,d=e.prompt,m=e.onUpdate,v=(0,se.Z7)().polygons,h=(y=(0,r.useReducer)((function(e,t){switch(t){case"INCREMENT_MANUAL_SELECTION":return pe(pe({},e),{},{manualSelectionCount:e.manualSelectionCount+1});case"INCREMENT_MANUAL_DESELECTION":return pe(pe({},e),{},{manualDeSelectionCount:e.manualDeSelectionCount+1});case"TRACK_DRAG_SELECTION":return pe(pe({},e),{},{usedDragSelection:!0});case"TRACK_DRAG_DESELECTION":return pe(pe({},e),{},{usedDragDeSelection:!0});default:throw new Error("Unrecognized action type in ".concat(t))}}),{manualSelectionCount:0,manualDeSelectionCount:0,usedDragSelection:!1,usedDragDeSelection:!1}),b=2,n=(t=function(e){if(Array.isArray(e))return e}(y)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,c=[],a=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(l)throw o}}return c}}(y,b)||me(y,b)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],o=t[1],i=(0,r.useCallback)((function(){return o("INCREMENT_MANUAL_SELECTION")}),[o]),a=(0,r.useCallback)((function(){return o("INCREMENT_MANUAL_DESELECTION")}),[o]),s=(0,r.useCallback)((function(){return o("TRACK_DRAG_SELECTION")}),[o]),f=(0,r.useCallback)((function(){return o("TRACK_DRAG_DESELECTION")}),[o]),{showSelectTip:!n.usedDragSelection&&n.manualSelectionCount>3,showDeSelectTip:!n.usedDragDeSelection&&n.manualDeSelectionCount>3,actions:{manualSelection:i,manualDeSelection:a,dragSelection:s,dragDeSelection:f}}),g=h.showSelectTip,A=h.showDeSelectTip,j=h.actions,O=(0,r.useCallback)((function(e){var t=e.mode,n=e.intersections,r=t===U;r?j.dragDeSelection():j.dragSelection(),m(r?p.filter((function(e){return!n.includes(e)})):[].concat(ye(p),ye(n)))}),[p,m,j]),S=(0,r.useCallback)((function(e){var t=p.includes(e);t?j.manualDeSelection():j.manualSelection(),m(t?p.filter((function(t){return t!==e})):[].concat(ye(p),[e]))}),[p,m,j]),w=X(v,O),C=w.intersections,E=w.mode,x=p,P=E===U?[]:C.filter((function(e){return!x.includes(e)})),k=E===U?C.filter((function(e){return x.includes(e)})):[];return(0,$.jsxs)(ie,pe(pe({},w),{},{children:[(0,$.jsx)(u.i,{bindings:[],renderKey:function(e){var t,n=e.index;return(0,$.jsx)(c.Z,{onClick:function(){return S(n)},themeClass:l()(ae.Z.key,ae.Z.keyMini,(t={},de(t,ae.Z.highlight,x.includes(n)),de(t,ae.Z.previewAdd,P.includes(n)),de(t,ae.Z.previewRemove,k.includes(n)),t))})}}),d&&(0,$.jsx)("prompt",{}),g&&(0,$.jsx)(le.Z,{className:ae.Z.tip,children:(0,$.jsx)("span",{children:"Drag to select a region"})}),A&&(0,$.jsx)(le.Z,{className:ae.Z.tip,children:(0,$.jsx)("span",{children:"Shift+Drag to de-select a region"})})]}))}he.propTypes={onUpdate:i().func.isRequired,value:i().arrayOf(i().number).isRequired,prompt:i().node}},77593:function(e,t,n){"use strict";n.d(t,{Z:function(){return j},l:function(){return O}});var r=n(78718),o=n.n(r),i=n(45697),u=n.n(i),c=n(67294),a=n(39316),l=n(95872),s=n(94995),f=n(85893);function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}var b=["keyLayout","renderOptions","children"];function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==y(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==y(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===y(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=function(e){return o()(e,["x","y"])},h=function(e){return{x:e.rx,y:e.ry,a:e.r}},g=function(e){var t=e.w,n=void 0===t?1:t,r=e.u,o=void 0===r?n:r,i=e.h;return{u:o,h:void 0===i?1:i}},A=(0,c.createContext)({});function j(e){var t=e.keyLayout,n=e.renderOptions,r=e.children,o=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,b),i=v(t),u=h(t),s=g(t),y=(0,a.Pi)(i,s,u,n),p=(0,c.useRef)();return(0,f.jsx)("div",d(d({ref:p,className:l.Z.placer,style:y,"data-u":s.u,"data-h":s.h},o),{},{children:(0,f.jsx)(A.Provider,{value:{position:i,rotation:u,size:s,ref:p},children:r})}))}function O(){return(0,c.useContext)(A)}j.propTypes={scale:u().number,keyLayout:s.v.isRequired},j.defaultProps={scale:1}},86322:function(e,t,n){"use strict";n.d(t,{Z:function(){return d},i:function(){return m}});var r=n(45697),o=n.n(r),i=n(67294),u=n(77593),c=n(94995),a=n(20817),l=n(39316),s=n(85893);function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){p(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==f(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===f(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e){var t=e.layout,n=e.renderKey,r=e.scale,o=e.renderOptions,c=(0,i.useContext)(a.VY),f=c.layout,y=c.layoutBbox,b=o?o.keySize/l.Cg:1,p=t||f,d=(0,i.useMemo)((function(){return{width:"".concat(r*b*(y.max.x-y.min.x),"px"),height:"".concat(r*b*(y.max.y-y.min.y),"px")}}),[r,b,y]),m=(0,i.useMemo)((function(){return{transform:"scale(".concat(r,")"),transformOrigin:0}}),[r]);return(0,s.jsx)("div",{style:d,children:(0,s.jsx)("div",{style:m,children:p.map((function(e,t){return(0,s.jsx)(u.Z,{keyLayout:e,renderOptions:o,children:n({index:t,keyLayout:e})},t)}))})})}function m(e){var t=(0,a.Z7)().renderOptions;return(0,s.jsx)(d,b(b({},e),{},{renderOptions:t}))}d.propTypes={layout:c.bK,renderKey:o().func.isRequired,scale:o().number},d.defaultProps={scale:1}},94995:function(e,t,n){"use strict";n.d(t,{bK:function(){return b},v:function(){return y}});var r=n(45697),o=n.n(r);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===i(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l={x:o().number.isRequired,y:o().number.isRequired},s={a:o().number,rx:o().number,ry:o().number},f={u:o().number,h:o().number},y=o().shape(c(c(c({},l),s),f)),b=o().arrayOf(y)},57141:function(e,t,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),u=n.n(i)()(o());u.push([e.id,".beN98YLA7pgetUFERZiy.l89ME8s61u2Ef93va4w0 {\n cursor: crosshair;\n}\n\n.mpuOZiVdjhHzyeC13usG {\n position: relative;\n background-color: hsla(225, 73%, 57%, 0.103);\n border: 3px dotted hsla(225, 73%, 57%, 0.7);\n pointer-events: none;\n box-sizing: border-box;\n}\n\n.mpuOZiVdjhHzyeC13usG.B2x7xPuxYUZ62rCQlDVo {\n background-color: rgba(120, 120, 120, 0.1);\n border-color: rgba(120, 120, 120, 0.25);\n}\n","",{version:3,sources:["webpack://./src/Keyboard/Common/DragSelector/dragSelector.module.css"],names:[],mappings:"AAAA;EACE,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;EAClB,4CAA4C;EAC5C,2CAA2C;EAC3C,oBAAoB;EACpB,sBAAsB;AACxB;;AAEA;EACE,0CAA0C;EAC1C,uCAAuC;AACzC",sourcesContent:[".container.selecting {\n cursor: crosshair;\n}\n\n.overlay {\n position: relative;\n background-color: hsla(225, 73%, 57%, 0.103);\n border: 3px dotted hsla(225, 73%, 57%, 0.7);\n pointer-events: none;\n box-sizing: border-box;\n}\n\n.overlay.negate {\n background-color: rgba(120, 120, 120, 0.1);\n border-color: rgba(120, 120, 120, 0.25);\n}\n"],sourceRoot:""}]),u.locals={container:"beN98YLA7pgetUFERZiy",selecting:"l89ME8s61u2Ef93va4w0",overlay:"mpuOZiVdjhHzyeC13usG",negate:"B2x7xPuxYUZ62rCQlDVo"},t.Z=u},49040:function(e,t,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),u=n.n(i)()(o());u.push([e.id,'.lD5TsvdIbEAHNdmhfnlb {\n background-color: var(--key-bg-base);\n}\n.yk89E4zK9zlO69OXhKn5:hover {\n cursor: pointer;\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.pzTvsxKjpy6MqcFhxh9j {\n background-color: var(--selection);\n}\n.pzTvsxKjpy6MqcFhxh9j:hover {\n background-color: var(--hover-selection);\n}\n\n.r_Sdklnj57CE2ZjnBDw6 {\n background-color: var(--hover-selection);\n filter: brightness(135%);\n}\n\n.Ich9T1nSzHs1a84insfp {\n background-color: var(--hover-selection);\n filter: brightness(75%);\n}\n\n._3U1zi1J1sXT41AzpAA1j {\n position: absolute;\n bottom: 0;\n right: 50%;\n transform: translate(50%, 100%);\n}\n\n.f38_8PxgThEPWT2hn3qF {\n border-radius: 1px;\n}\n\n@media not (prefers-color-scheme: dark) {\n body:not([data-theme="dark"]) .f38_8PxgThEPWT2hn3qF:not(.pzTvsxKjpy6MqcFhxh9j) {\n filter:brightness(95%);\n }\n}',"",{version:3,sources:["webpack://./src/Keyboard/Common/keyPositionSelectorStyles.module.css"],names:[],mappings:"AAAA;EACE,oCAAoC;AACtC;AACA;EACE,eAAe;EACf,kCAAkC;EAClC,sBAAsB;AACxB;;AAEA;EACE,kCAAkC;AACpC;AACA;EACE,wCAAwC;AAC1C;;AAEA;EACE,wCAAwC;EACxC,wBAAwB;AAC1B;;AAEA;EACE,wCAAwC;EACxC,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,+BAA+B;AACjC;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE;IACE,sBAAsB;EACxB;AACF",sourcesContent:['.key {\n background-color: var(--key-bg-base);\n}\n.selectable:hover {\n cursor: pointer;\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.highlight {\n background-color: var(--selection);\n}\n.highlight:hover {\n background-color: var(--hover-selection);\n}\n\n.previewAdd {\n background-color: var(--hover-selection);\n filter: brightness(135%);\n}\n\n.previewRemove {\n background-color: var(--hover-selection);\n filter: brightness(75%);\n}\n\n.tip {\n position: absolute;\n bottom: 0;\n right: 50%;\n transform: translate(50%, 100%);\n}\n\n.keyMini {\n border-radius: 1px;\n}\n\n@media not (prefers-color-scheme: dark) {\n body:not([data-theme="dark"]) .keyMini:not(.highlight) {\n filter:brightness(95%);\n }\n}'],sourceRoot:""}]),u.locals={key:"lD5TsvdIbEAHNdmhfnlb",selectable:"yk89E4zK9zlO69OXhKn5",highlight:"pzTvsxKjpy6MqcFhxh9j",previewAdd:"r_Sdklnj57CE2ZjnBDw6",previewRemove:"Ich9T1nSzHs1a84insfp",tip:"_3U1zi1J1sXT41AzpAA1j",keyMini:"f38_8PxgThEPWT2hn3qF"},t.Z=u},29750:function(e){e.exports=function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}},57406:function(e,t,n){var r=n(71811),o=n(10928),i=n(40292),u=n(40327);e.exports=function(e,t){return t=r(t,e),null==(e=i(e,t))||delete e[u(o(t))]}},60696:function(e,t,n){var r=n(68630);e.exports=function(e){return r(e)?void 0:e}},40292:function(e,t,n){var r=n(97786),o=n(14259);e.exports=function(e,t){return t.length<2?e:r(e,o(t,0,-1))}},74691:function(e,t,n){var r=n(29750),o=n(14841);e.exports=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=o(n))==n?n:0),void 0!==t&&(t=(t=o(t))==t?t:0),r(o(e),t,n)}},68630:function(e,t,n){var r=n(44239),o=n(85924),i=n(37005),u=Function.prototype,c=Object.prototype,a=u.toString,l=c.hasOwnProperty,s=a.call(Object);e.exports=function(e){if(!i(e)||"[object Object]"!=r(e))return!1;var t=o(e);if(null===t)return!0;var n=l.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&a.call(n)==s}},10928:function(e){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},57557:function(e,t,n){var r=n(29932),o=n(85990),i=n(57406),u=n(71811),c=n(98363),a=n(60696),l=n(99021),s=n(46904),f=l((function(e,t){var n={};if(null==e)return n;var l=!1;t=r(t,(function(t){return t=u(t,e),l||(l=t.length>1),t})),c(e,s(e),n),l&&(n=o(n,7,a));for(var f=t.length;f--;)i(n,t[f]);return n}));e.exports=f},48118:function(e,t,n){"use strict";var r=n(93379),o=n.n(r),i=n(7795),u=n.n(i),c=n(90569),a=n.n(c),l=n(3565),s=n.n(l),f=n(19216),y=n.n(f),b=n(44589),p=n.n(b),d=n(49040),m={};m.styleTagTransform=p(),m.setAttributes=s(),m.insert=a().bind(null,"head"),m.domAPI=u(),m.insertStyleElement=y(),o()(d.Z,m),t.Z=d.Z&&d.Z.locals?d.Z.locals:void 0}}]);
+//# sourceMappingURL=4820.b507c25afed6dac5aae4.js.map \ No newline at end of file
diff --git a/6538.3d001932cf27995f58f4.js b/6538.3d001932cf27995f58f4.js
new file mode 100644
index 0000000..c70233a
--- /dev/null
+++ b/6538.3d001932cf27995f58f4.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[6538],{27926:function(n,e,r){r.d(e,{Z:function(){return B}});var t=r(93379),o=r.n(t),i=r(7795),a=r.n(i),l=r(90569),c=r.n(l),u=r(3565),s=r.n(u),d=r(19216),A=r.n(d),f=r(44589),p=r.n(f),b=r(56281),m={};m.styleTagTransform=p(),m.setAttributes=s(),m.insert=c().bind(null,"head"),m.domAPI=a(),m.insertStyleElement=A(),o()(b.Z,m);var y=b.Z&&b.Z.locals?b.Z.locals:void 0,h=r(85893);function v(n){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},v(n)}var g=["children","secondary","className"];function C(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function x(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?C(Object(r),!0).forEach((function(e){j(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function j(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==v(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==v(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===v(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function E(n){var e=n.children,r=n.secondary,t=n.className,o=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,g);return(0,h.jsx)("button",x(x({className:[t,y.action,r&&y.secondary].join(" ")},o),{},{children:e}))}E.defaultProps={className:""};var B=E},2062:function(n,e,r){r.d(e,{Z:function(){return g}});var t=r(41051),o=r(93379),i=r.n(o),a=r(7795),l=r.n(a),c=r(90569),u=r.n(c),s=r(3565),d=r.n(s),A=r(19216),f=r.n(A),p=r(44589),b=r.n(p),m=r(528),y={};y.styleTagTransform=b(),y.setAttributes=d(),y.insert=u().bind(null,"head"),y.domAPI=l(),y.insertStyleElement=f(),i()(m.Z,y);var h=m.Z&&m.Z.locals?m.Z.locals:void 0,v=r(85893);function g(n){var e=n.children,r=n.className,o=void 0===r?"":r,i=[h.tip,o].join(" ");return(0,v.jsxs)("div",{className:i,children:[(0,v.jsx)(t.Z,{className:"fa-flip-horizontal",name:"hand-point-up"})," ",e]})}},81404:function(n,e,r){r.d(e,{Z:function(){return h}});var t=r(94184),o=r.n(t),i=r(67294),a=r(39693),l=r.n(a),c=r(35161),u=r.n(c),s=r(52156),d=r(61953),A=r(38356),f=r(74871),p=r(30314),b=r(85893);function m(n){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},m(n)}function y(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function h(n){var e,r=n.node,t=(0,p.H)(),o=t.expanded,a=t.onSelect,c=(0,i.useCallback)((function(n){a&&(n.stopPropagation(),a({node:r,type:"tree"}))}),[r,a]),A=void 0===(null===(e=r.source)||void 0===e?void 0:e.code)||void 0===r.value||r._isPlaceholder,m=(0,i.useMemo)((function(){return u()((0,f.H)(r),"source")}),[r]),y=m.length>1,h=(0,i.useMemo)((function(){return m.map(s.rG).join(" + ")}),[m]),x=o?(0,b.jsx)(v,{codes:m}):y?(0,b.jsx)(g,{codes:m}):(0,b.jsx)(C,{codes:m});return(0,b.jsx)("span",{className:l()([d.Z.code,A&&d.Z.missingValue]).join(" "),title:h,onClick:c,children:A?(0,b.jsx)(s.J1,{}):x})}function v(n){var e=n.codes,r=(0,i.useMemo)((function(){var n=e.slice(0,-1),r=e.at(-1);return n.reduce((function(n,e){return"".concat(e.code,"(").concat(n,")")}),null==r?void 0:r.code)}),[e]),t=(0,i.useMemo)((function(){return e.map((function(n){return n?n.description||n.name:"⦸"})).join(" + ")}),[e]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("code",{children:r}),(0,b.jsx)("span",{children:t})]})}function g(n){var e=n.codes,r=(0,i.useMemo)((function(){return e.slice(0,-1).map(s.r8).map((function(n,e){return(0,b.jsx)("span",{children:n},e)})).reduce((function(n,e){return 0===n.length?[e]:[].concat(function(n){if(Array.isArray(n))return y(n)}(r=n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(r)||function(n,e){if(n){if("string"==typeof n)return y(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(n,e):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]);var r}),[])}),[e]),t=(0,i.useMemo)((function(){return(0,s.r8)(e.at(-1))}),[e]);return(0,b.jsxs)("span",{className:A.Z.keycodeWithModifiers,children:[(0,b.jsx)("span",{className:A.Z.appliedModifierSymbols,children:r}),(0,b.jsx)("span",{className:A.Z.modifiedKeycodeSymbol,children:t})]})}function C(n){var e,r,t,a=n.codes,l=(0,i.useMemo)((function(){return(0,s.r8)(a[0])}),[a]);return(0,b.jsx)("span",{className:o()((e={},r=A.Z.modifier,t=a[0].isModifier,(r=function(n){var e=function(n,e){if("object"!==m(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==m(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===m(e)?e:String(e)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e)),children:l})}},74871:function(n,e,r){function t(n,e){if(n){if("string"==typeof n)return i(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(n,e):void 0}}function o(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}function i(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function a(n){return n.params.length>0?[n].concat(function(n){if(Array.isArray(n))return i(n)}(e=a(n.params[0]))||o(e)||t(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):[n];var e}function l(n){var e,r=function(n){if(Array.isArray(n))return n}(e=n)||o(e)||t(e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=r[0],a=r.slice(1);return{value:i,params:0===a.length?[]:[l(a)]}}r.d(e,{H:function(){return a},n:function(){return l}})},77103:function(n,e,r){r.d(e,{N:function(){return W},Z:function(){return Q}});var t=r(27361),o=r.n(t),i=r(45697),a=r.n(i),l=r(67294),c=r(67069),u=r(52156),s=r(81404),d=r(61953),A=r(93379),f=r.n(A),p=r(7795),b=r.n(p),m=r(90569),y=r.n(m),h=r(3565),v=r.n(h),g=r(19216),C=r.n(g),x=r(44589),j=r.n(x),E=r(33151),B={};B.styleTagTransform=j(),B.setAttributes=v(),B.insert=y().bind(null,"head"),B.domAPI=b(),B.insertStyleElement=C(),f()(E.Z,B);var w=E.Z&&E.Z.locals?E.Z.locals:void 0,S=r(85893);function O(n){return O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},O(n)}function k(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function P(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?k(Object(r),!0).forEach((function(e){Z(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):k(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function Z(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==O(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==O(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===O(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function T(n){var e=n.hue,r=n.saturation,t=n.brightness,o=n.wrapperProps,i=(0,l.useMemo)((function(){if([e,r,t].some((function(n){return void 0===(null==n?void 0:n.value)})))return{};var n="hsl(".concat(e.value,", ").concat(r.value,"%, ").concat(t.value,"%)"),o="hsl(".concat(e.value,", ").concat(r.value,"%, ").concat(.75*t.value,"%)");return{backgroundColor:n,border:".1em solid ".concat(o),boxShadow:"0 0 10px -2px ".concat(n),boxSizing:"border-box"}}),[e,r,t]);return(0,S.jsx)("div",P(P({className:w.colorIconWrapper},o),{},{children:(0,S.jsx)("div",{className:w.colorIcon,title:i.backgroundColor,style:i})}))}var D=r(30314);function I(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var M=function(n){var e,r,t=n.node,o=(e=t.params,r=3,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return I(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1],c=o[2],s=(0,D.H)(),A=s.expanded,f=s.onSelect,p=(0,l.useCallback)((function(n){var e;f&&(null==n||null===(e=n.stopPropagation)||void 0===e||e.call(n),f({node:t,type:"tree"}))}),[t,f]),b=(0,l.useMemo)((function(){return[i,a,c].some((function(n){return void 0===(null==n?void 0:n.value)||(null==n?void 0:n._isPlaceholder)}))}),[i,a,c]);return(0,S.jsxs)(S.Fragment,{children:[t.slot.const?A?(0,S.jsx)("span",{children:"HSB"}):(0,S.jsx)("span",{className:d.Z.code,children:"HSB"}):(0,S.jsx)(u.ZP,{node:t}),b?(0,S.jsx)(u.ZP,{node:{}}):(0,S.jsx)(T,{hue:i,saturation:a,brightness:c,wrapperProps:{onClick:p}})]})},q=r(94184),Y=r.n(q);function N(n){var e=n.node,r=n.expanded,t=void 0!==r&&r,o=e.source,i=o.displayName||o.description||o.name,a=(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:o.code}),i&&(0,S.jsx)("span",{children:i})]});return(0,S.jsx)("span",{className:Y()(d.Z.code,d.Z.constantValue),title:"This placeholder will be substituted with parameters given when the macro is bound",children:t?a:"??"})}function R(n){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},R(n)}function U(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function K(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?U(Object(r),!0).forEach((function(e){z(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function z(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==R(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==R(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===R(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function L(n){var e=n.node;return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(u.ZP,{node:e}),o()(e,"source.params.length")>0?(0,S.jsx)(H,{slots:e.source.params,params:e.params}):null]})}function W(n){var e=n.node,r=n.slot,t=(0,l.useMemo)((function(){var n,t,o;return"hsb-color-picker"===(null===(n=e.source)||void 0===n?void 0:n.helper)?M:"MACRO_PLACEHOLDER"===(null===(t=e.slot)||void 0===t||null===(o=t.const)||void 0===o?void 0:o.code)?N:"code"===r?s.Z:L}),[e,r]);return(0,S.jsx)("span",{className:d.Z.param,children:(0,S.jsx)(t,{node:e})})}function H(n){var e=n.slots,r=n.params,t=n.root,o=n.wrapperProps;return(0,S.jsx)("span",K(K({className:d.Z.params,"data-is-root":!!t,"data-param-count":r.length},o),{},{children:e.map((function(n,e){return"placeholder"!==n.type&&(0,S.jsx)(W,{slot:n,node:r[e]},e)}))}))}H.propTypes={slots:a().arrayOf(c.wu).isRequired,params:a().arrayOf(c.le).isRequired,source:c.qz};var Q=H},52156:function(n,e,r){r.d(e,{J1:function(){return f},r8:function(){return b},rG:function(){return p}});var t=r(94184),o=r.n(t),i=r(67294),a=r(30314),l=r(67069),c=r(61953),u=r(41051),s=r(85893);function d(n){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},d(n)}function A(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==d(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==d(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===d(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function f(){return(0,s.jsx)("span",{children:"⦸"})}function p(n){var e=(null==n?void 0:n.displayName)||(null==n?void 0:n.description);return n&&"(".concat(n.code,") ").concat(e)}function b(n){var e,r=(null==n?void 0:n.symbol)||(null==n||null===(e=n.code)||void 0===e?void 0:e.toString());return(null==n?void 0:n.faIcon)&&(0,s.jsx)(u.Z,{name:null==n?void 0:n.faIcon})||r||(0,s.jsx)(f,{})}function m(n){var e,r,t=n.value,o=n.node,i=n.expanded;if(void 0===i||!i)return b(t);if(!t)return(0,s.jsx)(f,{});var a=(null===(e=t.code)||void 0===e||null===(r=e.toString)||void 0===r?void 0:r.call(e))||(null==o?void 0:o.value),l=t.displayName||t.description||t.name;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("code",{children:a}),l&&(0,s.jsx)("span",{children:l})]})}function y(n){var e,r,t=n.node,l=(0,a.H)(),u=l.expanded,d=l.onSelect,b=t.value,y=t.source,h=t._isPlaceholder,v=p(y),g=(0,i.useCallback)((function(n){d&&(n.stopPropagation(),d({node:t}))}),[t,d]);return(0,s.jsx)("span",{className:o()(c.Z.code,(r={},A(r,c.Z.missingValue,void 0===b||h),A(r,c.Z.constantValue,!(null==t||null===(e=t.slot)||void 0===e||!e.const)),r)),title:v,onClick:g,children:h?(0,s.jsx)(f,{}):(0,s.jsx)(m,{node:t,value:y,expanded:u})})}y.propTypes={node:l.le.isRequired},e.ZP=y},27213:function(n,e,r){r.d(e,{Z:function(){return A}});var t=r(94184),o=r.n(t),i=r(77103),a=r(64536),l=r(39017),c=r(61953),u=r(41051),s=r(85893);function d(n){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},d(n)}function A(n){var e,r,t,a,A,f=n.value,p=n.hideBehavior,b=void 0!==p&&p,m=(0,l.wQ)(f),y=(0,l.UU)(f),h=m.source,v=(0,l.Kf)(m),g=h?(0,s.jsx)("span",{className:o()(c.Z["behaviour-binding"],(t={},a=c.Z.missingValue,A=!(null!==(e=m.source)&&void 0!==e&&e.code),(a=function(n){var e=function(n,e){if("object"!==d(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==d(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===d(e)?e:String(e)}(a))in t?Object.defineProperty(t,a,{value:A,enumerable:!0,configurable:!0,writable:!0}):t[a]=A,t)),children:(null===(r=m.source)||void 0===r?void 0:r.code)||"⦸"}):null;return(0,s.jsxs)(s.Fragment,{children:[!b&&g,v&&(0,s.jsx)(u.Z,{name:"warning",className:c.Z.missing,title:"Binding has missing value(s)"}),(0,s.jsx)(i.Z,{root:!0,slots:y,params:m.params,wrapperProps:{"data-simple":(0,l.Gg)(m),"data-long":(0,l.Mc)(m,y)}})]})}A.propTypes={value:a.U4.isRequired}},30314:function(n,e,r){r.d(e,{D:function(){return l},H:function(){return c}});var t=r(67294),o=r(85893),i=["children"];var a=(0,t.createContext)({paramOverrides:[],expanded:!1,onSelect:null});function l(n){var e=n.children,r=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,i);return(0,o.jsx)(a.Provider,{value:r,children:e})}function c(){return(0,t.useContext)(a)}},67069:function(n,e,r){r.d(e,{le:function(){return A},qz:function(){return u},wu:function(){return a}});var t=r(45697),o=r.n(t),i=o().oneOfType([o().number,o().shape({name:o().string,type:o().string,description:o().string,code:o().any})]),a=o().oneOfType([o().oneOf(["code","layer"]),o().shape({type:o().oneOf(["placeholder"])}),o().shape({enum:o().arrayOf(i),raw:o().bool,name:o().string,type:o().string.isRequired})]),l=o().arrayOf(a),c=o().oneOfType([o().string,o().number]),u=o().shape({params:l,code:c.isRequired,description:o().string,symbol:o().string,faIcon:o().string}),s={value:c,source:u};s.params=o().arrayOf(o().shape(s));var d=o().shape(s),A=d;o().arrayOf(d)},39017:function(n,e,r){r.d(e,{Gg:function(){return g},He:function(){return j},Kf:function(){return O},Mc:function(){return C},NB:function(){return x},NE:function(){return w},UU:function(){return S},ci:function(){return k},wQ:function(){return B},wx:function(){return E}});var t=r(50361),o=r.n(t),i=r(13311),a=r.n(i),l=r(27361),c=r.n(l),u=r(67294),s=r(41696),d=r(81485),A=r(30314);function f(n){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},f(n)}function p(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function b(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?p(Object(r),!0).forEach((function(e){m(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function m(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==f(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==f(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===f(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function y(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(n,e)||h(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(n,e){if(n){if("string"==typeof n)return v(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(n,e):void 0}}function v(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function g(n){var e=y(n.params,1)[0],r=c()(e,"source.symbol",c()(e,"source.code","")),t=!!c()(e,"source.faIcon")||1===r.length;return 1===n.params.length&&t}function C(n,e){var r=y(n.params,1)[0],t=c()(r,"source.symbol",c()(r,"value","")),o=!c()(r,"source.faIcon")&&t.length>4,i=e.length>1,a=c()(r,"params",[]).length>0;return o||i||a}function x(n,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],t=n.value,o=n.params,i=e.sources,l=e.mergedGlyphs,u=e.behaviorParameters,d=t;function A(n,e){if(!n)return null!=e&&e.const?{slot:e,source:e.const,value:e.const.code,params:e.const.params.map((function(){return{value:0,params:[],_isPlaceholder:!0}}))}:{value:void 0,slot:e,params:[]};var r=n.value,t=n.params,o=n._isPlaceholder,u=function(n,e){var r;if(n=c()(i.defines,n,n),Number.isNaN(Number(n))||(n=Number(n)),e.raw)return{code:n};if(e.const)return e.const;if(e.enum){if(void 0===n)return;return a()(e.enum,{code:n})||a()(e.enum,n)||{code:n}}return"placeholder"===e.type?{code:n}:null==i||null===(r=i[e])||void 0===r?void 0:r[n]}(r,e);return{value:r,_isPlaceholder:o,slot:e,source:b(b({},u),{},{symbol:c()(l,[null==u?void 0:u.name,"symbol"],null==u?void 0:u.symbol),faIcon:c()(l,[null==u?void 0:u.name,"faIcon"],null==u?void 0:u.faIcon)}),params:c()(u,"params",[]).map((function(n,e){return A(t[e],n)}))}}return{value:t,slot:"behaviour",source:c()(i.behaviours,d,{}),params:k((0,s.L)(n,u),r).map((function(n,e){return A(o[e],n)}))}}function j(n){var e=[];return function n(r){var t=r.params||[];e.push(r),t.forEach(n)}(n),e}function E(n){if(!n[0].source.code)return!0;var e,r=function(n,e){var r="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!r){if(Array.isArray(n)||(r=h(n))){r&&(n=r);var t=0,o=function(){};return{s:o,n:function(){return t>=n.length?{done:!0}:{done:!1,value:n[t++]}},e:function(n){throw n},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){r=r.call(n)},n:function(){var n=r.next();return a=n.done,n},e:function(n){l=!0,i=n},f:function(){try{a||null==r.return||r.return()}finally{if(l)throw i}}}}(n);try{for(r.s();!(e=r.n()).done;){var t,o=e.value;if(((null===(t=o.source)||void 0===t?void 0:t.params)||[]).length>o.params.length)return!0;if(o.params.some((function(n){var e;return"placeholder"!==(null===(e=n.slot)||void 0===e?void 0:e.type)&&(void 0===n.value||""===n.value||void 0===n.source||n._isPlaceholder)})))return!0}}catch(n){r.e(n)}finally{r.f()}}function B(n){return w([n])[0]}function w(n){var e=(0,u.useContext)(d.c),r=(0,A.H)().paramOverrides;return(0,u.useMemo)((function(){return n.map((function(n){return x(n,e,r)}))}),[n,e,r])}function S(n){var e=(0,u.useContext)(d.c).behaviorParameters;return(0,s.L)(n,e)}function O(n){var e=(0,u.useMemo)((function(){return j(n)}),[n]);return(0,u.useMemo)((function(){return E(e)}),[e])}function k(n,e){var r=o()(n);return e.forEach((function(n){var e=n.paramIndex,t=n.slot;if(r[e]){var o=r[e]||{};r[e]=b({},t),r[e].name=o.name||o}})),r}},80671:function(n,e,r){r.d(e,{Z:function(){return W}});var t=r(94184),o=r.n(t),i=r(18029),a=r.n(i),l=r(45697),c=r.n(l),u=r(67294),s=r(27926),d=r(64261),A=r(96186),f=r(77103),p=r(52156),b=r(50361),m=r.n(b),y=r(27361),h=r.n(y),v=r(81485),g=r(39017);function C(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function x(n){var e,r=m()(n),t=function(n,e){var r="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!r){if(Array.isArray(n)||(r=function(n,e){if(n){if("string"==typeof n)return C(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?C(n,e):void 0}}(n))||e&&n&&"number"==typeof n.length){r&&(n=r);var t=0,o=function(){};return{s:o,n:function(){return t>=n.length?{done:!0}:{done:!1,value:n[t++]}},e:function(n){throw n},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){r=r.call(n)},n:function(){var n=r.next();return a=n.done,n},e:function(n){l=!0,i=n},f:function(){try{a||null==r.return||r.return()}finally{if(l)throw i}}}}((0,g.He)(r));try{for(t.s();!(e=t.n()).done;){var o=e.value;for(var i in o)"_isPlaceholder"===i&&o._isPlaceholder||["value","params"].includes(i)||delete o[i]}}catch(n){t.e(n)}finally{t.f()}return r}var j=r(41696);function E(n){return function(n){if(Array.isArray(n))return B(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return B(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?B(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function B(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function w(n,e){var r=e.nodeIndex,t=e.updatedNode,o=m()(n),i=(0,g.He)(o),a=i[r];return a.value=t.value,a.params=t.params,delete a._isPlaceholder,i.forEach((function(n){delete n.source,delete n.slot})),o}function S(n,e){var r,t,o,i,a=e.nodeIndex,l=e.source,c=e.behaviorParameters,u=e.paramOverrides,s=e.extraReducer,d=m()(n),A=(0,g.He)(d),f=A[a];f.slot.raw&&"number"===f.slot.type&&(l.code=Number(l.code));var p=(null===(r=f.source)||void 0===r||null===(t=r.additionalParams)||void 0===t?void 0:t.length)||0;((null===(o=l.additionalParams)||void 0===o?void 0:o.length)||0)<p&&(A[0].params.splice(1,A[0].params.length-1),A.splice(2,A.length-1));var b="behaviour"===f.slot?(0,g.ci)(c[l.code]||[],u):(null==l?void 0:l.params)||[],y=function(n,e){var r=n.params,t=n.source,o=(null==t?void 0:t.params)||[];return e.reduce((function(n,e,t){return[].concat(E(n),[o[t]!==e?O(e):r[t]])}),[])}(f,(0,g.ci)(b,u));if(delete f._isPlaceholder,f.value=l.code,f.params=y,(null==l||null===(i=l.additionalParams)||void 0===i?void 0:i.length)>0&&"behavior"!==f.slot){var h,v=l.additionalParams.map((function(n){return"const"in n?{value:n.const.code,source:n.const,params:(n.const.params||[]).map((function(n){return{slot:n,value:0,params:[],_isPlaceholder:!0}}))}:{value:0,_isPlaceholder:!0}}));(h=A[0].params).splice.apply(h,[1,1].concat(E(v)))}return A.forEach((function(n){delete n.source,delete n.slot})),s(d)}function O(n){return n.const?{value:n.const.code,params:[]}:{value:0,_isPlaceholder:!0}}var k=r(30314),P=r(1601);function Z(n){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Z(n)}function T(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function D(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?T(Object(r),!0).forEach((function(e){I(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function I(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Z(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Z(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Z(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function M(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var q=r(94596),Y=r(61953),N=r(76620),R=r(85893);function U(n){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},U(n)}function K(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==U(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==U(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===U(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function z(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return L(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?L(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function W(n){var e=n.binding,r=n.bindingIndex,t=n.onUpdate,i=n.onCancel,a=n.context,l=void 0===a?"none":a,c=n.Heading,f=z((0,u.useState)(e),2),b=function(n,e){var r,t,o=(0,u.useContext)(v.c),i=(0,k.H)().paramOverrides,a=(0,P.z)().bindingReducer,l=o.sources,c=(r=(0,u.useState)(null),t=2,function(n){if(Array.isArray(n))return n}(r)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(r,t)||function(n,e){if(n){if("string"==typeof n)return M(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?M(n,e):void 0}}(r,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],d=c[1],A=(0,g.wQ)((null==s?void 0:s.pending)||n),f=n.value,p=h()(l.behaviours,f,{}),b=(0,g.ci)((0,j.L)(n,o.behaviorParameters),i),y=A.params,C=(0,g.He)(A),E=(0,u.useMemo)((function(){return(0,g.wx)(C)}),[C]),B=(0,u.useCallback)((function(){return d(null)}),[d]),O=(0,u.useCallback)((function(n){var r=s.nodeIndex,t="tree"===s.type?w(A,{nodeIndex:r,updatedNode:n}):S(A,{source:n,nodeIndex:r,behaviorParameters:o.behaviorParameters,paramOverrides:i,extraReducer:a});e(x(t)),B()}),[A,s,B,e,o.behaviorParameters,i,a]),Z=(0,u.useCallback)((function(){s.pending&&(e(x(s.pending)),B())}),[null==s?void 0:s.pending,e,B]),T=(0,u.useCallback)((function(n){var e=s.pending,r=s.nodeIndex,t="tree"===s.type?w(e,{nodeIndex:r,updatedNode:n}):S(e,{source:n,nodeIndex:r,behaviorParameters:o.behaviorParameters}),i=(0,g.NB)(t,o),a=(0,g.He)(i),l=a[r];d(D(D({},s),{},{pending:i,index:a,node:l}))}),[s,d,o]),I=(0,u.useCallback)((function(n){var e,r=n.node,t=n.type,o=void 0===t?"value":t,i=m()(A),a=function(n,e,r){var t={layer:"Assign layer",mod:"Assign modifier",behaviour:"Assign behavior",keycode:"Assign key code"};if("tree"===r&&e){var o,i=null===(o=e.source)||void 0===o?void 0:o.helperPrompt;if(i)return i}return n.name?"Assign ".concat(n.name):n.raw?"Enter raw value":t[n]||t.keycode}(r.slot,r,o),l=C.indexOf(r);null!==(e=r.slot)&&void 0!==e&&e.const&&"tree"!==o||((null==s?void 0:s.nodeIndex)!==l||(null==s?void 0:s.type)!==o?d({pending:i,node:r,type:o,nodeIndex:l,prompt:a}):Z())}),[s,A,C,d,Z]),q=(0,u.useMemo)((function(){return{behavior:p,behaviorParams:b,bindTree:A,bindTreeParams:y,editing:s,index:C,invalid:E}}),[p,b,A,y,s,C,E]),Y=(0,u.useMemo)((function(){return{clearEditing:B,handleChange:T,handleConfirm:Z,handleUpdateAndConfirm:O,handleUpdateBindValue:O,selectNodeForEditing:I}}),[B,I,T,Z,O]);return(0,u.useMemo)((function(){return[q,Y]}),[q,Y])}(f[0],f[1]),y=z(b,2),C=y[0],E=C.bindTree,B=C.behavior,O=C.behaviorParams,Z=C.editing,T=C.invalid,I=y[1],U=I.clearEditing,L=I.handleChange,W=I.handleConfirm,Q=I.handleUpdateBindValue,X=I.selectNodeForEditing,_=(0,u.useCallback)((function(){t(x(E))}),[E,t]),G=Z&&(0,R.jsx)(N.b,{node:Z.node,type:Z.type,behaviour:B,context:l,prompt:Z.prompt,searchKey:"code",inline:!0,onSelect:Q,onConfirm:W,onChange:L,onCancel:U});return(0,R.jsx)(d.Z,{onDismiss:i,children:(0,R.jsxs)(A.Z,{dismissText:null,classes:[q.Z.dialogBox],children:[(0,R.jsxs)("div",{className:q.Z.mainPanel,children:[(0,R.jsx)(c,{bindingIndex:r,bindTree:E,context:l}),(0,R.jsx)(k.D,{expanded:!0,onSelect:X,children:(0,R.jsxs)("div",{className:q.Z.bindingSlots,children:[(0,R.jsxs)("h3",{children:["Behavior ",(0,R.jsx)("div",{style:{display:"inline-block",fontSize:"initial",fontWeight:"normal"},children:(0,R.jsx)("span",{className:o()(Y.Z.extracted,K({},Y.Z.highlight,0===(null==Z?void 0:Z.nodeIndex))),children:(0,R.jsx)("span",{className:Y.Z.param,children:(0,R.jsx)(p.ZP,{slot:"behaviour",node:E})})})})]}),(0,R.jsx)(H,{slots:O,node:E,editing:Z})]})}),(0,R.jsxs)("div",{className:q.Z.dialogActions,children:[(0,R.jsx)(s.Z,{onClick:_,disabled:T,children:"Okay"}),(0,R.jsx)(s.Z,{onClick:i,secondary:!0,children:"Cancel"})]})]}),G&&(0,R.jsxs)("div",{className:q.Z.editPanel,children:[(0,R.jsx)("button",{onClick:W,className:q.Z.editPanelClose,children:"Close"}),G]})]})})}function H(n){var e=n.slots,r=n.node,t=n.editing;return 0===e.length?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("h3",{children:"Parameters"}),(0,R.jsx)("ol",{className:q.Z.parameterSlots,"data-slot-count":e.length,children:e.map((function(n,e){return"placeholder"!==n.type&&(0,R.jsx)(u.Fragment,{children:(0,R.jsx)(Q,{slot:n,param:r.params[e],editing:(null==t?void 0:t.nodeIndex)===e+1},e)},e)}))})]})}function Q(n){var e=n.slot,r=n.param,t=n.editing,i=(0,u.useMemo)((function(){var n=e.raw?"Raw value":e.name||e,r={code:"key-code"}[n]||n;return a()(r)}),[e]);return(0,R.jsxs)("li",{children:[(0,R.jsx)("label",{children:i}),(0,R.jsx)("span",{className:o()(q.Z.param,Y.Z.extracted,K({},Y.Z.highlight,t)),children:(0,R.jsx)(f.N,{slot:e,node:r})})]})}W.propTypes={context:c().string,hideBehaviour:c().bool.isRequired,onUpdate:c().func.isRequired},W.defaultProps={hideBehaviour:!1}},1601:function(n,e,r){r.d(e,{M:function(){return l},z:function(){return c}});var t=r(67294),o=r(85893),i=["children"];var a=(0,t.createContext)({bindingReducer:function(n){return n}});function l(n){var e=n.children,r=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,i);return(0,o.jsx)(a.Provider,{value:r,children:e})}function c(){return(0,t.useContext)(a)}},62417:function(n,e,r){function t(n){return n.length>31?"maximum length: 31":n.match(/^[^a-zA-Z]/)?"first character must be a letter":n.match(/[^a-zA-Z0-9,._+-]/)?"valid characters: a-zA-Z0-9,._+-":void 0}r.d(e,{G3:function(){return o},Gk:function(){return t},zq:function(){return i}});var o=t;function i(n){return n.length>31?"maximum length: 31":n.match(/^[^a-zA-Z]/)?"first character must be a letter":n.match(/[^a-zA-Z0-9_]/)?"valid characters: a-zA-Z0-9_":void 0}},82607:function(n,e,r){var t=r(45697),o=r.n(t),i=r(91118),a=r(27213),l=r(64536),c=r(85893);function u(n){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},u(n)}function s(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function d(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(Object(r),!0).forEach((function(e){A(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function A(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==u(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==u(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===u(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function f(n){var e=n.binding,r=n.keyWrapperProps,t=void 0===r?{}:r;return(0,c.jsx)(i.Z,d(d({},t),{},{children:(0,c.jsx)(a.Z,{value:e})}))}f.propTypes={binding:l.U4.isRequired,keyWrapperProps:o().any},e.Z=f},91118:function(n,e,r){var t=r(39693),o=r.n(t),i=r(61953),a=r(85893);function l(n){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},l(n)}var c=["children","selectable","themeClass","className"];function u(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function s(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?u(Object(r),!0).forEach((function(e){d(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function d(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==l(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==l(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===l(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}e.Z=function(n){var e=n.children,r=n.selectable,t=void 0===r||r,l=n.themeClass,u=void 0===l?void 0:l,d=n.className,A=void 0===d?"":d,f=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,c),p=o()([i.Z.key,t&&i.Z.selectable,null!=u?u:i.Z.keyDefaultTheme,A]).join(" ");return(0,a.jsx)("div",s(s({className:p},f),{},{children:e}))}},76620:function(n,e,r){r.d(e,{b:function(){return Fn},Z:function(){return Jn}});var t=r(94184),o=r.n(t),i=r(78718),a=r.n(i),l=r(45697),c=r.n(l),u=r(67294),s=r(96186),d=r(64261),A=r(81485),f=r(49700),p=r(93379),b=r.n(p),m=r(7795),y=r.n(m),h=r(90569),v=r.n(h),g=r(3565),C=r.n(g),x=r(19216),j=r.n(x),E=r(44589),B=r.n(E),w=r(47881),S={};S.styleTagTransform=B(),S.setAttributes=C(),S.insert=v().bind(null,"head"),S.domAPI=y(),S.insertStyleElement=j(),b()(w.Z,S);var O=w.Z&&w.Z.locals?w.Z.locals:void 0,k=r(85893);function P(n){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},P(n)}function Z(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function T(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Z(Object(r),!0).forEach((function(e){D(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Z(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function D(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==P(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==P(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===P(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function I(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function M(n){var e,r,t=n.results,o=n.onSelect,i=n.initialChoice,a=n.renderResult,l=(0,u.useRef)(null),c=(0,u.useMemo)((function(){return t.findIndex((function(n){return n.code===i}))}),[t,i]),s=(e=(0,u.useState)({cursorIndex:c,touched:!1}),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return I(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],A=d.cursorIndex,p=d.touched,b=s[1],m=(0,u.useCallback)((function(n){return b((function(e){return T(T({},e),{},{cursorIndex:n,touched:!0})}))}),[b]),y=(0,u.useCallback)((function(n){var e,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t='li[data-result-index="'.concat(n,'"]'),o=null===(e=l.current)||void 0===e?void 0:e.querySelector(t);(0,f.n)(o,r)}),[l]);(0,u.useEffect)((function(){p||-1===c||y(c,{behavior:"auto",block:"center"})}),[p,y,c]);var h=(0,u.useCallback)((function(n,e){if(0!==t.length)if(void 0!==e){var r=null!==A?(0,f.H)(t,A,e):n;y(r,{behavior:"auto",block:"nearest"}),m(r)}else m(n);else m(null)}),[t,A,m,y]),v=(0,u.useCallback)((function(){h(0,1)}),[h]),g=(0,u.useCallback)((function(){h(t.length-1,-1)}),[h,t]),C=(0,u.useCallback)((function(n){o(t[A],n)}),[t,A,o]),x=(0,u.useCallback)((function(n){if("BUTTON"!==n.target.nodeName){var e={ArrowDown:v,ArrowUp:g,Enter:C}[n.key];e&&(n.preventDefault(),n.stopPropagation(),e(n))}}),[v,g,C]);return(0,u.useEffect)((function(){return document.body.addEventListener("keydown",x),function(){return document.body.removeEventListener("keydown",x)}}),[l,x]),(0,k.jsx)("ul",{className:O.results,ref:l,children:t.map((function(n,e){return(0,k.jsx)("li",{className:A===e?O.highlighted:"",title:n.description,"data-result-index":e,onClick:function(e){return o(n,e)},onDoubleClick:function(e){return o(n,e)},onMouseOver:function(){return h(e)},children:a(n,e)},e)}))})}M.propTypes={results:c().array.isRequired,onSelect:c().func.isRequired,renderResult:c().func.isRequired};var q=r(67069),Y={onCancel:c().func,onChange:c().func,onSelect:c().func.isRequired,node:q.le.isRequired,searchKey:c().string.isRequired,searchThreshold:c().number};function N(n){var e=(0,u.useContext)(A.c).getSearchTargets,r=n.node,t=n.param,o=n.onSelect,i=(0,u.useMemo)((function(){return e(t).filter((function(n){return!n.hidden}))}),[e,t]);return(0,k.jsx)(M,{results:i,initialChoice:null==r?void 0:r.value,onSelect:o,renderResult:function(n){return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("span",{children:n.displayName||n.name||n.code}),n.description&&(0,k.jsx)("p",{className:O.description,children:n.description})]})}})}N.propTypes=Y;var R=r(87360),U=r.n(R),K=r(41051);function z(n){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},z(n)}function L(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function W(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?L(Object(r),!0).forEach((function(e){H(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):L(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function H(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==z(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==z(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===z(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Q(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return X(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?X(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var _=10;function G(n){var e=n.choices,r=n.searchKey,t=n.searchKeys,o=n.renderResults,i=n.initialQuery,a=!e.length||e.length>_,l=function(n){var e=n.choices,r=n.searchKey,t=n.searchKeys,o=Q((0,u.useState)({query:"",touched:!1}),2),i=o[0],a=i.query,l=i.touched,c=o[1],s=(0,u.useMemo)((function(){if(!a)return e;var n=t?{keys:t,limit:30}:{key:r,limit:30};return U().go(a,e,n).map((function(n){return W(W({},n.obj),{},{search:n})}))}),[a,e,r,t]),d=(0,u.useCallback)((function(n){c({query:n.target.value,touched:!0})}),[c]),A=(0,u.useCallback)((function(n){c({query:"",touched:!0})}),[c]);return[(0,u.useMemo)((function(){return{query:a,filtered:s,touched:l}}),[a,s,l]),(0,u.useMemo)((function(){return{handleChange:d,handleClearSearch:A}}),[d,A])]}({choices:e,searchKey:r,searchKeys:t,initialQuery:i}),c=Q(l,2),s=c[0],d=s.query,A=s.filtered,f=c[1],p=f.handleChange,b=f.handleClearSearch,m=(0,u.useMemo)((function(){return a?A:e}),[a,A,e]);return(0,k.jsxs)(k.Fragment,{children:[a&&(0,k.jsx)(F,{value:d,onChange:p,onClear:b}),o(m)]})}function F(n){var e=n.value,r=n.onChange,t=n.onClear,o=(0,u.useRef)(null);return(0,u.useEffect)((function(){o.current.focus()}),[]),(0,k.jsxs)("div",{className:O.searchWrapper,children:[(0,k.jsx)("input",{ref:o,type:"text",value:e,onChange:r}),(0,k.jsx)(K.Z,{className:O.searchIcon,name:"search"}),(0,k.jsx)(K.Z,{className:O.clearSearchIcon,name:"times",onClick:t})]})}function J(n){var e=n.searchKey,r=n.node,t=n.param,o=n.behaviour,i=n.context,a=n.onSelect,l=(0,u.useContext)(A.c).getSearchTargets,c=(0,u.useMemo)((function(){return l(t,o.code,i)}),[l,t,o,i]);return(0,k.jsx)(G,{choices:c,searchKey:e,renderResults:function(n){return n&&(0,k.jsx)(M,{results:n,initialChoice:r.value,onSelect:a,renderResult:V})}})}function V(n){var e=n.search?(0,k.jsx)("span",{children:U().highlight(n.search,(function(n,e){return(0,k.jsx)("b",{children:n},e)}))}):(0,k.jsx)("span",{children:n.code}),r=n.displayName||n.description;return(0,k.jsxs)(k.Fragment,{children:[e,r&&(0,k.jsx)("p",{className:O.description,children:r})]})}G.propTypes={choices:c().array.isRequired,searchKey:c().string,initialQuery:c().string.isRequired,renderResults:c().func.isRequired},G.defaultProps={initialQuery:""},F.propTypes={value:c().string.isRequired,onChange:c().func.isRequired,onClear:c().func.isRequired},J.propTypes=Y;var $=r(55651),nn=r(27926);function en(n){return en="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},en(n)}function rn(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function tn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?rn(Object(r),!0).forEach((function(e){on(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):rn(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function on(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==en(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==en(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===en(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function an(n){var e=Number(n);return Number.isNaN(e)?0:e}function ln(n){var e=n.node,r=n.onChange,t=n.onConfirm,o=n.inline,i=(0,u.useMemo)((function(){return{h:an(e.params[0].value),s:an(e.params[1].value),l:an(e.params[2].value)}}),[e.params]),a=(0,u.useCallback)((function(n){var t=n.h,o=n.s,i=n.l;r(tn(tn({},e),{},{params:[{value:Math.round(t)},{value:Math.round(o)},{value:Math.round(i)}]}))}),[e,r]);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("div",{style:{display:"flex",justifyContent:"center"},children:(0,k.jsx)($.Jz,{color:i,onChange:a})}),!o&&(0,k.jsx)("p",{style:{textAlign:"center"},children:(0,k.jsx)(nn.Z,{onClick:t,children:"Confirm"})})]})}ln.propTypes=Y;var cn=r(39693),un=r.n(cn),sn=r(35161),dn=r.n(sn),An=r(2062),fn=r(91118),pn=r(74871),bn=r(82569),mn=r.n(bn);function yn(n,e){if(n){if("string"==typeof n)return hn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hn(n,e):void 0}}function hn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var vn=r(38356);function gn(n){return gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},gn(n)}function Cn(n){return function(n){if(Array.isArray(n))return xn(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return xn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?xn(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function jn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==gn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==gn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===gn(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}var En=["LS","LA","LC","LG"],Bn=["RS","RA","RC","RG"],wn={LS:{short:"LSHFT",full:"Left Shift"},LC:{short:"LCTRL",full:"Left Control"},LA:{short:"LALT",full:"Left Alt"},LG:{short:"LGUI",full:"Left Gui"},RS:{short:"RSHFT",full:"Right Shift"},RC:{short:"RCTRL",full:"Right Control"},RA:{short:"RALT",full:"Right Alt"},RG:{short:"RGUI",full:"Right Gui"}},Sn=" (This modifier is implicitly used by the active keycode and cannot be de-selected)";function On(n){var e=n.selected,r=n.implicit,t=n.row,i=n.onChange;return(0,k.jsx)("ul",{className:vn.Z.modifiers,children:t.map((function(n,t){var a;return(0,k.jsx)("li",{title:wn[n].full+(r.includes(n)?Sn:""),className:o()((a={},jn(a,vn.Z.selected,e.includes(n)),jn(a,vn.Z.implicit,r.includes(n)),a)),children:(0,k.jsxs)("label",{children:[(0,k.jsx)("input",{type:"checkbox",checked:e.includes(n)||r.includes(n),disabled:r.includes(n),onChange:function(r){i(r.target.checked?[].concat(Cn(e),[n]):mn()(e,n))}})," ",(0,k.jsx)("span",{children:wn[n].short})]})},t)}))})}function kn(n){var e=n.selected,r=n.implicit,t=n.onChange;return function(n,e,r){!function(n){var e,r,t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).singleKeyOnly,o=void 0!==t&&t,i=(e=(0,u.useState)([]),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||yn(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[1],a=(0,u.useCallback)((function(){return i([])}),[i]);(0,u.useEffect)((function(){function e(n){i((function(e){return o?[n.code]:[].concat(function(n){return function(n){if(Array.isArray(n))return hn(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||yn(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e),[n.code])}))}function r(e){i((function(r){return r.includes(e.code)&&setTimeout((function(){return n(e)})),mn()(r,e.code)}))}return document.body.addEventListener("keydown",e),document.body.addEventListener("keyup",r),document.body.addEventListener("focusout",a),function(){document.body.removeEventListener("keydown",e),document.body.removeEventListener("keyup",r),document.body.removeEventListener("focusout",a)}}),[o,i,n,a])}((0,u.useCallback)((function(t){var o=function(n){var e,r={Control:"C",Shift:"S",Alt:"A",Meta:"G"}[n.key],t=(e={},jn(e,KeyboardEvent.DOM_KEY_LOCATION_LEFT,"L"),jn(e,KeyboardEvent.DOM_KEY_LOCATION_RIGHT,"R"),e)[n.location];return r&&t?"".concat(t).concat(r):null}(t);o&&!e.includes(o)&&r(n.includes(o)?mn()(n,o):[].concat(Cn(n),[o]))}),[n,e,r]),{singleKeyOnly:!0})}(e,r,t),(0,k.jsxs)("div",{className:vn.Z.allModifiers,children:[(0,k.jsx)(On,{row:En,selected:e,implicit:r,onChange:t}),(0,k.jsx)(On,{row:Bn,selected:e,implicit:r,onChange:t})]})}kn.propTypes={selected:c().arrayOf(c().string),implicit:c().arrayOf(c().string),onChange:c().func.isRequired};var Pn=r(81404),Zn=r(39017);function Tn(n){return function(n){if(Array.isArray(n))return In(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||Dn(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dn(n,e){if(n){if("string"==typeof n)return In(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?In(n,e):void 0}}function In(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function Mn(n){var e=n.node,r=n.onSelect,t=n.onChange,o=n.onConfirm,i=n.behaviour,a=n.inline,l=(0,u.useContext)(A.c).getSearchTargets,c=(0,u.useMemo)((function(){return dn()((0,pn.H)(e),"source")}),[e]),s=(0,u.useMemo)((function(){return c.at(-1)}),[c]),d=(0,u.useMemo)((function(){var n;return null===(n=c.at(-1))||void 0===n?void 0:n.code}),[c]),f=(0,u.useMemo)((function(){return dn()(1===c.length?[]:c.slice(0,-1),"code")}),[c]),p=(0,u.useMemo)((function(){return l("code",i.code).filter((function(n){return 0===n.params.length}))}),[l,i]),b=(0,u.useCallback)((function(n){t((0,pn.n)(un()([].concat(Tn(n),[d]))))}),[t,d]),m=(0,u.useCallback)((function(n){t((0,pn.n)(un()([].concat(Tn(f),[null==n?void 0:n.code]))))}),[t,f]),y=(0,u.useCallback)((function(n,e){"dblclick"!==e.type?m(n):r((0,pn.n)(un()([].concat(Tn(f),[null==n?void 0:n.code]))))}),[r,m,f]),h=a?Yn:qn;return(0,k.jsx)(h,{selectedModifiers:f,selectedKeycode:d,keycodeDefinition:s,choices:p,handleChangeModifiers:b,handleSelectKeycode:y,handleCancel:function(){r(e)},onConfirm:o})}function qn(n){var e=n.selectedModifiers,r=n.selectedKeycode,t=n.keycodeDefinition,i=n.choices,a=n.handleChangeModifiers,l=n.handleSelectKeycode,c=n.handleCancel,s=n.onConfirm,d=(0,u.useMemo)((function(){return{value:"&kp",params:[{value:r,params:[]}]}}),[r]),A=(0,Zn.wQ)(d);return(0,k.jsxs)("div",{className:o()(O.dialog,vn.Z.wrapper),children:[(0,k.jsxs)("div",{style:{display:"flex",gap:"10px"},children:[(0,k.jsxs)("div",{children:[(0,k.jsx)("h3",{children:"Keycode"}),(0,k.jsx)(fn.Z,{className:vn.Z.previewKeycode,selectable:!1,children:(0,k.jsx)(Pn.Z,{node:A.params[0],onSelect:function(){}})})]}),(0,k.jsxs)("div",{children:[(0,k.jsx)("h3",{children:"Modifiers"}),(0,k.jsx)(kn,{selected:e,implicit:(null==t?void 0:t.modifiers)||[],onChange:a})]})]}),(0,k.jsx)("h3",{children:"Available Keycodes"}),(0,k.jsx)(G,{choices:i,initialQuery:r,searchKeys:["code","symbol"],renderResults:function(n){return n&&(0,k.jsx)(M,{results:n,initialChoice:r,onSelect:l,renderResult:Nn})}}),(0,k.jsx)(An.Z,{className:vn.Z.quickCloseTip,children:(0,k.jsx)("span",{children:"Double-click to select and close the dialog"})}),(0,k.jsxs)("div",{style:{marginTop:"10px",textAlign:"center"},children:[(0,k.jsx)(nn.Z,{disabled:!r,onClick:s,children:"Confirm"}),(0,k.jsx)(nn.Z,{onClick:c,secondary:!0,children:"Cancel"})]})]})}function Yn(n){var e=n.selectedModifiers,r=n.selectedKeycode,t=n.keycodeDefinition,o=n.choices,i=n.handleChangeModifiers,a=n.handleSelectKeycode;return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("h3",{children:"Modifiers"}),(0,k.jsx)(kn,{selected:e,implicit:(null==t?void 0:t.modifiers)||[],onChange:i}),(0,k.jsx)("h3",{children:"Available Keycodes"}),(0,k.jsx)(G,{choices:o,initialQuery:r,searchKeys:["code","symbol"],renderResults:function(n){return n&&(0,k.jsx)(M,{results:n,onSelect:a,initialChoice:r,renderResult:Nn})}})]})}function Nn(n){var e,r,t=(e=n.search||[],r=1,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||Dn(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],o=t?(0,k.jsx)("span",{dangerouslySetInnerHTML:{__html:U().highlight(t)}}):(0,k.jsx)("span",{children:n.code}),i=function(n){var e=null==n?void 0:n.symbol,r=null==n?void 0:n.faIcon;return r?(0,k.jsx)(K.Z,{name:r}):e&&!n.aliases.includes(e)?e:void 0}(n);return(0,k.jsxs)("div",{className:vn.Z.resultItem,children:[(0,k.jsxs)("div",{className:vn.Z.description,children:[o,(0,k.jsx)("p",{className:O.description,children:n.description})]}),i&&(0,k.jsx)("div",{className:vn.Z.symbol,children:i})]})}function Rn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function Un(n){n&&(n.focus(),n.select())}function Kn(n){var e,r,t=n.value,o=n.param,i=n.onSelect,a=(e=(0,u.useState)(t),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){u=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return Rn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Rn(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],c=a[1],s=(0,u.useCallback)((function(n){"Enter"===n.key&&i({code:l})}),[l,i]),d=(0,u.useCallback)((function(n){var e=n.target.value;"number"===o.type&&(e=Number(e),Number.isNaN(e))||c(e)}),[o,c]);return(0,k.jsx)("input",{ref:Un,type:"text",value:l,onChange:d,onKeyDown:s})}Mn.propTypes=Y,Kn.propTypes=Y;var zn=r(95998),Ln=r(80736);function Wn(n){var e=n.node,r=n.onSelect,t=(0,zn.v9)(Ln.vl),o=(0,u.useMemo)((function(){return t.map((function(n,e){return{code:e.toString(),description:n.name||"Layer ".concat(e)}}))}),[t]);return(0,k.jsx)(M,{results:o,initialChoice:e.value,onSelect:r,renderResult:function(n){return(0,k.jsxs)(k.Fragment,{children:[n.code,n.description&&(0,k.jsx)("p",{className:O.description,children:n.description})]})}})}Wn.propTypes=Y;var Hn=["prompt","onCancel"];function Qn(n){return Qn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Qn(n)}function Xn(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function _n(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Xn(Object(r),!0).forEach((function(e){Gn(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Xn(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function Gn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Qn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Qn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Qn(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Fn(n){var e=n.node,r=n.type,t=n.onSelect,i=n.onChange,l=n.onConfirm,c=a()(n,["node","value","prompt","param","behaviour","context","searchKey","inline"]),s=(0,u.useMemo)((function(){var n;return"tree"===r&&"hsb-color-picker"===(null===(n=e.source)||void 0===n?void 0:n.helper)?ln:e.slot.raw||"placeholder"===e.slot.type?Kn:e.slot.enum?N:"code"===e.slot?Mn:"layer"===e.slot?Wn:J}),[e,r]);return(0,k.jsx)("div",{className:o()(O.wrapper,Gn({},O.inline,n.inline)),children:(0,k.jsx)(s,_n(_n({},c),{},{param:e.slot,onSelect:t,onChange:i,onConfirm:l}))})}function Jn(n){var e=n.prompt,r=n.onCancel,t=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,Hn);return(0,k.jsx)(d.Z,{onDismiss:r,children:(0,k.jsxs)(s.Z,{dismissText:null,classes:[O.dialogWrapper],children:[(0,k.jsx)("h2",{children:e}),(0,k.jsx)(Fn,_n({},t))]})})}Fn.propTypes={type:c().string.isRequired,node:q.le.isRequired,behaviour:c().object.isRequired,searchKey:c().string.isRequired,searchThreshold:c().number,inline:c().bool,onCancel:c().func,onUpdate:c().func,onSelect:c().func.isRequired},Fn.defaultProps={type:"value",value:"",freeForm:!1,inline:!1,searchThreshold:10},Jn.propTypes={type:c().string.isRequired,node:q.le.isRequired,behaviour:c().object.isRequired,prompt:c().string.isRequired,searchKey:c().string.isRequired,searchThreshold:c().number,onCancel:c().func.isRequired,onChange:c().func,onSelect:c().func.isRequired}},49700:function(n,e,r){r.d(e,{H:function(){return t},n:function(){return o}});var t=function(n,e){var r=(e+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:1))%n.length;return r<0?n.length+r:r};function o(n,e){(function(n){var e=n.offsetParent.scrollTop,r=n.offsetParent.offsetHeight,t=n.offsetTop,o=t+n.scrollHeight;return t<e||o>e+r}(n)||function(n){var e=n.offsetParent.scrollLeft,r=n.offsetParent.offsetWidth,t=n.offsetLeft,o=t+n.scrollWidth;return t<e||o>e+r}(n))&&n.scrollIntoView(e)}},56281:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,"button.pi2Ig8c3Fdh4H2Jpxdo7 {\n display: inline-block;\n cursor: pointer;\n background-color: var(--hover-selection);\n color: white;\n\n font-size: 16px;\n border: none;\n border-radius: 5px;\n padding: 0 5px;\n\n height: 30px;\n line-height: 30px;\n vertical-align: middle;\n}\n\nbutton.Ctpu4E2dZYJ6g8CUGFOF {\n color: var(--fg);\n background-color: transparent;\n}\n\nbutton.pi2Ig8c3Fdh4H2Jpxdo7[disabled] {\n filter: saturate(20%);\n opacity: .5;\n cursor: not-allowed;\n}\n","",{version:3,sources:["webpack://./src/Common/action-button.module.css"],names:[],mappings:"AAAA;EACE,qBAAqB;EACrB,eAAe;EACf,wCAAwC;EACxC,YAAY;;EAEZ,eAAe;EACf,YAAY;EACZ,kBAAkB;EAClB,cAAc;;EAEd,YAAY;EACZ,iBAAiB;EACjB,sBAAsB;AACxB;;AAEA;EACE,gBAAgB;EAChB,6BAA6B;AAC/B;;AAEA;EACE,qBAAqB;EACrB,WAAW;EACX,mBAAmB;AACrB",sourcesContent:["button.action {\n display: inline-block;\n cursor: pointer;\n background-color: var(--hover-selection);\n color: white;\n\n font-size: 16px;\n border: none;\n border-radius: 5px;\n padding: 0 5px;\n\n height: 30px;\n line-height: 30px;\n vertical-align: middle;\n}\n\nbutton.secondary {\n color: var(--fg);\n background-color: transparent;\n}\n\nbutton.action[disabled] {\n filter: saturate(20%);\n opacity: .5;\n cursor: not-allowed;\n}\n"],sourceRoot:""}]),a.locals={action:"pi2Ig8c3Fdh4H2Jpxdo7",secondary:"Ctpu4E2dZYJ6g8CUGFOF"},e.Z=a},528:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".sq9i7hQeTeeKuarmO8oA {\n display: inline-block;\n font-size: 70%;\n background: rgba(0, 0, 0, 0.5);\n color: white;\n padding: 4px;\n border-radius: 4px;\n width: max-content;\n}\n","",{version:3,sources:["webpack://./src/Common/tip.module.css"],names:[],mappings:"AAAA;EACE,qBAAqB;EACrB,cAAc;EACd,8BAA8B;EAC9B,YAAY;EACZ,YAAY;EACZ,kBAAkB;EAClB,kBAAkB;AACpB",sourcesContent:[".tip {\n display: inline-block;\n font-size: 70%;\n background: rgba(0, 0, 0, 0.5);\n color: white;\n padding: 4px;\n border-radius: 4px;\n width: max-content;\n}\n"],sourceRoot:""}]),a.locals={tip:"sq9i7hQeTeeKuarmO8oA"},e.Z=a},14409:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i),l=r(2),c=a()(o());c.i(l.Z,"",!0),c.push([n.id,'/* @import "../../Keyboard/Keys/styles.module.css"; */\n\n.AmikJd3HeM7NGUa8io2A {\n width: 350px;\n}\n\n.dAV6OQxNVA4AUwWKyxqw {\n width: 100%;\n background-color: transparent;\n}\n\n.AmikJd3HeM7NGUa8io2A h3:first-child {\n margin-top: 0px;\n}\n\n.xCOOsvxL5qQ3kR8ri91A {\n pointer-events: none;\n box-shadow: 0 4px 10px 0px rgba(0, 0, 0, 0.5);\n}\n\n.Ox9WHfAMFuthXo6ZOJoI {\n padding: 2px 0;\n}\n\n.u4uW9U2E0DfbUM9vP9pf {\n padding: 0;\n margin: 0;\n}\n\n.u4uW9U2E0DfbUM9vP9pf li {\n display: inline-block;\n font-family: monospace, monospace;\n font-size: 70%;\n margin: 2px;\n border-radius: 2px;\n\n background-color: rgba(0, 0, 0, .5);\n opacity: 0.5;\n color: white;\n}\n.u4uW9U2E0DfbUM9vP9pf li label {\n display: inline-block;\n padding: 4px;\n}\n\n.u4uW9U2E0DfbUM9vP9pf li.YcHSun3PLo8dCb9qIZtc {\n opacity: 1;\n background-color: var(--selection);\n color: white;\n}\n\n.u4uW9U2E0DfbUM9vP9pf li.Ix6wQt3EBFUH2PUcsqgm {\n background-color: var(--error-highlight);\n filter: saturate(50%);\n}\n\n.u4uW9U2E0DfbUM9vP9pf li:not(.Ix6wQt3EBFUH2PUcsqgm):hover {\n opacity: 1;\n background-color: var(--hover-selection);\n}\n\n.u4uW9U2E0DfbUM9vP9pf li.Ix6wQt3EBFUH2PUcsqgm:hover * {\n cursor: not-allowed;\n}\n\n.u4uW9U2E0DfbUM9vP9pf li input[type="checkbox"] {\n margin: 0;\n vertical-align: text-bottom;\n}\n\n.d3hMEDpEkH8H7YLG_NjI {\n width: 100% !important;\n box-sizing: border-box;\n text-align: center;\n}\n\n.gFHbtpz6TuduOVYLXwHu {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.AfAg5j2RJEcA0Zh3z7mX {\n flex-grow: 1;\n}\n\n.YeOANHLbze2W1EGYOFiI {\n font-size: 120%;\n padding: 6px 10px;\n color: white !important;\n background-color: rgba(30, 30, 30, 0.4);\n border-radius: 5px;\n}\n\n/* .modifier, */\n.pDc69k_ZSCzl167cUYy8 {\n background-color: rgba(30, 30, 30, 0.1);\n border-radius: 5px;\n padding: 2px;\n}\n\n@media not (prefers-color-scheme: light) {\n /* body:not([data-theme="light"]) .modifier, */\n body:not([data-theme="light"]) .pDc69k_ZSCzl167cUYy8 {\n background-color: rgb(30, 30, 30, 0.3);\n }\n}\n\n.pDc69k_ZSCzl167cUYy8 .hHrbV5DBivuXAbTelsAB {\n margin-right: 2px;\n}\n\n.pDc69k_ZSCzl167cUYy8 .hutggzXLuv58uTDC0MZg {\n background-color: var(--key-bg-base);\n padding: 0px 3px;\n border-radius: 4px;\n}\n\n.'+l.Z.locals.key+"."+l.Z.locals.selectable+":hover .pDc69k_ZSCzl167cUYy8 .hutggzXLuv58uTDC0MZg {\n background-color: var(--hover-selection);\n}\n","",{version:3,sources:["webpack://./src/EnhancedPickers/Keycode/styles.module.css"],names:[],mappings:"AAAA,qDAAqD;;AAMrD;EACE,YAAY;AACd;;AAEA;EACE,WAAW;EACX,6BAA6B;AAC/B;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,oBAAoB;EACpB,6CAA6C;AAC/C;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,UAAU;EACV,SAAS;AACX;;AAEA;EACE,qBAAqB;EACrB,iCAAiC;EACjC,cAAc;EACd,WAAW;EACX,kBAAkB;;EAElB,mCAAmC;EACnC,YAAY;EACZ,YAAY;AACd;AACA;EACE,qBAAqB;EACrB,YAAY;AACd;;AAEA;EACE,UAAU;EACV,kCAAkC;EAClC,YAAY;AACd;;AAEA;EACE,wCAAwC;EACxC,qBAAqB;AACvB;;AAEA;EACE,UAAU;EACV,wCAAwC;AAC1C;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,SAAS;EACT,2BAA2B;AAC7B;;AAEA;EACE,sBAAsB;EACtB,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,uBAAuB;EACvB,uCAAuC;EACvC,kBAAkB;AACpB;;AAEA,eAAe;AACf;EACE,uCAAuC;EACvC,kBAAkB;EAClB,YAAY;AACd;;AAEA;EACE,8CAA8C;EAC9C;IACE,sCAAsC;EACxC;AACF;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,oCAAoC;EACpC,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,wCAAwC;AAC1C",sourcesContent:['/* @import "../../Keyboard/Keys/styles.module.css"; */\n:import("../../Keyboard/Keys/styles.module.css") {\n key: key;\n selectable: selectable;\n}\n\n.wrapper {\n width: 350px;\n}\n\n.inline {\n width: 100%;\n background-color: transparent;\n}\n\n.wrapper h3:first-child {\n margin-top: 0px;\n}\n\n.previewKeycode {\n pointer-events: none;\n box-shadow: 0 4px 10px 0px rgba(0, 0, 0, 0.5);\n}\n\n.allModifiers {\n padding: 2px 0;\n}\n\n.modifiers {\n padding: 0;\n margin: 0;\n}\n\n.modifiers li {\n display: inline-block;\n font-family: monospace, monospace;\n font-size: 70%;\n margin: 2px;\n border-radius: 2px;\n\n background-color: rgba(0, 0, 0, .5);\n opacity: 0.5;\n color: white;\n}\n.modifiers li label {\n display: inline-block;\n padding: 4px;\n}\n\n.modifiers li.selected {\n opacity: 1;\n background-color: var(--selection);\n color: white;\n}\n\n.modifiers li.implicit {\n background-color: var(--error-highlight);\n filter: saturate(50%);\n}\n\n.modifiers li:not(.implicit):hover {\n opacity: 1;\n background-color: var(--hover-selection);\n}\n\n.modifiers li.implicit:hover * {\n cursor: not-allowed;\n}\n\n.modifiers li input[type="checkbox"] {\n margin: 0;\n vertical-align: text-bottom;\n}\n\n.quickCloseTip {\n width: 100% !important;\n box-sizing: border-box;\n text-align: center;\n}\n\n.resultItem {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.description {\n flex-grow: 1;\n}\n\n.symbol {\n font-size: 120%;\n padding: 6px 10px;\n color: white !important;\n background-color: rgba(30, 30, 30, 0.4);\n border-radius: 5px;\n}\n\n/* .modifier, */\n.keycodeWithModifiers {\n background-color: rgba(30, 30, 30, 0.1);\n border-radius: 5px;\n padding: 2px;\n}\n\n@media not (prefers-color-scheme: light) {\n /* body:not([data-theme="light"]) .modifier, */\n body:not([data-theme="light"]) .keycodeWithModifiers {\n background-color: rgb(30, 30, 30, 0.3);\n }\n}\n\n.keycodeWithModifiers .appliedModifierSymbols {\n margin-right: 2px;\n}\n\n.keycodeWithModifiers .modifiedKeycodeSymbol {\n background-color: var(--key-bg-base);\n padding: 0px 3px;\n border-radius: 4px;\n}\n\n.key.selectable:hover .keycodeWithModifiers .modifiedKeycodeSymbol {\n background-color: var(--hover-selection);\n}\n'],sourceRoot:""}]),c.locals={wrapper:"AmikJd3HeM7NGUa8io2A",inline:"dAV6OQxNVA4AUwWKyxqw",previewKeycode:"xCOOsvxL5qQ3kR8ri91A",allModifiers:"Ox9WHfAMFuthXo6ZOJoI",modifiers:"u4uW9U2E0DfbUM9vP9pf",selected:"YcHSun3PLo8dCb9qIZtc",implicit:"Ix6wQt3EBFUH2PUcsqgm",quickCloseTip:"d3hMEDpEkH8H7YLG_NjI",resultItem:"gFHbtpz6TuduOVYLXwHu",description:"AfAg5j2RJEcA0Zh3z7mX",symbol:"YeOANHLbze2W1EGYOFiI",keycodeWithModifiers:"pDc69k_ZSCzl167cUYy8",appliedModifierSymbols:"hHrbV5DBivuXAbTelsAB",modifiedKeycodeSymbol:"hutggzXLuv58uTDC0MZg"},e.Z=c},33151:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i),l=r(2),c=a()(o());c.i(l.Z,"",!0),c.push([n.id,'/* @import "../../Keyboard/Keys/styles.module.css"; */\n\n.'+l.Z.locals.key+" .ElYzpTlttqVbs6KKy9ob {\n align-self: center;\n}\n."+l.Z.locals.extracted+" .ElYzpTlttqVbs6KKy9ob {\n display: inline-block;\n border-bottom: .15em dotted var(--key-color-base);\n box-sizing: border-box;\n padding: 6px .25em;\n}\n\n:hover .ElYzpTlttqVbs6KKy9ob:hover {\n cursor: pointer;\n background-color: var(--hover-selection);\n border-radius: 0;\n border-radius: 3px;\n}\n\n.rdE_HhSUTcg2dK35N2WA {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n aspect-ratio: 1;\n border-radius: 2px;\n}\n\n."+l.Z.locals.extracted+" .rdE_HhSUTcg2dK35N2WA {\n display: inline-block;\n}\n","",{version:3,sources:["webpack://./src/EnhancedPickers/RGB/styles.module.css"],names:[],mappings:"AAAA,qDAAqD;;AAMrD;EACE,kBAAkB;AACpB;AACA;EACE,qBAAqB;EACrB,iDAAiD;EACjD,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;EACE,eAAe;EACf,wCAAwC;EACxC,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,qBAAqB;AACvB",sourcesContent:['/* @import "../../Keyboard/Keys/styles.module.css"; */\n:import("../../Keyboard/Keys/styles.module.css") {\n key: key;\n extracted: extracted;\n}\n\n.key .colorIconWrapper {\n align-self: center;\n}\n.extracted .colorIconWrapper {\n display: inline-block;\n border-bottom: .15em dotted var(--key-color-base);\n box-sizing: border-box;\n padding: 6px .25em;\n}\n\n:hover .colorIconWrapper:hover {\n cursor: pointer;\n background-color: var(--hover-selection);\n border-radius: 0;\n border-radius: 3px;\n}\n\n.colorIcon {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n aspect-ratio: 1;\n border-radius: 2px;\n}\n\n.extracted .colorIcon {\n display: inline-block;\n}\n'],sourceRoot:""}]),c.locals={colorIconWrapper:"ElYzpTlttqVbs6KKy9ob",colorIcon:"rdE_HhSUTcg2dK35N2WA"},e.Z=c},31259:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.vkwsKfJdRwBqJsa6XLtK {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n background: var(--bg);\n border-radius: 30px;\n box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.4);\n font-size: 80%;\n width: 541px;\n padding: 0 20px;\n margin: 20px 0;\n}\n\n.vkwsKfJdRwBqJsa6XLtK p { margin: 5px 0; }\n\n.Za5_vxc5rEvMTUQh2BzW {\n display: flex;\n padding: 0;\n max-width: fit-content;\n}\n\n.DdULxV1MLLuhoFdYrsvp {\n text-align: center;\n}\n\n.ZUn8lbtdY0Tn_RG3i3pz {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-width: 400px;\n max-width: 500px;\n padding: 20px 40px;\n}\n\n.Q4AvqwYH1uAkPM9EnXMo {\n margin: 0;\n padding-left: 15px;\n}\n.Q4AvqwYH1uAkPM9EnXMo[data-slot-count="1"] {\n list-style-type: none;\n padding-left: 0;\n}\n.Q4AvqwYH1uAkPM9EnXMo li {\n position: relative;\n margin: 0 0 15px 25px;\n}\n\n.daj2D9YH7o5FkuRCGRKw {\n display: flex;\n align-items: center;\n justify-content: center;\n border-bottom: 1px solid var(--key-bg-base);\n padding-bottom: 20px;\n gap: 40px;\n}\n\n.ECcVyZa4GyjklIgcnoqr {\n position: relative;\n\n width: auto;\n min-width: 250px;\n max-width: 400px;\n max-height: 500px;\n\n padding: 20px;\n border-left: 1px solid var(--key-bg-base)\n}\n\n.pW09rdsSXEQ2ayWrJAON {\n background-color: var(--selection);\n color: white;\n}\n\n.l9K6SYcfaIEZkOSBRoMw {\n position: absolute;\n left: 0;\n top: 50%;\n\n font-size: 75%;\n\n transform-origin: top left;\n transform: translate(-25%, 100%) rotate(-90deg);\n\n background-color: var(--dialog-bg);\n color: var(--key-color);\n border: 1px solid var(--key-bg-base);\n border-radius: 4px;\n}\n.l9K6SYcfaIEZkOSBRoMw:hover {\n cursor: pointer;\n background-color: var(--key-bg-base);\n}',"",{version:3,sources:["webpack://./src/Keyboard/BindingEditor/styles.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,2BAA2B;EAC3B,qBAAqB;EACrB,mBAAmB;EACnB,4CAA4C;EAC5C,cAAc;EACd,YAAY;EACZ,eAAe;EACf,cAAc;AAChB;;AAEA,0BAAY,aAAa,EAAE;;AAE3B;EACE,aAAa;EACb,UAAU;EACV,sBAAsB;AACxB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,8BAA8B;EAC9B,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,SAAS;EACT,kBAAkB;AACpB;AACA;EACE,qBAAqB;EACrB,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,2CAA2C;EAC3C,oBAAoB;EACpB,SAAS;AACX;;AAEA;EACE,kBAAkB;;EAElB,WAAW;EACX,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;;EAEjB,aAAa;EACb;AACF;;AAEA;EACE,kCAAkC;EAClC,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,OAAO;EACP,QAAQ;;EAER,cAAc;;EAEd,0BAA0B;EAC1B,+CAA+C;;EAE/C,kCAAkC;EAClC,uBAAuB;EACvB,oCAAoC;EACpC,kBAAkB;AACpB;AACA;EACE,eAAe;EACf,oCAAoC;AACtC",sourcesContent:['.notice {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n background: var(--bg);\n border-radius: 30px;\n box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.4);\n font-size: 80%;\n width: 541px;\n padding: 0 20px;\n margin: 20px 0;\n}\n\n.notice p { margin: 5px 0; }\n\n.dialogBox {\n display: flex;\n padding: 0;\n max-width: fit-content;\n}\n\n.dialogActions {\n text-align: center;\n}\n\n.mainPanel {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-width: 400px;\n max-width: 500px;\n padding: 20px 40px;\n}\n\n.parameterSlots {\n margin: 0;\n padding-left: 15px;\n}\n.parameterSlots[data-slot-count="1"] {\n list-style-type: none;\n padding-left: 0;\n}\n.parameterSlots li {\n position: relative;\n margin: 0 0 15px 25px;\n}\n\n.keyBindingHeader {\n display: flex;\n align-items: center;\n justify-content: center;\n border-bottom: 1px solid var(--key-bg-base);\n padding-bottom: 20px;\n gap: 40px;\n}\n\n.editPanel {\n position: relative;\n\n width: auto;\n min-width: 250px;\n max-width: 400px;\n max-height: 500px;\n\n padding: 20px;\n border-left: 1px solid var(--key-bg-base)\n}\n\n.editing {\n background-color: var(--selection);\n color: white;\n}\n\n.editPanelClose {\n position: absolute;\n left: 0;\n top: 50%;\n\n font-size: 75%;\n\n transform-origin: top left;\n transform: translate(-25%, 100%) rotate(-90deg);\n\n background-color: var(--dialog-bg);\n color: var(--key-color);\n border: 1px solid var(--key-bg-base);\n border-radius: 4px;\n}\n.editPanelClose:hover {\n cursor: pointer;\n background-color: var(--key-bg-base);\n}'],sourceRoot:""}]),a.locals={notice:"vkwsKfJdRwBqJsa6XLtK",dialogBox:"Za5_vxc5rEvMTUQh2BzW",dialogActions:"DdULxV1MLLuhoFdYrsvp",mainPanel:"ZUn8lbtdY0Tn_RG3i3pz",parameterSlots:"Q4AvqwYH1uAkPM9EnXMo",keyBindingHeader:"daj2D9YH7o5FkuRCGRKw",editPanel:"ECcVyZa4GyjklIgcnoqr",editing:"pW09rdsSXEQ2ayWrJAON",editPanelClose:"l9K6SYcfaIEZkOSBRoMw"},e.Z=a},2:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.CoLZlKR1WcMrFd9XhDMC {\n\tposition: relative;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\n\tfont-family: Quicksand, avenir, sans-serif;\n\n\t/* TODO: remove this once I have a wrapper with size defaults */\n\twidth: 65px;\n\theight: 65px;\n\n\tfont-size: 110%;\n\tborder-radius: 5px;\n}\n\n.CoLZlKR1WcMrFd9XhDMC.MZMfZSmJbwqqfp28UUOi { cursor: pointer; }\n.CoLZlKR1WcMrFd9XhDMC.MZMfZSmJbwqqfp28UUOi * {\n\tborder: none;\n\ttext-decoration: none !important;\n}\n\n\n.CT4uGhwl8sY0LwT3p39g:not(:hover) .UNzQquWsoIanOpIN0Q9L,\n.OsA2qRpHoDPcN93o_TUX:not(:hover) .DejZXCvvhJILPbs9Q8ht.UNzQquWsoIanOpIN0Q9L {\n\ttext-decoration: underline wavy var(--error-highlight);\n\ttext-underline-offset: 4px;\n\tcolor: var(--error-highlight);\n\tfont-weight: bold;\n}\n\n.XFubThMHHpmShqhuVhNo {\n\topacity: 0.8;\n\tcursor: not-allowed !important;\n}\n\n.Y5EVt8b0BaXNd9uLxhfh {\n\tposition: absolute;\n\tleft: 2px;\n\tbottom: 2px;\n\tfont-size: 80%;\n\n\tanimation: sYr3l9y03JxO_2AP73jr ease-in-out 1s alternate-reverse;\n}\n.Y5EVt8b0BaXNd9uLxhfh:hover {\n\tcolor: rgb(255, 225, 0);\n}\n\n@keyframes sYr3l9y03JxO_2AP73jr {\n\t0% { color: var(--key-color-base) }\n\t100% { color: var(--key-color-extreme) }\n}\n\n.huQDP3GbTLThbVIP8wFp {\n\tcolor: var(--key-color-base);\n\tbackground-color: var(--key-bg-base);\n}\n\n.CoLZlKR1WcMrFd9XhDMC.CT4uGhwl8sY0LwT3p39g:hover {\n\tbackground-color: var(--hover-selection);\n\ttransition: 200ms;\n\tz-index: 1;\n}\n.CoLZlKR1WcMrFd9XhDMC.CT4uGhwl8sY0LwT3p39g:hover .DejZXCvvhJILPbs9Q8ht,\n.CoLZlKR1WcMrFd9XhDMC.CT4uGhwl8sY0LwT3p39g:hover .GliE4Ybwli9X6TNTjD1_ {\n\tcolor: var(--key-color-hover);\n}\n.CoLZlKR1WcMrFd9XhDMC > .DejZXCvvhJILPbs9Q8ht {\n\tpadding: 5px;\n}\n\n.mLz637Atn0jZXey6Rx4v {\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-simple="true"] { font-size: 140%; }\n[data-long="true"] { font-size: 60%; }\n\n.ApHDJFJGYUaGTgzMeIKZ:not([data-is-root="true"])::before { content: \'(\'; opacity: 0.4; font-weight: bold; margin: 2px; }\n.ApHDJFJGYUaGTgzMeIKZ:not([data-is-root="true"])::after { content: \')\'; opacity: 0.4; font-weight: bold; margin: 2px; }\n.ApHDJFJGYUaGTgzMeIKZ:not([data-is-root="true"]) .mLz637Atn0jZXey6Rx4v:not(:last-child)::after { content: \',\'; }\n\n.DejZXCvvhJILPbs9Q8ht {\n\tcursor: default;\n\tpadding: 0px 4px;\n\tmargin-left: -2px;\n\tmargin-right: -2px;\n}\n\n.CT4uGhwl8sY0LwT3p39g .DejZXCvvhJILPbs9Q8ht {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\tbox-sizing: content-box;\n\tmin-width: 0.5em;\n\ttext-align: center;\n\tborder-radius: 4px;\n}\n\n.OsA2qRpHoDPcN93o_TUX {\n\t/* display: inline-block; */\n\tmargin: 0 5px;\n\tfont-family: Quicksand, avenir, sans-serif;\n\tfont-size: 110%;\n}\n.OsA2qRpHoDPcN93o_TUX .mLz637Atn0jZXey6Rx4v {\n\talign-items: center;\n\tgap: 6px;\n}\n.OsA2qRpHoDPcN93o_TUX .DejZXCvvhJILPbs9Q8ht {\n\talign-items: center;\n\tpadding: 6px 12px;\n\tborder-radius: 5px;\n\tcolor: var(--key-color-base);\n\tborder-bottom: .15em dotted var(--key-color-base);\n\tborder-radius: 0;\n}\n\n.OsA2qRpHoDPcN93o_TUX .DejZXCvvhJILPbs9Q8ht:not(.XFubThMHHpmShqhuVhNo):hover,\n.OsA2qRpHoDPcN93o_TUX.sqfL6SjYMWzHXm3D6bOd .DejZXCvvhJILPbs9Q8ht {\n\tbackground-color: var(--hover-selection);\n\tborder-radius: 5px;\n\tcolor: white;\n\tcursor: pointer;\n}\n\n.DejZXCvvhJILPbs9Q8ht code+*::before {\n\tcontent: "|";\n\tbackground-color: transparent;\n\tmargin: auto 5px;\n}\n\n.GliE4Ybwli9X6TNTjD1_ {\n position: absolute;\n top: 0;\n left: 0;\n font-size: 10px;\n padding: 2px;\n opacity: 0.8;\n}\n',"",{version:3,sources:["webpack://./src/Keyboard/Keys/styles.module.css"],names:[],mappings:"AAAA;CACC,kBAAkB;CAClB,aAAa;CACb,uBAAuB;CACvB,mBAAmB;;CAEnB,0CAA0C;;CAE1C,+DAA+D;CAC/D,WAAW;CACX,YAAY;;CAEZ,eAAe;CACf,kBAAkB;AACnB;;AAEA,6CAAe,eAAe,EAAE;AAChC;CACC,YAAY;CACZ,gCAAgC;AACjC;;;AAGA;;CAEC,sDAAsD;CACtD,0BAA0B;CAC1B,6BAA6B;CAC7B,iBAAiB;AAClB;;AAEA;CACC,YAAY;CACZ,8BAA8B;AAC/B;;AAEA;CACC,kBAAkB;CAClB,SAAS;CACT,WAAW;CACX,cAAc;;CAEd,gEAAiD;AAClD;AACA;CACC,uBAAuB;AACxB;;AAEA;CACC,KAAK,6BAA6B;CAClC,OAAO,gCAAgC;AACxC;;AAEA;CACC,4BAA4B;CAC5B,oCAAoC;AACrC;;AAEA;CACC,wCAAwC;CACxC,iBAAiB;CACjB,UAAU;AACX;AACA;;CAEC,6BAA6B;AAC9B;AACA;CACC,YAAY;AACb;;AAEA;CACC,oBAAoB;CACpB,mBAAmB;AACpB;;AAEA,uBAAuB,eAAe,EAAE;AACxC,qBAAqB,cAAc,EAAE;;AAErC,2DAA6C,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE;AACzG,0DAA4C,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE;AACxG,iGAAoE,YAAY,EAAE;;AAElF;CACC,eAAe;CACf,gBAAgB;CAChB,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,qBAAqB;CACrB,uBAAuB;CACvB,gBAAgB;CAChB,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,2BAA2B;CAC3B,aAAa;CACb,0CAA0C;CAC1C,eAAe;AAChB;AACA;CACC,mBAAmB;CACnB,QAAQ;AACT;AACA;CACC,mBAAmB;CACnB,iBAAiB;CACjB,kBAAkB;CAClB,4BAA4B;CAC5B,iDAAiD;CACjD,gBAAgB;AACjB;;AAEA;;CAEC,wCAAwC;CACxC,kBAAkB;CAClB,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,YAAY;CACZ,6BAA6B;CAC7B,gBAAgB;AACjB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,eAAe;EACf,YAAY;EACZ,YAAY;AACd",sourcesContent:['.key {\n\tposition: relative;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\n\tfont-family: Quicksand, avenir, sans-serif;\n\n\t/* TODO: remove this once I have a wrapper with size defaults */\n\twidth: 65px;\n\theight: 65px;\n\n\tfont-size: 110%;\n\tborder-radius: 5px;\n}\n\n.key.unified { cursor: pointer; }\n.key.unified * {\n\tborder: none;\n\ttext-decoration: none !important;\n}\n\n\n.selectable:not(:hover) .missingValue,\n.extracted:not(:hover) .code.missingValue {\n\ttext-decoration: underline wavy var(--error-highlight);\n\ttext-underline-offset: 4px;\n\tcolor: var(--error-highlight);\n\tfont-weight: bold;\n}\n\n.constantValue {\n\topacity: 0.8;\n\tcursor: not-allowed !important;\n}\n\n.missing {\n\tposition: absolute;\n\tleft: 2px;\n\tbottom: 2px;\n\tfont-size: 80%;\n\n\tanimation: pulse ease-in-out 1s alternate-reverse;\n}\n.missing:hover {\n\tcolor: rgb(255, 225, 0);\n}\n\n@keyframes pulse {\n\t0% { color: var(--key-color-base) }\n\t100% { color: var(--key-color-extreme) }\n}\n\n.keyDefaultTheme {\n\tcolor: var(--key-color-base);\n\tbackground-color: var(--key-bg-base);\n}\n\n.key.selectable:hover {\n\tbackground-color: var(--hover-selection);\n\ttransition: 200ms;\n\tz-index: 1;\n}\n.key.selectable:hover .code,\n.key.selectable:hover .behaviour-binding {\n\tcolor: var(--key-color-hover);\n}\n.key > .code {\n\tpadding: 5px;\n}\n\n.param {\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-simple="true"] { font-size: 140%; }\n[data-long="true"] { font-size: 60%; }\n\n.params:not([data-is-root="true"])::before { content: \'(\'; opacity: 0.4; font-weight: bold; margin: 2px; }\n.params:not([data-is-root="true"])::after { content: \')\'; opacity: 0.4; font-weight: bold; margin: 2px; }\n.params:not([data-is-root="true"]) .param:not(:last-child)::after { content: \',\'; }\n\n.code {\n\tcursor: default;\n\tpadding: 0px 4px;\n\tmargin-left: -2px;\n\tmargin-right: -2px;\n}\n\n.selectable .code {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\tbox-sizing: content-box;\n\tmin-width: 0.5em;\n\ttext-align: center;\n\tborder-radius: 4px;\n}\n\n.extracted {\n\t/* display: inline-block; */\n\tmargin: 0 5px;\n\tfont-family: Quicksand, avenir, sans-serif;\n\tfont-size: 110%;\n}\n.extracted .param {\n\talign-items: center;\n\tgap: 6px;\n}\n.extracted .code {\n\talign-items: center;\n\tpadding: 6px 12px;\n\tborder-radius: 5px;\n\tcolor: var(--key-color-base);\n\tborder-bottom: .15em dotted var(--key-color-base);\n\tborder-radius: 0;\n}\n\n.extracted .code:not(.constantValue):hover,\n.extracted.highlight .code {\n\tbackground-color: var(--hover-selection);\n\tborder-radius: 5px;\n\tcolor: white;\n\tcursor: pointer;\n}\n\n.code code+*::before {\n\tcontent: "|";\n\tbackground-color: transparent;\n\tmargin: auto 5px;\n}\n\n.behaviour-binding {\n position: absolute;\n top: 0;\n left: 0;\n font-size: 10px;\n padding: 2px;\n opacity: 0.8;\n}\n'],sourceRoot:""}]),a.locals={key:"CoLZlKR1WcMrFd9XhDMC",unified:"MZMfZSmJbwqqfp28UUOi",selectable:"CT4uGhwl8sY0LwT3p39g",missingValue:"UNzQquWsoIanOpIN0Q9L",extracted:"OsA2qRpHoDPcN93o_TUX",code:"DejZXCvvhJILPbs9Q8ht",constantValue:"XFubThMHHpmShqhuVhNo",missing:"Y5EVt8b0BaXNd9uLxhfh",pulse:"sYr3l9y03JxO_2AP73jr",keyDefaultTheme:"huQDP3GbTLThbVIP8wFp","behaviour-binding":"GliE4Ybwli9X6TNTjD1_",param:"mLz637Atn0jZXey6Rx4v",params:"ApHDJFJGYUaGTgzMeIKZ",highlight:"sqfL6SjYMWzHXm3D6bOd"},e.Z=a},47881:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.sP2kDRoTZElZUTNHq033 {\n\twidth: 300px;\n\tbackground-color: var(--dialog-bg);\n}\n\n.yaxqlR_GEWJ1lBISL3_N {\n min-width: 300px;\n\tpadding: 15px\n}\n\n.lPSkq707ZDxmzbGw5Qqy.CKvAtM2VhDdTBOb8bZBb {\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n}\n\n.lPSkq707ZDxmzbGw5Qqy input[type="text"] {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 30px;\n\tline-height: 30px;\n\n\tfont-size: 120%;\n\tmargin: 0;\n\tpadding: 4px;\n\tborder: none;\n\tborder-radius: 4px;\n box-sizing: border-box;\n}\nul.inAS9Qunkf3g5K3xz6o6 {\n\tposition: relative;\n\tfont-family: monospace;\n\tlist-style-position: inside;\n\tlist-style-type: none;\n\tmax-height: 300px;\n\toverflow: scroll;\n\tpadding: 4px;\n margin: 4px 0;\n\tbackground: rgba(0, 0, 0, 0.75);\n\tborder-radius: 4px;\n}\n.CKvAtM2VhDdTBOb8bZBb ul.inAS9Qunkf3g5K3xz6o6 {\n\tflex-grow: 1;\n\tmax-height: initial;\n}\n.inAS9Qunkf3g5K3xz6o6 li {\n\tcursor: pointer;\n\tcolor: white;\n\tpadding: 5px;\n}\n.inAS9Qunkf3g5K3xz6o6 li:hover, .inAS9Qunkf3g5K3xz6o6 li.BL7Cxrn_efblQXY3W1Sw {\n\tbackground: white;\n\tcolor: black;\n}\n.inAS9Qunkf3g5K3xz6o6 li b { color: dodgerblue; }\n.inAS9Qunkf3g5K3xz6o6 li .uld0XaeoQaQJJwp0LT0X {\n\tfont-style: italic;\n\tfont-size: 90%;\n\tmargin: 0;\n\tcolor: gray;\n}\n\n.pqiZQublKXvmnT_ESDxQ {\n font-size: 10px;\n}\n\n.pqiZQublKXvmnT_ESDxQ a {\n color: var(--selection);\n border-bottom: 1px dotted var(--selection);\n cursor: pointer;\n}\n\n.ECUs4g2j1rekP4xxgQDr {\n position: relative;\n}\n.lPSkq707ZDxmzbGw5Qqy .ECUs4g2j1rekP4xxgQDr input {\n padding-left: 30px;\n}\n\n.xDUAgQZeBp0TZSOqCwHm {\n position: absolute;\n\ttop: 50%;\n\tleft: 10px;\n\ttransform: translateY(-50%);\n\tpointer-events: none;\n}\n.eY5zRl49sESLjXmizMEP {\n position: absolute;\n\ttop: 50%;\n\tright: 10px;\n\ttransform: translateY(-50%);\n\tcursor: pointer;\n}',"",{version:3,sources:["webpack://./src/ValuePicker/style.module.css"],names:[],mappings:"AAAA;CACC,YAAY;CACZ,kCAAkC;AACnC;;AAEA;EACE,gBAAgB;CACjB;AACD;;AAEA;CACC,YAAY;CACZ,aAAa;CACb,sBAAsB;CACtB,uBAAuB;AACxB;;AAEA;CACC,cAAc;CACd,WAAW;CACX,YAAY;CACZ,iBAAiB;;CAEjB,eAAe;CACf,SAAS;CACT,YAAY;CACZ,YAAY;CACZ,kBAAkB;EACjB,sBAAsB;AACxB;AACA;CACC,kBAAkB;CAClB,sBAAsB;CACtB,2BAA2B;CAC3B,qBAAqB;CACrB,iBAAiB;CACjB,gBAAgB;CAChB,YAAY;EACX,aAAa;CACd,+BAA+B;CAC/B,kBAAkB;AACnB;AACA;CACC,YAAY;CACZ,mBAAmB;AACpB;AACA;CACC,eAAe;CACf,YAAY;CACZ,YAAY;AACb;AACA;CACC,iBAAiB;CACjB,YAAY;AACb;AACA,6BAAgB,iBAAiB,EAAE;AACnC;CACC,kBAAkB;CAClB,cAAc;CACd,SAAS;CACT,WAAW;AACZ;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,uBAAuB;EACvB,0CAA0C;EAC1C,eAAe;AACjB;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;CACnB,QAAQ;CACR,UAAU;CACV,2BAA2B;CAC3B,oBAAoB;AACrB;AACA;EACE,kBAAkB;CACnB,QAAQ;CACR,WAAW;CACX,2BAA2B;CAC3B,eAAe;AAChB",sourcesContent:['.dialog {\n\twidth: 300px;\n\tbackground-color: var(--dialog-bg);\n}\n\n.dialogWrapper {\n min-width: 300px;\n\tpadding: 15px\n}\n\n.wrapper.inline {\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n}\n\n.wrapper input[type="text"] {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 30px;\n\tline-height: 30px;\n\n\tfont-size: 120%;\n\tmargin: 0;\n\tpadding: 4px;\n\tborder: none;\n\tborder-radius: 4px;\n box-sizing: border-box;\n}\nul.results {\n\tposition: relative;\n\tfont-family: monospace;\n\tlist-style-position: inside;\n\tlist-style-type: none;\n\tmax-height: 300px;\n\toverflow: scroll;\n\tpadding: 4px;\n margin: 4px 0;\n\tbackground: rgba(0, 0, 0, 0.75);\n\tborder-radius: 4px;\n}\n.inline ul.results {\n\tflex-grow: 1;\n\tmax-height: initial;\n}\n.results li {\n\tcursor: pointer;\n\tcolor: white;\n\tpadding: 5px;\n}\n.results li:hover, .results li.highlighted {\n\tbackground: white;\n\tcolor: black;\n}\n.results li b { color: dodgerblue; }\n.results li .description {\n\tfont-style: italic;\n\tfont-size: 90%;\n\tmargin: 0;\n\tcolor: gray;\n}\n\n.choices-counter {\n font-size: 10px;\n}\n\n.choices-counter a {\n color: var(--selection);\n border-bottom: 1px dotted var(--selection);\n cursor: pointer;\n}\n\n.searchWrapper {\n position: relative;\n}\n.wrapper .searchWrapper input {\n padding-left: 30px;\n}\n\n.searchIcon {\n position: absolute;\n\ttop: 50%;\n\tleft: 10px;\n\ttransform: translateY(-50%);\n\tpointer-events: none;\n}\n.clearSearchIcon {\n position: absolute;\n\ttop: 50%;\n\tright: 10px;\n\ttransform: translateY(-50%);\n\tcursor: pointer;\n}'],sourceRoot:""}]),a.locals={dialog:"sP2kDRoTZElZUTNHq033",dialogWrapper:"yaxqlR_GEWJ1lBISL3_N",wrapper:"lPSkq707ZDxmzbGw5Qqy",inline:"CKvAtM2VhDdTBOb8bZBb",results:"inAS9Qunkf3g5K3xz6o6",highlighted:"BL7Cxrn_efblQXY3W1Sw",description:"uld0XaeoQaQJJwp0LT0X","choices-counter":"pqiZQublKXvmnT_ESDxQ",searchWrapper:"ECUs4g2j1rekP4xxgQDr",searchIcon:"xDUAgQZeBp0TZSOqCwHm",clearSearchIcon:"eY5zRl49sESLjXmizMEP"},e.Z=a},38356:function(n,e,r){var t=r(93379),o=r.n(t),i=r(7795),a=r.n(i),l=r(90569),c=r.n(l),u=r(3565),s=r.n(u),d=r(19216),A=r.n(d),f=r(44589),p=r.n(f),b=r(14409),m={};m.styleTagTransform=p(),m.setAttributes=s(),m.insert=c().bind(null,"head"),m.domAPI=a(),m.insertStyleElement=A(),o()(b.Z,m),e.Z=b.Z&&b.Z.locals?b.Z.locals:void 0},94596:function(n,e,r){var t=r(93379),o=r.n(t),i=r(7795),a=r.n(i),l=r(90569),c=r.n(l),u=r(3565),s=r.n(u),d=r(19216),A=r.n(d),f=r(44589),p=r.n(f),b=r(31259),m={};m.styleTagTransform=p(),m.setAttributes=s(),m.insert=c().bind(null,"head"),m.domAPI=a(),m.insertStyleElement=A(),o()(b.Z,m),e.Z=b.Z&&b.Z.locals?b.Z.locals:void 0},61953:function(n,e,r){var t=r(93379),o=r.n(t),i=r(7795),a=r.n(i),l=r(90569),c=r.n(l),u=r(3565),s=r.n(u),d=r(19216),A=r.n(d),f=r(44589),p=r.n(f),b=r(2),m={};m.styleTagTransform=p(),m.setAttributes=s(),m.insert=c().bind(null,"head"),m.domAPI=a(),m.insertStyleElement=A(),o()(b.Z,m),e.Z=b.Z&&b.Z.locals?b.Z.locals:void 0}}]);
+//# sourceMappingURL=6538.3d001932cf27995f58f4.js.map \ No newline at end of file
diff --git a/BehaviorEditorTab.0b5501dcbc97d570a7b7.js b/BehaviorEditorTab.0b5501dcbc97d570a7b7.js
new file mode 100644
index 0000000..1a1a422
--- /dev/null
+++ b/BehaviorEditorTab.0b5501dcbc97d570a7b7.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[5868],{97494:function(e,r,n){n.d(r,{Z:function(){return S}});var t=n(45697),o=n.n(t),i=n(93379),a=n.n(i),l=n(7795),c=n.n(l),u=n(90569),s=n.n(u),p=n(3565),d=n.n(p),f=n(19216),y=n.n(f),b=n(44589),m=n.n(b),h=n(33988),A={};A.styleTagTransform=m(),A.setAttributes=d(),A.insert=s().bind(null,"head"),A.domAPI=c(),A.insertStyleElement=y(),a()(h.Z,A);var v=h.Z&&h.Z.locals?h.Z.locals:void 0,j=n(85893);function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}var x=["validator","required","value"];function C(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function O(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?C(Object(n),!0).forEach((function(r){w(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function w(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==g(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===g(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function S(e){var r=e.validator,n=e.required,t=void 0!==n&&n,o=e.value,i=void 0===o?"":o,a=function(e,r){if(null==e)return{};var n,t,o=function(e,r){if(null==e)return{};var n,t,o={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,x),l=r(i)||!i&&t&&"cannot be empty";return(0,j.jsxs)("span",{className:v.wrapper,children:[(0,j.jsx)("input",O({type:"text",value:i},a)),l&&(0,j.jsx)("span",{className:v.error,children:l})]})}S.propTypes={value:o().any.isRequired,required:o().bool,validator:o().func}},32098:function(e,r,n){n.r(r),n.d(r,{default:function(){return _r}});var t=n(67294),o=n(95998),i=n(27926),a=n(41051),l=n(50361),c=n.n(l),u=n(57557),s=n.n(u),p=n(96186),d=n(64261),f=n(18311),y=n(49443),b=n(85893);function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function h(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function A(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?h(Object(n),!0).forEach((function(r){v(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function v(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==m(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==m(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===m(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function j(e){var r=e.node;return(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{children:(0,b.jsx)("code",{children:r.properties.compatible.parsed})}),(0,b.jsx)(y.Z,A({},e))]})}var g=n(93379),x=n.n(g),C=n(7795),O=n.n(C),w=n(90569),S=n.n(w),E=n(3565),P=n.n(E),k=n(19216),B=n.n(k),D=n(44589),Z=n.n(D),U=n(34288),R={};R.styleTagTransform=Z(),R.setAttributes=P(),R.insert=S().bind(null,"head"),R.domAPI=O(),R.insertStyleElement=B(),x()(U.Z,R);var I=U.Z&&U.Z.locals?U.Z.locals:void 0;function N(e){var r=e.property,n=e.schema,t=e.required,o=void 0!==t&&t;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:I.propertyName,title:r,children:[r,o&&(0,b.jsx)("span",{className:I.requiredIndicator,children:"*"})]}),n.deprecatedBy&&(0,b.jsx)("sub",{className:I.propertyDeprecation,children:"(deprecated)"})]})}var q=n(45697),T=n.n(q),M=n(15023),V=n(27470),K={};K.styleTagTransform=Z(),K.setAttributes=P(),K.insert=S().bind(null,"head"),K.domAPI=O(),K.insertStyleElement=B(),x()(V.Z,K);var z=V.Z&&V.Z.locals?V.Z.locals:void 0;function F(e){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F(e)}function Y(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function W(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Y(Object(n),!0).forEach((function(r){G(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Y(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function G(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==F(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==F(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===F(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function X(e){var r=e.prop,n=e.schema,t=e.onUpdate;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a.Z,{name:"code",title:"Raw property value"})," ",(0,b.jsx)("input",{required:null==n?void 0:n.required,value:null==r?void 0:r.raw,onChange:function(e){return t(W(W({},r),{},{raw:e.target.value,useRaw:!0}))}})]})}function _(e){var r=e.schema;return(0,b.jsx)("span",{className:[z.propertyValue,z.readonly].join(" "),children:r.const})}function Q(e){var r,n=e.prop,t=e.schema,o=e.onUpdate;return(0,b.jsx)("input",{type:"text",className:z.propertyValue,value:null!==(r=null==n?void 0:n.parsed)&&void 0!==r?r:"",placeholder:t.default&&"Default: ".concat(t.default),onChange:function(e){o(W(W({},n),{},{parsed:e.target.value,useRaw:!1}))}})}function L(e){var r,n=e.prop,t=e.schema,o=e.onUpdate;return(0,b.jsx)("input",{type:"number",className:z.propertyValue,value:null!==(r=null==n?void 0:n.parsed)&&void 0!==r?r:"",placeholder:t.default&&"Default: ".concat(t.default),onChange:function(e){o(W(W({},n),{},{parsed:Number(e.target.value),useRaw:!1}))}})}function $(e){var r=e.prop,n=e.onUpdate;return(0,b.jsx)("input",{type:"checkbox",className:z.propertyValue,checked:(null==r?void 0:r.parsed)||!1,onChange:function(e){n({parsed:!!e.target.checked,useRaw:!1})}})}function H(e){var r=e.prop;return(0,b.jsx)("span",{className:z.barePropertyValue,children:r.parsed})}function J(e){var r=e.schema;return(0,b.jsx)("span",{className:z.barePropertyValue,children:r.const})}function ee(e){var r=e.prop;return(0,b.jsx)("span",{className:z.barePropertyValue,children:r.parsed})}function re(e){var r=e.prop;return(0,b.jsx)("span",{className:z.barePropertyValue,children:r.parsed})}function ne(e){var r=e.prop;return(0,b.jsx)("span",{className:z.barePropertyValue,children:(0,b.jsx)("input",{type:"checkbox",checked:r.parsed,disabled:!0})})}var te=n(35161),oe=n.n(te),ie=n(80993);function ae(e){return ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ae(e)}function le(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function ce(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function ue(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?ce(Object(n),!0).forEach((function(r){se(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ce(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function se(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==ae(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==ae(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===ae(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function pe(e){var r=e.prop,n=void 0===r?{}:r,o=e.schema,i=e.onUpdate,a=o.enum,l=n.parsed,c=(0,t.useCallback)((function(e){i(ue(ue({},n),{},{parsed:a[e.target.value],useRaw:!1}))}),[n,a,i]);return(0,b.jsx)("select",{className:z.propertyValue,onChange:c,value:a.indexOf(l),children:a.map((function(e,r){return(0,b.jsx)("option",{value:r,children:e},r)}))})}function de(e){var r=e.prop,n=void 0===r?{}:r,o=e.schema,i=e.onUpdate,a=function(e){var r=(0,t.useContext)(f.v);return(0,t.useMemo)((function(){if(!e.choices)return[];if(Array.isArray(e.choices))return e.choices;if(!e.choices.$source)throw new Error("Expected schema.choices.$source");var n=r[e.choices.$source];return e.choices.$key?oe()(n,e.choices.$key):n}),[r,e.choices])}(o),l=n.parsed,c=void 0===l?[]:l,u=(0,t.useCallback)((function(e){i(ue(ue({},n),{},{useRaw:!1,parsed:e}))}),[n,i]),s=a.length>20?ye:fe;return(0,b.jsx)(s,{selected:c,choices:a,onUpdate:u})}function fe(e){var r=e.selected,n=e.choices,o=e.onUpdate,i=(0,t.useCallback)((function(e){var n;o(r.includes(e)?r.filter((function(r){return r!==e})):[].concat(function(e){if(Array.isArray(e))return le(e)}(n=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e,r){if(e){if("string"==typeof e)return le(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?le(e,r):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]))}),[r,o]);return(0,b.jsx)("ol",{className:z.propertyMultiSelect,children:n.map((function(e,n){return(0,b.jsx)("li",{children:(0,b.jsxs)("label",{children:[(0,b.jsx)("input",{type:"checkbox",checked:r.includes(e),onChange:function(r){return i(e)}}),e]})},n)}))})}function ye(e){var r=e.selected,n=e.choices,o=e.onUpdate,i=(0,t.useMemo)((function(){return n.map(be)}),[n]),a=(0,t.useMemo)((function(){return r.map(be)}),[r]);return(0,b.jsx)(ie.Z,{isMulti:!0,isSearchable:!0,options:i,value:a,onChange:function(e){return o(e.map((function(e){return e.value})))}})}function be(e){return{value:e,label:e}}var me=n(39693),he=n.n(me),Ae=n(76620),ve=n(29709),je=n(94184),ge=n.n(je);function xe(e){return xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xe(e)}function Ce(e){return function(e){if(Array.isArray(e))return Pe(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Ee(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Oe(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function we(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Oe(Object(n),!0).forEach((function(r){Se(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Oe(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function Se(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==xe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==xe(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===xe(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function Ee(e,r){if(e){if("string"==typeof e)return Pe(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pe(e,r):void 0}}function Pe(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function ke(e){var r,n,o=e.prop,l=void 0===o?{}:o,c=e.schema,u=void 0===c?{}:c,s=e.onUpdate,p=l.parsed,d=void 0===p?[]:p,f=u.length,y=(r=(0,t.useState)(null),n=2,function(e){if(Array.isArray(e))return e}(r)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(r,n)||Ee(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=y[0],h=y[1],A=void 0===f||f&&d.length<f,v=(0,t.useCallback)((function(){s(we(we({},l),{},{useRaw:!1,parsed:[].concat(Ce(d),[""])})),h(d.length)}),[l,d,s,h]),j=(0,t.useCallback)((function(e){s(we(we({},l),{},{useRaw:!1,parsed:(0,ve.xw)(d,m,e.code)})),h(null)}),[l,d,m,s]),g=(0,t.useCallback)((function(e){s(we(we({},l),{},{useRaw:!1,parsed:(0,ve.f5)(d,e)}))}),[l,d,s]);return(0,b.jsxs)("div",{children:[(0,b.jsx)("ol",{className:he()([z.selectable,z.propertyPhandleSelect,1===f&&z.propertyPhandleSingleton]).join(" "),children:d.map((function(e,r){return(0,b.jsx)("li",{children:(0,b.jsxs)("span",{className:z.behaviorBind,onClick:function(){return h(r)},children:[e,1!==f&&(0,b.jsx)(a.Z,{name:"times",className:z.phandleRemove,onClick:function(e){e.stopPropagation(),g(r)}})]})},r)}))}),null!==m&&(0,b.jsx)(Ae.Z,{node:{value:d[m],params:[],slot:"behaviour"},type:"value",context:"none",behaviour:{code:d[m]},prompt:"Select Behavior",searchKey:"code",onSelect:j,onCancel:function(){return h(null)}}),A&&(0,b.jsxs)(i.Z,{secondary:!0,onClick:v,children:[(0,b.jsx)(a.Z,{name:"plus"})," Add Behavior"]})]})}function Be(e){var r=e.prop,n=void 0===r?{}:r,t=e.schema,o=void 0===t?{}:t,i=n.parsed,a=void 0===i?[]:i,l=o.length;return(0,b.jsx)("ol",{className:ge()(z.propertyPhandleSelect,Se({},z.propertyPhandleSingleton,1===l)),children:a.map((function(e,r){return(0,b.jsx)("li",{children:(0,b.jsx)("span",{className:z.behaviorBind,children:e})},r)}))})}var De=n(82607),Ze=n(91118),Ue=n(61953),Re=n(80671);function Ie(e){return Ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ie(e)}function Ne(e){return function(e){if(Array.isArray(e))return Ke(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Ve(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qe(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function Te(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?qe(Object(n),!0).forEach((function(r){Me(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qe(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function Me(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==Ie(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==Ie(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ie(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function Ve(e,r){if(e){if("string"==typeof e)return Ke(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ke(e,r):void 0}}function Ke(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function ze(e){var r,n,o=e.prop,l=void 0===o?{}:o,c=e.onUpdate,u=l.parsed,s=void 0===u?[]:u,p=(r=(0,t.useState)(null),n=2,function(e){if(Array.isArray(e))return e}(r)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(r,n)||Ve(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=p[0],f=p[1],y=(0,t.useCallback)((function(){c(Te(Te({},l),{},{useRaw:!1,parsed:[].concat(Ne(s),[{value:"&none",params:[]}])}))}),[l,s,c]),m=(0,t.useCallback)((function(e){c(Te(Te({},l),{},{useRaw:!1,parsed:(0,ve.xw)(s,d,e)})),f(null)}),[l,s,c,d,f]),h=(0,t.useCallback)((function(e){c(Te(Te({},l),{},{useRaw:!1,parsed:(0,ve.f5)(s,e)}))}),[l,s,c]);return(0,b.jsxs)(b.Fragment,{children:[null!==d&&(0,b.jsx)(Re.Z,{binding:s[d],bindingIndex:d,onCancel:function(){return f(null)},onUpdate:m,Heading:function(){return null}}),(0,b.jsx)("ol",{className:z.propertyBindingsValue,children:s.map((function(e,r){return(0,b.jsx)("li",{children:(0,b.jsxs)(Ze.Z,{children:[(0,b.jsx)(De.Z,{binding:e,keyWrapperProps:{themeClass:Ue.Z.unified,onClick:function(){return f(r)}}}),(0,b.jsx)("div",{className:z.actions,children:(0,b.jsx)(a.Z,{name:"trash",className:z.deleteBind,onClick:function(e){e.stopPropagation(),h(r)}})})]})},r)}))}),(0,b.jsxs)(i.Z,{secondary:!0,onClick:y,children:[(0,b.jsx)(a.Z,{name:"plus"})," Add binding"]})]})}function Fe(e){var r=e.prop,n=(void 0===r?{}:r).parsed,t=void 0===n?[]:n;return(0,b.jsx)("ol",{className:z.propertyBindingsValue,children:t.map((function(e,r){return(0,b.jsx)("li",{children:(0,b.jsx)(De.Z,{binding:e,keyWrapperProps:{selectable:!1}})},r)}))})}function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}function We(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function Ge(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?We(Object(n),!0).forEach((function(r){Xe(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):We(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function Xe(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==Ye(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==Ye(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ye(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function _e(e){var r=e.schema,n=void 0===r?{}:r,t=n.type;if("const"in n)return(0,b.jsx)(_,Ge({},e));if("enum"in n)return(0,b.jsx)(pe,Ge({},e));if("key-position-picker"===n.helper){var o=e.prop,i=void 0===o?{}:o,a=e.onUpdate;return(0,b.jsx)(M.Z,{value:i.parsed||[],onUpdate:function(e){a(Ge(Ge({},i),{},{useRaw:!1,parsed:e}))}})}if(n.choices)return(0,b.jsx)(de,Ge({},e));switch(t){case"string":return(0,b.jsx)(Q,Ge({},e));case"int":return(0,b.jsx)(L,Ge({},e));case"boolean":return(0,b.jsx)($,Ge({},e));case"phandle":case"phandles":return(0,b.jsx)(ke,Ge({},e));case"phandle-array":return(0,b.jsx)(ze,Ge({},e));default:return(0,b.jsx)(X,Ge({},e))}}function Qe(e){var r=e.type;if("const"in e)return e.const;if("enum"in e)return e.enum[0];switch(r){case"string":default:return"";case"int":return 0;case"array":return[];case"boolean":return!1;case"phandle":case"phandles":return["&none"];case"phandle-array":return[{value:"&none",params:[]}]}}_e.propTypes={schema:T().shape({type:T().oneOf(["string","boolean","int","array","phandle","phandles","phandle-array","integer-union"]),required:T().bool,description:T().string,default:T().any,const:T().any,helper:T().any,choices:T().oneOfType([T().array,T().shape({$source:T().string.isRequired,$key:T().string.isRequired})]),omitIfEmpty:T().bool}),prop:T().shape({parsed:T().any,raw:T().string}),onUpdate:T().func.isRequired};var Le=_e;function $e(e){return $e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$e(e)}function He(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function Je(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?He(Object(n),!0).forEach((function(r){er(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):He(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function er(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==$e(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==$e(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===$e(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function rr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function nr(e){var r,n,o,l=e.node,u=e.onUpdate,y=e.onCancel,m=(0,t.useContext)(f.v).behaviors,h=(n=(0,t.useState)(l),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(n,o)||function(e,r){if(e){if("string"==typeof e)return rr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rr(e,r):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),A=h[0],v=h[1],g=m[null===(r=l.properties.compatible)||void 0===r?void 0:r.parsed],x=function(e){return function(r){var n=Je(Je({},A.properties),{},er({},e,r));Array.isArray(null==r?void 0:r.parsed)&&0===r.parsed.length&&delete n[e],v(Je(Je({},A),{},{properties:n}))}},C=(0,t.useCallback)((function(){u(c()(A))}),[A,u]),O=(null==g?void 0:g.properties)||{},w=(g?Object.keys(O):Object.keys(A.properties)).filter((function(e){var r=O[e],n=r&&"const"in r,t=r&&!!r.deprecatedBy;return!("label"===e||n||t&&!A.properties[e])})),S=Object.keys(O).reduce((function(e,r){var n=O[r].deprecatedBy;return n&&(e[n]=r),e}),{}),E=Object.keys(O).filter((function(e){var r=O[e],n=r.required,t=r.deprecatedBy,o=S[e];return!((t||o)in A.properties)&&n})),P=E.filter((function(e){return!A.properties[e]}));return(0,b.jsx)(d.Z,{onDismiss:y,children:(0,b.jsxs)(p.Z,{dismissText:!1,children:[(0,b.jsxs)("h2",{children:["Edit ",l.name," ",(0,b.jsxs)("code",{children:["(&",l.labels[0],")"]})]}),(0,b.jsx)(j,{node:A,onUpdate:v}),(0,b.jsx)("h3",{children:"Configuration"}),(0,b.jsxs)("table",{className:I.editorForm,children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{children:"Property"}),(0,b.jsx)("th",{children:"Value"}),(0,b.jsx)("th",{})]})}),(0,b.jsx)("tbody",{children:w.map((function(e,r){return(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:I.propertyName,children:e in O?(0,b.jsx)(N,{property:e,schema:O[e],required:E.includes(e)}):(0,b.jsx)("input",{value:e,onChange:(n=e,function(e){v(Je(Je({},A),{},{properties:Object.keys(A.properties).reduce((function(r,t){var o=A.properties[t];return t===n&&(t=e.target.value),r[t]=o,r}),{})}))})})}),(0,b.jsx)("td",{className:I.propertyValue,children:(0,b.jsx)(Le,{name:e,prop:A.properties[e],schema:O[e],onUpdate:x(e)})}),(0,b.jsx)("td",{children:A.properties[e]&&!E.includes(e)&&(0,b.jsx)(a.Z,{name:"trash-can",className:I.action,onClick:function(){return function(e){v(Je(Je({},A),{},{properties:s()(A.properties,e)}))}(e)}})})]},r);var n}))})]}),E.length>0&&(0,b.jsx)("p",{children:(0,b.jsxs)("em",{children:[(0,b.jsx)("span",{className:I.requiredIndicator,children:"*"}),"Property is required."]})}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)(i.Z,{disabled:P.length>0,onClick:C,children:"Okay"}),(0,b.jsx)(i.Z,{onClick:y,secondary:!0,children:"Cancel"})]})]})})}var tr=n(95130);function or(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}var ir=["zmk,behavior-hold-tap","zmk,behavior-mod-morph","zmk,behavior-tap-dance","zmk,behavior-sticky-key","zmk,behavior-caps-word","zmk,behavior-sensor-rotate","zmk,behavior-sensor-rotate-var"].map((function(e){return{value:e,label:tr.behaviorSchemas[e].description}}));function ar(e){var r,n,o=e.onUpdate,a=e.onCancel,l=(r=(0,t.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(r)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(r,n)||function(e,r){if(e){if("string"==typeof e)return or(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?or(e,r):void 0}}(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=l[0],u=l[1],s=(0,t.useMemo)((function(){return ir.find((function(e){return e.value===c}))}),[c]);return(0,b.jsx)(d.Z,{onDismiss:a,children:(0,b.jsxs)(p.Z,{dismissText:null,children:[(0,b.jsx)("h3",{children:"Add new behavior"}),(0,b.jsx)("label",{children:(0,b.jsx)(ie.Z,{required:!0,placeholder:"Select a behavior type",value:s,options:ir,onChange:function(e){var r=e.value;return u(r)},formatOptionLabel:function(e,r){var n=e.value,t=e.label,o=r.context;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{children:t}),"value"!==o&&(0,b.jsxs)("div",{style:{opacity:"0.6"},children:["(",(0,b.jsx)("em",{children:n}),")"]})]})}})}),(0,b.jsxs)("div",{style:{textAlign:"center",margin:"10px"},children:[(0,b.jsx)(i.Z,{disabled:!c,onClick:function(){return o(c)},children:"Create"}),(0,b.jsx)(i.Z,{onClick:a,secondary:!0,children:"Cancel"})]})]})})}ar.propTypes={onUpdate:T().func.isRequired,onCancel:T().func.isRequired};var lr=ar,cr=n(98913),ur=n.n(cr);function sr(e){return sr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sr(e)}function pr(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function dr(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?pr(Object(n),!0).forEach((function(r){fr(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pr(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function fr(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==sr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==sr(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===sr(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function yr(e,r){var n=r.name,t=r.labels,o=r.label,i=tr.behaviorSchemas[e];return{name:n,labels:t,properties:dr({compatible:{raw:'"'.concat(e,'"'),parsed:e},label:{raw:'"'.concat(o,'"'),parsed:o}},Object.keys(i.properties).reduce((function(e,r){var n=i.properties[r];return function(e){return["phandle","phandles","phandle-array"].includes(e.type)}(n)&&n.length?e[r]={parsed:ur()(n.length,(function(){return"phandle-array"===n.type?{value:"&none",params:[]}:"&none"}))}:"const"in n&&(e[r]={parsed:n.const,raw:"<".concat(n.const.toString(),">")}),e}),{}))}}var br=n(28291),mr=n(29520);function hr(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||function(e,r){if(e){if("string"==typeof e)return Ar(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ar(e,r):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ar(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function vr(){var e=hr((0,t.useState)(null),2),r=e[0],n=e[1],l=hr((0,t.useState)(!1),2),c=l[0],u=l[1],s=(0,o.v9)(br.pR),p=(0,o.I0)(),d=(0,t.useContext)(f.v).behaviors,y=(0,t.useCallback)((function(){u(!0)}),[u]),m=(0,t.useCallback)((function(e){u(!1),n({behaviorIndex:null,behavior:yr(e,{name:"new_behavior",labels:["new_behavior"],label:"NEW_BEHAVIOR"})})}),[u,n]),h=(0,t.useCallback)((function(e){var r=s[e];n({behaviorIndex:e,behavior:r})}),[s,n]),A=(0,t.useCallback)((function(e){var t=r.behaviorIndex,o=r.behavior.labels,i=e.labels,a=null!==t?(0,br.md)({behaviorIndex:t,behavior:e}):(0,br.F6)({behavior:e});p(a),p((0,mr.Q)(o,i,[],d)),n(null)}),[p,r,n,d]),v=(0,t.useCallback)((function(e){var r=s[e].labels;window.confirm("Really delete behavior: ".concat(s[e].name,"?"))&&(p((0,br.tY)({behaviorIndex:e})),p((0,mr.Q)(r,[],[],d)))}),[s,d,p]);return(0,b.jsxs)("div",{className:I.panel,children:[(0,b.jsx)("h3",{children:"Custom Behaviors"}),(0,b.jsx)("p",{children:"Create customized ZMK behaviors that you can use without conflicting with existing bindings."}),(0,b.jsxs)("table",{style:{width:"100%"},children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{children:"Binding"}),(0,b.jsx)("th",{children:"Compatible"}),(0,b.jsx)("th",{children:"Actions"})]})}),(0,b.jsx)("tbody",{children:s.map((function(e,r){return(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{children:(0,b.jsxs)("code",{children:["&",e.labels[0]]})}),(0,b.jsx)("td",{children:e.properties.compatible.raw}),(0,b.jsxs)("td",{children:[(0,b.jsx)(a.Z,{className:I.action,onClick:function(){return h(r)},name:"wrench"}),(0,b.jsx)(a.Z,{className:I.action,onClick:function(){return v(r)},name:"trash-can"})]})]},r)}))})]}),(0,b.jsx)(i.Z,{onClick:y,children:"Add New Behavior"}),c&&(0,b.jsx)(lr,{onUpdate:m,onCancel:function(){return u(!1)}}),null!==r&&(0,b.jsx)(nr,{node:r.behavior,onCancel:function(){return n(null)},onUpdate:A})]})}var jr=n(24350),gr=n.n(jr),xr=n(20058);function Cr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function Or(e){var r,n,a,l,c=e.onSelect,u=e.onCancel,s=(r=(0,o.v9)(xr.E$),n=(0,t.useMemo)((function(){return tr.behaviorBindings.filter((function(e){var n=tr.behaviorSchemas[e.compatible];return Object.keys(n.properties).filter((function(e){return!["label","#binding-cells","#sensor-binding-cells"].includes(e)})).length>0&&!r.find((function(r){return r.name===e.code}))}))}),[r]),(0,t.useMemo)((function(){return n.map((function(e){return{value:e.code,label:e.name}}))}),[n])),f=(a=(0,t.useState)(""),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(a,l)||function(e,r){if(e){if("string"==typeof e)return Cr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Cr(e,r):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),y=f[0],m=f[1],h=(0,t.useMemo)((function(){return s.find((function(e){return e.value===y}))}),[s,y]);return(0,b.jsx)(d.Z,{onDismiss:u,children:(0,b.jsxs)(p.Z,{dismissText:null,children:[(0,b.jsx)("h3",{children:"Add new reconfiguration"}),(0,b.jsxs)("p",{children:[(0,b.jsx)("strong",{children:"Note:"})," for the moment this is limited to behaviors defined in the core ZMK repo which specify properties that can be overridden. If you're using a fork with un-merged features like mouse inputs, your existing reconfigured behaviors will be affected but won't appear here for editing."]}),(0,b.jsx)("div",{style:{display:"flex",justifyContent:"center"},children:(0,b.jsx)(ie.Z,{required:!0,placeholder:"Select a behavior binding",value:h,options:s,onChange:function(e){var r=e.value;return m(r)},formatOptionLabel:function(e,r){var n=e.value,t=e.label;return r.context,(0,b.jsx)(b.Fragment,{children:(0,b.jsxs)("div",{children:[(0,b.jsx)("code",{children:n})," ",(0,b.jsxs)("span",{style:{opacity:"0.6"},children:["(",(0,b.jsx)("em",{children:t}),")"]})]})})}})}),(0,b.jsxs)("div",{style:{textAlign:"center",margin:"10px"},children:[(0,b.jsx)(i.Z,{disabled:!y,onClick:function(){return c(y)},children:"Create"}),(0,b.jsx)(i.Z,{onClick:u,secondary:!0,children:"Cancel"})]})]})})}Or.propTypes={onSelect:T().func.isRequired,onCancel:T().func.isRequired};var wr=n(82569),Sr=n.n(wr),Er=n(58887);function Pr(e){return Pr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pr(e)}function kr(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function Br(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?kr(Object(n),!0).forEach((function(r){Dr(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kr(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function Dr(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==Pr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==Pr(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Pr(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function Zr(e){var r=e.schema,n=void 0===r?{}:r,t=n.type;if("const"in n)return(0,b.jsx)(J,Br({},e));if("key-position-picker"===n.helper){var o=e.prop,i=void 0===o?{}:o;return(0,b.jsx)(Er.Z,{value:i.parsed||[]})}switch(t){case"array":case"integer-union":return(0,b.jsx)(b.Fragment,{children:e.prop.parsed.map((function(e,r){return(0,b.jsx)("span",{className:z.barePropertyValue,children:e},r)}))});case"string":return(0,b.jsx)(ee,Br({},e));case"int":return(0,b.jsx)(re,Br({},e));case"boolean":return(0,b.jsx)(ne,Br({},e));case"phandle":case"phandles":return(0,b.jsx)(Be,Br({},e));case"phandle-array":return(0,b.jsx)(Fe,Br({},e));default:return(0,b.jsx)(H,Br({},e))}}function Ur(e){return Ur="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ur(e)}function Rr(e){return function(e){if(Array.isArray(e))return Mr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Tr(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ir(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function Nr(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Ir(Object(n),!0).forEach((function(r){qr(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ir(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function qr(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==Ur(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==Ur(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Ur(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function Tr(e,r){if(e){if("string"==typeof e)return Mr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mr(e,r):void 0}}function Mr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}Zr.propTypes={schema:T().shape({type:T().oneOf(["string","boolean","int","array","phandle","phandles","phandle-array","integer-union"]),required:T().bool,description:T().string,default:T().any,const:T().any,helper:T().any,choices:T().array,omitIfEmpty:T().bool}),prop:T().shape({parsed:T().any,raw:T().string})};var Vr=gr()(tr.behaviorBindings,"code");function Kr(e){var r,n,o=e.node,a=e.onUpdate,l=e.onCancel,u=(0,t.useContext)(f.v).behaviors,y=(r=(0,t.useState)(o),n=2,function(e){if(Array.isArray(e))return e}(r)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(r,n)||Tr(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=y[0],h=y[1],A=Vr[o.name],v=u[null==A?void 0:A.compatible],j=Nr(Nr({},v),{},{properties:Object.keys(v.properties).reduce((function(e,r){var n,t;return e[r]=Nr({},v.properties[r]),null!=A&&null!==(n=A.properties)&&void 0!==n&&null!==(t=n[r])&&void 0!==t&&t.parsed&&(e[r].default=A.properties[r].parsed),e}),{})}),g=function(e){return function(r){h(Nr(Nr({},m),{},{properties:Object.keys(m.properties).reduce((function(n,t){var o=m.properties[t];return t===e&&(t=r.target.value),n[t]=o,n}),{})}))}},x=function(e){var r=void 0!==A.properties[e]?c()(A.properties[e]):{parsed:Qe(j.properties[e])};h(Nr(Nr({},m),{},{properties:Nr(Nr({},m.properties),{},qr({},e,r))}))},C=function(e){return function(r){var n=Nr(Nr({},m.properties),{},qr({},e,r));Array.isArray(null==r?void 0:r.parsed)&&0===r.parsed.length&&delete n[e],h(Nr(Nr({},m),{},{properties:n}))}},O=function(e){h(Nr(Nr({},m),{},{properties:s()(m.properties,e)}))},w=function(e){console.log("oh yay!",e),h(Nr(Nr({},m),{},{deletedProperties:[].concat(Rr(m.deletedProperties),[e]),properties:s()(m.properties,e)}))},S=function(e){h(Nr(Nr({},m),{},{deletedProperties:Sr()(m.deletedProperties,e)}))},E=(0,t.useCallback)((function(){a(c()(m))}),[m,a]),P=(null==j?void 0:j.properties)||{},k=(j?Object.keys(P):Object.keys(m.properties)).filter((function(e){var r=P[e],n=r&&"const"in r,t=r&&!!r.deprecatedBy;return!("label"===e||n||t&&!m.properties[e])}));return(0,b.jsx)(d.Z,{onDismiss:l,children:(0,b.jsxs)(p.Z,{dismissText:!1,style:{maxWidth:"none"},children:[(0,b.jsxs)("h2",{children:["Reconfigure ",(0,b.jsx)("code",{children:o.name})]}),(0,b.jsx)("h3",{children:"Configuration"}),(0,b.jsxs)("table",{className:I.editorForm,children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{children:"Property"}),(0,b.jsx)("th",{children:"Default"}),(0,b.jsx)("th",{children:"Custom"}),(0,b.jsx)("th",{})]})}),(0,b.jsx)("tbody",{children:k.map((function(e,r){var n;return(0,b.jsx)(zr,{name:e,schema:P[e],override:m.properties[e],original:null==A||null===(n=A.properties)||void 0===n?void 0:n[e],originalDeleted:m.deletedProperties.includes(e),handlePropNameChange:g,handleAddPropOverride:x,handleUpdatePropOverride:C,handleDeletePropOverride:O,handleDeleteOriginalProp:w,handleUnDeleteOriginalProp:S},r)}))})]}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)(i.Z,{onClick:E,children:"Okay"}),(0,b.jsx)(i.Z,{onClick:l,secondary:!0,children:"Cancel"})]})]})})}function zr(e){var r=e.name,n=e.schema,t=e.override,o=e.original,i=e.originalDeleted,l=e.handlePropNameChange,c=e.handleAddPropOverride,u=e.handleUpdatePropOverride,s=e.handleDeletePropOverride,p=e.handleDeleteOriginalProp,d=e.handleUnDeleteOriginalProp,f="boolean"===n.type,y=i&&f,m=void 0!==(null==t?void 0:t.parsed),h=void 0!==(null==o?void 0:o.parsed),A=f&&!y&&!0===(null==o?void 0:o.parsed);return(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:I.propertyName,children:n?(0,b.jsx)(N,{property:r,schema:n}):(0,b.jsx)("input",{value:r,onChange:l(r)})}),(0,b.jsx)("td",{className:ge()(z.propertyValue,qr({},z.overridden,m)),children:h&&(0,b.jsx)(Zr,{name:r,prop:Nr(Nr({},t),{},{parsed:o.parsed}),schema:n})}),(0,b.jsxs)("td",{className:z.propertyValue,children:[y&&(0,b.jsx)(Fr,{}),m&&(0,b.jsx)(Le,{name:r,prop:t,schema:n,onUpdate:u(r)}),!m&&!y&&(0,b.jsx)("button",{onClick:function(){A?p(r):c(r)},children:"Override"})]}),(0,b.jsxs)("td",{children:[m&&(0,b.jsx)(a.Z,{name:"trash-can",className:I.action,onClick:function(){return s(r)}}),y&&(0,b.jsx)(a.Z,{name:"trash-can",className:I.action,onClick:function(){return d(r)}})]})]})}function Fr(){return(0,b.jsx)("input",{title:"Boolean properties set to `true` can only be overridden with `false`. Delete this property override to restore the original value.",type:"checkbox",disabled:!0})}function Yr(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||function(e,r){if(e){if("string"==typeof e)return Wr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wr(e,r):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}var Gr=gr()(tr.behaviorBindings,"code");function Xr(){var e=(0,o.I0)(),r=(0,o.v9)(xr.E$),n=Yr((0,t.useState)(null),2),l=n[0],c=n[1],u=Yr((0,d.X)(),3),s=u[0],p=u[1],f=u[2],y=(0,t.useCallback)((function(e){c({index:e,node:r[e]})}),[r,c]),m=(0,t.useCallback)((function(){return c(null)}),[c]),h=(0,t.useCallback)((function(e){c({index:null,node:{name:e,labels:[],properties:{},deletedProperties:[]}}),f()}),[f,c]),A=(0,t.useCallback)((function(r){var n=l.index;e(null===n?(0,xr.hd)({reconfiguration:r,reconfigurationIndex:n}):(0,xr.eG)({reconfiguration:r,reconfigurationIndex:n})),m()}),[l,m,e]),v=(0,t.useCallback)((function(n){var t=r[n];window.confirm("Really delete reconfiguration for: ".concat(t.name,"?"))&&e((0,xr.x5)({reconfigurationIndex:n}))}),[r,e]);return(0,b.jsxs)("div",{className:I.panel,children:[(0,b.jsx)("h3",{children:"Reconfigurations"}),(0,b.jsx)("p",{children:"Update/override configured properties for pre-defined ZMK behaviors."}),(0,b.jsxs)("table",{style:{width:"100%"},children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{children:"Binding"}),(0,b.jsx)("th",{children:"Compatible"}),(0,b.jsx)("th",{children:"Actions"})]})}),(0,b.jsx)("tbody",{children:r.map((function(e,r){var n;return(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{children:(0,b.jsx)("code",{children:e.name})}),(0,b.jsx)("td",{children:null===(n=Gr[e.name])||void 0===n?void 0:n.compatible}),(0,b.jsxs)("td",{children:[(0,b.jsx)(a.Z,{className:I.action,onClick:function(){return y(r)},name:"wrench"}),(0,b.jsx)(a.Z,{className:I.action,onClick:function(){return v(r)},name:"trash-can"})]})]},r)}))})]}),(0,b.jsx)(i.Z,{onClick:p,children:"Add Behavior Reconfiguration"}),s&&(0,b.jsx)(Or,{onSelect:h,onCancel:f}),l&&(0,b.jsx)(Kr,{onUpdate:A,onCancel:m,node:l.node})]})}var _r=function(){return(0,b.jsxs)("div",{className:I.main,children:[(0,b.jsx)(vr,{}),(0,b.jsx)(Xr,{})]})}},49443:function(e,r,n){n.d(r,{Z:function(){return v}});var t=n(67294),o=n(45697),i=n.n(o),a=n(97494),l={useRaw:i().bool,raw:i().string,parsed:i().any},c={name:i().string.isRequired,labels:i().arrayOf(i().string).isRequired,properties:i().objectOf((function(e,r,n,t,o){try{i().checkPropTypes({propValue:i().shape(l).isRequired},{propValue:e},t,n)}catch(e){return new Error("Invalid prop `"+o+"` supplied to `"+n+"`. Validation failed.")}})).isRequired},u=n(62417),s=n(85893);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function d(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function f(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?d(Object(n),!0).forEach((function(r){y(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function y(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==p(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==p(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===p(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function b(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=i.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,r)||m(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,r){if(e){if("string"==typeof e)return h(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,r):void 0}}function h(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function A(e){var r=e.name,n=e.labels,t=b(void 0===n?[]:n,1)[0],o=e.properties.label;return r.toLowerCase()===(t||"").toLowerCase()&&r.toLowerCase()===((null==o?void 0:o.parsed)||"").toLowerCase()}function v(e){var r=e.node,n=e.onUpdate,o=b((0,t.useState)(A(r)),2),i=o[0],l=o[1],c=b((0,t.useState)(A(r)),2),p=c[0],d=c[1],y=function(e,r,n,o){return[(0,t.useCallback)((function(n){r(f(f({},e),{},{name:n.target.value}))}),[e,r]),(0,t.useCallback)((function(t){var i,a=t.target.value,l=[a].concat(function(e){if(Array.isArray(e))return h(e)}(i=e.labels.slice(1))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||m(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=n?a:e.name,u=o?f(f({},e.properties),{},{label:{parsed:a.toUpperCase(),raw:'"'.concat(a.toUpperCase(),'"'),useRaw:!1}}):e.properties;r(f(f({},e),{},{name:c,labels:l,properties:u}))}),[e,r,n,o]),(0,t.useCallback)((function(n){return r(f(f({},e),{},{properties:f(f({},e.properties),{},{label:f(f({},e.properties.label),{},{parsed:n.target.value,useRaw:!1})})}))}),[e,r])]}(r,n,i,p),v=b(y,3),j=v[0],g=v[1],x=v[2];return(0,s.jsx)("table",{children:(0,s.jsxs)("tbody",{children:[(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Bind"}),(0,s.jsx)("td",{children:(0,s.jsx)(a.Z,{type:"text",value:r.labels[0]||"",required:!0,validator:u.zq,onChange:g})})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Node"}),(0,s.jsxs)("td",{children:[(0,s.jsx)(a.Z,{value:r.name,required:!0,readOnly:i,disabled:i,validator:u.Gk,onChange:j}),(0,s.jsxs)("label",{title:"Set automatically using bind name",children:[(0,s.jsx)("input",{type:"checkbox",checked:i,onChange:function(e){return l(e.target.checked)}})," Automatic"]})]})]}),(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Label"}),(0,s.jsxs)("td",{children:[(0,s.jsx)(a.Z,{type:"text",value:r.properties.label.parsed||"",required:!0,readOnly:p,disabled:p,validator:function(){return null},onChange:x}),(0,s.jsxs)("label",{title:"Set automatically using bind name",children:[(0,s.jsx)("input",{type:"checkbox",checked:p,onChange:function(e){return d(e.target.checked)}})," Automatic"]})]})]})]})})}v.propTypes={node:i().shape(c).isRequired,onUpdate:i().func.isRequired}},29709:function(e,r,n){function t(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return o(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}n.d(r,{f5:function(){return i},xE:function(){return l},xw:function(){return a}});var i=function(e,r){return[].concat(t(e.slice(0,r)),t(e.slice(r+1)))},a=function(e,r,n){return[].concat(t(e.slice(0,r)),[n],t(e.slice(r+1)))};function l(e,r,n){return-1===n?[].concat(t(e.filter((function(e,n){return n!==r}))),[e[r]]):e.reduce((function(t,o,i){return i===n&&t.push(e[r]),i!==r&&t.push(o),t}),[])}},33988:function(e,r,n){var t=n(87537),o=n.n(t),i=n(23645),a=n.n(i)()(o());a.push([e.id,".OaJISbD1WCmb03at77EG {\n position: relative;\n}\n\n.MUN9De8dUvbPGH9cEDoQ {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 100%);\n max-width: 250px;\n width: 100%;\n\n border-radius: 4px;\n padding: 3px 5px;\n\n color: white;\n background-color: var(--error-highlight);\n font-size: 85%;\n font-family: sans-serif;\n\n opacity: 0.9;\n}\n.MUN9De8dUvbPGH9cEDoQ::before {\n position: absolute;\n display: block;\n content: ' ';\n z-index: -1;\n\n left: 50%;\n width: 10px;\n height: 10px;\n\n background-color: var(--error-highlight);\n transform: translate(-50%, -7px) rotate(45deg);\n}\n","",{version:3,sources:["webpack://./src/Common/input.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,SAAS;EACT,gCAAgC;EAChC,gBAAgB;EAChB,WAAW;;EAEX,kBAAkB;EAClB,gBAAgB;;EAEhB,YAAY;EACZ,wCAAwC;EACxC,cAAc;EACd,uBAAuB;;EAEvB,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,YAAY;EACZ,WAAW;;EAEX,SAAS;EACT,WAAW;EACX,YAAY;;EAEZ,wCAAwC;EACxC,8CAA8C;AAChD",sourcesContent:[".wrapper {\n position: relative;\n}\n\n.error {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 100%);\n max-width: 250px;\n width: 100%;\n\n border-radius: 4px;\n padding: 3px 5px;\n\n color: white;\n background-color: var(--error-highlight);\n font-size: 85%;\n font-family: sans-serif;\n\n opacity: 0.9;\n}\n.error::before {\n position: absolute;\n display: block;\n content: ' ';\n z-index: -1;\n\n left: 50%;\n width: 10px;\n height: 10px;\n\n background-color: var(--error-highlight);\n transform: translate(-50%, -7px) rotate(45deg);\n}\n"],sourceRoot:""}]),a.locals={wrapper:"OaJISbD1WCmb03at77EG",error:"MUN9De8dUvbPGH9cEDoQ"},r.Z=a},27470:function(e,r,n){var t=n(87537),o=n.n(t),i=n(23645),a=n.n(i)()(o());a.push([e.id,'\n.S3t60CK1JCROFIrRlm4j [readonly] {\n cursor: not-allowed;\n color: gray;\n outline: gray;\n}\n\ninput.S3t60CK1JCROFIrRlm4j[type="text"],\ninput.S3t60CK1JCROFIrRlm4j[type="number"],\nselect.S3t60CK1JCROFIrRlm4j {\n width: 100%;\n}\n\nol.MedG7SPG2ge2h7j2yqrJ {\n list-style-type: none;\n margin-top: 0;\n padding: 0;\n}\n.V50Bekt6td9yQOSiDGdx {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.V50Bekt6td9yQOSiDGdx li {\n display: inline-block;\n line-height: 2rem;\n}\nol.QNg3v6_eJoK7_qV0_y9n {\n margin: 0;\n}\nol.QNg3v6_eJoK7_qV0_y9n li {\n line-height: 2rem;\n}\nol.u65C3Uji7covMUn996dR {\n list-style-type: none;\n padding: 0;\n}\n.xp5u4Uo4X2fxxX9KwwXu {\n margin: 2px;\n padding: 5px;\n font-family: monospace;\n border-radius: 1rem;\n background-color: var(--key-bg-base);\n}\n\n.RdlDHEEEIkX89TwYeKMf {\n margin: 2px;\n padding: 5px;\n font-family: monospace;\n border-radius: 1rem;\n background-color: var(--key-bg-base);\n}\n\n.NoJRqFdqjTh5fdcL9crT .xp5u4Uo4X2fxxX9KwwXu:hover {\n cursor: pointer;\n background-color: var(--hover-selection);\n color: white;\n}\n\n.fLumxf7S6GjkhmQSozuF {\n opacity: 0.5;\n text-decoration: line-through;\n}\n\n.gpFGP00LCwlGjK6yrGWw {\n vertical-align: text-bottom;\n margin: 0 2px;\n}\n.gpFGP00LCwlGjK6yrGWw:hover {\n color: black;\n}\n\n.gsAzkKxnfzTcp5ApwmWS {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n list-style-type: none;\n padding: 0;\n margin: 0;\n}\n\n/* Copied from MacroEditor :( */\n.KrcWDYfRVRfvRhpsBFxs {\n visibility: hidden;\n position: absolute;\n top: 0px;\n right: 0px;\n font-size: 80%;\n\n color: var(--key-color-hover);\n}\n.KrcWDYfRVRfvRhpsBFxs > * {\n margin: 2px;\n opacity: 0.5;\n cursor: pointer;\n}\n.gsAzkKxnfzTcp5ApwmWS li :hover .KrcWDYfRVRfvRhpsBFxs {\n visibility: visible;\n z-index: 10;\n}\n\n.KrcWDYfRVRfvRhpsBFxs :hover {\n opacity: 1;\n}\n',"",{version:3,sources:["webpack://./src/Keyboard/Behaviors/PropertyValue/styles.module.css"],names:[],mappings:";AACA;EACE,mBAAmB;EACnB,WAAW;EACX,aAAa;AACf;;AAEA;;;EAGE,WAAW;AACb;;AAEA;EACE,qBAAqB;EACrB,aAAa;EACb,UAAU;AACZ;AACA;EACE,qBAAqB;EACrB,SAAS;EACT,UAAU;AACZ;AACA;EACE,qBAAqB;EACrB,iBAAiB;AACnB;AACA;EACE,SAAS;AACX;AACA;EACE,iBAAiB;AACnB;AACA;EACE,qBAAqB;EACrB,UAAU;AACZ;AACA;EACE,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,mBAAmB;EACnB,oCAAoC;AACtC;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,mBAAmB;EACnB,oCAAoC;AACtC;;AAEA;EACE,eAAe;EACf,wCAAwC;EACxC,YAAY;AACd;;AAEA;EACE,YAAY;EACZ,6BAA6B;AAC/B;;AAEA;EACE,2BAA2B;EAC3B,aAAa;AACf;AACA;EACE,YAAY;AACd;;AAEA;EACE,aAAa;EACb,eAAe;EACf,SAAS;EACT,qBAAqB;EACrB,UAAU;EACV,SAAS;AACX;;AAEA,+BAA+B;AAC/B;EACE,kBAAkB;EAClB,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,cAAc;;EAEd,6BAA6B;AAC/B;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;AACjB;AACA;EACE,mBAAmB;EACnB,WAAW;AACb;;AAEA;EACE,UAAU;AACZ",sourcesContent:['\n.propertyValue [readonly] {\n cursor: not-allowed;\n color: gray;\n outline: gray;\n}\n\ninput.propertyValue[type="text"],\ninput.propertyValue[type="number"],\nselect.propertyValue {\n width: 100%;\n}\n\nol.propertyMultiSelect {\n list-style-type: none;\n margin-top: 0;\n padding: 0;\n}\n.propertyMultiSelectChips {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.propertyMultiSelectChips li {\n display: inline-block;\n line-height: 2rem;\n}\nol.propertyPhandleSelect {\n margin: 0;\n}\nol.propertyPhandleSelect li {\n line-height: 2rem;\n}\nol.propertyPhandleSingleton {\n list-style-type: none;\n padding: 0;\n}\n.behaviorBind {\n margin: 2px;\n padding: 5px;\n font-family: monospace;\n border-radius: 1rem;\n background-color: var(--key-bg-base);\n}\n\n.barePropertyValue {\n margin: 2px;\n padding: 5px;\n font-family: monospace;\n border-radius: 1rem;\n background-color: var(--key-bg-base);\n}\n\n.selectable .behaviorBind:hover {\n cursor: pointer;\n background-color: var(--hover-selection);\n color: white;\n}\n\n.overridden {\n opacity: 0.5;\n text-decoration: line-through;\n}\n\n.phandleRemove {\n vertical-align: text-bottom;\n margin: 0 2px;\n}\n.phandleRemove:hover {\n color: black;\n}\n\n.propertyBindingsValue {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n list-style-type: none;\n padding: 0;\n margin: 0;\n}\n\n/* Copied from MacroEditor :( */\n.actions {\n visibility: hidden;\n position: absolute;\n top: 0px;\n right: 0px;\n font-size: 80%;\n\n color: var(--key-color-hover);\n}\n.actions > * {\n margin: 2px;\n opacity: 0.5;\n cursor: pointer;\n}\n.propertyBindingsValue li :hover .actions {\n visibility: visible;\n z-index: 10;\n}\n\n.actions :hover {\n opacity: 1;\n}\n'],sourceRoot:""}]),a.locals={propertyValue:"S3t60CK1JCROFIrRlm4j",propertyMultiSelect:"MedG7SPG2ge2h7j2yqrJ",propertyMultiSelectChips:"V50Bekt6td9yQOSiDGdx",propertyPhandleSelect:"QNg3v6_eJoK7_qV0_y9n",propertyPhandleSingleton:"u65C3Uji7covMUn996dR",behaviorBind:"xp5u4Uo4X2fxxX9KwwXu",barePropertyValue:"RdlDHEEEIkX89TwYeKMf",selectable:"NoJRqFdqjTh5fdcL9crT",overridden:"fLumxf7S6GjkhmQSozuF",phandleRemove:"gpFGP00LCwlGjK6yrGWw",propertyBindingsValue:"gsAzkKxnfzTcp5ApwmWS",actions:"KrcWDYfRVRfvRhpsBFxs"},r.Z=a},34288:function(e,r,n){var t=n(87537),o=n.n(t),i=n(23645),a=n.n(i)()(o());a.push([e.id,".kcj881bnLDph62EcKelj {\n padding-bottom: 60px;\n}\n\n.GeuMxQtBvZYr0nOURDHd {\n display: flex;\n width: 190px;\n flex-direction: column;\n padding: 10px;\n gap: 10px;\n position: fixed;\n}\n\n.NqlHG1MKBiOUUFAed3CM {\n max-width: 700px;\n margin: 0 auto;\n padding-bottom: 60px;\n}\n\n.NqlHG1MKBiOUUFAed3CM table {\n border-spacing: 0;\n margin-bottom: 10px;\n}\n.NqlHG1MKBiOUUFAed3CM table thead {\n text-align: left;\n}\n\n.NqlHG1MKBiOUUFAed3CM table tbody tr td {\n padding: 10px;\n margin: 0;\n}\n.NqlHG1MKBiOUUFAed3CM table tbody tr:nth-child(even) {\n background-color: var(--key-bg-base);\n}\n\n.Q3_rmo3XiEVg8qfXgKX_ {\n cursor: pointer;\n padding: 5px;\n opacity: 0.6;\n}\n.Q3_rmo3XiEVg8qfXgKX_:hover {\n opacity: 1;\n}\n\ntable.czOKx_t_EDF44pilzyzA { max-height: 80vh; }\ntable.czOKx_t_EDF44pilzyzA th { text-align: left }\ntable.czOKx_t_EDF44pilzyzA input { font-family: monospace }\ntable.czOKx_t_EDF44pilzyzA td {\n padding: 4px;\n vertical-align: top;\n}\ntable.czOKx_t_EDF44pilzyzA .s8rWNi6e8BZ7yQubfDws {\n font-family: monospace;\n}\n.Bux6GxjreGZZkcXqx6kv {\n display: block;\n font-style: italic;\n}\n\n.xvIZYbb8L5QbOLcesQ4T {\n color: red;\n font-style: italic;\n}\n","",{version:3,sources:["webpack://./src/Keyboard/Behaviors/styles.module.css"],names:[],mappings:"AAAA;EACE,oBAAoB;AACtB;;AAEA;EACE,aAAa;EACb,YAAY;EACZ,sBAAsB;EACtB,aAAa;EACb,SAAS;EACT,eAAe;AACjB;;AAEA;EACE,gBAAgB;EAChB,cAAc;EACd,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;EACjB,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,SAAS;AACX;AACA;EACE,oCAAoC;AACtC;;AAEA;EACE,eAAe;EACf,YAAY;EACZ,YAAY;AACd;AACA;EACE,UAAU;AACZ;;AAEA,6BAAmB,gBAAgB,EAAE;AACrC,gCAAsB,iBAAiB;AACvC,mCAAyB,uBAAuB;AAChD;EACE,YAAY;EACZ,mBAAmB;AACrB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,kBAAkB;AACpB",sourcesContent:[".main {\n padding-bottom: 60px;\n}\n\n.sidebar {\n display: flex;\n width: 190px;\n flex-direction: column;\n padding: 10px;\n gap: 10px;\n position: fixed;\n}\n\n.panel {\n max-width: 700px;\n margin: 0 auto;\n padding-bottom: 60px;\n}\n\n.panel table {\n border-spacing: 0;\n margin-bottom: 10px;\n}\n.panel table thead {\n text-align: left;\n}\n\n.panel table tbody tr td {\n padding: 10px;\n margin: 0;\n}\n.panel table tbody tr:nth-child(even) {\n background-color: var(--key-bg-base);\n}\n\n.action {\n cursor: pointer;\n padding: 5px;\n opacity: 0.6;\n}\n.action:hover {\n opacity: 1;\n}\n\ntable.editorForm { max-height: 80vh; }\ntable.editorForm th { text-align: left }\ntable.editorForm input { font-family: monospace }\ntable.editorForm td {\n padding: 4px;\n vertical-align: top;\n}\ntable.editorForm .propertyName {\n font-family: monospace;\n}\n.propertyDeprecation {\n display: block;\n font-style: italic;\n}\n\n.requiredIndicator {\n color: red;\n font-style: italic;\n}\n"],sourceRoot:""}]),a.locals={main:"kcj881bnLDph62EcKelj",sidebar:"GeuMxQtBvZYr0nOURDHd",panel:"NqlHG1MKBiOUUFAed3CM",action:"Q3_rmo3XiEVg8qfXgKX_",editorForm:"czOKx_t_EDF44pilzyzA",propertyName:"s8rWNi6e8BZ7yQubfDws",propertyDeprecation:"Bux6GxjreGZZkcXqx6kv",requiredIndicator:"xvIZYbb8L5QbOLcesQ4T"},r.Z=a}}]);
+//# sourceMappingURL=BehaviorEditorTab.0b5501dcbc97d570a7b7.js.map \ No newline at end of file
diff --git a/ComboEditorTab.7e5450fc7f3a3f1670ed.js b/ComboEditorTab.7e5450fc7f3a3f1670ed.js
new file mode 100644
index 0000000..03cf422
--- /dev/null
+++ b/ComboEditorTab.7e5450fc7f3a3f1670ed.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[8315],{94062:function(n,e,r){r.d(e,{Z:function(){return a}});var t=r(41051),o=r(2968),i=r(85893);function a(n){var e=n.url,r=n.text;return(0,i.jsxs)(o.Z,{external:!0,href:e,children:[(0,i.jsx)(t.Z,{name:"book"})," ",(0,i.jsx)("span",{children:r})]})}},44019:function(n,e,r){r.r(e),r.d(e,{default:function(){return On}});var t=r(67294),o=r(95998),i=r(45697),a=r.n(i),c=r(93379),l=r.n(c),s=r(7795),u=r.n(s),A=r(90569),p=r.n(A),d=r(3565),f=r.n(d),b=r(19216),m=r.n(b),y=r(44589),v=r.n(y),C=r(78207),g={};g.styleTagTransform=v(),g.setAttributes=f(),g.insert=p().bind(null,"head"),g.domAPI=u(),g.insertStyleElement=m(),l()(C.Z,g);var h=C.Z&&C.Z.locals?C.Z.locals:void 0,x=r(15023),E=r(85893);function j(){return(0,E.jsx)("p",{className:h.floatingMessage,children:"Click on a key to add it to the combo"})}function B(n){var e=n.keyPositions,r=n.onUpdate;return(0,E.jsxs)("div",{className:h.comboInputMap,children:[(0,E.jsx)(x.Z,{value:e,onUpdate:r}),e.length<2&&(0,E.jsx)(j,{})]})}B.propTypes={onUpdate:a().func.isRequired,keyPositions:a().arrayOf(a().number).isRequired};var k=B,w=r(82607),O=r(61953),S=r(27926),Z=r(41051),P=r(94062),N=r(86015),I={};I.styleTagTransform=v(),I.setAttributes=f(),I.insert=p().bind(null,"head"),I.domAPI=u(),I.insertStyleElement=m(),l()(N.Z,I);var Y=N.Z&&N.Z.locals?N.Z.locals:void 0,X=r(56803);function D(n){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},D(n)}function U(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function R(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?U(Object(r),!0).forEach((function(e){q(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function q(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==D(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==D(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===D(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function K(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function M(n){var e,r,o=n.value,i=n.validate,a=n.required,c=n.render,l=n.onUpdate,s=(0,t.useRef)(),u=(e=(0,t.useState)({value:o,editing:!1,attemptedEmpty:!1}),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,c=[],l=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(t=i.call(r)).done)&&(c.push(t.value),c.length!==e);l=!0);}catch(n){s=!0,o=n}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(e,r)||function(n,e){if(n){if("string"==typeof n)return K(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?K(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),A=u[0],p=u[1],d=A.attemptedEmpty?"cannot be empty":i&&i(A.value),f=(0,t.useCallback)((function(n){n&&(n.focus(),n.select())}),[]),b=(0,t.useCallback)((function(){p((function(n){return R(R({},n),{},{editing:!1})}))}),[p]),m=(0,t.useCallback)((function(n){s.current&&!s.current.contains(n.target)&&b()}),[s,b]);return(0,t.useEffect)((function(){return document.addEventListener("click",m),function(){return document.removeEventListener("click",m)}}),[m]),A.editing?(0,E.jsxs)("span",{className:Y.container,ref:s,children:[(0,E.jsx)("input",{ref:f,value:A.value,onChange:function(n){return p(R(R({},A),{},{attemptedEmpty:!1,value:n.target.value}))},onKeyDown:(0,X.w)({Enter:function(){A.editing&&(""===A.value&&a?p(R(R({},A),{},{attemptedEmpty:!0})):(d||l(A.value),p(R(R({},A),{},{value:A.value,editing:!1}))))},Escape:b})}),d&&(0,E.jsx)("span",{className:Y.error,children:d})]}):c((0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("span",{children:o}),(0,E.jsx)(Z.Z,{name:"pencil",className:Y.edit,onClick:(0,X.s)((function(){return p(R(R({},A),{},{editing:!0}))}))})]}))}M.propTypes={value:a().string.isRequired,validate:a().func,required:a().bool.isRequired,render:a().func.isRequired,onUpdate:a().func.isRequired},M.defaultProps={required:!0};var T=M,z=r(64261),W=r(81485),F=r(57557),J=r.n(F),Q=r(96186),G=r(80993),L=r(80736);function V(n){return V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},V(n)}function _(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function H(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?_(Object(r),!0).forEach((function(e){$(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function $(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==V(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==V(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===V(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function nn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var en=function(n){var e,r,i,a,c=n.combo,l=n.onUpdate,s=n.onCancel,u=(0,o.v9)(L.vl),A=(i=(0,t.useState)(c),a=2,function(n){if(Array.isArray(n))return n}(i)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,c=[],l=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(t=i.call(r)).done)&&(c.push(t.value),c.length!==e);l=!0);}catch(n){s=!0,o=n}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(i,a)||function(n,e){if(n){if("string"==typeof n)return nn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?nn(n,e):void 0}}(i,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),p=A[0],d=A[1],f=(0,t.useMemo)((function(){return u.map((function(n,e){return{id:e,label:(0,L.EI)(n)}}))}),[u]),b=(0,t.useMemo)((function(){var n;return((null===(n=p.properties.layers)||void 0===n?void 0:n.parsed)||[]).map((function(n){return f.find((function(e){return e.id===n}))}))}),[p,f]),m=(0,t.useCallback)((function(n){return d((function(e){return H(H({},e),{},{properties:H(H({},e.properties),{},{layers:{parsed:n.map((function(n){return n.id}))}})})}))}),[d]);return(0,E.jsx)(z.Z,{onDismiss:s,children:(0,E.jsxs)(Q.Z,{dismissText:null,children:[(0,E.jsxs)("h2",{children:["Customize ",(0,E.jsx)("code",{children:c.name})]}),(0,E.jsxs)("div",{children:[(0,E.jsxs)("div",{className:h.field,children:[(0,E.jsx)("label",{htmlFor:"customize-combo-timeout",children:"Timeout (ms)"}),(0,E.jsx)("input",{id:"customize-combo-timeout",type:"number",placeholder:"Default",value:(null===(e=p.properties["timeout-ms"])||void 0===e?void 0:e.parsed)||"",onChange:function(n){var e=Number(n.target.value);d((function(r){return H(H({},r),{},{properties:""!==n.target.value?H(H({},r.properties),{},{"timeout-ms":{parsed:e}}):H({},J()(r.properties,"timeout-ms"))})}))}})]}),(0,E.jsxs)("div",{className:h.field,children:[(0,E.jsx)("label",{htmlFor:"customize-combo-slow-release",children:"Slow Release"}),(0,E.jsx)("input",{id:"customize-combo-slow-release",type:"checkbox",checked:(null===(r=p.properties["slow-release"])||void 0===r?void 0:r.parsed)||!1,onChange:function(n){return d((function(e){return H(H({},e),{},{properties:H(H({},e.properties),{},{"slow-release":{parsed:n.target.checked}})})}))}})]}),(0,E.jsxs)("div",{className:h.field,children:[(0,E.jsx)("label",{htmlFor:"pending_layers",children:"Layers"}),(0,E.jsx)(G.Z,{isMulti:!0,isSearchable:!0,id:"pending_layers",value:b,options:f,onChange:m,getOptionValue:function(n){return n.id}})]}),(0,E.jsxs)("div",{style:{textAlign:"center",marginTop:"10px"},children:[(0,E.jsx)(S.Z,{onClick:function(){l(p)},children:"Okay"}),(0,E.jsx)(S.Z,{onClick:s,secondary:!0,children:"Cancel"})]})]})]})})},rn=r(62417),tn=r(27213),on=r(94596),an=r(80671),cn=r(58887),ln=r(91118),sn=r(2732);function un(n){return un="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},un(n)}function An(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function pn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?An(Object(r),!0).forEach((function(e){dn(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):An(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function dn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==un(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==un(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===un(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function fn(n){return(0,E.jsx)(an.Z,pn(pn({},n),{},{Heading:bn}))}function bn(n){var e=n.bindingIndex,r=n.bindTree,t=(0,o.v9)(sn.DP)[e];return t?(0,E.jsxs)("div",{className:on.Z.keyBindingHeader,children:[(0,E.jsx)(cn.Z,{keyPositions:t.properties["key-positions"].parsed,styleOverrides:{display:"inline-block",padding:"3px",borderRadius:"3px"},scale:.15}),(0,E.jsx)(Z.Z,{name:"arrow-right"}),(0,E.jsx)(ln.Z,{selectable:!1,children:(0,E.jsx)(tn.Z,{value:r})})]}):null}function mn(n){return mn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},mn(n)}function yn(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function vn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?yn(Object(r),!0).forEach((function(e){Cn(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):yn(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function Cn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==mn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==mn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===mn(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function gn(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,c=[],l=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(t=i.call(r)).done)&&(c.push(t.value),c.length!==e);l=!0);}catch(n){s=!0,o=n}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(n,e)||function(n,e){if(n){if("string"==typeof n)return hn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?hn(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function xn(n){var e,r=n.onSubmit,o=n.onCancel,i=(e=(0,t.useContext)(W.c).identifiers,(0,t.useCallback)((function(n){return(0,rn.G3)(n)||(e.includes(n)?'Cannot use existing identifier "'.concat(n,'"'):null)}),[e])),a=gn((0,t.useState)(En),2),c=a[0],l=a[1],s=gn((0,z.X)(),3),u=s[0],A=s[1],p=s[2],d=gn((0,t.useState)(!1),2),f=d[0],b=d[1],m=(0,t.useCallback)((function(n){return l((function(e){return vn(vn({},e),{},{name:n})}))}),[l]),y=jn(l,"bindings"),v=jn(l,"key-positions"),C=(0,t.useCallback)((function(n){l(n),p()}),[l,p]),g=(0,t.useCallback)((function(){r(c)}),[c,r]),x=(0,t.useMemo)((function(){return!!c.name&&c.properties["key-positions"].parsed.length>0}),[c]);return(0,E.jsx)(z.Z,{onDismiss:o,children:(0,E.jsxs)(Q.Z,{dismissText:!1,classes:[h.comboPanel],children:[u&&(0,E.jsx)(en,{combo:c,onUpdate:C,onCancel:p}),f&&(0,E.jsx)(fn,{binding:c.properties.bindings.parsed[0],bindingIndex:null,onCancel:function(){return b(!1)},onUpdate:function(n){y([n]),b(!1)}}),(0,E.jsx)(P.Z,{url:"https://zmk.dev/docs/features/combos",text:"ZMK Docs: Combos"}),(0,E.jsxs)("div",{className:h.combo,children:[(0,E.jsxs)("div",{className:h.heading,children:[(0,E.jsx)("div",{children:(0,E.jsx)(T,{value:c.name,validate:i,render:function(n){return(0,E.jsxs)("h5",{children:["Name: ",(0,E.jsx)("code",{children:n}),!c.name&&(0,E.jsx)("span",{style:{color:"red"},children:"*required"})]})},onUpdate:m})}),(0,E.jsx)("div",{className:h.actions,children:(0,E.jsx)(Z.Z,{name:"wrench",className:"".concat(h.action),onClick:A})})]}),(0,E.jsxs)("div",{className:h.detail,children:[(0,E.jsx)("div",{className:h.comboOutput,children:(0,E.jsx)(w.Z,{binding:c.properties.bindings.parsed[0],keyWrapperProps:{className:O.Z.unified,onClick:function(n){n.stopPropagation(),b(!0)}}})}),(0,E.jsx)(k,{keyPositions:c.properties["key-positions"].parsed,onUpdate:v})]})]}),(0,E.jsxs)("div",{style:{textAlign:"center"},children:[(0,E.jsx)(S.Z,{disabled:!x,onClick:g,children:"Create"}),(0,E.jsx)(S.Z,{onClick:o,secondary:!0,children:"Cancel"})]})]})})}var En={name:"",labels:[],properties:{bindings:{parsed:[{value:"&none",params:[]}]},"key-positions":{parsed:[]}}};function jn(n,e){return(0,t.useCallback)((function(r){return n((function(n){return vn(vn({},n),{},{properties:vn(vn({},n.properties),{},Cn({},e,{parsed:r}))})}))}),[n,e])}function Bn(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,c=[],l=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(t=i.call(r)).done)&&(c.push(t.value),c.length!==e);l=!0);}catch(n){s=!0,o=n}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(n,e)||function(n,e){if(n){if("string"==typeof n)return kn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?kn(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function wn(n){var e=(0,t.useContext)(W.c).identifiers,r=(0,o.v9)(sn.DP),i=(0,o.I0)(),a=Bn((0,t.useState)(null),2),c=a[0],l=a[1],s=Bn((0,t.useState)(null),2),u=s[0],A=s[1],p=Bn((0,z.X)(),3),d=p[0],f=p[1],b=p[2];function m(n){return(0,rn.G3)(n)||(e.includes(n)?'Cannot use existing identifier "'.concat(n,'"'):null)}var y=(0,t.useCallback)((function(n){i((0,sn.ij)({comboIndex:c,bindings:[n]})),l(null)}),[c,l,i]);return(0,E.jsxs)("div",{className:h.main,children:[null!==u&&(0,E.jsx)(en,{combo:r[u],onUpdate:function(n){return e=u,r=n,A(null),void i((0,sn.SD)({index:e,combo:r}));var e,r},onCancel:function(){return A(null)}}),d&&(0,E.jsx)(xn,{onSubmit:function(n){i((0,sn.CG)(n)),b()},onCancel:b}),null!==c&&(0,E.jsx)(fn,{binding:r[c].properties.bindings.parsed[0],bindingIndex:c,onCancel:function(){return l(null)},onUpdate:y}),(0,E.jsx)("div",{className:h.header,children:(0,E.jsx)(P.Z,{url:"https://zmk.dev/docs/features/combos",text:"ZMK Docs: Combos"})}),(0,E.jsx)("div",{className:h.comboPanel,children:r.map((function(n,e){return(0,E.jsxs)("div",{className:h.combo,children:[(0,E.jsxs)("div",{className:h.heading,children:[(0,E.jsx)(T,{value:n.name,validate:m,render:function(n){return(0,E.jsx)("h5",{children:(0,E.jsx)("code",{children:n})})},onUpdate:function(n){return function(n,e){i((0,sn.l3)({index:n,name:e}))}(e,n)}}),(0,E.jsxs)("div",{className:h.actions,children:[(0,E.jsx)(Z.Z,{name:"wrench",className:"".concat(h.action),onClick:function(){return A(e)}}),(0,E.jsx)(Z.Z,{name:"trash-can",className:"".concat(h.action," ").concat(h.remove),onClick:function(){return n=e,void(window.confirm("Really delete combo: ".concat(r[n].name,"?"))&&i((0,sn.pd)({index:n})));var n}})]})]}),(0,E.jsxs)("div",{className:h.detail,children:[(0,E.jsx)("div",{className:h.comboOutput,children:(0,E.jsx)(w.Z,{binding:n.properties.bindings.parsed[0],keyWrapperProps:{className:O.Z.unified,onClick:function(n){n.stopPropagation(),l(e)}}})}),(0,E.jsx)(k,{keyPositions:n.properties["key-positions"].parsed,onUpdate:function(n){return function(n,e){i((0,sn.nJ)({comboIndex:n,keyPositions:e}))}(e,n)}})]})]},e)}))}),(0,E.jsx)("div",{className:h.footer,children:(0,E.jsx)(S.Z,{onClick:f,children:"Add New Combo"})})]})}wn.propTypes={};var On=wn},56803:function(n,e,r){function t(n){return function(e){e.stopPropagation(),n()}}function o(n){return function(e){n[e.key]&&n[e.key]()}}r.d(e,{s:function(){return t},w:function(){return o}})},86015:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".ho3CuFFjX1VFNZJiAyVs {\n position: relative;\n}\n\n.u9J3v5ZrIbuVICzNBkRw {\n padding: 5px;\n cursor: pointer;\n opacity: 0.5;\n color: var(--key-color-base);\n}\n.u9J3v5ZrIbuVICzNBkRw:hover {\n opacity: 1;\n}\n\n.wmqWaOx7XyKADh7Kv4RZ {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 100%);\n max-width: 250px;\n width: 100%;\n\n border-radius: 4px;\n padding: 3px 5px;\n\n color: white;\n background-color: var(--error-highlight);\n font-size: 85%;\n font-family: sans-serif;\n\n opacity: 0.9;\n}\n.wmqWaOx7XyKADh7Kv4RZ::before {\n position: absolute;\n display: block;\n content: ' ';\n z-index: -1;\n\n left: 50%;\n width: 10px;\n height: 10px;\n\n background-color: var(--error-highlight);\n transform: translate(-50%, -7px) rotate(45deg);\n}\n","",{version:3,sources:["webpack://./src/Common/editablefield.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,4BAA4B;AAC9B;AACA;EACE,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,SAAS;EACT,gCAAgC;EAChC,gBAAgB;EAChB,WAAW;;EAEX,kBAAkB;EAClB,gBAAgB;;EAEhB,YAAY;EACZ,wCAAwC;EACxC,cAAc;EACd,uBAAuB;;EAEvB,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,YAAY;EACZ,WAAW;;EAEX,SAAS;EACT,WAAW;EACX,YAAY;;EAEZ,wCAAwC;EACxC,8CAA8C;AAChD",sourcesContent:[".container {\n position: relative;\n}\n\n.edit {\n padding: 5px;\n cursor: pointer;\n opacity: 0.5;\n color: var(--key-color-base);\n}\n.edit:hover {\n opacity: 1;\n}\n\n.error {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 100%);\n max-width: 250px;\n width: 100%;\n\n border-radius: 4px;\n padding: 3px 5px;\n\n color: white;\n background-color: var(--error-highlight);\n font-size: 85%;\n font-family: sans-serif;\n\n opacity: 0.9;\n}\n.error::before {\n position: absolute;\n display: block;\n content: ' ';\n z-index: -1;\n\n left: 50%;\n width: 10px;\n height: 10px;\n\n background-color: var(--error-highlight);\n transform: translate(-50%, -7px) rotate(45deg);\n}\n"],sourceRoot:""}]),a.locals={container:"ho3CuFFjX1VFNZJiAyVs",edit:"u9J3v5ZrIbuVICzNBkRw",error:"wmqWaOx7XyKADh7Kv4RZ"},e.Z=a},78207:function(n,e,r){var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.pwXbGORsYKqyOPBm9_dW {\n padding-bottom: 60px;\n}\n\n.FDsUz791VURN5GgqawOQ, .MhI51kJR50XISY6jcLAw {\n width: 550px;\n margin: 1px auto;\n}\n.MhI51kJR50XISY6jcLAw {\n text-align: center;\n margin-top: 10px;\n padding-top: 20px;\n border-top: 2px solid var(--key-bg-base);\n}\n\n.Gy0KZGCgOeVminAfggFQ {\n cursor: pointer;\n background-color: var(--key-bg-base);\n}\n.Gy0KZGCgOeVminAfggFQ:hover {\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.Ld9cVdtpS_DpbEifyX9Y {\n background-color: var(--selection);\n}\n.Ld9cVdtpS_DpbEifyX9Y:hover {\n background-color: var(--hover-selection);\n}\n\n.mqpJ7uHAMKxvORoOIPFK {\n max-width: 450px;\n margin: 0 auto;\n}\n\n.BVucwy4AZCyl7GyivzMn {\n display: flex;\n justify-content: space-between;\n border-bottom: 2px solid var(--key-bg-base);\n margin: 5px 0;\n}\n\n.U6g0njWjBrtb_I3XhAeV {\n cursor: pointer;\n padding: 5px;\n opacity: 0.6;\n}\n.U6g0njWjBrtb_I3XhAeV:hover {\n opacity: 1;\n}\n\n.CROhsBLtunQ2BbfWdkQw {\n margin: 10px 0 40px;\n}\n\n.CROhsBLtunQ2BbfWdkQw .MhA4fXXuaZ1iPvv05w4m {\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n gap: 20px;\n}\n\n.CROhsBLtunQ2BbfWdkQw h5 {\n margin: 0;\n}\n\n.vujYcgQjiN4BGp37FMUH {\n color: var(--key-color-base);\n}\n\n.uh2yPWyfEOZtgXo2_KtU {\n color: var(--delete);\n}\n\n.NAB1EN6_pcYIy5Db9XnC {\n display: none !important;\n}\n.NAB1EN6_pcYIy5Db9XnC:hover {\n color: white;\n cursor: pointer;\n}\n.kYn8brsFgEaf61oQyv4d:hover .NAB1EN6_pcYIy5Db9XnC {\n display: flex !important;\n position: absolute;\n right: -48px;\n transform: scale(0.5);\n}\n\n.NGxnhfSJaJ9FNu3hlBfc.NAB1EN6_pcYIy5Db9XnC,\n.NGxnhfSJaJ9FNu3hlBfc.GXgG_IaQTricqThqzsKe > * {\n background-color: sandybrown;\n color: white;\n}\n.NGxnhfSJaJ9FNu3hlBfc.NAB1EN6_pcYIy5Db9XnC {\n display: flex;\n}\n\n.fljdvcebOv1gbKZpf0vW {\n margin: 10px 0;\n display: flex;\n align-items: center;\n}\n\n.fljdvcebOv1gbKZpf0vW label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.bnN6JCit0RcjdQiqzw8w {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.bnN6JCit0RcjdQiqzw8w li {\n cursor: pointer;\n display: inline-block;\n padding: 5px 10px;\n margin: 5px;\n border-radius: 30px;\n background-color: var(--key-bg-base);\n}\n.bnN6JCit0RcjdQiqzw8w li[data-selected="true"] {\n background-color: var(--selection);\n color: var(--key-color-hover);\n}\n.bnN6JCit0RcjdQiqzw8w li:hover {\n background-color: var(--hover-selection);\n color: var(--key-color-hover);\n}\n\n.NpLEYrC32KQ4rUx9hUFJ {\n background-color: var(--key-bg-base);\n border-radius: 30px;\n color: var(--key-color-base);\n font-size: 80%;\n text-align: center;\n padding: 5px;\n position: absolute;\n bottom: -40px;\n left: 50%;\n transform: translate(-50%, 0);\n width: 110%;\n\n pointer-events: none;\n transition: opacity ease-in-out .5s;\n}\n\n.l2gtE1XKS63R5TM5unip { position: relative }\n.l2gtE1XKS63R5TM5unip:hover .NpLEYrC32KQ4rUx9hUFJ { opacity: 0.25 }\n',"",{version:3,sources:["webpack://./src/Keyboard/Combos/styles.module.css"],names:[],mappings:"AAAA;EACE,oBAAoB;AACtB;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,iBAAiB;EACjB,wCAAwC;AAC1C;;AAEA;EACE,eAAe;EACf,oCAAoC;AACtC;AACA;EACE,kCAAkC;EAClC,sBAAsB;AACxB;;AAEA;EACE,kCAAkC;AACpC;AACA;EACE,wCAAwC;AAC1C;;AAEA;EACE,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,8BAA8B;EAC9B,2CAA2C;EAC3C,aAAa;AACf;;AAEA;EACE,eAAe;EACf,YAAY;EACZ,YAAY;AACd;AACA;EACE,UAAU;AACZ;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,6BAA6B;EAC7B,mBAAmB;EACnB,SAAS;AACX;;AAEA;EACE,SAAS;AACX;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,wBAAwB;AAC1B;AACA;EACE,YAAY;EACZ,eAAe;AACjB;AACA;EACE,wBAAwB;EACxB,kBAAkB;EAClB,YAAY;EACZ,qBAAqB;AACvB;;AAEA;;EAEE,4BAA4B;EAC5B,YAAY;AACd;AACA;EACE,aAAa;AACf;;AAEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,qBAAqB;EACrB,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,qBAAqB;EACrB,SAAS;EACT,UAAU;AACZ;AACA;EACE,eAAe;EACf,qBAAqB;EACrB,iBAAiB;EACjB,WAAW;EACX,mBAAmB;EACnB,oCAAoC;AACtC;AACA;EACE,kCAAkC;EAClC,6BAA6B;AAC/B;AACA;EACE,wCAAwC;EACxC,6BAA6B;AAC/B;;AAEA;EACE,oCAAoC;EACpC,mBAAmB;EACnB,4BAA4B;EAC5B,cAAc;EACd,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,6BAA6B;EAC7B,WAAW;;EAEX,oBAAoB;EACpB,mCAAmC;AACrC;;AAEA,wBAAiB,mBAAmB;AACpC,oDAAwC,cAAc",sourcesContent:['.main {\n padding-bottom: 60px;\n}\n\n.header, .footer {\n width: 550px;\n margin: 1px auto;\n}\n.footer {\n text-align: center;\n margin-top: 10px;\n padding-top: 20px;\n border-top: 2px solid var(--key-bg-base);\n}\n\n.selectable {\n cursor: pointer;\n background-color: var(--key-bg-base);\n}\n.selectable:hover {\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.highlight {\n background-color: var(--selection);\n}\n.highlight:hover {\n background-color: var(--hover-selection);\n}\n\n.comboPanel {\n max-width: 450px;\n margin: 0 auto;\n}\n\n.heading {\n display: flex;\n justify-content: space-between;\n border-bottom: 2px solid var(--key-bg-base);\n margin: 5px 0;\n}\n\n.action {\n cursor: pointer;\n padding: 5px;\n opacity: 0.6;\n}\n.action:hover {\n opacity: 1;\n}\n\n.combo {\n margin: 10px 0 40px;\n}\n\n.combo .detail {\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n gap: 20px;\n}\n\n.combo h5 {\n margin: 0;\n}\n\n.edit {\n color: var(--key-color-base);\n}\n\n.remove {\n color: var(--delete);\n}\n\n.addComboInput {\n display: none !important;\n}\n.addComboInput:hover {\n color: white;\n cursor: pointer;\n}\n.comboInputList:hover .addComboInput {\n display: flex !important;\n position: absolute;\n right: -48px;\n transform: scale(0.5);\n}\n\n.active.addComboInput,\n.active.comboInput > * {\n background-color: sandybrown;\n color: white;\n}\n.active.addComboInput {\n display: flex;\n}\n\n.field {\n margin: 10px 0;\n display: flex;\n align-items: center;\n}\n\n.field label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.layerList {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.layerList li {\n cursor: pointer;\n display: inline-block;\n padding: 5px 10px;\n margin: 5px;\n border-radius: 30px;\n background-color: var(--key-bg-base);\n}\n.layerList li[data-selected="true"] {\n background-color: var(--selection);\n color: var(--key-color-hover);\n}\n.layerList li:hover {\n background-color: var(--hover-selection);\n color: var(--key-color-hover);\n}\n\n.floatingMessage {\n background-color: var(--key-bg-base);\n border-radius: 30px;\n color: var(--key-color-base);\n font-size: 80%;\n text-align: center;\n padding: 5px;\n position: absolute;\n bottom: -40px;\n left: 50%;\n transform: translate(-50%, 0);\n width: 110%;\n\n pointer-events: none;\n transition: opacity ease-in-out .5s;\n}\n\n.comboInputMap { position: relative }\n.comboInputMap:hover .floatingMessage { opacity: 0.25 }\n'],sourceRoot:""}]),a.locals={main:"pwXbGORsYKqyOPBm9_dW",header:"FDsUz791VURN5GgqawOQ",footer:"MhI51kJR50XISY6jcLAw",selectable:"Gy0KZGCgOeVminAfggFQ",highlight:"Ld9cVdtpS_DpbEifyX9Y",comboPanel:"mqpJ7uHAMKxvORoOIPFK",heading:"BVucwy4AZCyl7GyivzMn",action:"U6g0njWjBrtb_I3XhAeV",combo:"CROhsBLtunQ2BbfWdkQw",detail:"MhA4fXXuaZ1iPvv05w4m",edit:"vujYcgQjiN4BGp37FMUH",remove:"uh2yPWyfEOZtgXo2_KtU",addComboInput:"NAB1EN6_pcYIy5Db9XnC",comboInputList:"kYn8brsFgEaf61oQyv4d",active:"NGxnhfSJaJ9FNu3hlBfc",comboInput:"GXgG_IaQTricqThqzsKe",field:"fljdvcebOv1gbKZpf0vW",layerList:"bnN6JCit0RcjdQiqzw8w",floatingMessage:"NpLEYrC32KQ4rUx9hUFJ",comboInputMap:"l2gtE1XKS63R5TM5unip"},e.Z=a}}]);
+//# sourceMappingURL=ComboEditorTab.7e5450fc7f3a3f1670ed.js.map \ No newline at end of file
diff --git a/LayerEditorTab.ecd2decea0eb86442e14.js b/LayerEditorTab.ecd2decea0eb86442e14.js
new file mode 100644
index 0000000..572e44a
--- /dev/null
+++ b/LayerEditorTab.ecd2decea0eb86442e14.js
@@ -0,0 +1,2 @@
+(self.webpackChunkapp=self.webpackChunkapp||[]).push([[6793],{72054:function(n,e,r){"use strict";r.d(e,{Z:function(){return O}});var t=r(94184),o=r.n(t),i=r(67294),a=r(45697),l=r.n(a),c=r(93379),s=r.n(c),u=r(7795),A=r.n(u),d=r(90569),p=r.n(d),f=r(3565),y=r.n(f),b=r(19216),m=r.n(b),g=r(44589),h=r.n(g),v=r(56634),C={};C.styleTagTransform=h(),C.setAttributes=y(),C.insert=p().bind(null,"head"),C.domAPI=A(),C.insertStyleElement=m(),s()(v.Z,C);var x=v.Z&&v.Z.locals?v.Z.locals:void 0,E=r(21517),j=r(64261),B=r(62092),k=r(85893);function w(n){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},w(n)}function S(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function O(n){var e,r,t,a,l,c=n.actions,s=(e=(0,j.X)(),r=4,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return S(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=s[0],A=s[2],d=s[3],p=(0,i.useRef)();return(0,E.Z)(p,A),(0,k.jsxs)("div",{ref:p,className:x.wrapper,children:[(0,k.jsx)(B.Z,{className:x.button,onClick:d,icon:"ellipsis"}),(0,k.jsx)("div",{className:o()(x.menu,(t={},a=x.open,l=u,(a=function(n){var e=function(n,e){if("object"!==w(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==w(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===w(e)?e:String(e)}(a))in t?Object.defineProperty(t,a,{value:l,enumerable:!0,configurable:!0,writable:!0}):t[a]=l,t)),children:(0,k.jsx)("ul",{children:c.map((function(n,e){return(0,k.jsx)("li",{onClick:function(){return function(n){A(),n()}(n.callback)},children:n.content},e)}))})})]})}O.propTypes={actions:l().arrayOf(l().shape({callback:l().func.isRequired,content:l().oneOfType([l().node,l().string]).isRequired})).isRequired}},97494:function(n,e,r){"use strict";r.d(e,{Z:function(){return k}});var t=r(45697),o=r.n(t),i=r(93379),a=r.n(i),l=r(7795),c=r.n(l),s=r(90569),u=r.n(s),A=r(3565),d=r.n(A),p=r(19216),f=r.n(p),y=r(44589),b=r.n(y),m=r(33988),g={};g.styleTagTransform=b(),g.setAttributes=d(),g.insert=u().bind(null,"head"),g.domAPI=c(),g.insertStyleElement=f(),a()(m.Z,g);var h=m.Z&&m.Z.locals?m.Z.locals:void 0,v=r(85893);function C(n){return C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},C(n)}var x=["validator","required","value"];function E(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function j(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?E(Object(r),!0).forEach((function(e){B(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function B(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==C(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==C(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===C(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function k(n){var e=n.validator,r=n.required,t=void 0!==r&&r,o=n.value,i=void 0===o?"":o,a=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,x),l=e(i)||!i&&t&&"cannot be empty";return(0,v.jsxs)("span",{className:h.wrapper,children:[(0,v.jsx)("input",j({type:"text",value:i},a)),l&&(0,v.jsx)("span",{className:h.error,children:l})]})}k.propTypes={value:o().any.isRequired,required:o().bool,validator:o().func}},58887:function(n,e,r){"use strict";r.d(e,{Z:function(){return A}});var t=r(94184),o=r.n(t),i=r(86322),a=r(91118),l=r(48118),c=r(85893);function s(n){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},s(n)}function u(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==s(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==s(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===s(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function A(n){var e=n.keyPositions;return(0,c.jsx)(i.i,{bindings:[],renderKey:function(n){var r,t=n.index;return(0,c.jsx)(a.Z,{selectable:!1,themeClass:o()((r={},u(r,l.Z.key,!0),u(r,l.Z.highlight,e.includes(t)),r),l.Z.keyMini)})}})}},77593:function(n,e,r){"use strict";r.d(e,{Z:function(){return C},l:function(){return x}});var t=r(78718),o=r.n(t),i=r(45697),a=r.n(i),l=r(67294),c=r(39316),s=r(95872),u=r(94995),A=r(85893);function d(n){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},d(n)}var p=["keyLayout","renderOptions","children"];function f(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function y(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?f(Object(r),!0).forEach((function(e){b(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function b(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==d(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==d(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===d(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}var m=function(n){return o()(n,["x","y"])},g=function(n){return{x:n.rx,y:n.ry,a:n.r}},h=function(n){var e=n.w,r=void 0===e?1:e,t=n.u,o=void 0===t?r:t,i=n.h;return{u:o,h:void 0===i?1:i}},v=(0,l.createContext)({});function C(n){var e=n.keyLayout,r=n.renderOptions,t=n.children,o=function(n,e){if(null==n)return{};var r,t,o=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||(o[r]=n[r]);return o}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t<i.length;t++)r=i[t],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(n,r)&&(o[r]=n[r])}return o}(n,p),i=m(e),a=g(e),u=h(e),d=(0,c.Pi)(i,u,a,r),f=(0,l.useRef)();return(0,A.jsx)("div",y(y({ref:f,className:s.Z.placer,style:d,"data-u":u.u,"data-h":u.h},o),{},{children:(0,A.jsx)(v.Provider,{value:{position:i,rotation:a,size:u,ref:f},children:t})}))}function x(){return(0,l.useContext)(v)}C.propTypes={scale:a().number,keyLayout:u.v.isRequired},C.defaultProps={scale:1}},86322:function(n,e,r){"use strict";r.d(e,{Z:function(){return y},i:function(){return b}});var t=r(45697),o=r.n(t),i=r(67294),a=r(77593),l=r(94995),c=r(20817),s=r(39316),u=r(85893);function A(n){return A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},A(n)}function d(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function p(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?d(Object(r),!0).forEach((function(e){f(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function f(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==A(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==A(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===A(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function y(n){var e=n.layout,r=n.renderKey,t=n.scale,o=n.renderOptions,l=(0,i.useContext)(c.VY),A=l.layout,d=l.layoutBbox,p=o?o.keySize/s.Cg:1,f=e||A,y=(0,i.useMemo)((function(){return{width:"".concat(t*p*(d.max.x-d.min.x),"px"),height:"".concat(t*p*(d.max.y-d.min.y),"px")}}),[t,p,d]),b=(0,i.useMemo)((function(){return{transform:"scale(".concat(t,")"),transformOrigin:0}}),[t]);return(0,u.jsx)("div",{style:y,children:(0,u.jsx)("div",{style:b,children:f.map((function(n,e){return(0,u.jsx)(a.Z,{keyLayout:n,renderOptions:o,children:r({index:e,keyLayout:n})},e)}))})})}function b(n){var e=(0,c.Z7)().renderOptions;return(0,u.jsx)(y,p(p({},n),{},{renderOptions:e}))}y.propTypes={layout:l.bK,renderKey:o().func.isRequired,scale:o().number},y.defaultProps={scale:1}},50062:function(n,e,r){"use strict";r.r(e),r.d(e,{default:function(){return Fe}});var t={};r.r(t),r.d(t,{colemak:function(){return Kn},colemakModDh:function(){return qn},dvorak:function(){return Nn},options:function(){return Yn},qwerty:function(){return Ln}});var o=r(95998),i=r(67294),a=r(97494),l=r(64261),c=r(96186),s=r(93379),u=r.n(s),A=r(7795),d=r.n(A),p=r(90569),f=r.n(p),y=r(3565),b=r.n(y),m=r(19216),g=r.n(m),h=r(44589),v=r.n(h),C=r(59500),x={};x.styleTagTransform=v(),x.setAttributes=b(),x.insert=f().bind(null,"head"),x.domAPI=d(),x.insertStyleElement=g(),u()(C.Z,x);var E=C.Z&&C.Z.locals?C.Z.locals:void 0,j=r(62417),B=r(27926),k=r(80736),w=r(85893);function S(n){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},S(n)}function O(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function P(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?O(Object(r),!0).forEach((function(e){T(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function T(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==S(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==S(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===S(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Z(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var I=function(n){var e,r,t,s=n.layerIndex,u=n.onClose,A=(0,o.I0)(),d=(0,o.v9)(k.vl)[s],p=(r=(0,i.useState)({name:d.name,label:(null===(e=d.properties.label)||void 0===e?void 0:e.parsed)||""}),t=2,function(n){if(Array.isArray(n))return n}(r)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(r,t)||function(n,e){if(n){if("string"==typeof n)return Z(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Z(n,e):void 0}}(r,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=p[0],y=p[1];return(0,w.jsx)(l.Z,{onDismiss:u,children:(0,w.jsxs)(c.Z,{dismissText:"",children:[(0,w.jsxs)("h2",{children:["Customize Layer ",(0,w.jsx)("code",{children:d.name})]}),(0,w.jsxs)("div",{children:[(0,w.jsxs)("div",{className:E.field,children:[(0,w.jsx)("label",{htmlFor:"customize-layer-name",children:"Name"}),(0,w.jsx)(a.Z,{id:"customize-layer-name",placeholder:"Default",value:f.name,validator:j.Gk,onChange:function(n){return y((function(e){return P(P({},e),{},{name:n.target.value})}))}})]}),(0,w.jsxs)("div",{className:E.field,children:[(0,w.jsx)("label",{htmlFor:"customize-layer-label",children:"Label"}),(0,w.jsx)("input",{id:"customize-layer-label",placeholder:"Default",value:f.label,onChange:function(n){return y((function(e){return P(P({},e),{},{label:n.target.value})}))}})]})]}),(0,w.jsxs)("div",{style:{textAlign:"center",gap:"5px"},children:[(0,w.jsx)(B.Z,{onClick:function(){A((0,k.vc)(P({layerIndex:s},f))),u()},children:"OK"}),(0,w.jsx)(B.Z,{onClick:u,secondary:!0,children:"Cancel"})]})]})})},D=r(45697),U=r.n(D),Y=r(72054);function L(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function K(n){var e,r=n.layerIndex,t=n.additionalActions,a=void 0===t?[]:t,l=(0,o.I0)(),c=(0,i.useMemo)((function(){return{transparentToKeypress:function(){return l((0,k.c7)({layerIndex:r}))},transparentToNone:function(){return l((0,k.sT)({layerIndex:r}))},noneToKeypress:function(){return l((0,k.UH)({layerIndex:r}))},noneToTransparent:function(){return l((0,k.v1)({layerIndex:r}))},emptyKeypressToTransparent:function(){return l((0,k.QR)({layerIndex:r}))},emptyKeypressToNone:function(){return l((0,k.En)({layerIndex:r}))}}}),[l,r]);return(0,w.jsx)(Y.Z,{actions:[].concat((e=a,function(n){if(Array.isArray(n))return L(n)}(e)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(e)||function(n,e){if(n){if("string"==typeof n)return L(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?L(n,e):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[{callback:c.transparentToKeypress,content:(0,w.jsxs)(w.Fragment,{children:["Convert ",(0,w.jsx)("code",{children:"&trans"})," to ",(0,w.jsx)("code",{children:"&kp"})]})},{callback:c.transparentToNone,content:(0,w.jsxs)(w.Fragment,{children:["Convert ",(0,w.jsx)("code",{children:"&trans"})," to ",(0,w.jsx)("code",{children:"&none"})]})},{callback:c.noneToKeypress,content:(0,w.jsxs)(w.Fragment,{children:["Convert ",(0,w.jsx)("code",{children:"&none"})," to ",(0,w.jsx)("code",{children:"&kp"})]})},{callback:c.noneToTransparent,content:(0,w.jsxs)(w.Fragment,{children:["Convert ",(0,w.jsx)("code",{children:"&none"})," to ",(0,w.jsx)("code",{children:"&trans"})]})},{callback:c.emptyKeypressToTransparent,content:(0,w.jsxs)(w.Fragment,{children:["Convert ",(0,w.jsx)("code",{children:"&kp ⦸"})," to ",(0,w.jsx)("code",{children:"&trans"})]})},{callback:c.emptyKeypressToNone,content:(0,w.jsxs)(w.Fragment,{children:["Convert ",(0,w.jsx)("code",{children:"&kp ⦸"})," to ",(0,w.jsx)("code",{children:"&none"})]})}])})}K.propTypes={layerIndex:U().number.isRequired,additionalActions:U().arrayOf(U().shape({callback:U().func.isRequired,content:U().oneOfType([U().node,U().string]).isRequired}))};var q=r(86322),N=r(82607),R=r(61953),W=r(41051),M=r(80031);function Q(){return(0,w.jsxs)("div",{style:{maxWidth:"600px",margin:"0 auto"},children:[(0,w.jsxs)("h3",{children:[(0,w.jsx)(W.Z,{name:"warning"})," ",(0,w.jsx)("span",{children:"No bindings defined"})]}),(0,w.jsxs)("p",{children:["Usually this is a parsing issue; either this layer in your keymap does not have a ",(0,w.jsx)("code",{children:"bindings"})," property, or there's a syntax problem preventing it from being parsed."]}),(0,w.jsxs)("p",{children:["You should go back and verify that the syntax looks correct before attempting to make changes in the app. (Sometimes the bindings array is missing the ",(0,w.jsx)("code",{children:">;"})," at the end)"]}),M.t6]})}var F=r(27213),H=r(94596),z=r(80671),X=r(58887),V=r(91118);function _(n){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},_(n)}function G(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function J(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?G(Object(r),!0).forEach((function(e){$(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function $(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==_(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==_(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===_(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function nn(n){return(0,w.jsx)(z.Z,J(J({},n),{},{Heading:en}))}function en(n){var e=n.bindingIndex,r=n.bindTree;return(0,w.jsxs)("div",{className:H.Z.keyBindingHeader,children:[(0,w.jsx)(X.Z,{keyPositions:[e],styleOverrides:{display:"inline-block",padding:"3px",borderRadius:"3px"},scale:.15}),(0,w.jsx)(W.Z,{name:"arrow-right"}),(0,w.jsx)(V.Z,{selectable:!1,children:(0,w.jsx)(F.Z,{value:r})})]})}function rn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function tn(n){var e,r,t=n.activeLayer,a=(0,o.I0)(),l=(0,o.v9)(k.vl)[t].properties.bindings,c=(e=(0,i.useState)(null),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return rn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?rn(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],u=c[1],A=(0,i.useCallback)((function(n,e){a((0,k.V6)({layerIndex:t,bindIndex:n,binding:e}))}),[a,t]);return null!=l&&l.parsed?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(q.Z,{renderKey:function(n){var e=n.index;return n.keyLayout,l.parsed[e]&&(0,w.jsx)(N.Z,{binding:l.parsed[e],keyWrapperProps:{className:R.Z.unified,onClick:function(n){n.stopPropagation(),u(e)}}})}}),null!==s&&(0,w.jsx)(nn,{binding:l.parsed[s],bindingIndex:s,onCancel:function(){return u(null)},onUpdate:function(n){A(s,n),u(null)}})]}):(0,w.jsx)(Q,{})}var on=r(59140),an=r(46908);function ln(n){var e=n.layerIndex,r=(0,an.Q)().setActiveTab,t=(0,o.v9)(on.Iu),a=(0,i.useMemo)((function(){return t.filter((function(n){var r,t;return(null===(r=n.properties)||void 0===r||null===(t=r["then-layer"])||void 0===t?void 0:t.parsed)===e}))}),[t,e]),l=(0,i.useCallback)((function(n){n.stopPropagation(),r(1)}),[r]);return 0===a.length?null:(0,w.jsxs)("div",{onClick:l,className:E.layerActionPrompt,children:[(0,w.jsx)(W.Z,{className:"fa-flip-horizontal ".concat(E.icon),name:"arrow-right-to-bracket"}),(0,w.jsxs)("div",{className:E.details,children:[(0,w.jsx)("span",{children:a.length})," ",(0,w.jsx)("span",{children:"conditional layer references"})]})]})}var cn=r(94184),sn=r.n(cn),un=r(50361),An=r.n(un),dn=r(2062),pn=r(45556),fn={};fn.styleTagTransform=v(),fn.setAttributes=b(),fn.insert=f().bind(null,"head"),fn.domAPI=d(),fn.insertStyleElement=g(),u()(pn.Z,fn);var yn=pn.Z&&pn.Z.locals?pn.Z.locals:void 0,bn=r(39693),mn=r.n(bn),gn=r(62029),hn=r(20817),vn=r(29709);function Cn(n,e){if(n){if("string"==typeof n)return xn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?xn(n,e):void 0}}function xn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var En={keysHeld:[],keysHeldBeforeLastRelease:[]};function jn(n){return jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},jn(n)}function Bn(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function kn(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Bn(Object(r),!0).forEach((function(e){wn(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Bn(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function wn(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==jn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==jn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===jn(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Sn(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return On(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?On(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function On(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var Pn={Alt:"ALT",Control:"CTRL",Shift:"SHFT",Meta:"GUI",ArrowUp:"UP",ArrowDown:"DOWN",ArrowLeft:"LEFT",ArrowRight:"RIGHT",Escape:"ESC",Tab:"TAB",Enter:"RET",Home:"HOME",End:"END",PageDown:"PG_DN",PageUp:"PG_UP",Backspace:"BSPC",Delete:"DEL"};function Tn(n,e){var r=e.behaviorBind,t=void 0===r?"&kp":r,o=e.defaultStart,a=void 0!==o&&o,l=(0,i.useContext)(hn.VY).bindingCount,c=Sn((0,i.useState)(a),2),s=c[0],u=c[1],A=Sn((0,i.useState)(0),2),d=A[0],p=A[1],f=(0,i.useCallback)((function(){d===l-1?(p(0),u(!1)):p(d+1)}),[d,p,l,u]),y=(0,i.useCallback)((function(e){e.value=t,n((function(n){return kn(kn({},n),{},{properties:kn(kn({},n.properties),{},{bindings:kn(kn({},n.properties.bindings),{},{parsed:(0,vn.xw)(n.properties.bindings.parsed,d,e)})})})})),f()}),[n,t,d,f]);!function(n,e){var r,t,o=(r=(0,i.useReducer)((function(n,e){switch(e.type){case"KEY_DOWN":return function(n,e){return{keysHeld:[].concat((r=n.keysHeld,function(n){if(Array.isArray(n))return xn(n)}(r)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(r)||Cn(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[e.event.key]),keysHeldBeforeLastRelease:[]};var r}(n,e);case"KEY_UP":return function(n,e){return{keysHeld:[],keysHeldBeforeLastRelease:n.keysHeld.filter((function(n){return n!==e.event.key}))}}(n,e);case"RESET":return En;default:return n}}),En),t=2,function(n){if(Array.isArray(n))return n}(r)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(r,t)||Cn(r,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[0],l=o[1],c=(0,i.useCallback)((function(n){n.repeat||(n.preventDefault(),l({type:"KEY_DOWN",event:n}))}),[l]),s=(0,i.useCallback)((function(n){a.keysHeldBeforeLastRelease.includes(n.key)||(n.preventDefault(),e(n),l({type:"KEY_UP",event:n}))}),[a.keysHeldBeforeLastRelease,e,l]);(0,i.useEffect)((function(){if(n)return document.body.addEventListener("keydown",c),document.body.addEventListener("keyup",s),function(){document.body.removeEventListener("keydown",c),document.body.removeEventListener("keyup",s)}}),[n,c,s])}(s,(0,i.useCallback)((function(n){var e=function(n){var e=function(n){return mn()([n.altKey&&"LA",n.ctrlKey&&"LC",n.metaKey&&"LG",n.shiftKey&&"LS"])}(n),r=(0,gn.mapCharacter)(n.key.toLowerCase())||function(n){var e=Pn[n.key],r=function(n){switch(n.location){case 1:return"L";case 2:return"R";default:return""}}(n);return e?{value:"&kp",params:[{value:r+e,params:[]}]}:null}(n);if(r)return{value:r.value,params:e.reduce((function(n,e){return[{value:e,params:n}]}),r.params)}}(n);e&&y(e)}),[y]));var b=(0,i.useCallback)((function(){u(!0)}),[u]),m=(0,i.useCallback)((function(){u(!1)}),[u]);return[{isActive:s,bindIndex:d},{startQuickAssignment:b,cancelQuickAssignment:m,setBindIndex:p,setBind:y}]}var Zn=r(80993),In=["ESC","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"],Dn=["N1","N2","N3","N4","N5","N6","N7","N8","N9","N0"],Un=["LCTRL","LALT","LGUI","SPACE","RGUI","RALT","RCTRL"],Yn=[{id:"qwerty",label:"QWERTY"},{id:"dvorak",label:"Dvorak"},{id:"colemak",label:"Colemak"},{id:"colemakModDh",label:"Colemak Mod-DH"}],Ln=[In,["GRAVE"].concat(Dn,["MINUS","EQUAL","BSPC"]),["TAB","Q","W","E","R","T","Y","U","I","O","P","LBKT","RBKT","BSLH"],["CAPS","A","S","D","F","G","H","J","K","L","SEMI","APOS","ENTER"],["LSHFT","Z","X","C","V","B","N","M","COMMA","DOT","FSLH","RSHFT"],Un],Kn=[In,["GRAVE"].concat(Dn,["MINUS","EQUAL","BSPC"]),["TAB","Q","W","F","P","G","J","L","U","Y","SEMI","LBKT","RBKT","BSLH"],["CAPS","A","R","S","T","D","H","N","E","I","O","APOS","ENTER"],["LSHFT","Z","X","C","V","B","K","M","COMMA","DOT","FSLH","RSHFT"],Un],qn=[In,["GRAVE"].concat(Dn,["MINUS","EQUAL","BSPC"]),["TAB","Q","W","F","P","B","J","L","U","Y","SEMI","LBKT","RBKT","BSLH"],["CAPS","A","R","S","T","G","M","N","E","I","O","APOS","ENTER"],["LSHFT","Z","X","C","V","D","K","H","COMMA","DOT","FSLH","RSHFT"],Un],Nn=[In,["GRAVE"].concat(Dn,["LBKT","RBKT","BSPC"]),["TAB","APOS","COMMA","DOT","P","Y","F","G","C","R","L","FSLH","EQUAL","BSLH"],["CAPS","A","O","E","U","I","D","H","T","N","S","MINUS","ENTER"],["LSHFT","SEMI","Q","J","K","X","B","M","W","V","Z","RSHFT"],Un];function Rn(n){return Rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Rn(n)}function Wn(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function Mn(n){var e,r,o=n.onSelect,a=(e=(0,i.useState)(Yn[0]),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return Wn(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Wn(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],c=a[1];return(0,w.jsxs)("div",{children:[(0,w.jsxs)("div",{children:["Keymap palette: ",(0,w.jsx)(Zn.Z,{value:l,options:Yn,onChange:c,getOptionValue:function(n){return n.id}})]}),(0,w.jsx)("div",{className:yn.keymapPalette,children:t[l.id].map((function(n,e){return(0,w.jsx)(Qn,{keys:n,onSelect:o},e)}))})]})}function Qn(n){var e=n.keys,r=n.onSelect;return(0,w.jsx)("div",{className:yn.keymapPaletteRow,children:e.map((function(n,e){return(0,w.jsx)(Fn,{behavior:"&kp",code:n,onSelect:r},e)}))})}function Fn(n){var e,r,t,o=n.behavior,i=n.code,a=n.onSelect,l={value:o,params:[{value:i,params:[]}]};return(0,w.jsx)(V.Z,{themeClass:sn()(yn.mini,(e={},r=yn.spacebar,t="SPACE"===i,(r=function(n){var e=function(n,e){if("object"!==Rn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Rn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Rn(e)?e:String(e)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e)),onClick:function(){return a(l)},children:(0,w.jsx)(F.Z,{hideBehavior:!0,value:l})})}var Hn=r(35937),zn=r.n(Hn),Xn=r(81485),Vn=r(77593),_n=r(49700);function Gn(n){return Gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Gn(n)}function Jn(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return $n(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?$n(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $n(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function ne(n){var e,r,t,a=n.layer,s=n.layerIndex,u=n.onClose,A=(0,o.I0)(),d=(e=(0,i.useContext)(Xn.c),r=e.behaviorParameters,t=e.sources.behaviours,(0,i.useMemo)((function(){return Object.values(zn()(t,(function(n,e){return 1===r[e].length&&"code"===r[e][0]}))).map((function(n){var e,r;return{id:n.code,label:(null===(e=n.properties)||void 0===e||null===(r=e.label)||void 0===r?void 0:r.parsed)||"",description:n.description}}))}),[t,r])),p=Jn((0,i.useState)(d[0]),2),f=p[0],y=p[1],b=Jn((0,i.useState)((function(){return An()(a)})),2),m=b[0],g=Jn(Tn(b[1],{behaviorBind:f.id,defaultStart:!0}),2),h=g[0],v=g[1];(0,i.useEffect)((function(){h.isActive||u()}),[h.isActive,u]);var C=(0,i.useCallback)((function(){A((0,k.tj)({layerIndex:s,layer:m})),u()}),[A,m,s,u]),x=(0,w.jsx)("span",{style:{display:"inline-block",fontSize:"initial",fontWeight:"normal",verticalAlign:"middle"},children:(0,w.jsx)(Zn.Z,{options:d,value:f,onChange:y,getOptionValue:function(n){return n.id},formatOptionLabel:function(n){return(0,w.jsx)("code",{title:"".concat(n.label," ").concat(n.description),children:n.id})}})});return(0,w.jsx)(l.Z,{onDismiss:u,children:(0,w.jsxs)(c.Z,{classes:[yn.quickAssignDialog],dismissText:"",children:[(0,w.jsx)("h2",{children:"Quick-assign layer keybindings"}),(0,w.jsx)("div",{style:{display:"flex",justifyContent:"center",overflow:"auto"},children:(0,w.jsx)(q.Z,{bindings:m.properties.bindings.parsed,renderKey:function(n){var e=n.index;return m.properties.bindings.parsed[e]&&(0,w.jsx)(ee,{binding:m.properties.bindings.parsed[e],selected:h.bindIndex===e,onClick:function(){return v.setBindIndex(e)}})}})}),(0,w.jsx)("div",{style:{textAlign:"center"},children:(0,w.jsx)(dn.Z,{children:(0,w.jsx)("span",{children:"Click on a different key to jump ahead or go back and correct a previous binding."})})}),(0,w.jsxs)("div",{className:yn.toolSection,children:[(0,w.jsxs)("div",{className:yn.description,children:[(0,w.jsx)("p",{children:"Set a key press binding at the highlighted position by tapping the desired key on your keyboard or by selecting from the palette of a common keymap preset to the right."}),(0,w.jsxs)("div",{children:["Use behavior: ",x]})]}),(0,w.jsx)(Mn,{onSelect:v.setBind})]}),(0,w.jsxs)(c.k,{children:[(0,w.jsx)(B.Z,{onClick:C,children:"Okay"}),(0,w.jsx)(B.Z,{secondary:!0,onClick:u,children:"Cancel"})]})]})})}function ee(n){var e,r,t,o=n.binding,a=n.selected,l=n.onClick,c=(0,Vn.l)().ref.current;return(0,i.useEffect)((function(){c&&a&&(0,_n.n)(c,{behavior:"auto",block:"center"})}),[c,a]),(0,w.jsx)(N.Z,{binding:o,keyWrapperProps:{onClick:l,selectable:!1,className:sn()(yn.quickBindKey,(e={},r=yn.quickBindKeyHighlight,t=a,(r=function(n){var e=function(n,e){if("object"!==Gn(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Gn(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Gn(e)?e:String(e)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e))}})}var re=r(64536),te=r(87694),oe={};oe.styleTagTransform=v(),oe.setAttributes=b(),oe.insert=f().bind(null,"head"),oe.domAPI=d(),oe.insertStyleElement=g(),u()(te.Z,oe);var ie=te.Z&&te.Z.locals?te.Z.locals:void 0;function ae(n){var e=n.children;return(0,w.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",className:ie.curvedText,children:[(0,w.jsx)("path",{id:"curve",d:"M 10 40 A 30 30 0 0 1 70 40",fill:"none",stroke:"none"}),(0,w.jsx)("text",{className:R.Z["behaviour-binding"],style:{textAnchor:"middle",opacity:.8},children:(0,w.jsx)("textPath",{xlinkHref:"#curve",startOffset:"50%",children:e})})]})}function le(n){return le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},le(n)}function ce(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function se(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ce(Object(r),!0).forEach((function(e){ue(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):ce(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function ue(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==le(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==le(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===le(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Ae(n){var e=n.binding,r=n.keyWrapperProps,t=void 0===r?{}:r;return(0,w.jsxs)(V.Z,se(se({themeClass:ie.encoder},t),{},{children:[(0,w.jsx)(F.Z,{value:e,hideBehavior:!0}),(0,w.jsx)(ae,{children:e.value})]}))}function de(n){return de="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},de(n)}function pe(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function fe(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?pe(Object(r),!0).forEach((function(e){ye(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):pe(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function ye(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==de(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==de(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===de(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}Ae.propTypes={binding:re.U4.isRequired,keyWrapperProps:U().any};var be=function(n){return n.keyboard.sensors};function me(n){return(0,w.jsx)(z.Z,fe(fe({},n),{},{Heading:ge,context:"encoders"}))}function ge(n){var e=n.bindingIndex,r=n.bindTree,t=(0,o.v9)(be)[e],i=t.label||t.identifier;return(0,w.jsxs)("div",{className:H.Z.keyBindingHeader,children:[(0,w.jsxs)("h2",{children:["Set ",(0,w.jsx)("code",{children:i})," bindings"]}),(0,w.jsx)(Ae,{binding:r,keyWrapperProps:{selectable:!1}})]})}function he(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function ve(n){var e,r,t=n.layerIndex,a=n.layer,l=n.sensors,c=(0,o.I0)(),s=(e=(0,i.useState)(null),r=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(e,r)||function(n,e){if(n){if("string"==typeof n)return he(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?he(n,e):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=s[0],A=s[1],d=(a.properties["sensor-bindings"]||{}).parsed,p=void 0===d?[]:d,f=p,y=(0,i.useCallback)((function(n){c((0,k.zi)({layerIndex:t,sensorIndex:u,bindings:n})),A(null)}),[t,u,A,c]);function b(n,e){c((0,k.zi)({layerIndex:t,sensorIndex:n,bindings:e}))}return(0,w.jsxs)("div",{style:{margin:"0 0 30px"},children:[(0,w.jsx)("h3",{children:"Sensor bindings"}),(0,w.jsx)("div",{style:{display:"flex",flexDirection:"row",gap:"25px"},children:l.map((function(n,e){return(0,w.jsx)(Ce,{index:e,sensor:n,binding:f[e],canAdd:void 0===f[e]&&f.length===e,canDelete:void 0!==f[e]&&f.length===e+1,onUpdate:b,onEdit:function(){return A(e)}},e)}))}),null!==u&&(0,w.jsx)(me,{binding:p[u],bindingIndex:u,onCancel:function(){return A(null)},onUpdate:y})]})}function Ce(n){var e=n.sensor,r=n.binding,t=n.index,o=n.onUpdate,a=n.canAdd,l=n.canDelete,c=n.onEdit,s=e.label||e.identifier,u=(null==r?void 0:r.value)||"&inc_dec_kp",A=(null==r?void 0:r.params)||[{value:0,_isPlaceholder:!0,params:[]},{value:0,_isPlaceholder:!0,params:[]}],d=(0,i.useCallback)((function(){o(t,void 0)}),[t,o]),p=(0,i.useCallback)((function(){o(t,{value:"&inc_dec_kp",params:[{value:0,_isPlaceholder:!0,params:[]},{value:0,_isPlaceholder:!0,params:[]}]})}),[t,o]);return(0,w.jsxs)("div",{className:E.sensor,"data-unbound":!r,children:[(0,w.jsxs)("label",{style:{fontVariant:"small-caps",fontSize:"90%"},children:[(0,w.jsx)("code",{children:s}),l&&(0,w.jsx)(W.Z,{name:"trash-can",title:"Remove sensor binding from this layer",className:E.deleteSensorBinding,onClick:d})]}),r&&(0,w.jsx)(Ae,{binding:r||{value:u,params:A},keyWrapperProps:{onClick:c}}),a&&(0,w.jsx)(V.Z,{onClick:p,title:"Add sensor binding to this layer",themeClass:sn()(ie.encoder,E.addSensorBinding),children:(0,w.jsx)(W.Z,{name:"add"})})]})}var xe="Rapidly set keycode bindings by typing or clicking";function Ee(n){var e=n.layerIndex,r=n.onOpen,t=(0,o.v9)(k.vl)[e];return(0,i.useMemo)((function(){return function(n){var e,r=(null===(e=n.properties.bindings)||void 0===e?void 0:e.parsed)||[];return r.filter((function(n){return"&trans"===n.value})).length/r.length>=.95}(t)}),[t])?(0,w.jsxs)("div",{title:xe,onClick:r,className:E.layerActionPrompt,open:!0,children:[(0,w.jsx)(W.Z,{className:E.icon,name:"keyboard"}),(0,w.jsx)("div",{className:E.details,children:(0,w.jsx)("em",{children:"Quick Assign"})})]}):null}function je(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return Be(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Be(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Be(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}var ke=function(n){return n.keyboard.sensors};function we(n){var e=n.layer,r=n.layerIndex,t=(n.isActiveLayer,(0,o.v9)(ke)),a=je((0,i.useState)(!1),2),l=a[0],c=a[1],s=je((0,i.useState)(!1),2),u=s[0],A=s[1],d=(0,i.useCallback)((function(){return c(!0)}),[c]),p=(0,i.useCallback)((function(){return A(!0)}),[A]),f=(0,i.useCallback)((function(){return A(!1)}),[A]),y=(0,i.useMemo)((function(){return[{callback:d,content:"Change Configuration"},{callback:p,content:(0,w.jsxs)(w.Fragment,{children:["Quick ",(0,w.jsx)("code",{children:"&kp"})," Assignment"]})}]}),[d,p]);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)("div",{className:E.layerWrapper,children:[(0,w.jsx)(Se,{layer:e,layerIndex:r,additionalActions:y,openQuickAssign:p}),(0,w.jsx)(tn,{activeLayer:r}),(0,w.jsx)("div",{className:E.sensors,"data-sensor-count":t.length,children:(0,w.jsx)(ve,{sensors:t,layerIndex:r,layer:e})})]}),l&&(0,w.jsx)(I,{layerIndex:r,onClose:function(){return c(!1)}}),u&&(0,w.jsx)(ne,{layer:e,layerIndex:r,onClose:f})]})}function Se(n){var e=n.layer,r=n.layerIndex,t=n.additionalActions,o=n.openQuickAssign;return(0,w.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"5px"},children:[(0,w.jsx)("h3",{children:e.name}),(0,w.jsx)(ln,{layerIndex:r}),(0,w.jsx)(K,{layerIndex:r,additionalActions:t}),(0,w.jsx)(Ee,{layerIndex:r,onOpen:o})]})}var Oe=r(30341),Pe={};Pe.styleTagTransform=v(),Pe.setAttributes=b(),Pe.insert=f().bind(null,"head"),Pe.domAPI=d(),Pe.insertStyleElement=g(),u()(Oe.Z,Pe);var Te=Oe.Z&&Oe.Z.locals?Oe.Z.locals:void 0,Ze=r(56803),Ie=r(50868),De=r(18311);function Ue(n){return Ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ue(n)}function Ye(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function Le(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ye(Object(r),!0).forEach((function(e){Ke(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Ye(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function Ke(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==Ue(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==Ue(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===Ue(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function qe(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var r=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=r){var t,o,i,a,l=[],c=!0,s=!1;try{if(i=(r=r.call(n)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(t=i.call(r)).done)&&(l.push(t.value),l.length!==e);c=!0);}catch(n){s=!0,o=n}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return Ne(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ne(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ne(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}function Re(n){var e=n.activeLayer,r=n.onSelect,t=(0,i.useRef)(null),a=(0,o.I0)(),l=(0,i.useContext)(hn.VY).bindingCount,c=(0,i.useContext)(Xn.c),s=(0,i.useContext)(De.v),u=(0,o.v9)(k.vl),A=(0,i.useCallback)((function(n){r(n)}),[r]),d=(0,i.useCallback)((function(){a((0,k.Xv)({bindingCount:l})),r(u.length)}),[a,l,r,u]),p=(0,i.useMemo)((function(){return function(n){var e=u[n].name;window.confirm("Really delete layer: ".concat(e,"?"))&&(a((0,k.Q)({index:n})),a((0,Ie.fD)(n,null,u,c,s)))}}),[u,a,c,s]),f=(0,i.useCallback)((function(n,e){n.stopPropagation();var r=e.dragIndex,t=e.dropIndex;r!==t&&(a((0,k.WF)({currentIndex:r,targetIndex:t})),a((0,Ie.fD)(r,t,u,c,s)))}),[u,a,c,s]),y=function(n){var e=qe((0,i.useState)({dragIndex:null,dropIndex:null}),2),r=e[0],t=r.dragIndex,o=r.dropIndex,a=e[1],l=(0,i.useCallback)((function(n){return n.preventDefault()}),[]),c=(0,i.useCallback)((function(n){var e=Number(n.target.dataset.slotIndex);a({dragIndex:e,dropIndex:null})}),[a]),s=(0,i.useCallback)((function(n){a((function(e){return null===e.dropIndex&&n.stopPropagation(),{dragIndex:null,dropIndex:null}}))}),[a]),u=(0,i.useCallback)((function(n){n.preventDefault();var e=Number(n.target.dataset.dropPosition);a((function(n){return Le(Le({},n),{},{dropIndex:e})}))}),[a]),A=(0,i.useCallback)((function(n){var e=Number(n.target.dataset.dropPosition);a((function(n){return Le(Le({},n),{},{dropIndex:n.dropIndex===e?null:n.dropIndex})}))}),[a]),d=(0,i.useCallback)((function(e){n(e,{dragIndex:t,dropIndex:o}),a({dragIndex:null,dropIndex:null})}),[t,o,a,n]);return[{isDragging:null!==t,dragIndex:t,dropIndex:o},{handleDragStart:c,handleDragEnd:s,handleDragEnter:u,handleDragLeave:A,handleDragOver:l,handleDrop:d}]}(f),b=qe(y,2),m=b[0],g=b[1];return(0,w.jsx)("div",{className:Te.layerSelector,ref:t,children:(0,w.jsxs)("ul",{"data-dragging":m.isDragging,children:[u.map((function(n,r){return(0,w.jsxs)("li",{className:e===r?Te.active:"","data-slot-index":r,draggable:!0,onDragStart:g.handleDragStart,onDragEnd:g.handleDragEnd,onDrop:g.handleDrop,children:[(0,w.jsx)("div",{className:mn()([Te.dropper,m.dropIndex===r&&Te.dropTarget]).join(" "),"data-drop-position":r,onDragEnter:g.handleDragEnter,onDragOver:g.handleDragOver,onDragLeave:g.handleDragLeave,onDrop:g.handleDrop}),(0,w.jsxs)("div",{onClick:function(){return A(r)},className:mn()([Te.layer,m.dragIndex===r&&Te.dragging,m.isDragging&&m.dropIndex!==m.dragIndex&&m.dropIndex!==m.dragIndex+1&&null!==m.dropIndex&&r>=m.dropIndex&&Te.displaced]).join(" "),children:[(0,w.jsx)("span",{className:Te.index,children:r}),(0,w.jsxs)("span",{className:Te.name,children:[n.name,(0,w.jsx)(W.Z,{name:"times-circle",className:Te.delete,onClick:(0,Ze.s)((function(){return p(r)}))})]})]})]},"slot-".concat(r))})),m.isDragging&&m.dragIndex<u.length-1&&(0,w.jsx)("li",{"data-slot-index":u.length,onDragEnd:g.handleDragEnd,onDrop:g.handleDrop,children:(0,w.jsx)("div",{className:mn()([Te.dropper,m.dropIndex===u.length&&Te.dropTarget]).join(" "),"data-drop-position":u.length,onDragEnter:g.handleDragEnter,onDragOver:g.handleDragOver,onDragLeave:g.handleDragLeave,onDrop:g.handleDrop})},"slot-".concat(u.length)),!m.isDragging&&(0,w.jsx)("li",{onClick:d,children:(0,w.jsxs)("div",{className:Te.layer,children:[(0,w.jsx)(W.Z,{className:Te.index,name:"plus"}),(0,w.jsx)("span",{className:Te.name,children:"Add Layer"})]})})]})})}Re.propTypes={activeLayer:U().number.isRequired,onSelect:U().func.isRequired};var We=Re;function Me(){var n=(0,o.I0)(),e=(0,i.useContext)(hn.VY).bindingCount;return(0,w.jsxs)("div",{style:{textAlign:"center"},children:[(0,w.jsx)("h3",{children:"No keymap layers defined"}),(0,w.jsx)(B.Z,{onClick:function(){return n((0,k.Xv)({bindingCount:e}))},children:"Add layer"})]})}var Qe=function(n){return n.navigation.activeLayer},Fe=function(){var n=(0,o.v9)(k.vl),e=(0,o.v9)(Qe),r=(0,o.I0)(),t=Math.max(0,Math.min(e,n.length-1));return 0===n.length?(0,w.jsx)(Me,{}):(0,w.jsxs)("div",{className:E.container,children:[(0,w.jsx)(We,{activeLayer:t,onSelect:function(n){return r(function(n){return{type:"SWITCH_LAYER",payload:{index:n}}}(n))}}),(0,w.jsx)(we,{layer:n[t],layerIndex:t,isActiveLayer:!0})]})}},94995:function(n,e,r){"use strict";r.d(e,{bK:function(){return p},v:function(){return d}});var t=r(45697),o=r.n(t);function i(n){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},i(n)}function a(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.push.apply(r,t)}return r}function l(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(Object(r),!0).forEach((function(e){c(n,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}))}return n}function c(n,e,r){return(e=function(n){var e=function(n,e){if("object"!==i(n)||null===n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var t=r.call(n,"string");if("object"!==i(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"===i(e)?e:String(e)}(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}var s={x:o().number.isRequired,y:o().number.isRequired},u={a:o().number,rx:o().number,ry:o().number},A={u:o().number,h:o().number},d=o().shape(l(l(l({},s),u),A)),p=o().arrayOf(d)},56803:function(n,e,r){"use strict";function t(n){return function(e){e.stopPropagation(),n()}}function o(n){return function(e){n[e.key]&&n[e.key]()}}r.d(e,{s:function(){return t},w:function(){return o}})},29709:function(n,e,r){"use strict";function t(n){return function(n){if(Array.isArray(n))return o(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return o(n,e);var r=Object.prototype.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=n[r];return t}r.d(e,{f5:function(){return i},xE:function(){return l},xw:function(){return a}});var i=function(n,e){return[].concat(t(n.slice(0,e)),t(n.slice(e+1)))},a=function(n,e,r){return[].concat(t(n.slice(0,e)),[r],t(n.slice(e+1)))};function l(n,e,r){return-1===r?[].concat(t(n.filter((function(n,r){return r!==e}))),[n[e]]):n.reduce((function(t,o,i){return i===r&&t.push(n[e]),i!==e&&t.push(o),t}),[])}},56634:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".Jzs3iq1rDP5C8GJijmFR {\n position: relative;\n}\n\n.NaSZTgWxjXTcejbI5OvU {\n border: none;\n background: none;\n}\n.NaSZTgWxjXTcejbI5OvU:hover {\n cursor: pointer;;\n}\n\n.jThiLc5_BrUyl71v3rKn {\n display: inline-block;\n position: absolute;\n top: 100%;\n left: 0;\n width: max-content;\n z-index: 1;\n font-size: 70%;\n padding: 5px 10px;\n\n border-radius: 4px;\n}\n\n.jThiLc5_BrUyl71v3rKn p {\n display: inline-block;\n cursor: pointer;\n margin: 0;\n}\n\n.jThiLc5_BrUyl71v3rKn ul {\n display: none;\n}\n.jThiLc5_BrUyl71v3rKn.xG2GKlsc07jLEb2aMC6H {\n background: var(--dialog-bg, var(--bg));\n box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);\n}\n.jThiLc5_BrUyl71v3rKn.xG2GKlsc07jLEb2aMC6H ul {\n display: block;\n padding: 0;\n margin: 0;\n list-style-type: none;\n}\n\n.jThiLc5_BrUyl71v3rKn li {\n cursor: pointer;\n margin: 2px 0;\n line-height: 20px;\n padding: 0 5px;\n border-radius: 10px;\n}\n\n.jThiLc5_BrUyl71v3rKn li:hover {\n background-color: var(--hover-selection);\n color: white;\n}\n","",{version:3,sources:["webpack://./src/Common/action-menu.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,eAAe;AACjB;;AAEA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,kBAAkB;EAClB,UAAU;EACV,cAAc;EACd,iBAAiB;;EAEjB,kBAAkB;AACpB;;AAEA;EACE,qBAAqB;EACrB,eAAe;EACf,SAAS;AACX;;AAEA;EACE,aAAa;AACf;AACA;EACE,uCAAuC;EACvC,8CAA8C;AAChD;AACA;EACE,cAAc;EACd,UAAU;EACV,SAAS;EACT,qBAAqB;AACvB;;AAEA;EACE,eAAe;EACf,aAAa;EACb,iBAAiB;EACjB,cAAc;EACd,mBAAmB;AACrB;;AAEA;EACE,wCAAwC;EACxC,YAAY;AACd",sourcesContent:[".wrapper {\n position: relative;\n}\n\n.button {\n border: none;\n background: none;\n}\n.button:hover {\n cursor: pointer;;\n}\n\n.menu {\n display: inline-block;\n position: absolute;\n top: 100%;\n left: 0;\n width: max-content;\n z-index: 1;\n font-size: 70%;\n padding: 5px 10px;\n\n border-radius: 4px;\n}\n\n.menu p {\n display: inline-block;\n cursor: pointer;\n margin: 0;\n}\n\n.menu ul {\n display: none;\n}\n.menu.open {\n background: var(--dialog-bg, var(--bg));\n box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);\n}\n.menu.open ul {\n display: block;\n padding: 0;\n margin: 0;\n list-style-type: none;\n}\n\n.menu li {\n cursor: pointer;\n margin: 2px 0;\n line-height: 20px;\n padding: 0 5px;\n border-radius: 10px;\n}\n\n.menu li:hover {\n background-color: var(--hover-selection);\n color: white;\n}\n"],sourceRoot:""}]),a.locals={wrapper:"Jzs3iq1rDP5C8GJijmFR",button:"NaSZTgWxjXTcejbI5OvU",menu:"jThiLc5_BrUyl71v3rKn",open:"xG2GKlsc07jLEb2aMC6H"},e.Z=a},33988:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,".OaJISbD1WCmb03at77EG {\n position: relative;\n}\n\n.MUN9De8dUvbPGH9cEDoQ {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 100%);\n max-width: 250px;\n width: 100%;\n\n border-radius: 4px;\n padding: 3px 5px;\n\n color: white;\n background-color: var(--error-highlight);\n font-size: 85%;\n font-family: sans-serif;\n\n opacity: 0.9;\n}\n.MUN9De8dUvbPGH9cEDoQ::before {\n position: absolute;\n display: block;\n content: ' ';\n z-index: -1;\n\n left: 50%;\n width: 10px;\n height: 10px;\n\n background-color: var(--error-highlight);\n transform: translate(-50%, -7px) rotate(45deg);\n}\n","",{version:3,sources:["webpack://./src/Common/input.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,SAAS;EACT,gCAAgC;EAChC,gBAAgB;EAChB,WAAW;;EAEX,kBAAkB;EAClB,gBAAgB;;EAEhB,YAAY;EACZ,wCAAwC;EACxC,cAAc;EACd,uBAAuB;;EAEvB,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,cAAc;EACd,YAAY;EACZ,WAAW;;EAEX,SAAS;EACT,WAAW;EACX,YAAY;;EAEZ,wCAAwC;EACxC,8CAA8C;AAChD",sourcesContent:[".wrapper {\n position: relative;\n}\n\n.error {\n position: absolute;\n z-index: 10;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 100%);\n max-width: 250px;\n width: 100%;\n\n border-radius: 4px;\n padding: 3px 5px;\n\n color: white;\n background-color: var(--error-highlight);\n font-size: 85%;\n font-family: sans-serif;\n\n opacity: 0.9;\n}\n.error::before {\n position: absolute;\n display: block;\n content: ' ';\n z-index: -1;\n\n left: 50%;\n width: 10px;\n height: 10px;\n\n background-color: var(--error-highlight);\n transform: translate(-50%, -7px) rotate(45deg);\n}\n"],sourceRoot:""}]),a.locals={wrapper:"OaJISbD1WCmb03at77EG",error:"MUN9De8dUvbPGH9cEDoQ"},e.Z=a},49040:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.lD5TsvdIbEAHNdmhfnlb {\n background-color: var(--key-bg-base);\n}\n.yk89E4zK9zlO69OXhKn5:hover {\n cursor: pointer;\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.pzTvsxKjpy6MqcFhxh9j {\n background-color: var(--selection);\n}\n.pzTvsxKjpy6MqcFhxh9j:hover {\n background-color: var(--hover-selection);\n}\n\n.r_Sdklnj57CE2ZjnBDw6 {\n background-color: var(--hover-selection);\n filter: brightness(135%);\n}\n\n.Ich9T1nSzHs1a84insfp {\n background-color: var(--hover-selection);\n filter: brightness(75%);\n}\n\n._3U1zi1J1sXT41AzpAA1j {\n position: absolute;\n bottom: 0;\n right: 50%;\n transform: translate(50%, 100%);\n}\n\n.f38_8PxgThEPWT2hn3qF {\n border-radius: 1px;\n}\n\n@media not (prefers-color-scheme: dark) {\n body:not([data-theme="dark"]) .f38_8PxgThEPWT2hn3qF:not(.pzTvsxKjpy6MqcFhxh9j) {\n filter:brightness(95%);\n }\n}',"",{version:3,sources:["webpack://./src/Keyboard/Common/keyPositionSelectorStyles.module.css"],names:[],mappings:"AAAA;EACE,oCAAoC;AACtC;AACA;EACE,eAAe;EACf,kCAAkC;EAClC,sBAAsB;AACxB;;AAEA;EACE,kCAAkC;AACpC;AACA;EACE,wCAAwC;AAC1C;;AAEA;EACE,wCAAwC;EACxC,wBAAwB;AAC1B;;AAEA;EACE,wCAAwC;EACxC,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,+BAA+B;AACjC;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE;IACE,sBAAsB;EACxB;AACF",sourcesContent:['.key {\n background-color: var(--key-bg-base);\n}\n.selectable:hover {\n cursor: pointer;\n border: 4px solid var(--selection);\n box-sizing: border-box;\n}\n\n.highlight {\n background-color: var(--selection);\n}\n.highlight:hover {\n background-color: var(--hover-selection);\n}\n\n.previewAdd {\n background-color: var(--hover-selection);\n filter: brightness(135%);\n}\n\n.previewRemove {\n background-color: var(--hover-selection);\n filter: brightness(75%);\n}\n\n.tip {\n position: absolute;\n bottom: 0;\n right: 50%;\n transform: translate(50%, 100%);\n}\n\n.keyMini {\n border-radius: 1px;\n}\n\n@media not (prefers-color-scheme: dark) {\n body:not([data-theme="dark"]) .keyMini:not(.highlight) {\n filter:brightness(95%);\n }\n}'],sourceRoot:""}]),a.locals={key:"lD5TsvdIbEAHNdmhfnlb",selectable:"yk89E4zK9zlO69OXhKn5",highlight:"pzTvsxKjpy6MqcFhxh9j",previewAdd:"r_Sdklnj57CE2ZjnBDw6",previewRemove:"Ich9T1nSzHs1a84insfp",tip:"_3U1zi1J1sXT41AzpAA1j",keyMini:"f38_8PxgThEPWT2hn3qF"},e.Z=a},87694:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i),l=r(2),c=a()(o());c.i(l.Z,"",!0),c.push([n.id,"svg.mHwtgLgRyOKZxgCygVr1 {\n\tposition: absolute;\n\ttop: -2px;\n\tleft: 0;\n\tfill: var(--key-color-base);\n\tdisplay: block;\n\twidth: 80px;\n\theight: 80px;\n\tfont-size: 10px;\n\tpointer-events: none;\n}\nsvg.mHwtgLgRyOKZxgCygVr1 * {\n\tpointer-events: initial;\n}\n\n.sMh70qqZgwLOUFa2MhLd {\n\twidth: 80px;\n\theight: 80px;\n\tborder-radius: 100%;\n\tbackground-color: var(--key-bg-base);\n\tcolor: var(--key-color-base);\n}\n\n."+l.Z.locals.key+"."+l.Z.locals.selectable+" {\n\tcursor: pointer;\n}\n."+l.Z.locals.key+"."+l.Z.locals.selectable+":hover ."+l.Z.locals["behaviour-binding"]+" {\n\tfill: var(--key-color-hover);\n}\n\n.sMh70qqZgwLOUFa2MhLd ."+l.Z.locals.params+'[data-is-root="true"] {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.sMh70qqZgwLOUFa2MhLd .'+l.Z.locals.params+'[data-is-root="true"] .'+l.Z.locals.param+':first-child::before {\n\tcontent: "⟳";\n\tfont-size: 140%;\n\tfont-weight: bold;\n}\n.sMh70qqZgwLOUFa2MhLd .'+l.Z.locals.params+'[data-is-root="true"] .'+l.Z.locals.param+':nth-child(2)::before {\n\tcontent: "⟲";\n\tfont-size: 140%;\n\tfont-weight: bold;\n}\n.sMh70qqZgwLOUFa2MhLd.'+l.Z.locals.selectable+":hover ."+l.Z.locals.params+'[data-is-root="true"] .'+l.Z.locals.param+":first-child::before,\n.sMh70qqZgwLOUFa2MhLd."+l.Z.locals.selectable+":hover ."+l.Z.locals.params+'[data-is-root="true"] .'+l.Z.locals.param+":nth-child(2)::before {\n\tcolor: white;\n}\n","",{version:3,sources:["webpack://./src/Keyboard/Encoders/styles.module.css"],names:[],mappings:"AAQA;CACC,kBAAkB;CAClB,SAAS;CACT,OAAO;CACP,2BAA2B;CAC3B,cAAc;CACd,WAAW;CACX,YAAY;CACZ,eAAe;CACf,oBAAoB;AACrB;AACA;CACC,uBAAuB;AACxB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,oCAAoC;CACpC,4BAA4B;AAC7B;;AAEA;CACC,eAAe;AAChB;AACA;CACC,4BAA4B;AAC7B;;AAEA;CACC,aAAa;CACb,sBAAsB;AACvB;AACA;CACC,YAAY;CACZ,eAAe;CACf,iBAAiB;AAClB;AACA;CACC,YAAY;CACZ,eAAe;CACf,iBAAiB;AAClB;AACA;;CAEC,YAAY;AACb",sourcesContent:[':import("../Keys/styles.module.css") {\n\tkey: key;\n\tselectable: selectable;\n\tbehaviour-binding: behaviour-binding;\n params: params;\n param: param;\n}\n\nsvg.curvedText {\n\tposition: absolute;\n\ttop: -2px;\n\tleft: 0;\n\tfill: var(--key-color-base);\n\tdisplay: block;\n\twidth: 80px;\n\theight: 80px;\n\tfont-size: 10px;\n\tpointer-events: none;\n}\nsvg.curvedText * {\n\tpointer-events: initial;\n}\n\n.encoder {\n\twidth: 80px;\n\theight: 80px;\n\tborder-radius: 100%;\n\tbackground-color: var(--key-bg-base);\n\tcolor: var(--key-color-base);\n}\n\n.key.selectable {\n\tcursor: pointer;\n}\n.key.selectable:hover .behaviour-binding {\n\tfill: var(--key-color-hover);\n}\n\n.encoder .params[data-is-root="true"] {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n.encoder .params[data-is-root="true"] .param:first-child::before {\n\tcontent: "⟳";\n\tfont-size: 140%;\n\tfont-weight: bold;\n}\n.encoder .params[data-is-root="true"] .param:nth-child(2)::before {\n\tcontent: "⟲";\n\tfont-size: 140%;\n\tfont-weight: bold;\n}\n.encoder.selectable:hover .params[data-is-root="true"] .param:first-child::before,\n.encoder.selectable:hover .params[data-is-root="true"] .param:nth-child(2)::before {\n\tcolor: white;\n}\n'],sourceRoot:""}]),c.locals={curvedText:"mHwtgLgRyOKZxgCygVr1",encoder:"sMh70qqZgwLOUFa2MhLd"},e.Z=c},45556:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i),l=r(87995),c=r(2),s=a()(o());s.i(l.Z,"",!0),s.i(c.Z,"",!0),s.push([n.id,"."+l.Z.locals.placer+" {\n scroll-margin: 40px;\n}\n.wbULZuqr8zmHnhI2QjaR:not(.pjTygs0eyLHe1G3Xw6JL) {\n cursor: pointer;\n}\n.pjTygs0eyLHe1G3Xw6JL {\n outline: 3px solid var(--selection);\n}\n\n.wbULZuqr8zmHnhI2QjaR:hover {\n color: var(--key-color-hover);\n background-color: var(--selection);\n}\n.wbULZuqr8zmHnhI2QjaR:hover {\n background-color: var(--hover-selection);\n}\n\n.xwgaptE1umBWGQIj_42K {\n max-width: 80vw;\n overflow-x: scroll;\n}\n\n.DQQq3MXERdVlb6r3DssI {\n display: flex;\n justify-content: center;\n gap: 30px;\n margin: 20px 0;\n}\n\n.xwgaptE1umBWGQIj_42K .oEZv6H105FHPPebrlLkA {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n align-items: flex-start;\n max-width: 40%;\n border-radius: 4px;\n background-color: var(--code-bg);\n padding: 40px 50px;\n}\n\n.xwgaptE1umBWGQIj_42K .oEZv6H105FHPPebrlLkA p {\n font-size: 120%;\n line-height: 1.3em;\n margin: 0\n}\n\n.RQku2XjoFau46LS8EdwH {\n display: flex;\n flex-direction: column;\n gap: 5px;\n margin: 5px 0;\n}\n\n.zAlG1X0UmQPAE8EMk9ja {\n display: flex;\n gap: 5px;\n}\n\n.ar3OaRDoQPDf4u9YY0mP {\n\n\twidth: 30px;\n\theight: 30px;\n\tfont-size: 80%;\n}\n.ar3OaRDoQPDf4u9YY0mP.ADEbrNebJWbSIrZIch0I {\n width: 205px\n}\n.ar3OaRDoQPDf4u9YY0mP:hover {\n cursor: pointer;\n}\n","",{version:3,sources:["webpack://./src/Keyboard/Layers/QuickAssign/styles.module.css"],names:[],mappings:"AAIA;EACE,mBAAmB;AACrB;AACA;EACE,eAAe;AACjB;AACA;EACE,mCAAmC;AACrC;;AAEA;EACE,6BAA6B;EAC7B,kCAAkC;AACpC;AACA;EACE,wCAAwC;AAC1C;;AAEA;EACE,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,uBAAuB;EACvB,SAAS;EACT,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,6BAA6B;EAC7B,uBAAuB;EACvB,cAAc;EACd,kBAAkB;EAClB,gCAAgC;EAChC,kBAAkB;AACpB;;AAEA;EACE,eAAe;EACf,kBAAkB;EAClB;AACF;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,QAAQ;EACR,aAAa;AACf;;AAEA;EACE,aAAa;EACb,QAAQ;AACV;;AAEA;;CAGC,WAAW;CACX,YAAY;CACZ,cAAc;AACf;AACA;EACE;AACF;AACA;EACE,eAAe;AACjB",sourcesContent:[":import(\"../../styles.module.css\") {\n placer: placer;\n}\n\n.placer {\n scroll-margin: 40px;\n}\n.quickBindKey:not(.quickBindKeyHighlight) {\n cursor: pointer;\n}\n.quickBindKeyHighlight {\n outline: 3px solid var(--selection);\n}\n\n.quickBindKey:hover {\n color: var(--key-color-hover);\n background-color: var(--selection);\n}\n.quickBindKey:hover {\n background-color: var(--hover-selection);\n}\n\n.quickAssignDialog {\n max-width: 80vw;\n overflow-x: scroll;\n}\n\n.toolSection {\n display: flex;\n justify-content: center;\n gap: 30px;\n margin: 20px 0;\n}\n\n.quickAssignDialog .description {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n align-items: flex-start;\n max-width: 40%;\n border-radius: 4px;\n background-color: var(--code-bg);\n padding: 40px 50px;\n}\n\n.quickAssignDialog .description p {\n font-size: 120%;\n line-height: 1.3em;\n margin: 0\n}\n\n.keymapPalette {\n display: flex;\n flex-direction: column;\n gap: 5px;\n margin: 5px 0;\n}\n\n.keymapPaletteRow {\n display: flex;\n gap: 5px;\n}\n\n.mini {\n composes: keyDefaultTheme from '../../Keys/styles.module.css';\n\n\twidth: 30px;\n\theight: 30px;\n\tfont-size: 80%;\n}\n.mini.spacebar {\n width: 205px\n}\n.mini:hover {\n cursor: pointer;\n}\n"],sourceRoot:""}]),s.locals={quickBindKey:"wbULZuqr8zmHnhI2QjaR",quickBindKeyHighlight:"pjTygs0eyLHe1G3Xw6JL",quickAssignDialog:"xwgaptE1umBWGQIj_42K",toolSection:"DQQq3MXERdVlb6r3DssI",description:"oEZv6H105FHPPebrlLkA",keymapPalette:"RQku2XjoFau46LS8EdwH",keymapPaletteRow:"zAlG1X0UmQPAE8EMk9ja",mini:"ar3OaRDoQPDf4u9YY0mP "+c.Z.locals.keyDefaultTheme,spacebar:"ADEbrNebJWbSIrZIch0I"},e.Z=s},30341:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.JeRmYfUKXTg9VqWZshKO {\n pointer-events: none;\n z-index: 2;\n opacity: 0.75;\n margin-left: 5px;\n margin-bottom: 60px;\n width: 36px;\n}\n.JeRmYfUKXTg9VqWZshKO:hover {\n opacity: initial;\n}\n.JeRmYfUKXTg9VqWZshKO > * {\n pointer-events: all;\n}\n\n.JeRmYfUKXTg9VqWZshKO ul {\n display: flex;\n position: relative;\n flex-direction: column;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.JeRmYfUKXTg9VqWZshKO li {\n position: relative;\n padding: 0;\n margin: 0;\n width: max-content;\n height: 36px;\n cursor: pointer;\n}\n.JeRmYfUKXTg9VqWZshKO .u2LnyyXbhUKWkR8h1WgY {\n cursor: grab;\n}\n.Svi1LYw7uQ_NUkdl_Qqu, .QHkrJNCowEE3i9FocgKe {\n background-color: var(--key-bg-base);\n color: var(--key-color-base);\n /* border-radius: 0 18px 18px 0; */\n height: 36px;\n padding: 0px;\n margin: 2px;\n width: max-content;\n}\n.JeRmYfUKXTg9VqWZshKO li:first-child .Svi1LYw7uQ_NUkdl_Qqu {\n border-radius: 4px 4px 0 0;\n}\n.JeRmYfUKXTg9VqWZshKO li:last-child .Svi1LYw7uQ_NUkdl_Qqu {\n border-radius: 0 0 4px 4px;\n}\n.JeRmYfUKXTg9VqWZshKO li:hover .Svi1LYw7uQ_NUkdl_Qqu {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.JeRmYfUKXTg9VqWZshKO:not([data-dragging="true"]) li:hover .Svi1LYw7uQ_NUkdl_Qqu {\n background-color: rgba(60, 179, 113, 0.85);\n color: white;\n padding-right: 35px;\n}\n[data-dragging="true"] .Svi1LYw7uQ_NUkdl_Qqu {\n padding-right: 35px;\n}\n.JeRmYfUKXTg9VqWZshKO .u2LnyyXbhUKWkR8h1WgY .Svi1LYw7uQ_NUkdl_Qqu {\n background-color: rgb(60, 179, 113);\n color: white;\n}\n\n.JeRmYfUKXTg9VqWZshKO li * {\n display: inline-block;\n}\n.JeRmYfUKXTg9VqWZshKO li .yVeX9ivshCU7PiJfbG2v {\n overflow: auto;\n width: 36px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n}\n.JeRmYfUKXTg9VqWZshKO li .tV7QyJybi_Gy9OnFqX6l {\n overflow: hidden;\n width: 0;\n height: 36px;\n line-height: 36px;\n padding: 0;\n font-variant: small-caps;\n}\n\n.Svi1LYw7uQ_NUkdl_Qqu {\n margin: 4px 2px 4px 0;\n transition: margin-top .15s ease-in;\n}\n.Svi1LYw7uQ_NUkdl_Qqu.pRqaGgm21Psy3msTmiKg {\n cursor: grabbing;\n background-color: royalblue !important;\n color: white;\n opacity: 0.3;\n}\n\n.v7BdtxvE2YVCWNVJlnry {\n position: absolute;\n\n min-width: 200px;\n width: 100%;\n height: 40px;\n /* border: 1px dotted tomato; */\n}\n\n[data-dragging="false"] .v7BdtxvE2YVCWNVJlnry {\n display: none;\n}\n.a4BtINSAm0wAMDfWjTWQ {\n /* position: relative; */\n width: 200px;\n opacity: .3;\n}\n\n.Svi1LYw7uQ_NUkdl_Qqu.RMyVbbtfIDcsWDY7Qb1c {\n margin-top: 34px;\n}\n\n.JeRmYfUKXTg9VqWZshKO ul :hover .Svi1LYw7uQ_NUkdl_Qqu .tV7QyJybi_Gy9OnFqX6l,\n[data-dragging="true"] .Svi1LYw7uQ_NUkdl_Qqu .tV7QyJybi_Gy9OnFqX6l {\n transition: .15s ease-in;\n width: auto;\n padding: 0 0 0 10px;\n}\n\n.JeRmYfUKXTg9VqWZshKO button {\n width: 30px;\n height: 36px;\n line-height: 36px;\n padding: 0;\n text-align: center;\n border-radius: 18px;\n}\n\n.JeRmYfUKXTg9VqWZshKO .htA0l4uMnWt9050_zphf {\n cursor: pointer;\n position: absolute;\n right: 10px;\n visibility: hidden;\n\n height: 36px;\n line-height: 36px;\n}\n.JeRmYfUKXTg9VqWZshKO li:hover .htA0l4uMnWt9050_zphf {\n visibility: visible;\n}\n',"",{version:3,sources:["webpack://./src/Keyboard/Layers/layer-switcher.module.css"],names:[],mappings:"AAAA;EACE,oBAAoB;EACpB,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,mBAAmB;EACnB,WAAW;AACb;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,sBAAsB;EACtB,qBAAqB;EACrB,SAAS;EACT,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,SAAS;EACT,kBAAkB;EAClB,YAAY;EACZ,eAAe;AACjB;AACA;EACE,YAAY;AACd;AACA;EACE,oCAAoC;EACpC,4BAA4B;EAC5B,kCAAkC;EAClC,YAAY;EACZ,YAAY;EACZ,WAAW;EACX,kBAAkB;AACpB;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,4BAA4B;EAC5B,+BAA+B;AACjC;AACA;EACE,0CAA0C;EAC1C,YAAY;EACZ,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mCAAmC;EACnC,YAAY;AACd;;AAEA;EACE,qBAAqB;AACvB;AACA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,QAAQ;EACR,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,wBAAwB;AAC1B;;AAEA;EACE,qBAAqB;EACrB,mCAAmC;AACrC;AACA;EACE,gBAAgB;EAChB,sCAAsC;EACtC,YAAY;EACZ,YAAY;AACd;;AAEA;EACE,kBAAkB;;EAElB,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,+BAA+B;AACjC;;AAEA;EACE,aAAa;AACf;AACA;EACE,wBAAwB;EACxB,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,gBAAgB;AAClB;;AAEA;;EAEE,wBAAwB;EACxB,WAAW;EACX,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,kBAAkB;EAClB,mBAAmB;AACrB;;AAEA;EACE,eAAe;EACf,kBAAkB;EAClB,WAAW;EACX,kBAAkB;;EAElB,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,mBAAmB;AACrB",sourcesContent:['.layerSelector {\n pointer-events: none;\n z-index: 2;\n opacity: 0.75;\n margin-left: 5px;\n margin-bottom: 60px;\n width: 36px;\n}\n.layerSelector:hover {\n opacity: initial;\n}\n.layerSelector > * {\n pointer-events: all;\n}\n\n.layerSelector ul {\n display: flex;\n position: relative;\n flex-direction: column;\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.layerSelector li {\n position: relative;\n padding: 0;\n margin: 0;\n width: max-content;\n height: 36px;\n cursor: pointer;\n}\n.layerSelector .active {\n cursor: grab;\n}\n.layer, .addLayer {\n background-color: var(--key-bg-base);\n color: var(--key-color-base);\n /* border-radius: 0 18px 18px 0; */\n height: 36px;\n padding: 0px;\n margin: 2px;\n width: max-content;\n}\n.layerSelector li:first-child .layer {\n border-radius: 4px 4px 0 0;\n}\n.layerSelector li:last-child .layer {\n border-radius: 0 0 4px 4px;\n}\n.layerSelector li:hover .layer {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.layerSelector:not([data-dragging="true"]) li:hover .layer {\n background-color: rgba(60, 179, 113, 0.85);\n color: white;\n padding-right: 35px;\n}\n[data-dragging="true"] .layer {\n padding-right: 35px;\n}\n.layerSelector .active .layer {\n background-color: rgb(60, 179, 113);\n color: white;\n}\n\n.layerSelector li * {\n display: inline-block;\n}\n.layerSelector li .index {\n overflow: auto;\n width: 36px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n}\n.layerSelector li .name {\n overflow: hidden;\n width: 0;\n height: 36px;\n line-height: 36px;\n padding: 0;\n font-variant: small-caps;\n}\n\n.layer {\n margin: 4px 2px 4px 0;\n transition: margin-top .15s ease-in;\n}\n.layer.dragging {\n cursor: grabbing;\n background-color: royalblue !important;\n color: white;\n opacity: 0.3;\n}\n\n.dropper {\n position: absolute;\n\n min-width: 200px;\n width: 100%;\n height: 40px;\n /* border: 1px dotted tomato; */\n}\n\n[data-dragging="false"] .dropper {\n display: none;\n}\n.dropTarget {\n /* position: relative; */\n width: 200px;\n opacity: .3;\n}\n\n.layer.displaced {\n margin-top: 34px;\n}\n\n.layerSelector ul :hover .layer .name,\n[data-dragging="true"] .layer .name {\n transition: .15s ease-in;\n width: auto;\n padding: 0 0 0 10px;\n}\n\n.layerSelector button {\n width: 30px;\n height: 36px;\n line-height: 36px;\n padding: 0;\n text-align: center;\n border-radius: 18px;\n}\n\n.layerSelector .delete {\n cursor: pointer;\n position: absolute;\n right: 10px;\n visibility: hidden;\n\n height: 36px;\n line-height: 36px;\n}\n.layerSelector li:hover .delete {\n visibility: visible;\n}\n'],sourceRoot:""}]),a.locals={layerSelector:"JeRmYfUKXTg9VqWZshKO",active:"u2LnyyXbhUKWkR8h1WgY",layer:"Svi1LYw7uQ_NUkdl_Qqu",addLayer:"QHkrJNCowEE3i9FocgKe",index:"yVeX9ivshCU7PiJfbG2v",name:"tV7QyJybi_Gy9OnFqX6l",dragging:"pRqaGgm21Psy3msTmiKg",dropper:"v7BdtxvE2YVCWNVJlnry",dropTarget:"a4BtINSAm0wAMDfWjTWQ",displaced:"RMyVbbtfIDcsWDY7Qb1c",delete:"htA0l4uMnWt9050_zphf"},e.Z=a},59500:function(n,e,r){"use strict";var t=r(87537),o=r.n(t),i=r(23645),a=r.n(i)()(o());a.push([n.id,'.SUaJKzUCF84KzpcParhE {\n display: flex;\n flex-direction: row;\n width: 100vw;\n}\n\n.ULm7RKJYCZDRV0HmcA7C {\n position: absolute;\n top: 0;\n width: 100vw;\n height: 100vh;\n overflow: auto;\n scroll-snap-stop: normal;\n scroll-snap-type: y proximity;\n}\n\n.XWq43GGa2yCVXqY4Syw3 {\n width: fit-content;\n scroll-snap-align: start;\n margin: 0 auto;\n padding: 0 40px 40px;\n}\n\n.EwvVNY6vlf7HwYmXTbzi {\n margin: 10px 0;\n display: flex;\n}\n\n.EwvVNY6vlf7HwYmXTbzi label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.uhiC_7TzN7eCNbm5C6a8[data-sensor-count="0"] {\n display: none;\n}\n\n.ztwqyyB2FFS4oWgcCyZC label {\n display: inline-block;\n margin-bottom: 10px;\n}\n.ztwqyyB2FFS4oWgcCyZC[data-unbound="true"] label code {\n opacity: 0.5;\n}\n\n.N98b5r9XUT9yotsaxhB7 {\n cursor: pointer;\n margin-left: 5px;\n}\n\n.QZ1jUOy1FEDFG3IrI5JM { cursor: pointer; }\n.QZ1jUOy1FEDFG3IrI5JM:hover {\n color: white;\n}\n\n.QZG9dMy8Vvb4jExjMbNq {\n position: relative;\n font-weight: normal;\n font-size: 0.75em;\n color: var(--key-color-base);\n padding: 5px;\n background-color: var(--dialog-bg);\n border-radius: 1rem;\n cursor: pointer;\n}\n\n.QZG9dMy8Vvb4jExjMbNq .ZZ1YEtKhAc2ew68XlWlU {\n display: block;\n font-size: 1rem;\n}\n.QZG9dMy8Vvb4jExjMbNq:hover,\n.QZG9dMy8Vvb4jExjMbNq[open] {\n color: royalblue;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.QZG9dMy8Vvb4jExjMbNq .khHtvu4X2wwOnAF6CQ3Y {\n display: none;\n position: absolute;\n top: 50%;\n right: 0px;\n z-index: 2;\n transform: translate(100%, -50%);\n width: max-content;\n line-height: 1rem;\n padding: 5px 5px 5px 0;\n border-radius: 0 4px 4px 0;\n}\n\n.QZG9dMy8Vvb4jExjMbNq:hover .khHtvu4X2wwOnAF6CQ3Y,\n.QZG9dMy8Vvb4jExjMbNq[open] .khHtvu4X2wwOnAF6CQ3Y {\n display: block;\n background-color: var(--dialog-bg);\n}',"",{version:3,sources:["webpack://./src/Keyboard/Layers/style.module.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,YAAY;EACZ,aAAa;EACb,cAAc;EACd,wBAAwB;EACxB,6BAA6B;AAC/B;;AAEA;EACE,kBAAkB;EAClB,wBAAwB;EACxB,cAAc;EACd,oBAAoB;AACtB;;AAEA;EACE,cAAc;EACd,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,mBAAmB;AACrB;AACA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,gBAAgB;AAClB;;AAEA,wBAAoB,eAAe,EAAE;AACrC;EACE,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,iBAAiB;EACjB,4BAA4B;EAC5B,YAAY;EACZ,kCAAkC;EAClC,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,cAAc;EACd,eAAe;AACjB;AACA;;EAEE,gBAAgB;EAChB,0BAA0B;EAC1B,6BAA6B;AAC/B;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,UAAU;EACV,gCAAgC;EAChC,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB;EACtB,0BAA0B;AAC5B;;AAEA;;EAEE,cAAc;EACd,kCAAkC;AACpC",sourcesContent:['.container {\n display: flex;\n flex-direction: row;\n width: 100vw;\n}\n\n.layerScrollContainer {\n position: absolute;\n top: 0;\n width: 100vw;\n height: 100vh;\n overflow: auto;\n scroll-snap-stop: normal;\n scroll-snap-type: y proximity;\n}\n\n.layerWrapper {\n width: fit-content;\n scroll-snap-align: start;\n margin: 0 auto;\n padding: 0 40px 40px;\n}\n\n.field {\n margin: 10px 0;\n display: flex;\n}\n\n.field label {\n display: inline-block;\n width: 120px;\n text-align: right;\n margin-right: 10px;\n}\n\n.sensors[data-sensor-count="0"] {\n display: none;\n}\n\n.sensor label {\n display: inline-block;\n margin-bottom: 10px;\n}\n.sensor[data-unbound="true"] label code {\n opacity: 0.5;\n}\n\n.deleteSensorBinding {\n cursor: pointer;\n margin-left: 5px;\n}\n\n.addSensorBinding { cursor: pointer; }\n.addSensorBinding:hover {\n color: white;\n}\n\n.layerActionPrompt {\n position: relative;\n font-weight: normal;\n font-size: 0.75em;\n color: var(--key-color-base);\n padding: 5px;\n background-color: var(--dialog-bg);\n border-radius: 1rem;\n cursor: pointer;\n}\n\n.layerActionPrompt .icon {\n display: block;\n font-size: 1rem;\n}\n.layerActionPrompt:hover,\n.layerActionPrompt[open] {\n color: royalblue;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.layerActionPrompt .details {\n display: none;\n position: absolute;\n top: 50%;\n right: 0px;\n z-index: 2;\n transform: translate(100%, -50%);\n width: max-content;\n line-height: 1rem;\n padding: 5px 5px 5px 0;\n border-radius: 0 4px 4px 0;\n}\n\n.layerActionPrompt:hover .details,\n.layerActionPrompt[open] .details {\n display: block;\n background-color: var(--dialog-bg);\n}'],sourceRoot:""}]),a.locals={container:"SUaJKzUCF84KzpcParhE",layerScrollContainer:"ULm7RKJYCZDRV0HmcA7C",layerWrapper:"XWq43GGa2yCVXqY4Syw3",field:"EwvVNY6vlf7HwYmXTbzi",sensors:"uhiC_7TzN7eCNbm5C6a8",sensor:"ztwqyyB2FFS4oWgcCyZC",deleteSensorBinding:"N98b5r9XUT9yotsaxhB7",addSensorBinding:"QZ1jUOy1FEDFG3IrI5JM",layerActionPrompt:"QZG9dMy8Vvb4jExjMbNq",icon:"ZZ1YEtKhAc2ew68XlWlU",details:"khHtvu4X2wwOnAF6CQ3Y"},e.Z=a},35937:function(n,e,r){var t=r(29932),o=r(67206),i=r(63012),a=r(46904);n.exports=function(n,e){if(null==n)return{};var r=t(a(n),(function(n){return[n]}));return e=o(e),i(n,r,(function(n,r){return e(n,r[0])}))}},48118:function(n,e,r){"use strict";var t=r(93379),o=r.n(t),i=r(7795),a=r.n(i),l=r(90569),c=r.n(l),s=r(3565),u=r.n(s),A=r(19216),d=r.n(A),p=r(44589),f=r.n(p),y=r(49040),b={};b.styleTagTransform=f(),b.setAttributes=u(),b.insert=c().bind(null,"head"),b.domAPI=a(),b.insertStyleElement=d(),o()(y.Z,b),e.Z=y.Z&&y.Z.locals?y.Z.locals:void 0}}]);
+//# sourceMappingURL=LayerEditorTab.ecd2decea0eb86442e14.js.map \ No newline at end of file
diff --git a/index.html b/index.html
index a8ffab4..b64da26 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="https://nickcoutsos.github.io/keymap-editor/keycap.png"/><link href="https://nickcoutsos.github.io/keymap-editor/app.css" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Keymap Editor</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Nunito:wght@700&family=Quicksand:wght@500&display=swap" rel="stylesheet"><link rel="me" href="https://mastodon.social/@nickcoutsos"><meta name="description" content="A web-based editor for ZMK Keymaps"><meta property="og:url" content="https://nickcoutsos.github.io/keymap-editor"><meta property="og:type" content="website"><meta property="og:title" content="Keymap Editor"><meta property="og:description" content="A web-based editor for ZMK Keymaps"><meta property="og:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="nickcoutsos.github.io"><meta property="twitter:url" content="https://nickcoutsos.github.io/keymap-editor"><meta name="twitter:title" content="Keymap Editor"><meta name="twitter:description" content="A web-based editor for ZMK Keymaps"><meta name="twitter:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><script defer="defer" src="runtime.74de96076195acc468df.js"></script><script defer="defer" src="shared.abdbf613b57685110862.js"></script><script defer="defer" src="vendors.fc16238b8bd06905756a.js"></script><script defer="defer" src="react.0b7d83a58560e2038899.js"></script><script defer="defer" src="main.ec9d616b14983b4a6532.js"></script></head><body data-theme="system"><noscript>You need to enable JavaScript to run this app.</noscript><div id="app-root"></div><div id="modal-root"></div></body></html> \ No newline at end of file
+<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="https://nickcoutsos.github.io/keymap-editor/keycap.png"/><link href="https://nickcoutsos.github.io/keymap-editor/app.css" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Keymap Editor</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Nunito:wght@700&family=Quicksand:wght@500&display=swap" rel="stylesheet"><link rel="me" href="https://mastodon.social/@nickcoutsos"><meta name="description" content="A web-based editor for ZMK Keymaps"><meta property="og:url" content="https://nickcoutsos.github.io/keymap-editor"><meta property="og:type" content="website"><meta property="og:title" content="Keymap Editor"><meta property="og:description" content="A web-based editor for ZMK Keymaps"><meta property="og:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="nickcoutsos.github.io"><meta property="twitter:url" content="https://nickcoutsos.github.io/keymap-editor"><meta name="twitter:title" content="Keymap Editor"><meta name="twitter:description" content="A web-based editor for ZMK Keymaps"><meta name="twitter:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><script defer="defer" src="runtime.4f2bd5bcacbbf89851cf.js"></script><script defer="defer" src="shared.1bb7f3be69248d107351.js"></script><script defer="defer" src="vendors.fc16238b8bd06905756a.js"></script><script defer="defer" src="react.0b7d83a58560e2038899.js"></script><script defer="defer" src="main.ec9d616b14983b4a6532.js"></script></head><body data-theme="system"><noscript>You need to enable JavaScript to run this app.</noscript><div id="app-root"></div><div id="modal-root"></div></body></html> \ No newline at end of file
diff --git a/runtime.4f2bd5bcacbbf89851cf.js b/runtime.4f2bd5bcacbbf89851cf.js
new file mode 100644
index 0000000..683980f
--- /dev/null
+++ b/runtime.4f2bd5bcacbbf89851cf.js
@@ -0,0 +1,2 @@
+!function(){"use strict";var e,a,d,c,s,o={},t={};function l(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return o[e].call(d.exports,d,d.exports,l),d.loaded=!0,d.exports}l.m=o,e=[],l.O=function(a,d,c,s){if(!d){var o=1/0;for(y=0;y<e.length;y++){d=e[y][0],c=e[y][1],s=e[y][2];for(var t=!0,k=0;k<d.length;k++)(!1&s||o>=s)&&Object.keys(l.O).every((function(e){return l.O[e](d[k])}))?d.splice(k--,1):(t=!1,s<o&&(o=s));if(t){e.splice(y--,1);var b=c();void 0!==b&&(a=b)}}return a}s=s||0;for(var y=e.length;y>0&&e[y-1][2]>s;y--)e[y]=e[y-1];e[y]=[d,c,s]},l.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(a,{a:a}),a},d=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},l.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var s=Object.create(null);l.r(s);var o={};a=a||[null,d({}),d([]),d(d)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((function(a){o[a]=function(){return e[a]}}));return o.default=function(){return e},l.d(s,o),s},l.d=function(e,a){for(var d in a)l.o(a,d)&&!l.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},l.f={},l.e=function(e){return Promise.all(Object.keys(l.f).reduce((function(a,d){return l.f[d](e,a),a}),[]))},l.u=function(e){return({5:"keyboard-data/lotus58-json-metadata",47:"keyboard-data/ergodash-json-metadata",68:"locales/keys_ro-keycodes",129:"locales/keys_lt_ibm-keycodes",308:"locales/keys_be-keycodes",320:"keyboard-data/kbdfans_tofu65_v2-json-metadata",327:"keyboard-data/reviung41-json-metadata",389:"locales/keys_mn-keycodes",398:"locales/keys_lo-keycodes",421:"locales/keys_bg_latin-keycodes",422:"locales/keys_th_pattachote-keycodes",504:"keyboard-data/bt60_v2-json-metadata",539:"locales/keys_khb_tai_le-keycodes",578:"locales/keys_sr_latin-keycodes",630:"keyboard-data/pancake-json-metadata",639:"keyboard-data/splitkb_aurora_sofle-json-metadata",749:"locales/keys_dyu-keycodes",771:"locales/keys_es-keycodes",814:"locales/keys_tzm-keycodes",819:"locales/keys_fa_standard-keycodes",833:"locales/keys_it_142-keycodes",920:"locales/keys_pl_programmers-keycodes",944:"keyboard-data/jian-json-metadata",951:"locales/keys_kk-keycodes",1038:"keyboard-data/bat43-json-metadata",1081:"keyboard-data/splitreus62-json-metadata",1145:"keyboard-data/ferris_rev02-json-metadata",1156:"locales/keys_man-keycodes",1315:"locales/keys_bs-keycodes",1319:"keyboard-data/zmk_uno-json-metadata",1325:"keyboard-data/ergodox-json-metadata",1343:"locales/keys_en_gb_extended-keycodes",1480:"locales/keys_bn-keycodes",1507:"locales/keys_de_ibm-keycodes",1514:"locales/keys_fr_swiss-keycodes",1522:"keyboard-data/bdn9_rev2-json-metadata",1545:"locales/keys_el-keycodes",1547:"locales/keys_ml-keycodes",1616:"keyboard-data/redox-json-metadata",1671:"locales/keys_lv-keycodes",1718:"keyboard-data/reviung5-json-metadata",1720:"locales/keys_sk_qwerty-keycodes",1803:"ConditionalLayerEditorTab",1808:"locales/keys_de_belgian_period-keycodes",1872:"locales/keys_pt_abnt-keycodes",1936:"locales/keys_ckb-keycodes",2015:"locales/keys_hy-keycodes",2124:"keyboard-data/two_percent_milk-json-metadata",2135:"keyboard-data/romac-json-metadata",2169:"keyboard-data/clog-json-metadata",2231:"locales/keys_sr-keycodes",2247:"locales/keys_mr-keycodes",2271:"locales/keys_nl_period-keycodes",2275:"locales/keys_tk-keycodes",2284:"keyboard-data/eternal_keypad_lefty-json-metadata",2308:"keyboard-data/jorne-json-metadata",2383:"locales/keys_or-keycodes",2408:"locales/keys_bg-keycodes",2602:"locales/keys_uk-keycodes",2619:"locales/keys_syr_phonetic-keycodes",2621:"locales/keys_ka_qwerty-keycodes",2650:"locales/keys_ar_azerty-keycodes",2659:"locales/keys_cs_qwerty-keycodes",2757:"keyboard-data/eek-json-metadata",2787:"locales/keys_gu-keycodes",2835:"locales/keys_tmh-keycodes",2838:"keyboard-data/bt60_v1_hs-json-metadata",2921:"keyboard-data/bt75_v1-json-metadata",2939:"keyboard-data/nibble-json-metadata",2947:"locales/keys_us_international-keycodes",2982:"locales/keys_ha-keycodes",3033:"locales/keys_es_variation-keycodes",3039:"keyboard-data/romac_plus-json-metadata",3194:"locales/keys_mn_phags_pa-keycodes",3197:"keyboard-data/s40nc-json-metadata",3203:"GithubPicker",3268:"locales/keys_km_nida-keycodes",3282:"locales/keys_bo-keycodes",3322:"locales/keys_hu_101-keycodes",3359:"locales/keys_de-keycodes",3362:"locales/keys_dvorak_right-keycodes",3393:"locales/keys_tg-keycodes",3394:"keyboard-data/hummingbird-json-metadata",3474:"locales/keys_ug-keycodes",3618:"locales/keys_haw-keycodes",3647:"locales/keys_az_standard-keycodes",3687:"locales/keys_ka-keycodes",3735:"locales/keys_cs_programmers-keycodes",3743:"locales/keys_el_220-keycodes",3746:"locales/keys_lt_standard-keycodes",3826:"keyboard-data/bt60_v1-json-metadata",3880:"locales/keys_mt_101-keycodes",3893:"locales/keys_dz-keycodes",3895:"keyboard-data/kyria_rev3-json-metadata",3983:"LocalPicker",4013:"keyboard-data/totem-json-metadata",4036:"locales/keys_ta-keycodes",4070:"keyboard-data/m60-json-metadata",4156:"keyboard-data/kyria_rev2-json-metadata",4213:"keyboard-data/corneish_zen-json-metadata",4218:"FileSystemPicker",4257:"locales/keys_tn-keycodes",4260:"keyboard-data/boardsource3x4-json-metadata",4263:"locales/keys_el_319-keycodes",4289:"locales/keys_gn-keycodes",4296:"locales/keys_el_polytonic-keycodes",4415:"keyboard-data/eternal_keypad-json-metadata",4443:"locales/keys_bug-keycodes",4465:"locales/keys_it-keycodes",4491:"locales/keys_fr_canadian_french-keycodes",4595:"locales/keys_bg_phonetic-keycodes",4670:"locales/keys_tr_f-keycodes",4688:"locales/keys_chr_phonetic-keycodes",4717:"locales/keys_sv_sami-keycodes",4733:"DemoPicker",4777:"locales/keys_syr-keycodes",4795:"locales/keys_ro_programmers-keycodes",4821:"locales/keys_pt-keycodes",4824:"locales/keys_te-keycodes",4830:"keyboard-data/chalice-json-metadata",4843:"keyboard-data/a_dux-json-metadata",4887:"locales/keys_lis_standard-keycodes",4892:"locales/keys_ne-keycodes",4919:"locales/keys_nb-keycodes",4959:"keyboard-data/crbn-json-metadata",4962:"keyboard-data/bfo9000-json-metadata",5015:"locales/keys_my-keycodes",5074:"WarningsTab",5272:"keyboard-data/quefrency-json-metadata",5303:"locales/keys_tr-keycodes",5332:"locales/keys_ba-keycodes",5354:"locales/keys_srb-keycodes",5356:"keyboard-data/boardsource5x12-json-metadata",5422:"keyboard-data/bt65_v1-json-metadata",5485:"locales/keys_dv-keycodes",5533:"keyboard-data/preonic_rev3-json-metadata",5604:"locales/keys_is-keycodes",5606:"locales/keys_lb-keycodes",5634:"keyboard-data/splitkb_aurora_lily58-json-metadata",5708:"ClipboardPicker",5715:"locales/keys_sl-keycodes",5810:"keyboard-data/naked60-json-metadata",5819:"MacroEditorTab",5821:"locales/keys_el_latin_319-keycodes",5840:"locales/keys_iu-keycodes",5842:"locales/keys_khb-keycodes",5868:"BehaviorEditorTab",5891:"keyboard-data/splitkb_aurora_sweep-json-metadata",5991:"locales/keys_non-keycodes",5998:"locales/keys_yo-keycodes",6019:"keyboard-data/tg4x-json-metadata",6049:"locales/keys_ps-keycodes",6157:"locales/keys_dvorak-keycodes",6158:"keyboard-data/leeloo-json-metadata",6184:"locales/keys_de_swiss-keycodes",6274:"keyboard-data/leeloo_micro-json-metadata",6324:"keyboard-data/lily58-json-metadata",6360:"keyboard-data/qaz-json-metadata",6392:"locales/keys_ar-keycodes",6415:"locales/keys_nl-keycodes",6429:"locales/keys_es_latin_american-keycodes",6457:"locales/keys_gd-keycodes",6528:"keyboard-data/knob_goblin-json-metadata",6684:"locales/keys_th-keycodes",6688:"locales/keys_hi-keycodes",6691:"locales/keys_da-keycodes",6710:"locales/keys_jv-keycodes",6777:"locales/keys_lv_qwerty-keycodes",6793:"LayerEditorTab",6794:"locales/keys_km-keycodes",6943:"locales/keys_chr-keycodes",7022:"locales/keys_et-keycodes",7038:"keyboard-data/corne-json-metadata",7069:"locales/keys_wo-keycodes",7080:"locales/keys_uz-keycodes",7108:"locales/keys_he_standard-keycodes",7110:"keyboard-data/osprette-json-metadata",7190:"keyboard-data/waterfowl-json-metadata",7218:"keyboard-data/nice60-json-metadata",7228:"locales/keys_uk_enhanced-keycodes",7266:"keyboard-data/zodiark-json-metadata",7289:"locales/keys_sah-keycodes",7292:"locales/keys_ru_phonetic-keycodes",7303:"locales/keys_kl-keycodes",7305:"locales/keys_tt-keycodes",7316:"keyboard-data/helix-json-metadata",7446:"locales/keys_he-keycodes",7495:"locales/keys_en_gb-keycodes",7554:"locales/keys_fr-keycodes",7568:"locales/keys_mt-keycodes",7603:"locales/keys_el_latin_220-keycodes",7686:"locales/keys_dsb_extended-keycodes",7771:"locales/keys_lt-keycodes",7803:"locales/keys_sk-keycodes",7892:"locales/keys_ig-keycodes",7905:"keyboard-data/fourier-json-metadata",7950:"locales/keys_fr_belgian_period-keycodes",7961:"keyboard-data/tidbit-json-metadata",7994:"locales/keys_vi-keycodes",7997:"keyboard-data/elephant42-json-metadata",8017:"locales/keys_ar_102-keycodes",8019:"locales/keys_se-keycodes",8041:"locales/keys_mk-keycodes",8070:"locales/keys_az-keycodes",8110:"locales/keys_tmh_extended-keycodes",8119:"locales/keys_hi_traditional-keycodes",8173:"locales/keys_sq-keycodes",8185:"locales/keys_ga-keycodes",8207:"locales/keys_cs-keycodes",8216:"locales/keys_ur-keycodes",8242:"locales/keys_az_cyrillic-keycodes",8251:"locales/keys_fr_canadian_standard-keycodes",8284:"keyboard-data/planck_rev6-json-metadata",8301:"keyboard-data/leeloo_rev2-json-metadata",8302:"locales/keys_en_india-keycodes",8307:"locales/keys_nso-keycodes",8315:"ComboEditorTab",8374:"keyboard-data/murphpad-json-metadata",8391:"locales/keys_pl-keycodes",8409:"keyboard-data/contra-json-metadata",8415:"keyboard-data/snap-json-metadata",8427:"locales/keys_ko-keycodes",8438:"locales/keys_la_old_italic-keycodes",8451:"keyboard-data/cradio-json-metadata",8568:"locales/keys_mn_traditional-keycodes",8599:"locales/keys_fa-keycodes",8636:"locales/keys_nb_sami-keycodes",8642:"keyboard-data/kyria-json-metadata",8649:"locales/keys_sv-keycodes",8699:"locales/keys_se_finland_sweden-keycodes",8706:"locales/keys_fi-keycodes",8709:"locales/keys_kn-keycodes",8729:"keyboard-data/sofle-json-metadata",8793:"locales/keys_dvorak_left-keycodes",8796:"locales/keys_hu-keycodes",8813:"keyboard-data/microdox-json-metadata",8855:"locales/keys_fr_belgian-keycodes",8945:"locales/keys_lis-keycodes",8956:"locales/keys_bm-keycodes",8971:"locales/keys_el_latin-keycodes",8986:"locales/keys_ru-keycodes",9061:"locales/keys_si-keycodes",9081:"locales/keys_lv_standard-keycodes",9082:"locales/keys_as-keycodes",9112:"locales/keys_pt_abnt2-keycodes",9134:"keyboard-data/iris-json-metadata",9136:"locales/keys_hy_phonetic-keycodes",9142:"locales/keys_bn_inscript-keycodes",9176:"locales/keys_iu_latin-keycodes",9193:"locales/keys_so-keycodes",9244:"locales/keys_ky-keycodes",9351:"keyboard-data/splitkb_aurora_corne-json-metadata",9414:"locales/keys_sat-keycodes",9512:"locales/keys_mi-keycodes",9586:"locales/keys_fo-keycodes",9616:"locales/keys_dsb-keycodes",9619:"locales/keys_de_belgian-keycodes",9698:"locales/keys_ka_ergonomic-keycodes",9707:"keyboard-data/jiran-json-metadata",9866:"locales/keys_fi_sami-keycodes",9893:"locales/keys_got-keycodes",9989:"locales/keys_pa-keycodes"}[e]||e)+"."+{5:"e4e4ffd65cbc4c65ecf1",47:"68ec143ed38bce6cbea4",68:"7b17882894d827d4a691",129:"93e9e7b55ff4db1b45f4",308:"e7d0c13e3ecc92b49444",320:"e0e22f0d3ac8f761ce0c",327:"2fa7d61410ce114657ae",389:"606dc039dbee5e7de1d4",398:"c8c541aaf844eeda8149",401:"bdae6943931998cef4fd",421:"dbb2c1733f9a7579098e",422:"666bd3a0ce35c4a274ff",504:"08471cae2d972b76b0db",535:"4900f4b064a004bf376d",539:"f13efc888eac2aa8e903",578:"04d1220d52840040f60b",630:"6b46117b424a7c066032",639:"ed35220caee82d9a98c9",749:"76b287374b8ae5f7a06c",771:"476e9ba05219d84921f3",814:"4764231c07fa0d0a04f6",819:"0795ba54cbc82dd190cf",833:"46444cf657dcf1bb1593",920:"dc595b5183e9c47ff557",944:"1d97a367f9bc03bebc24",951:"f0042702141cbb2ccabf",1038:"0dd9fa3315bf40184cef",1081:"b7803c34bd0bfa5dafc5",1145:"eb22ba2cdea48aa2d95d",1156:"bb15c7631776a604bdb7",1315:"0db48f03173200e045f2",1319:"235d28f92c3ebf9de6a7",1325:"2f0b419e92ee75a38e38",1343:"8f70c7bbb298f625412f",1480:"dd1c948a8c44aac28b53",1507:"8cada04b0e43007bb4be",1514:"649b8ed65f356fa690ac",1522:"51261fedb8ec11fb688b",1545:"b152a1976be0001bfb43",1547:"c246a45983470f77e595",1616:"8ad0b8c64ae606fb9b8a",1671:"6bdbbb20361914659d30",1718:"48c9ef74da6b481e09e7",1720:"3328c6b7c20fbf918852",1803:"db97dd49c33ce73ea69e",1808:"abb32a6fe65c55952158",1872:"719fd6d2cfbc98065faa",1936:"8e41309b9c19de95960a",2015:"1189ea9050bf52385110",2124:"3a4b66bbd69961c6d5c2",2135:"525d812350d5ced6043f",2169:"63ac13cc199c3dc1a8f3",2231:"5080f1cbf58c1317f585",2247:"3459beb60f5e45f7a659",2271:"b737428706ade1ab91ed",2275:"6c3d70cbc0a2a960dede",2284:"88dbffa6a51dab15b0fe",2308:"3dcb94a43fdc92f06e92",2383:"45d4631f706b18beb2d9",2408:"49d33aa415e8f4992f21",2602:"d7b17cf5cd894ba30b64",2619:"5153da3fbe85b2f1f7f8",2621:"bd9a8dabd0cd755853b5",2650:"a829372aef4170ca51a4",2659:"c36d1660242da4a6482d",2757:"7bb49d3d556b1d93c064",2787:"23f639d1d9e06f080ea7",2835:"551ed1eddb65a0855ec0",2838:"84c69ef5c8dc271afe1d",2921:"377227f7d5e348eafa81",2939:"7a308a62c65bc646f73f",2947:"2b19227a71dd755ae4b6",2982:"36e9273f2ce6ff4f4673",3033:"b26fcf2e16e386fb33b1",3039:"af983ffea98d132ceba4",3194:"8a08d0da753f48f7f95e",3197:"c76645f1783dc0be1e59",3203:"56ea10829f9a28b2dec2",3268:"f3f0e12f35d6ede0f40f",3282:"01584f37d4d33ad63efb",3322:"7ebaf8ec7ac148f4669d",3359:"2b1b7a00d5f5a3f3d4d7",3362:"4b171d128973788c904e",3393:"2b68325532554cc8d8ba",3394:"b0af5ee288c25da5c283",3474:"d8e51748742a2c676e34",3618:"d8420dbaf5d768e5d2d4",3647:"6703ed839e825c8771d3",3687:"e750c133ca55d5c6e548",3735:"c9d93c92c6c0423a5416",3743:"ebb2429d5bbde92909c4",3746:"a4deb37dc8a93b498757",3826:"97699fa9c0a1372dedb5",3880:"fcaa03e1df43df95ab97",3893:"c7df98614033002329af",3895:"132914156c62a82b3268",3983:"aac52c448fa367f32450",4013:"cb89f5091aba0e288065",4036:"909dd7500874d97524c9",4070:"f616dcb60b78533d6bf0",4084:"80c8670641f9c037682a",4156:"3ac284a21e7e7924f35f",4213:"6f4898d50b5338d7300e",4218:"63732d16fe170019603e",4257:"f5fd10e05ad3d0536453",4260:"7cf189c757bde6655415",4263:"931dcb76dcb966d4c80f",4289:"fa48da5f908e2f1c31fc",4296:"6398e9a1092dbd966cd4",4415:"39fdfb3dfabfb49c9f35",4443:"3d9b42bc9254f6af0784",4465:"f4574a240d1cc776a64d",4491:"85813c1f613b510d8c53",4595:"32f60188d0eaea679456",4670:"c00667ffdde3a68622ab",4688:"31df1ae6ad5f78bd01fc",4717:"abfe395f6284ad19bfcd",4733:"2902632322fef43cfdb0",4777:"2224cbda2741be9da336",4795:"ed0ccd39951359fbbbca",4820:"b507c25afed6dac5aae4",4821:"ddd40fd58db42a579031",4824:"0a6f4db1962949f69a35",4830:"e201d6b24b9cb1e2ad99",4843:"fd9113741beefa00f0b5",4887:"f052ae8bfdfdb1d513db",4892:"960290e8d85e0b47f102",4919:"4a12c76edfa94312b0ea",4959:"808a01eda41b51d14bcb",4962:"69a545b5fcc0f7130c05",5015:"0f3a2242ea9f9a42c4f9",5074:"b219616848293106abf3",5272:"c7e0af70b0a8c39034f3",5303:"a4497d24307a9897e5b5",5332:"777b50e4b114b352d258",5354:"2e00aaedbbdc1642bb92",5356:"1fba1c8cde51e25e2627",5422:"2ffe628e4ca4ccaccd22",5485:"55a0ec07c8abbfe214b4",5533:"c45da345e0fb10fa3770",5604:"f11c3e2dd4430602f243",5606:"8cfe7dc5f09ec96ea95e",5634:"d4e880ef4bc1bdca79dd",5708:"dcb34ee77de8eadc6168",5715:"4ef9b548b6cfc7c605f9",5810:"637b457fc2054bcead5a",5819:"8e456b8e6d47ed1a6d70",5821:"a4f5e6f31f799696cdaf",5840:"7e4e574c1214010c07dc",5842:"f7c89fd7bf3602a3399e",5868:"0b5501dcbc97d570a7b7",5891:"3076456f65d49468799e",5991:"512b59c58af9c82a47d5",5998:"91c971fb3f5767c3d295",6019:"9b8b15f0b8ce84f82156",6049:"a62bb2191cc0eecda711",6157:"8b93a87cbbec10359b5d",6158:"889d4299cca613161f97",6184:"732ddeb1a32a40e2fc3a",6274:"5630298fa575b0640e66",6324:"1c52c22287b2cac5bded",6360:"13927c112e935b8e10f6",6392:"fa88aea6ab27afd6da50",6415:"627e38aee29608a5d6d2",6429:"b9b3578a604e51fa3455",6457:"ba688263a9c85e9843e1",6528:"b29141f3be2170066ee6",6538:"3d001932cf27995f58f4",6684:"1274b7cfa9914c7663c9",6688:"5d24e1f96d6a6cfefcb0",6691:"b6cb655f0aa7dcd8787b",6710:"69f4ed313d19455e88f9",6777:"dab38c8f01434d45eb86",6793:"ecd2decea0eb86442e14",6794:"aa4330a831430380f7ca",6943:"9c0653724d1cbfa9ed86",7022:"9ece5bc0d21090bf91ad",7038:"84994fde2fafd27c8862",7069:"9929a74e7e92648a0f87",7080:"f083c93705b5e80e4a4e",7108:"906eeacc617750894b22",7110:"a4955e02f5ec94c45697",7190:"c0df8d5fa12d9a44ddb6",7218:"5b518329a6b8d1f99ef2",7228:"0a7f301444940610aa3a",7266:"b1ddb085343413bd0f2f",7289:"2fcc4bbd19c8e23bcfd9",7292:"364542469a1dd2fd041b",7303:"8f0ef5a9295943353ecf",7305:"ac74249c913980666520",7316:"c9818170d7ea30748c18",7446:"f26521f672e3d94f3c62",7459:"5951a9e57f5d71a1f6b8",7495:"cb22512c8cea97bbcf19",7554:"bdf065db03088c4a4a5d",7568:"d9f3ad26c7b8b70fc1ec",7603:"d2d72bb470a9b2e1ede0",7686:"940990bf96e9413b2e9b",7771:"9942586e9e23d5059127",7803:"8760edf191caa0f69869",7892:"86c938c7b27b9a67ef50",7905:"23f278887548ad32dabd",7950:"6fb177a4414f9a190484",7961:"9a89555a7017f8c7c979",7994:"c160e150f1431807c681",7997:"ec7498e85efc36524556",8017:"837d18f3c4fcf868010b",8019:"02f2f252639bb1d459b6",8041:"dae4eea51cfd6e1fbef3",8070:"27f10e0739c78ab95d16",8110:"c132517c950a214d5731",8119:"58eb56bfeb45579c084c",8173:"1776ba2cbbdeb9918f9c",8185:"ece0dc278594eee67cb1",8207:"7e346d396cf1e067b94f",8216:"bd2ef62dab7ca40f6d44",8242:"3891fea81cc045034ad4",8251:"7bcdee9a73a0eb39baaa",8284:"6555a3d99bf8aa4a85ee",8301:"1b5acae3cec5d2b351b3",8302:"6b483d8d7739ff515b8f",8307:"e12dd0aad5e6a036ed3b",8315:"7e5450fc7f3a3f1670ed",8374:"36097a9be925aa82182c",8391:"eb08511c704d549f8237",8409:"f43f0bce73bf9b6a9c36",8415:"1a17db797b8c7966d730",8427:"409e29315cd91dfb038b",8438:"41a503f1b2737d035a74",8451:"ee4fc77b506ae42c350d",8568:"bf0989c363612ba74ac9",8599:"1c088737758fa51d0a0a",8636:"48c3cab70569554b8655",8642:"18f07547d3f5ddbc5c3b",8649:"519f8992d7c5b42bf4e1",8699:"6d4b2f405c48cf71aa4b",8706:"db5988f190774b8ecd7e",8709:"edbea20e0b917271d7a2",8729:"5e7f233ca2746206478d",8793:"9639129fefdac959af3a",8796:"594621d4b7b51b6c639b",8813:"1008878cec3cb3882209",8855:"38f81f640e33d713ea2c",8873:"b758388d5d6d3505ac8a",8945:"d5a920b4e65ee30d8356",8956:"b025b7e50cad64b75370",8971:"f906bba2b2b7e87a8ae0",8986:"4ad17334f3ef911b6b0b",9061:"df8e5e2756a89a473ac0",9081:"b6c8611601548f3554f7",9082:"35cb59b22a293243df26",9112:"7ebcaf2caf566e7902b8",9134:"ff4f0180e5079649f561",9136:"3249d48fcb94ad9e44a1",9142:"8933a018c2a618e987a4",9176:"2557b40f7b4fcef345a9",9193:"e2b545b8ea15c0016312",9244:"0e4e64562de0635942ff",9351:"937871a659c22427a634",9414:"b9aecaa9ab601ffcc6b4",9512:"dc6d783fb73d92e5a7fb",9586:"01151d539dca32e61272",9616:"0a4f102b3e946346e2d6",9619:"b044962c66577434486e",9698:"41ef3f798533a2b1c7cf",9707:"7d9b702ab7a66f9882c9",9866:"110121669330cd9e737c",9893:"4ff6eee70cdc1c6e3325",9989:"e7d2ba9eda5b0ac31cac"}[e]+".js"},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},c={},s="app:",l.l=function(e,a,d,o){if(c[e])c[e].push(a);else{var t,k;if(void 0!==d)for(var b=document.getElementsByTagName("script"),y=0;y<b.length;y++){var f=b[y];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==s+d){t=f;break}}t||(k=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,l.nc&&t.setAttribute("nonce",l.nc),t.setAttribute("data-webpack",s+d),t.src=e),c[e]=[a];var r=function(a,d){t.onerror=t.onload=null,clearTimeout(n);var s=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),s&&s.forEach((function(e){return e(d)})),a)return a(d)},n=setTimeout(r.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=r.bind(null,t.onerror),t.onload=r.bind(null,t.onload),k&&document.head.appendChild(t)}},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e;l.g.importScripts&&(e=l.g.location+"");var a=l.g.document;if(!e&&a&&(a.currentScript&&(e=a.currentScript.src),!e)){var d=a.getElementsByTagName("script");d.length&&(e=d[d.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),l.p=e}(),function(){l.b=document.baseURI||self.location.href;var e={3666:0};l.f.j=function(a,d){var c=l.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(3666!=a){var s=new Promise((function(d,s){c=e[a]=[d,s]}));d.push(c[2]=s);var o=l.p+l.u(a),t=new Error;l.l(o,(function(d){if(l.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var s=d&&("load"===d.type?"missing":d.type),o=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+s+": "+o+")",t.name="ChunkLoadError",t.type=s,t.request=o,c[1](t)}}),"chunk-"+a,a)}else e[a]=0},l.O.j=function(a){return 0===e[a]};var a=function(a,d){var c,s,o=d[0],t=d[1],k=d[2],b=0;if(o.some((function(a){return 0!==e[a]}))){for(c in t)l.o(t,c)&&(l.m[c]=t[c]);if(k)var y=k(l)}for(a&&a(d);b<o.length;b++)s=o[b],l.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return l.O(y)},d=self.webpackChunkapp=self.webpackChunkapp||[];d.forEach(a.bind(null,0)),d.push=a.bind(null,d.push.bind(d))}(),l.nc=void 0}();
+//# sourceMappingURL=runtime.4f2bd5bcacbbf89851cf.js.map \ No newline at end of file
diff --git a/shared.1bb7f3be69248d107351.js b/shared.1bb7f3be69248d107351.js
new file mode 100644
index 0000000..5ed8bf4
--- /dev/null
+++ b/shared.1bb7f3be69248d107351.js
@@ -0,0 +1,2 @@
+(self.webpackChunkapp=self.webpackChunkapp||[]).push([[3712],{66767:function(_,e,t){_.exports=t(92908)},59857:function(_,e,t){const{removeStartingWhitespace:E,removeTrailingWhitespace:o,reindent:s,dedent:i}=t(3769),{getLabeledItem:S,getNodeLabels:a}=t(35125),n=" ",A="keep";function r(_){return-1!==_.text.indexOf("\n")}function I(_){return"comment"===_.type&&_.previousSibling&&"preproc_def"!==_.previousSibling.type&&"preproc_function_def"!==_.previousSibling.type&&"preproc_include"!==_.previousSibling.type&&_.previousSibling.endPosition.row===_.startPosition.row}function l(_,e){return e.repeat(D(_))}function D(_){let e=_,t=0;const E=_.tree.rootNode;for(;(e=e.parent)&&e&&e.id!==E.id;)"labeled_item"!==e.type&&t++;return t}function u(_,e){if(!e)return!1;const t=_.type===e.type;return t&&"node"===_.type||"property"===(E=_)?.type&&(E.namedChildren.length>2||E.namedChildren.slice(1).some(r))||!t&&!I(e);var E}function R(_){return!!_.childForFieldName("address")}function d(_){return R(_)?`@${_.namedChildren[1].text}`:""}function O(_){return _.map((_=>`${_}: `)).join("")}_.exports={formatNode:function _(e,t={}){const{indent:D=n}=t;"labeled_item"===e.type&&(e=S(e));const[N,...T]=e.namedChildren,c=l(e,D);function U(e){return e.reduce(((E,o,s,i)=>I(o)?(E[E.length-1]+=o.text,E):(E.push(..._(o,t)),u(o,e[s+1])&&E.push(""),E)),[])}switch(e.type){case"document":return[...U(e.namedChildren),""];case"node":return[c+`${O(a(e))}${N.text}${d(e)} {`,...U(R(e)?e.namedChildren.slice(2):T),c+"};"];case"property":return function(e,t={}){const{indent:S=n,multilineIntegerCellsIndent:I=A}=t,[D,...u]=e.namedChildren,R=l(e,S),d=0===u.length,N=1===u.length&&!r(u[0]),T=1===u.length&&"integer_cells"===u[0].type,c=O(a(e));if(d)return[R+e.text];if(N)return[R+`${c}${D.text} = ${u[0].text};`];if(T){let _=E(o(u[0].text.slice(1,-2)));switch(I){case"reindent":_=s(_,R+S);break;case"dedent":_=i(_)}return[R+`${c}${D.text} = <`,..._.split("\n"),R+">;"]}return[R+`${D.text} =`,...[].concat(...u.map((e=>_(e,t)))).map(((_,e,t)=>[_,e===t.length-1?";":","].join("")))]}(e,t);case"preproc_include":case"preproc_def":case"preproc_function_def":return[e.text.trimEnd()];default:return[c+e.text]}},getModelineConfiguration:function(_){return _.rootNode.namedChildren.reduce(((_,e)=>{if("comment"===e.type){const t=e.text.startsWith("//")?e.text.slice(2).trim():e.text.slice(2,-2).trim();for(const e of t.split("\n")){const t=e.match(/dt-formatter:\s*(\w+)\s*=\s*(.+)$/);if(t){const[e,E]=t.slice(1);try{const t=JSON.parse(E);_[e]=t}catch{}}}}return _}),{})},getNodeDepth:D,isInlineComment:I,shouldIncludeBlank:u}},1530:function(_,e,t){_.exports=Object.assign({},t(35125),t(46933),t(31960),t(95147))},35125:function(_,e,t){const E=t(69282),o=t(49766);function s(_){return i(_.parent,"label")}function i(_,e){const t=[],E=_.walk();E.gotoFirstChild();do{const _=E.currentNode().isNamed(),o=E.currentFieldName()===e;_&&o&&t.push(E.currentNode())}while(E.gotoNextSibling());return E.delete(),t}function S(_,e){const t="string"==typeof e?_=>_===e:e;return _.namedChildren.filter((_=>"node"===_.type&&_.children.find((_=>"identifier"===_.type&&t(_.text)))))}_.exports={nodesAreConsecutive:function(_){return _.every(((e,t)=>!(t<_.length-1)||e.nextSibling.id===_[t+1].id))},getNodeLabels:function(_){return s(_).map((_=>_.text))},getNodeLabelNodes:s,getLabeledItem:function(_){return E("labeled_item"===_.type),_.childForFieldName("item")},getNodeChildrenByFieldName:i,findChildByIdentifier:function(_,e){_=[].concat(_);for(const t of o(_)){const _=S(t,e)[0];if(_)return _}},findChildrenByIdentifier:S,listNodes:function(_,e={}){const{stripNewlines:t=!0,limit:E=50}=e;for(const e of _){let _=e.text;t&&(_=_.replace(/\n/g,"")),E&&(_=_.slice(0,E)),console.log(e.id,`[${e.type}]`,"->",_)}}}},46933:function(_,e,t){const{getNodeChildrenByFieldName:E}=t(35125),{parseStringLiteral:o,parseIntegerCells:s,parseIntegerArray:i,parsePhandles:S,parsePhandle:a,parsePhandleArray:n,parseIntegerUnion:A,serializeIntValue:r,serializeArrayValue:I}=t(95147);function l(_,e){return _.children.find((_=>"property"===_.type&&_.children[0].text===e))}function D(_,e){return _.namedChildren.find((_=>"property"===_.type&&_.childForFieldName("name")?.text===e))}function u(_,e){const t=D(_,e);return t&&E(t,"value")}function R(_,e,t){const E=l(_,e),r=u(_,e);switch(t.type){case"string":return o(r?.[0]);case"boolean":return!!E;case"int":return s(r)?.[0];case"array":return i(r);case"phandle":return a(r);case"phandles":return S(r);case"phandle-array":return n(r);case"integer-union":return A(r)}}_.exports={findNodeProperty:l,getProperty:function(_,e){const t=_.children.find((_=>"property"===_.type&&_.children[0].text===e));return t&&{syntaxNode:t,name:e,value:t.children[2]?.text}},getPropertyNode:D,getPropertyValue:function(_,e){return(e="string"==typeof e?D(_,e):e)?.childForFieldName("value")},getPropertyValues:u,parsePropertiesFromSchema:function(_,e){return Object.keys(e).reduce(((t,E)=>{const o=e[E],s=R(_,E,o);return void 0!==s&&(t[E]={parsed:s}),t}),{})},parsePropertyFromSchema:R,serializePropertyFromSchema:function(_,e){switch(e.type){case"string":return`"${_.parsed}"`;case"boolean":return _.parsed;case"int":return r(_.parsed);case"array":return I(_.parsed);case"phandle":return _.parsed.map((_=>`<${_}>`)).join(", ");case"phandles":case"phandle-array":return _.parsed.reduce(((_,e)=>(e.startsWith("&")?_.push([e]):_[_.length-1].push(e),_)),[]).map((_=>`<${_.join(" ")}>`)).join(", ");case"integer-union":return _.parsed.length>0&&`<(${_.parsed.map((_=>_.toString())).join("|")})>`}}}},31960:function(_){function e(_,e={}){const{maxDepth:t=-1}=e,E=[{depth:0,node:_.rootNode||_}];return function(){const _=E.shift();return _&&(-1===t||_.depth<t)&&E.push(..._.node.namedChildren.map((e=>({node:e,depth:_.depth+1})))),_?.node}}function t(_,e={}){const{maxDepth:t=-1}=e,E=[{depth:0,node:_.rootNode||_}];return function(){const _=E.shift();return _&&(-1===t||_.depth<t)&&E.unshift(..._.node.namedChildren.map((e=>({node:e,depth:_.depth+1})))),_?.node}}function E(_,E,o={}){const{single:s=!1,maxDepth:i=-1,depthFirst:S=!1}=o,a=S?t(_,{maxDepth:i}):e(_,{maxDepth:i}),n=[];let A;for(;A=a();)if(E(A)){if(s)return A;n.push(A)}if(!s)return n}function o(_){let e;if(_ instanceof RegExp)e=e=>_.test(e);else if("string"==typeof _)e=e=>e===`"${_}"`;else{if("function"!=typeof _)throw new TypeError("Unexpected type "+typeof _);e=_}return _=>"property"===_.type&&"compatible"===_.childForFieldName("name").text&&e(_.childForFieldName("value")?.text)}_.exports={BreadthFirstIterator:e,DepthFirstIterator:t,searchTree:E,findLabeledItem:function(_,e){let t=E(_,(_=>"labeled_item"===_.type&&"identifier"===_.children[0].type&&_.children[0].text===e),{single:!0});if(!t)return null;do{t=t.childForFieldName("item")}while("labeled_item"===t.type);return t},findNodeByIdentifier:function(_,e){return E(_,(_=>"node"===_.type&&_.childForFieldName("name").text===e),{single:!0})},findNodeWithCompatible:function(_,e){return E(_,o(e),{single:!0})?.parent},findNodesWithCompatible:function(_,e){return E(_,o(e)).map((_=>_.parent))}}},95147:function(_,e,t){const{searchTree:E}=t(31960),o=_=>"unary_expression"===_.type&&"-"===_.childForFieldName("operator").type&&"integer_literal"===_.childForFieldName("argument").type,s=_=>["identifier","integer_literal"].includes(_.type)||o(_),i=_=>["identifier","integer_literal","reference","call_expression"].includes(_.type),S=_=>"reference"===_.type,a=_=>"integer_literal"===_.type||o(_)?Number(_.text):_.text;function n(_){return _?.flatMap((_=>_.namedChildren.filter(s).map(a)))}function A(_){return _?.flatMap((_=>_.namedChildren.filter(S).map((_=>_.text))))}function r(_){return(_=_.toString()).match(/-\d+/)&&(_=`(${_})`),_}_.exports={parseStringLiteral:function(_){return _?.text?.slice(1,-1)},parseIntegerCells:function(_){return n(_)},parseIntegerArray:n,parsePhandle:function(_){return A(_)[0]},parsePhandleArray:function(_){return _?.flatMap((_=>_.namedChildren.filter(i).map((_=>_.text))))},parsePhandles:A,parseIntegerUnion:function(_){return _?.flatMap((_=>E(_,s,{depthFirst:!0}))).map(a)},sanitizeIdentifier:function(_){return _.replace(/[^a-zA-Z0-9,._+-]/g,"_").slice(0,31)},serializeIntValue:function(_){return`<${r(_)}>`},serializeArrayValue:function(_){return`<${_.map(r).join(" ")}>`}}},89361:function(_,e,t){const E=t(69282),{ReferenceError:o}=E,s=t(66039),i=t(42148),S=t(33610),a=t(72243),n=t(84060),A=t(49766),{getNodeLabels:r,getLabeledItem:I}=t(35125),{getPropertyValues:l}=t(46933),{sanitizeIdentifier:D}=t(95147);_.exports={NodeCollection:class{managedProperties=[];_cached_container_node=null;_cached_container_tree_version=0;_cached_collection_nodes=null;_cached_collection_tree_version=0;constructor(_,e={}){this.document=_,e.managedProperties&&(this.managedProperties=e.managedProperties),e.lookupContainerNode&&(this.lookupContainerNode=e.lookupContainerNode.bind(this)),e.injectContainerNode&&(this.injectContainerNode=e.injectContainerNode.bind(this)),e.lookupNodes&&(this.lookupNodes=e.lookupNodes.bind(this)),e.injectNode&&(this.injectNode=e.injectNode.bind(this))}lookupContainerNode(){throw new o("Provide `lookupContainerNode` in constructor or override this method")}injectContainerNode(){throw new o("Provide `injectContainerNode` in constructor or override this method")}lookupNodes(){throw new o("Provide `lookupNodes` in constructor or override this method")}injectNode(){throw new o("Provide `injectNode` in constructor or override this method")}get container(){return this._cached_container_tree_version!==this.document._parse_version&&delete this._cached_container_node,this._cached_container_node||(this._cached_container_node=this.lookupContainerNode(this.document),this._cached_container_tree_version=this.document._parse_version),this._cached_container_node}get nodes(){return this._cached_collection_tree_version!==this.document._parse_version&&delete this._cached_collection_nodes,this._cached_collection_nodes||(this._cached_collection_nodes=this.lookupNodes(this.document),this._cached_collection_tree_version=this.document._parse_version),this._cached_collection_nodes}updateCollection(_){_.length&&!this.container&&(this.injectContainerNode(this),this.document.flushChanges());const e=[...this.nodes.keys()],t=i(a(_,"index"),(_=>this.nodes[_])),E=s(e,t),[o,S]=n(_,(_=>this.nodes[_.index]));for(const _ of o)this.updateNode(_.index,_);for(const _ of A(E))this.document.removeNode(this.nodes[_]);for(const _ of S)this.injectNode(this,_),this.document.flushChanges(),this.updateNode(this.nodes.length-1,_)}updateNode(_,e){const t=this.extractNode(this.nodes[_]);this.updateNodeName(_,e,t),this.updateNodeLabels(_,e,t),this.updateNodeProperties(_,e,t),this.cleanupNodeProperties(_,e,t)}updateNodeName(_,e,t){if(t.name!==e.name){const t=this.nodes[_].childForFieldName("name");this.document.replaceNode(t,D(e.name),{removeStartingWhitespace:!1})}}updateNodeLabels(_,e,t){S(t.labels,e.labels)||this.document.replaceNodeLabels(this.nodes[_],e.labels)}updateNodeProperties(_,e,t){const{properties:E}=e;for(const e in E){const o=E[e];S(o,t.properties[e])||this.document.setProperty(this.nodes[_],e,o)}}cleanupNodeProperties(_,e,t){const{properties:E}=e;for(const e of this.managedProperties)e in t.properties&&!(e in E)&&this.document.deleteProperty(this.nodes[_],e)}extractNode(_){E("node"===_.type);const e=_.childForFieldName("name").text,t=r(_),o=_.namedChildren.reduce(((e,t)=>{if("labeled_item"===t.type&&(t=I(t)),"property"===t.type){const E=t.childForFieldName("name").text,o=l(_,E),s=a(o,"text"),i=s.join(", ");e[E]={parsed:s,raw:i}}return e}),{});return{name:e,labels:t,properties:o}}extractCollection(){return this.nodes.map(((_,e)=>({index:e,...this.extractNode(_)})))}}}},92908:function(_,e,t){const E=t(69282),{sortBy:o}=t(59553),s=t(96912),{getPosition:i}=t(3769),{getNodeLabelNodes:S}=t(35125),{getProperty:a}=t(46933);let n;_.exports={getParser:async function(){if(!n){await s.init();const _=await s.Language.load(t.g.window?t(34886):"//../data/tree-sitter-devicetree.wasm");n=new s,n.setLanguage(_)}return n},DevicetreeDocument:class{constructor(_,e){this.parser=_,this._parse_version=0,this._enableChangeBuffering=!1,this._bufferedChanges=[],this.update(e)}cleanup(){this.tree.delete()}update(_,e=null){if(e&&this.tree&&this._enableChangeBuffering){const t=_.slice(e.startIndex,e.newEndIndex);this._bufferedChanges.push({startIndex:e.startIndex,update:e,replacementText:t})}else this.text=_,this._reparse()}_reparse(){this.tree&&this.tree.delete(),this.tree=this.parser.parse(this.text),this._parse_version++}flushChanges(){if(0===this._bufferedChanges.length)return;const _=o(this._bufferedChanges,"startIndex"),e=_.reduce(((e,{update:t,replacementText:E},o)=>{const s=_[o+1],i=o>0?_[o-1].update.oldEndIndex:0,S=this.text.slice(i,t.startIndex),a=E;return e.push(S),e.push(a),s||e.push(this.text.slice(t.oldEndIndex)),e}),[]);this.text=e.join(""),this._reparse(),this._bufferedChanges=[]}removeNode(_){this.replaceNode(_,"")}replaceNode(_,e,t={}){const{removeStartingWhitespace:E=!0}=t,{text:o}=this,s=o.lastIndexOf("\n",_.startIndex),S=-1!==s&&o.slice(s+1,_.startIndex).match(/\s+/)&&E?s:_.startIndex,a=[o.slice(0,S),e,o.slice(_.endIndex)].join(""),n={startIndex:S,startPosition:i(e,S),oldEndIndex:_.endIndex,oldEndPosition:_.endPosition,newEndIndex:S+e.length,newEndPosition:i(a,S+e.length)};this.update(a,n)}replaceRange(_,e,t){const{text:E}=this,o=[E.slice(0,_),t,E.slice(e)].join(""),s=_+t.length,S={startIndex:_,startPosition:i(E,_),oldEndIndex:e,oldEndPosition:i(E,e),newEndIndex:s,newEndPosition:i(o,s)};return this.update(o,S)}replaceNodeLabels(_,e){const t=S(_),E=o(t,"startIndex"),s=e.map((_=>`${_}:`)).join(" "),i=E[0]&&E[0].parent||_;this.replaceRange(i.startIndex,_.startIndex,s)}insertTextBeforeNode(_,e){this.replaceRange(_.startIndex,_.startIndex,e)}insertTextAfterNode(_,e){this.replaceRange(_.endIndex,_.endIndex,e)}addChildNode(_,e){E("node"===_.type);const t=_.children.find((_=>"}"===_.type));return this.replaceRange(t.startIndex,t.startIndex,e)}setProperty(_,e,t){const E=a(_,e);if("boolean"==typeof t&&!t)return void(E&&this.deleteProperty(_,e));const o=t.length?`${e} = ${t};`:`${e};`;return E?this.replaceNode(E.syntaxNode,o,{removeStartingWhitespace:!1}):this.addChildNode(_,`\n ${o}`)}deleteProperty(_,e){const t=a(_,e);t&&this.replaceNode(t.syntaxNode,"")}}}},83858:function(_,e,t){const E=t(26069),o=t(22469),s=t(41953),i=t(50501),S=t(72243),a=t(54600),n=t(22834),{getParser:A}=t(66767),{formatNode:r,getModelineConfiguration:I}=t(59857),l=t(87325),{behaviorBindings:D}=t(95130),{encodeKeyBinding:u}=t(69663),R=t(22443),{joinConvenienceBinding:d}=t(95493),{restoreUnmodifiedNodes:O}=t(51606),N=t(33295),T=i(D,"code");function c(_){const e=[...o(E(S(_.layers,"properties.bindings.parsed"))),...o(E(S(_.layers,"properties.sensor-bindings.parsed"))),...o(E(S(_.combos,"properties.bindings.parsed"))),...o(E(S(_.macros,"properties.bindings.parsed"))),...o(E(S(_.behaviors,"properties.bindings.parsed")))].map((_=>"object"==typeof _?_.value:_));return n(e)}_.exports=async function(_,e,t,E={}){const i=await N(t);O(e,i),function(_,e){for(const t of _.layers)if(!t.unmodifiedFromOriginal){if(t.properties.bindings?.parsed){const{parsed:_}=t.properties.bindings;t.properties.bindings={parsed:_,useRaw:!0,raw:`<\n${l(e,_.map(u))}\n>`}}t.properties.label&&!t.properties.label.parsed&&delete t.properties.label,t.properties=a(t.properties,(_=>!_))}}(e,_),function(_){for(const e of _.macros){const _=e.properties.bindings?.parsed||[];for(const e of _)d(e)}}(e);const S=o(c(e).map((_=>s(T,[_,"includes"],[])))),n=new R(await A(),t);n._enableChangeBuffering=!0,n.mergeUpdated(e,E),n.replaceBehaviourIncludes(S),n.flushChanges();try{const _=I(n.tree);return r(n.tree.rootNode,_).join("\n")}catch(_){return console.error("Failed to format devictree",_),n.text}finally{n.cleanup()}},_.exports.getBehaviorsUsed=c},95493:function(_,e,t){const E=t(24431),{baseParametersByCode:o}=t(62412);_.exports={splitConvenienceBinding:function(_){if(1!==_.params.length)return;const[e]=_.params,[t]=o[_.value]||[];if(!t||!t?.enum)return;const s=E(t.enum,{code:e.value});if(s?.splitTo){const o=E(t.enum,{code:s.splitTo}),{params:i}=e,{additionalParams:S}=o;_.params=[{value:s.splitTo,params:[]},{value:S[0].const.code,params:i}]}},joinConvenienceBinding:function(_){if(2!==_.params.length)return;const[e,t]=_.params,[s]=o[_.value]||[];if(!s||!s?.enum)return;const i=E(s.enum,{code:e.value});i?.splitFrom&&(_.params=[{value:i.splitFrom,params:t.params}])}}},51606:function(_,e,t){const E=t(33610),o=["layers","combos","macros","conditionalLayers","behaviors","behaviorReconfigurations"];function s(_,e){return o.flatMap((t=>(console.log(t),function(_,e){return _.reduce(((_,t,o)=>(E(e[t.index],t)&&_.push(o),_)),[])}(_[t],e[t]).map((_=>({collection:t,index:_}))))))}_.exports={restoreUnmodifiedNodes:function(_,e){for(const t of o){const E=_[t];for(let _=0;_<E.length;_++){const o=E[_];o.unmodifiedFromOriginal&&(E[_]=e[t][o.index])}}},removeUnmodifiedNodes:function(_,e){for(const{collection:t,index:E}of s(_,e)){const e=_[t][E];_[t][E]={index:e.index,unmodifiedFromOriginal:!0}}},compareKeymaps:s}},69663:function(_,e,t){const E=t(42148),o=t(41953),{parsePropertyFromSchema:s}=t(46933);function i(_){return _.reduce(((_,e)=>(e.startsWith("&")?_.push([e]):_[_.length-1].push(e),_)),[]).map((_=>_.join(" ")))}const S=["&macro_tap","&macro_press","&macro_release","&macro_tap_time","&macro_wait_time","&macro_pause_for_release"];function a(_){const e=(_.params||[]).map(a),t=e.length>0?`(${e.join(",")})`:"";return _.value+t}_.exports={parseBindings:function(_,e="bindings"){const t=s(_,e,{type:"phandle-array"});return t?i([].concat(...t)):void 0},parseKeyBinding:function(_,e){const t=/\((.+)\)/,s=_.match(/^(&.+?)\b/)[1],i=E(_.replace(/^&.+?\b\s*/,"").split(" ")).map((function _(E){const s=E.replace(t,""),i=o(E.match(t),"[1]","").split(",").map((_=>_.trim())).filter((_=>_.length>0)).map(_);return{value:o(e.defines,s,s),params:i}}));return{value:s,params:i}},groupMacroBindings:function(_){return _.reduce(((_,e,t,E)=>{const o=e.split(" ")[0];return S.includes(o)?(_.at(-1).length>0&&_.push([]),_.at(-1).push(e),t<E.length-1&&_.push([])):_.at(-1).push(e),_}),[[]])},groupPhandleArrayBindings:i,encodeKeyBinding:function(_){const{value:e,params:t}=_;return`${e} ${t.map(a).join(" ")}`.trim()}}},30051:function(_,e,t){const E=t(33610),o=t(50501),s=t(72243),{NodeCollection:i}=t(89361),{findChildByIdentifier:S,parsePropertyFromSchema:a,searchTree:n,serializePropertyFromSchema:A}=t(1530),{behaviorBindings:r,behaviorSchemas:I}=t(95130),{encodeKeyBinding:l,parseKeyBinding:D}=t(69663),u=s(r,"code"),R=o(r,"code");_.exports=class extends i{lookupContainerNode(){}injectContainerNode(){}lookupNodes(){return n(this.document.tree.rootNode,(_=>"node"===_.type&&"reference"===_.childForFieldName("name").type&&u.includes(_.childForFieldName("name").text)))}injectNode(_,e){const t=`${e.name} {};`,E=this.nodes.at(-1),o=S(this.document.tree.rootNode,"/");E?this.document.insertTextAfterNode(E,t):this.document.insertTextBeforeNode(o,t)}extractNode(_){const e=super.extractNode(_),{name:t}=e,{compatible:E}=R[t],o=I[E];if(o)for(const t in o.properties){const E=o.properties[t],s=e.properties[t];if(s&&(s.parsed=a(_,t,E),"phandle-array"===E.type)){const _=s.parsed.reduce(((_,e)=>(e.startsWith("&")?_.push([e]):_[_.length-1].push(e),_)),[]).map((_=>_.join(" ")));s.parsed=_.map((_=>D(_,{})))}}return e.properties.label&&!o?.properties?.label&&(e.properties.label.parsed=a(_,"label",{type:"string"})),e.properties["#binding-cells"]&&!o?.properties?.["#binding-cells"]&&(e.properties["#binding-cells"].parsed=a(_,"#binding-cells",{type:"int"})),e.properties["#sensor-binding-cells"]&&!o?.properties?.["#sensor-binding-cells"]&&(e.properties["#sensor-binding-cells"].parsed=a(_,"#sensor-binding-cells",{type:"int"})),e.deletedProperties=this.extractDeletedProperties(_),e}extractDeletedProperties(_){return _.namedChildren.slice(1).filter((_=>"delete_property"===_.type)).map((_=>_.namedChildren[0].text))}updateNodeProperties(_,e,t){const{name:o,properties:s}=e,{compatible:i}=R[o],S=I[i];for(const e in s){const o=s[e],i=S?.properties?.[e];if(!E(o,t.properties[e])){const t=i&&void 0!==o.parsed&&!o.useRaw?"phandle-array"!==i.type?A(o,i):o.parsed.map((_=>l(_))).map((_=>`<${_}>`)).join(", "):o.raw;this.document.setProperty(this.nodes[_],e,t)}}}cleanupNodeProperties(_,e,t){for(const E in t.properties)E in e.properties||this.document.deleteProperty(this.nodes[_],E);const E=e.deletedProperties.filter((_=>!t.deletedProperties.includes(_))),o=t.deletedProperties.filter((_=>!e.deletedProperties.includes(_)));for(const e of o){const t=this.nodes[_].namedChildren.find((_=>"delete_property"===_.type&&_.namedChildren[0].text===e));this.document.replaceNode(t,"")}for(const e of E)this.document.addChildNode(this.nodes[_],`/delete-property/ ${e};`)}}},65403:function(_,e,t){const E=t(33610),{findChildByIdentifier:o,findChildrenByIdentifier:s,findNodesWithCompatible:i,findNodeProperty:S,getPropertyValues:a,parsePropertyFromSchema:n,sanitizeIdentifier:A,serializePropertyFromSchema:r}=t(1530),{NodeCollection:I}=t(89361),{behaviorSchemas:l}=t(95130),{parseKeyBinding:D,encodeKeyBinding:u}=t(69663);_.exports=class extends I{lookupContainerNode(){const _=s(this.document.tree.rootNode,"/");return o(_,"behaviors")}injectContainerNode(){const _=i(this.document.tree.rootNode,"zmk,keymap").at(-1);this.document.insertTextBeforeNode(_,"\nbehaviors {};\n")}lookupNodes(){return i(this.document.tree.rootNode,(_=>_&&_.startsWith('"zmk,behavior-')&&!_.startsWith('"zmk,behavior-macro')))}injectNode(_,e){const t=A(e.name),E=this.nodes.at(-1),o=`${e.labels[0]}: ${t} {\n compatible = ${e.properties.compatible.raw};\n };`;E?this.document.insertTextAfterNode(E,o):this.document.addChildNode(this.container,o)}extractNode(_){const e=S(_,"compatible")?.namedChildren[1].text.slice(1,-1),t=l[e],E=super.extractNode(_);if(E.properties.compatible.parsed=e,t)for(const e in t.properties){const o=t.properties[e],s=E.properties[e];if(s&&(s.parsed=n(_,e,o),"phandle-array"===o.type)){const _=s.parsed.reduce(((_,e)=>(e.startsWith("&")?_.push([e]):_[_.length-1].push(e),_)),[]).map((_=>_.join(" ")));s.parsed=_.map((_=>D(_,{})))}}return E.properties.label&&!t?.properties?.label&&(E.properties.label.parsed=n(_,"label",{type:"string"})),E.properties["#binding-cells"]&&!t?.properties?.["#binding-cells"]&&(E.properties["#binding-cells"].parsed=n(_,"#binding-cells",{type:"int"})),E.properties["#sensor-binding-cells"]&&!t?.properties?.["#sensor-binding-cells"]&&(E.properties["#sensor-binding-cells"].parsed=n(_,"#sensor-binding-cells",{type:"int"})),(a(_,"bindings")||[]).flatMap((_=>_.namedChildren.flatMap((_=>_.text)))),E}updateNodeProperties(_,e,t){const{properties:o}=e,s=S(this.nodes[_],"compatible")?.namedChildren[1].text.slice(1,-1),i=l[s]||{properties:{compatible:{type:"string"},label:{type:"string"},"#binding-cells":{type:"int"},"#sensor-binding-cells":{type:"int"}}};for(const e in o){const s=o[e],S=i?.properties?.[e];if(!E(s,t.properties[e])){const t=S&&void 0!==s.parsed&&!s.useRaw?"phandle-array"!==S.type?r(s,S):s.parsed.map((_=>u(_))).map((_=>`<${_}>`)).join(", "):s.raw;this.document.setProperty(this.nodes[_],e,t)}}}cleanupNodeProperties(_,e,t){for(const E in t.properties)E in e.properties||this.document.deleteProperty(this.nodes[_],E)}}},84477:function(_,e,t){const E=t(33610),{findNodeWithCompatible:o,findNodesWithCompatible:s,getLabeledItem:i,getNodeLabels:S,parsePropertiesFromSchema:a,serializePropertyFromSchema:n}=t(1530),{NodeCollection:A}=t(89361),{groupPhandleArrayBindings:r,parseKeyBinding:I,encodeKeyBinding:l}=t(69663),D={bindings:{type:"phandle-array"},"key-positions":{type:"array"},"timeout-ms":{type:"int"},"slow-release":{type:"boolean"},layers:{type:"array"}};_.exports=class extends A{managedProperties=["bindings","key-positions","timeout-ms","layers","slow-release"];lookupContainerNode(){return o(this.document.tree.rootNode,"zmk,combos")}injectContainerNode(){const _=s(this.document.tree.rootNode,"zmk,keymap").at(-1);this.document.insertTextBeforeNode(_,'\n combos {\n compatible = "zmk,combos";\n };\n ')}lookupNodes(){return this.container?this.container.namedChildren.reduce(((_,e)=>("labeled_item"===e.type&&(e=i(e)),"node"===e.type&&_.push(e),_)),[]):[]}injectNode(_,e){const t=e.name.replace(/[^a-zA-Z0-9_]/g,"_"),E=this.nodes.at(-1),o=`${t} {};`;E?this.document.insertTextAfterNode(E,o):this.document.addChildNode(this.container,o)}updateNodeProperties(_,e,t){const{properties:o}=e;for(const e in o){const s=o[e],i=D[e];if(!E(s,t.properties[e])){const t=i&&!s.useRaw?"phandle-array"!==i.type?n(s,i):s.parsed.map((_=>l(_))).map((_=>`<${_}>`)).join(", "):s.raw;this.document.setProperty(this.nodes[_],e,t)}}e.properties.layers?.parsed?.length||this.document.deleteProperty(this.nodes[_],"layers")}extractNode(_){const e=_.childForFieldName("name").text,t=S(_),E=a(_,D);return E.bindings&&(E.bindings.parsed=r(E.bindings.parsed).map(I)),{name:e,labels:t,properties:E}}legacyParse(_){const{name:e,labels:t,properties:o}=this.extractNode(_),s={name:e,labels:t,properties:o,identifier:e},i={bindings:"bindings","timeout-ms":"timeoutMs","key-positions":"keyPositions","slow-release":"slowRelease",layers:"layers"};for(const _ of Object.keys(i))o[_]&&(s[i[_]]=o[_].parsed);return(0===s.layers?.length||E(s.layers,[-1]))&&delete s.layers,s}legacyParseNodes(){return this.nodes.map((_=>this.legacyParse(_)))}}},60141:function(_,e,t){const E=t(33610),{findChildrenByIdentifier:o,findNodesWithCompatible:s,getLabeledItem:i,getNodeLabels:S,parsePropertiesFromSchema:a,serializePropertyFromSchema:n}=t(1530),{NodeCollection:A}=t(89361),r={"if-layers":{type:"array"},"then-layer":{type:"int"}};_.exports=class extends A{managedProperties=["if-layers","then-layer"];lookupContainerNode(){return s(this.document.tree.rootNode,"zmk,conditional-layers").at(-1)}injectContainerNode(){const _=o(this.document.tree.rootNode,"/");this.document.addChildNode(_.at(-1),'\nconditional_layers { compatible = "zmk,conditional-layers"; };\n')}lookupNodes(){return this.container?this.container.namedChildren.reduce(((_,e)=>("labeled_item"===e.type&&(e=i(e)),"node"===e.type&&_.push(e),_)),[]):[]}injectNode(_,e){const t=this.nodes.at(-1),E=`${(e.name||"new_conditional_layer").replace(/[^a-zA-Z0-9_]/g,"_")} {};`;t?this.document.insertTextAfterNode(t,E):this.document.addChildNode(this.container,E)}updateNodeProperties(_,e,t){const{properties:o}=e;for(const e in o){const s=o[e],i=r[e];if(!E(s,t.properties[e])){const t=i&&!s.useRaw?n(s,i):s.raw;this.document.setProperty(this.nodes[_],e,t)}}}extractNode(_){return{name:_.childForFieldName("name").text,labels:S(_),properties:a(_,r)}}}},21207:function(_,e,t){const E=t(66039),o=t(42148),s=t(33610),i=t(72243),{findChildrenByIdentifier:S,findNodesWithCompatible:a,getLabeledItem:n,getNodeLabels:A,parsePropertiesFromSchema:r,serializePropertyFromSchema:I}=t(1530),{NodeCollection:l}=t(89361),{groupPhandleArrayBindings:D,parseKeyBinding:u,encodeKeyBinding:R}=t(69663),d={label:{type:"string"},bindings:{type:"phandle-array"},"sensor-bindings":{type:"phandle-array"}};_.exports=class extends l{managedProperties=["label","bindings","sensor-bindings"];lookupContainerNode(){return a(this.document.tree.rootNode,"zmk,keymap").at(-1)}injectContainerNode(){const _=S(this.document.tree.rootNode,"/");this.document.addChildNode(_.at(-1),'\nkeymap { compatible = "zmk,keymap"; };\n')}lookupNodes(){return this.container?this.container.namedChildren.reduce(((_,e)=>("labeled_item"===e.type&&(e=n(e)),"node"===e.type&&_.push(e),_)),[]):[]}injectNode(_,e){const t=this.nodes.at(-1),E=`${(e.name||"new_layer").replace(/[^a-zA-Z0-9_]/g,"_")} {};`;t?this.document.insertTextAfterNode(t,E):this.document.addChildNode(this.container,E)}updateCollection(_){const e=[...this.nodes.keys()];super.updateCollection(_),this.updateLayerPositions(_,e)}updateLayerPositions(_,e){const t=o(i(_,"index"),(_=>this.nodes[_])),s=E(e,t),S=[...e];for(const t in _){const E=_[t],o=S.length;void 0!==E.index&&e.includes(E.index)||(E.index=o,S[o]=o)}for(let _=s.length-1;_>=0;--_){const e=s[_];S[e]=null;for(let _=e+1;_<S.length;_++)null!==S[_]&&(S[_]-=1)}const a=i(_,"index");a.length>0&&!a.every(((_,e,t)=>e===t.length-1||t[e]<t[e+1]))&&(this.document.flushChanges(),this.document.replaceRange(this.nodes[0].startIndex,this.nodes.at(-1).endIndex,a.map((_=>S[_])).map((_=>this.nodes[_].text)).join("\n")))}updateNodeProperties(_,e,t){const{properties:E}=e;for(const e in E){const o=E[e],i=d[e];if(!s(o,t.properties[e])){const t=i&&!o.useRaw?"phandle-array"!==i.type?I(o,i):0!==o.parsed.length&&o.parsed.map((_=>R(_))).map((_=>`<${_}>`)).join(", "):o.raw;this.document.setProperty(this.nodes[_],e,t)}}}extractNode(_){const e=_.childForFieldName("name").text,t=A(_),E=r(_,d);return E.bindings&&(E.bindings.parsed=D(E.bindings.parsed).map(u)),E["sensor-bindings"]&&(E["sensor-bindings"].parsed=D(E["sensor-bindings"].parsed).map(u)),{name:e,labels:t,properties:E}}}},67199:function(_,e,t){const E=t(64988),{findChildByIdentifier:o,findChildrenByIdentifier:s,findNodesWithCompatible:i}=t(1530),{NodeCollection:S}=t(89361),a=t(65403),{groupMacroBindings:n,encodeKeyBinding:A}=t(69663);_.exports=class extends a{managedProperties=["label","tap-ms","wait-ms"];lookupContainerNode(){const _=s(this.document.tree.rootNode,"/");return o(_,"macros")}injectContainerNode(){const _=i(this.document.tree.rootNode,"zmk,keymap").at(-1);this.document.insertTextBeforeNode(_,"\nmacros {};\n")}lookupNodes(){return i(this.document.tree.rootNode,(_=>_&&_.startsWith('"zmk,behavior-macro')))}injectNode(_,e){const t=e.name.replace(/[^a-zA-Z0-9_]/g,"_"),E=this.nodes.at(-1),o=`${t}: ${t} {\n compatible = "zmk,behavior-macro";\n };`;E?this.document.insertTextAfterNode(E,o):this.document.addChildNode(this.container,o)}updateNode(_,e){const t=function(_){const e=n(_.map(A)).map((_=>_.join(" ")));return 1===e.length?[`<${e[0]}>`]:e.map((_=>`<${_}>`))}(e.properties.bindings?.parsed||[]);e.properties.bindings={useRaw:!0,raw:t},super.updateNode(_,e)}legacyParse(_){return E(this.extractNode(_),["name","labels","properties"])}legacyParseNodes(){return this.nodes.map((_=>this.legacyParse(_)))}cleanupNodeProperties(_,e,t){const{cleanupNodeProperties:E}=S.prototype;return E.call(this,_,e,t)}}},22443:function(_,e,t){const E=t(42148),o=t(96070),s=t(49766),{DevicetreeDocument:i}=t(66767),{nodesAreConsecutive:S,findChildByIdentifier:a,findChildrenByIdentifier:n,getLabeledItem:A}=t(1530),{standardBehaviorIncludeFiles:r}=t(95130),I=t(67199),l=t(84477),D=t(21207),u=t(65403),R=t(30051),d=t(60141);_.exports=class extends i{constructor(..._){super(..._),this.macroCollection=new I(this),this.comboCollection=new l(this),this.layerCollection=new D(this),this.behaviorCollection=new u(this),this.behaviorReconfigurationCollection=new R(this),this.conditionalLayerCollection=new d(this)}cleanup(){super.cleanup(),delete this.layerCollection,delete this.comboCollection,delete this.macroCollection,delete this.behaviorCollection,delete this.behaviorReconfigurationCollection,delete this.conditionalLayerCollection}getChosenProperties(){const _=n(this.tree.rootNode,"/"),e=a(_,"chosen");return e?e.namedChildren.reduce(((_,e)=>{if("labeled_item"===e.type&&(e=A(e)),"property"===e.type){const t=e.childForFieldName("name").text,E=e.childForFieldName("value").text;_[t]=E}return _}),{}):{}}mergeUpdated(_,e={}){this.layerCollection.updateCollection(_.layers),this.comboCollection.updateCollection(_.combos),this.macroCollection.updateCollection(_.macros),this.conditionalLayerCollection.updateCollection(_.conditionalLayers),this.behaviorCollection.updateCollection(_.behaviors),"behaviorReconfigurations"in _&&this.behaviorReconfigurationCollection.updateCollection(_.behaviorReconfigurations)}replaceBehaviourIncludes(_){const e=_.sort().join("\n")+"\n",t=this.tree.rootNode.namedChildren.filter((_=>"preproc_include"===_.type&&r.some((e=>_.text.startsWith(e)))));if(t.length)if(S(t))this.replaceRange(t[0].startIndex,t.at(-1).endIndex,"");else{const _=t.map((_=>[_.startIndex,_.endIndex]));for(const[e,t]of s(_))this.replaceRange(e,t,"\n")}const i=o(E(this.tree.rootNode.children,{type:"preproc_include"})),a=this.tree.rootNode.children.find((_=>"preproc_def"===_.type)),n=this.tree.rootNode.children.find((_=>"node"===_.type));i?this.insertTextAfterNode(i,e):(a||n)&&this.insertTextBeforeNode(a||n,e)}}},27621:function(_,e,t){const{findNodesWithCompatible:E}=t(31960),{getPropertyValues:o}=t(46933),s="MISSING_ROOT_NODE",i="USING_ZMK_NODEFREE_MACROS",S="USING_TOP_LEVEL_KEYMAP_NODE",a="USING_MULTIPLE_ROOT_NODES",n="USING_MIRYOKU_DTSI",A="USING_NON_ZMK_MACRO",r="USING_AUTOSHIFT_MACRO",I="KEYMAP_HAS_PARSE_ERRORS";_.exports={keymapHasNoRootNodes:function(_){for(let e of _.tree.rootNode.namedChildren)if("labeled_item"===e.type&&(e=e.childForFieldName("item")),"node"===e.type&&"/"===e.childForFieldName("name").text)return;return s},keymapUsesNodefreeConfigHelpers:function(_){const e=["ZMK_BEHAVIOR","ZMK_COMBO","ZMK_CONDITIONAL_LAYER","ZMK_LAYER","UC_MACRO"];for(const t of _.tree.rootNode.namedChildren)if("ERROR"===t.type){const{text:_}=t;if(e.some((e=>_.startsWith(e))))return i}},keymapUsesMiryoku:function(_){for(const e of _.tree.rootNode.namedChildren)if("preproc_include"===e.type&&e.childForFieldName("path").text.includes("miryoku.dtsi"))return n},keymapBindingsUsePreprocessorMacros:function(_){let e=!1;const t=["LA","LC","LG","LS","RA","RC","RG","RS","RGB_COLOR_HSB","RGB_COLOR_HSB_VAL"];for(const E of _.layerCollection.nodes){const[_]=o(E,"bindings")||[];if(_)for(const E of _.namedChildren)if("call_expression"===E.type){const _=E.childForFieldName("function").text;if(_.match(/^_?AS$/i))e=!0;else if(!t.includes(_))return A}}if(e)return r},keymapHasTopLevelKeymapNode:function(_){const e=E(_.tree.rootNode,"zmk,keymap").at(-1);if(e&&"document"===e.parent?.type)return S},keymapHasMultipleRootNodes:function(_){let e=null;for(let t of _.tree.rootNode.namedChildren)if("labeled_item"===t.type&&(t=t.childForFieldName("item")),"node"===t.type&&"/"===t.childForFieldName("name").text){if(null!==e)return a;e=t}},keymapHasLayerBindingsWithNonBehaviorStarter:function(_){return _.layerCollection.nodes.some((_=>{const e=o(_,"bindings")||[],t=[].concat(...e).flatMap((_=>_.namedChildren))[0]?.type;return t&&"reference"!==t}))},keymapHasParseErrors:function(_){return _.tree.rootNode.hasError()&&I},warningFlags:{MISSING_ROOT_NODE:s,USING_ZMK_NODEFREE_MACROS:i,USING_ZMK_MACRO_MACRO:"USING_ZMK_MACRO_MACRO",USING_TOP_LEVEL_KEYMAP_NODE:S,USING_MULTIPLE_ROOT_NODES:a,USING_MIRYOKU_DTSI:n,USING_NON_ZMK_MACRO:A,USING_AUTOSHIFT_MACRO:r,KEYMAP_HAS_PARSE_ERRORS:I}}},33295:function(_,e,t){const E=t(26069),{getParser:o}=t(66767),{parseStringLiteral:s}=t(95147),{splitConvenienceBinding:i}=t(95493),S=t(22443),{keymapUsesNodefreeConfigHelpers:a,keymapUsesMiryoku:n,keymapBindingsUsePreprocessorMacros:A,keymapHasNoRootNodes:r,keymapHasLayerBindingsWithNonBehaviorStarter:I,warningFlags:{USING_NON_ZMK_MACRO:l,KEYMAP_HAS_PARSE_ERRORS:D},keymapHasTopLevelKeymapNode:u,keymapHasParseErrors:R}=t(27621);function d(_){return{warningFlags:[_],defines:{},headers:[],chosen:{},behaviors:[],behaviorReconfigurations:[],layers:[],combos:[],macros:[],conditionalLayers:[]}}function O(_){return E([r(_),u(_),a(_),n(_),A(_),R(_)])}function N(_){return _.tree.rootNode.namedChildren.reduce(((_,e)=>{if("preproc_def"===e.type){const t=e.childForFieldName("name").text,E=e.childForFieldName("value")?.text.trim();_[t]=E}return _}),{})}function T(_){return _.tree.rootNode.namedChildren.reduce(((_,e)=>{if("preproc_include"===e.type){const t=e.childForFieldName("path");"string_literal"===t.type&&_.push(s(t))}return _}),[])}_.exports=async function(_){const e=await o(),t=new S(e,_);try{const _={warningFlags:O(t),defines:N(t),headers:T(t),chosen:t.getChosenProperties(),behaviors:t.behaviorCollection.extractCollection(),behaviorReconfigurations:t.behaviorReconfigurationCollection.extractCollection(),layers:t.layerCollection.extractCollection(),combos:t.comboCollection.extractCollection(),macros:t.macroCollection.extractCollection(),conditionalLayers:t.conditionalLayerCollection.extractCollection()};for(const e of _.macros)for(const _ of e.properties.bindings.parsed)i(_);return _}catch(_){return I(t)?d(l):R(t)?d(D):(console.error(_),d("KEYMAP_PARSING_FAILED"))}finally{t.cleanup()}}},39316:function(_,e,t){"use strict";t.d(e,{Cg:function(){return s},FP:function(){return l},Pi:function(){return a},VW:function(){return I},eG:function(){return n},v1:function(){return A}});var E=t(72243),o=t.n(E);const s=70,i=5;function S(_,e,t={},E={}){const{keySize:o=s}=E;return{x:_.x*o,y:_.y*o,u:e.u*o,h:e.h*o,rx:(_.x-(t.x??_.x))*-o,ry:(_.y-(t.y??_.y))*-o,a:t.a||0}}function a(_,e,t,E={}){const{x:o,y:s,u:a,h:n,a:A,rx:r,ry:I}=S(_,e,t,E),{padding:l=i}=E;return{top:`${s}px`,left:`${o}px`,width:a-l+"px",height:n-l+"px",transformOrigin:`${r}px ${I}px`,transform:`rotate(${A||0}deg) translate(${l/2}px, ${l/2}px)`}}function n(_,e){return _.map((_=>r({x:_.x,y:_.y},{u:_.u||_.w||1,h:_.h||1},{x:_.rx,y:_.ry,a:_.r},e)))}function A(_,e){return _.map((_=>function(_,e,t,E){return I(r(_,e,t,E))}({x:_.x,y:_.y},{u:_.u||_.w||1,h:_.h||1},{x:_.rx,y:_.ry,a:_.r},e))).reduce(l)}function r(_,e,t,E){const{x:o,y:s,u:i,h:a,a:n,rx:A,ry:r}=S(_,e,t,E);return[{x:0,y:0},{x:i,y:0},{x:i,y:a},{x:0,y:a}].map((function(_){const e=_.x-A,t=_.y-r,E=Math.PI*n/180;return{x:A+e*Math.cos(E)-t*Math.sin(E),y:r+t*Math.cos(E)+e*Math.sin(E)}})).map((function(_){return{x:_.x+o,y:_.y+s}}))}function I(_){const e=o()(_,"x"),t=o()(_,"y");return{min:{x:Math.min(...e),y:Math.min(...t)},max:{x:Math.max(...e),y:Math.max(...t)}}}function l(_,e){return{min:{x:Math.min(_.min.x,e.min.x),y:Math.min(_.min.y,e.min.y)},max:{x:Math.max(_.max.x,e.max.x),y:Math.max(_.max.y,e.max.y)}}}},87205:function(_,e,t){"use strict";t.d(e,{U2:function(){return o}});var E=t(39316);function o(_,e={keySize:1,padding:0}){const t=(0,E.v1)(_,e);return _.map((_=>{const e={..._};return e.x=_.x-t.min.x,e.y=_.y-t.min.y,"rx"in _&&(e.rx=_.rx-t.min.x),"ry"in _&&(e.ry=_.ry-t.min.y),e}))}},87325:function(_,e,t){const E=t(45223);_.exports=function(_,e,t={}){const{margin:o=2}=t,s=e.reduce(((e,t,E)=>{if(_[E]){const{row:o=0,col:s}=_[E];e[o]=e[o]||[],e[o][s||e[o].length]=t}return e}),[]),i=Object.keys(s),S=Math.max(...i.map((_=>s[_].length))),a=E(S,(_=>_)),n=a.map((_=>Math.max(...i.map((e=>s[e][_]?.length||0)))));return s.map(((_,e)=>a.map((e=>{const t=_.slice(e).every((_=>void 0===_)),E=n[e]+(e===_.length-1?"":o);return t?"":_[e]?_[e].padEnd(E):" ".repeat(E)})).join("").replace(/\s+$/,""))).join("\n")}},62608:function(_,e,t){const E=t(80460);class o extends Error{constructor(_){super(),this.name="InfoValidationError",this.errors=_}}function s(_,e){let t=-1/0;const E=[];for(const o of e.keys()){const{row:s}=e[o];if(void 0!==s)if(s<t){const e=`layouts[${_}].layout[${o}]`;E.push(`Row index at ${e} is not sequential`)}else t=s}return E}function i(_,e){let t=0,E=-1/0;const o=[];for(const s of e.keys()){const{row:i,col:S}=e[s];if(void 0!==i&&void 0!==S)if(t!==i&&(t=i,E=-1/0),S<E){const e=`layouts[${_}].layout[${s}]`;o.push(`Column index at ${e} is not sequential`)}else E=S}return o}_.exports={InfoValidationError:o,validateInfoJson:function(_){const e=[];if("object"!=typeof _||null===_)e.push("info.json root must be an object");else if(_.layouts)if("object"!=typeof _.layouts||null===_.layouts)e.push("layouts must be an object");else if(0===Object.values(_.layouts).length)e.push("layouts must define at least one layout");else for(const t in _.layouts){const o=_.layouts[t];if("object"!=typeof o||null===o)e.push(`layout ${t} must be an object`);else if(Array.isArray(o.layout)){const _=o.layout.some((_=>void 0!==_?.row||void 0!==_?.col));for(const s in o.layout){const i=o.layout[s],S=`layouts[${t}].layout[${s}]`;if("object"!=typeof i||null===i)e.push(`Key definition at ${S} must be an object`);else{const t=["u","h","r","rx","ry"];E(i.x)||e.push(`Key definition at ${S} must include "x" position`),E(i.y)||e.push(`Key definition at ${S} must include "y" position`);for(const _ of t)_ in i&&!E(i[_])&&e.push(`Key definition at ${S} optional "${_}" must be number`);for(const t of["row","col"])_&&!(t in i)?e.push(`Key definition at ${S} is missing property "${t}"`):t in i&&(!Number.isInteger(i[t])||i[t]<0)&&e.push(`Key definition at ${S} "${t}" must be a non-negative integer`)}}const S=o.layout.reduce(((_,e,t)=>{const{row:E,col:o}=e,s=`(${E},${o})`;return void 0!==E&&void 0!==o&&(_[s]=[..._[s]||[],t]),_}),{});for(const _ of Object.values(S)){if(_.length<=1)continue;const{row:E,col:s}=o.layout[_[0]],i=`{row: ${E}, col: ${s}}`;for(const E of _){const _=`layouts[${t}].layout[${E}]`;e.push(`Key definition at ${_} has overlapping position ${i}`)}}e.push(...s(t,o.layout)),e.push(...i(t,o.layout))}else e.push(`layout ${t} must define "layout" array`)}else e.push('info must define "layouts"');if(e.length)throw new o(e)}}},3769:function(_){function e(_){const e=_.split("\n"),t=e.reduce(((_,e)=>{const t=e.match(/^(\s*)\S/);return t?Math.min(_,t[1].length):_}),1/0);return e.map((_=>_.slice(0,t).match(/^\s+$/)?_.slice(t):_))}_.exports={dedent:function(_){return e(_).join("\n")},reindent:function(_,t){return e(_).map((_=>t+_)).join("\n")},getPosition:function(_,e){let t,E;for(t=0,E=0;-1!==E;t++,E=_.indexOf("\n",E+1));return{row:t,col:e-E}},removeStartingWhitespace:function(_){return _.split("\n").reduce(((_,e)=>((_.length>0||e.match(/\S/))&&_.push(e),_)),[]).join("\n")},removeTrailingWhitespace:function(_){return _.split("\n").reverse().reduce(((_,e)=>((_.length>0||e.match(/\S/))&&_.push(e),_)),[]).reverse().join("\n")}}},95130:function(_,e,t){const E=t(41536),o=t(1286),s=t(22834),i=t(24234),S=t(31742),a=t(61443),n=t(80012),A=t(43003),r=t(92914);function I(_,e){const t=Array.isArray(_)?_:Object.values(_);for(const _ of t)for(const{match:t,...s}of e)o(_,t)&&E(_,s)}Object.assign(i,S),a.push(...n),I(i,A),I(a,r);const l=s(r.flatMap((_=>_.includes||[])));for(const _ of a){const e=i[_.compatible];E(_,{schema:e})}_.exports={behaviorMapReducer:function(_,e){for(const t of e.labels)_[`&${t}`]=e;return _},behaviorSchemas:i,behaviorBindings:a,behaviorOverlays:r,behaviorSchemaOverlays:A,standardBehaviorIncludeFiles:l,mergeBehaviorOverlays:I}},62029:function(_){const e=_=>({value:"&kp",params:[{value:_,params:[]}]}),t=[{pattern:/^[0-9]$/,convert:_=>e(`N${_}`)},{pattern:/^[a-z]$/,convert:_=>e(_.toUpperCase())},{pattern:/^[A-Z]$/,convert:_=>({value:"&kp",params:[{value:"LS",params:[{value:_.toUpperCase(),params:[]}]}]})}],E={"!":e("EXCL"),"@":e("AT"),"#":e("POUND"),$:e("DLLR"),"%":e("PRCNT"),"^":e("CARET"),"&":e("AMPS"),"*":e("STAR"),"(":e("LPAR"),")":e("RPAR"),"\n":e("RET")," ":e("SPACE"),"-":e("MINUS"),_:e("UNDER"),"=":e("EQUAL"),"+":e("PLUS"),"[":e("LBKT"),"]":e("LBRC"),"{":e("RBKT"),"}":e("RBRC"),"\\":e("BSLH"),"|":e("PIPE"),"":e("TILDE2"),";":e("SEMI"),":":e("COLON"),"'":e("SQT"),'"':e("DQT"),"`":e("GRAVE"),"~":e("TILDE"),",":e("COMMA"),"<":e("LT"),".":e("DOT"),">":e("GT"),"/":e("FSLH"),"?":e("QMARK")};_.exports={mapCharacter:function(_){if(E[_])return E[_];for(const{pattern:e,convert:E}of t)if(_.match(e))return E(_)}}},52779:function(_,e,t){const E=t(15126),o={basic:t(97107),unicode:t(445),platforms:{mac:t(27112),win:t(27453)}};_.exports={keycodes:E,keycodeGlyphs:o}},67998:function(_){function e(_,e,t=0){if(-1===t)return-1;for(let E=Math.min(t,_.length-1);E<_.length;E++){const t=e[_[E].value]?.properties?.compatible?.parsed;if(!t?.startsWith?.("zmk,macro-")&&!t?.startsWith?.("zmk,behavior-macro-"))return E}return-1}_.exports={findFirstNonControlBinding:function(_,t,E){const o=e(_,t,E);return-1===o?void 0:_[o]},findFirstNonControlBindingIndex:e,isParameterControlBinding:function(_){return["&macro_param_1to1","&macro_param_1to2","&macro_param_2to1","&macro_param_2to2"].includes(_.value)},getBehaviorPropsForBindings:function(_){const e=function(_){let e;for(const t of _){if(t.value.startsWith("&macro_param_2"))return 2;t.value.startsWith("&macro_param_1")&&(e=1)}return e?1:0}(_),t=0===e?"zmk,behavior-macro":`zmk,behavior-macro-${2===e?"two":"one"}-param`;return{compatible:{parsed:t,raw:`"${t}"`},"#binding-cells":{parsed:e,raw:`<${e}>`}}},getTargetParameterIndex:function(_){return _.value.endsWith("to1")?0:_.value.endsWith("to2")?1:-1}}},62412:function(_,e,t){const E=t(24431),o=t(41953),s=t(44823),i=t(45223),{behaviorSchemas:S,behaviorBindings:a,behaviorMapReducer:n}=t(95130),{findFirstNonControlBinding:A}=t(67998),r=t(30877),I=r.reduce(((_,e)=>(e.match.code&&(_[`&${e.match.code}`]=e),_)),{}),l=r.reduce(((_,e)=>(e.match.compatible&&(_[e.match.compatible]=e),_)),{}),D=s(a,"properties.compatible.parsed"),u=r.reduce(((_,{match:e,params:t})=>{if(e.code)_[`&${e.code}`]=t;else if(e.compatible){const E=D[e.compatible];for(const e of E)for(const E of e.labels)_[`&${E}`]=t}return _}),{});function R(_){this.message=_,this.name="BehaviorResolutionError"}function d(_,e="#binding-cells"){const t=_.properties?.[e]?.parsed;if("number"==typeof t)return t;const E=(_.properties?.[e]?.raw||"<>").match(/<(\d+)>/);return E?Number(E[1]):void 0}function O(_){return["zmk,behavior-macro-one-param","zmk,behavior-macro-two-param"].includes(_.properties?.compatible?.parsed)}function N(_,e){const t=_.properties.bindings?.parsed||[],E=t.map((_=>_.value)).map((_=>e[_]?.properties?.compatible?.parsed))||[],o=A(t,e,E.indexOf("zmk,macro-param-1to1")),s=A(t,e,E.indexOf("zmk,macro-param-1to2")),i=[];if(o?i.push([o,0]):s?i.push([s,1]):i.push([{value:"&none",params:[]},0]),"zmk,behavior-macro-two-param"===_.properties.compatible.parsed){const _=A(t,e,E.indexOf("zmk,macro-param-2to1")),o=A(t,e,E.indexOf("zmk,macro-param-2to2"));_?i.push([_,0]):o?i.push([o,1]):i.push([{value:"&none",params:[]},0])}return i}function T(_,e,t){const s=t[_.value]||[];if(s[e])return s[e];const i=o(_.params,"[0]",{}),S=o(s,"[0]");if(S?.enum){const _={code:i.value},e=E(S.enum,_);if(e?.additionalParams)return e.additionalParams[0]}return{raw:!0}}_.exports={baseParametersByCode:u,resolveBehaviorParams:function(_){const e=a.reduce(n,{}),t=_.reduce(n,{}),E={...e,...t},o={};function s(_,i=[]){const a=`&${_.labels[0]}`;if(o[a])return o[a];const n=function(_){const e=_.labels.map((_=>`&${_}`)),t=_.properties.compatible?.parsed;for(const _ of e)if(I[_])return I[_];if(l[t])return l[t]}(_);if(n)return n.params;const A=_.properties?.compatible?.parsed,r=S[A],D=function(_,e){const t=e?.properties?.["#binding-cells"]?.const,E=e?.properties?.["#sensor-binding-cells"]?.const;return t??E??d(_)??d(_,"#sensor-binding-cells")}(_,r),u=function(_,e,t){return O(_)?N(_,t):(_.properties?.bindings?.parsed||[]).map((_=>[_,0]))}(_,0,E),c=O(_);return D?u.reduce(((E,[S,a])=>{if(c){const _=T(S,a,o);return[...E,_]}if(!S.startsWith("&"))return E;if(i.includes(S))throw new R(`Circular reference in bindings: "&${_.labels[0]}" -> "${S}".`);if(i.length>3)throw new R("Reference depth limit exceeded.");const n=t[S]||e[S];if(!n)return _.error=`Unrecognized behavior binding "${S}".`,[...E,{raw:!0}];try{const _=s(n,[...i,S]);for(const e of n.labels)o[`&${e}`]=_;E.push(_[a]||{type:"placeholder"})}catch(_){throw _ instanceof R&&(n.error=_.message,o[S]=[]),_}return E}),[]):[]}for(const e of _)try{const _=s(e);for(const t of e.labels)o[`&${t}`]=_}catch(_){if(!(_ instanceof R))throw _;console.error("Failed to resolve behavior parameters",_),e.error=_.message;const t=i(d(e)||0,(()=>({raw:!0})));for(const _ of e.labels)o[`&${_}`]=t}return o},getParameterizedMacroDependencies:N,resolveMacroParam:T}},34886:function(_,e,t){"use strict";_.exports=t.p+"2f0cf3405ab1202f0045.wasm"},98553:function(_){"use strict";_.exports=JSON.parse('{"a_dux":{"id":"a_dux","name":"A. Dux"},"bat43":{"id":"bat43","name":"BAT43"},"bdn9_rev2":{"id":"bdn9_rev2","name":"BDN9 Rev2"},"bfo9000":{"id":"bfo9000","name":"BFO-9000"},"boardsource3x4":{"id":"boardsource3x4","name":"Boardsource 3x4 Macropad"},"boardsource5x12":{"id":"boardsource5x12","name":"Boardsource 5x12"},"bt60_v1":{"id":"bt60_v1","name":"BT60 V1 Soldered"},"bt60_v1_hs":{"id":"bt60_v1_hs","name":"BT60 V1 Hotswap"},"bt60_v2":{"id":"bt60_v2","name":"BT60 V2"},"bt65_v1":{"id":"bt65_v1","name":"BT65"},"bt75_v1":{"id":"bt75_v1","name":"BT75_V1"},"chalice":{"id":"chalice","name":"Chalice"},"clog":{"id":"clog","name":"Clog"},"contra":{"id":"contra","name":"Contra"},"corne":{"id":"corne","name":"Corne"},"corneish_zen":{"id":"corneish_zen","name":"Corneish Zen v2"},"cradio":{"id":"cradio","name":"Cradio/Sweep"},"crbn":{"id":"crbn","name":"CRBN Featherlight"},"eek":{"id":"eek","name":"eek!"},"elephant42":{"id":"elephant42","name":"Elephant42"},"ergodash":{"id":"ergodash","name":"Ergodash"},"eternal_keypad":{"id":"eternal_keypad","name":"Eternal Keypad"},"eternal_keypad_lefty":{"id":"eternal_keypad_lefty","name":"Eternal Keypad Lefty"},"ferris_rev02":{"id":"ferris_rev02","name":"Ferris 0.2"},"fourier":{"id":"fourier","name":"Fourier Rev. 1"},"helix":{"id":"helix","name":"Helix"},"hummingbird":{"id":"hummingbird","name":"Hummingbird"},"iris":{"id":"iris","name":"Iris"},"jian":{"id":"jian","name":"Jian"},"jiran":{"id":"jiran","name":"Jiran"},"jorne":{"id":"jorne","name":"Jorne"},"kbdfans_tofu65_v2":{"id":"kbdfans_tofu65_v2","name":"KBDfans Tofu65 2.0"},"knob_goblin":{"id":"knob_goblin","name":"Knob Goblin"},"kyria":{"id":"kyria","name":"Kyria"},"kyria_rev2":{"id":"kyria_rev2","name":"Kyria Rev2"},"kyria_rev3":{"id":"kyria_rev3","name":"Kyria Rev3"},"leeloo":{"id":"leeloo","name":"Leeloo"},"leeloo_micro":{"id":"leeloo_micro","name":"Leeloo-Micro"},"leeloo_rev2":{"id":"leeloo_rev2","name":"Leeloo v2"},"lily58":{"id":"lily58","name":"Lily58"},"lotus58":{"id":"lotus58","name":"Lotus58"},"m60":{"id":"m60","name":"MakerDiary m60"},"microdox":{"id":"microdox","name":"Microdox"},"murphpad":{"id":"murphpad","name":"MurphPad"},"naked60":{"id":"naked60","name":"Naked60"},"nibble":{"id":"nibble","name":"Nibble"},"nice60":{"id":"nice60","name":"nice!60"},"osprette":{"id":"osprette","name":"Osprette"},"pancake":{"id":"pancake","name":"Pancake"},"planck_rev6":{"id":"planck_rev6","name":"Planck Rev6"},"preonic_rev3":{"id":"preonic_rev3","name":"Preonic Rev3"},"qaz":{"id":"qaz","name":"QAZ"},"quefrency":{"id":"quefrency","name":"Quefrency Rev. 1"},"redox":{"id":"redox","name":"Redox"},"reviung41":{"id":"reviung41","name":"REVIUNG41"},"reviung5":{"id":"reviung5","name":"REVIUNG5"},"romac":{"id":"romac","name":"Romac Macropad"},"romac_plus":{"id":"romac_plus","name":"Romac+ Macropad"},"s40nc":{"id":"s40nc","name":"S40NC"},"snap":{"id":"snap","name":"SNAP"},"sofle":{"id":"sofle","name":"Sofle"},"splitkb_aurora_corne":{"id":"splitkb_aurora_corne","name":"splitkb.com Aurora Corne"},"splitkb_aurora_lily58":{"id":"splitkb_aurora_lily58","name":"splitkb.com Aurora Lily58"},"splitkb_aurora_sofle":{"id":"splitkb_aurora_sofle","name":"splitkb.com Aurora Sofle"},"splitkb_aurora_sweep":{"id":"splitkb_aurora_sweep","name":"splitkb.com Aurora Sweep"},"splitreus62":{"id":"splitreus62","name":"Splitreus62"},"tg4x":{"id":"tg4x","name":"TG4x"},"tidbit":{"id":"tidbit","name":"Tidbit Numpad"},"totem":{"id":"totem","name":"Totem"},"two_percent_milk":{"id":"two_percent_milk","name":"2% Milk"},"waterfowl":{"id":"waterfowl","name":"Waterfowl"},"zmk_uno":{"id":"zmk_uno","name":"ZMK Uno"},"zodiark":{"id":"zodiark","name":"Zodiark"}}')},24234:function(_){"use strict";_.exports=JSON.parse('{"zmk,behavior-backlight":{"description":"Backlight behavior","compatible":"zmk,behavior-backlight","include":"two_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":2}}},"zmk,behavior-bluetooth":{"description":"Bluetooth Behavior","compatible":"zmk,behavior-bluetooth","include":"two_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":2}}},"zmk,behavior-caps-word":{"description":"Caps word behavior","compatible":"zmk,behavior-caps-word","include":"zero_param.yaml","properties":{"continue-list":{"type":"array","required":true},"mods":{"type":"int"},"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,behavior-ext-power":{"description":"External power control Behavior","compatible":"zmk,behavior-ext-power","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,behavior-hold-tap":{"description":"Hold or Tap behavior","compatible":"zmk,behavior-hold-tap","include":"two_param.yaml","properties":{"bindings":{"type":"phandles","required":true},"tapping-term-ms":{"type":"int"},"tapping_term_ms":{"type":"int"},"quick-tap-ms":{"type":"int","default":-1},"quick_tap_ms":{"type":"int"},"global-quick-tap":{"type":"boolean"},"flavor":{"type":"string","required":false,"default":"hold-preferred","enum":["hold-preferred","balanced","tap-preferred","tap-unless-interrupted"]},"retro-tap":{"type":"boolean"},"hold-trigger-key-positions":{"type":"array","required":false,"default":[]},"hold-trigger-on-release":{"type":"boolean"},"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":2}}},"zmk,behavior-key-press":{"description":"Key press/release behavior","compatible":"zmk,behavior-key-press","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,behavior-key-repeat":{"description":"Key repeat behavior","compatible":"zmk,behavior-key-repeat","include":"zero_param.yaml","properties":{"usage-pages":{"type":"array","required":true},"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,behavior-key-toggle":{"description":"Key toggle behavior","compatible":"zmk,behavior-key-toggle","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,behavior-macro-one-param":{"description":"Macro Behavior","compatible":"zmk,behavior-macro-one-param","include":["one_param.yaml","macro_base.yaml"],"properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1},"bindings":{"type":"phandle-array","required":true},"wait-ms":{"type":"int","description":"The default time to wait (in milliseconds) before triggering the next behavior in the macro bindings list."},"tap-ms":{"type":"int","description":"The default time to wait (in milliseconds) between the press and release events on a tapped macro behavior binding"}}},"zmk,behavior-macro-two-param":{"description":"Macro Behavior","compatible":"zmk,behavior-macro-two-param","include":["two_param.yaml","macro_base.yaml"],"properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":2},"bindings":{"type":"phandle-array","required":true},"wait-ms":{"type":"int","description":"The default time to wait (in milliseconds) before triggering the next behavior in the macro bindings list."},"tap-ms":{"type":"int","description":"The default time to wait (in milliseconds) between the press and release events on a tapped macro behavior binding"}}},"zmk,behavior-macro":{"description":"Macro Behavior","compatible":"zmk,behavior-macro","include":["zero_param.yaml","macro_base.yaml"],"properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0},"bindings":{"type":"phandle-array","required":true},"wait-ms":{"type":"int","description":"The default time to wait (in milliseconds) before triggering the next behavior in the macro bindings list."},"tap-ms":{"type":"int","description":"The default time to wait (in milliseconds) between the press and release events on a tapped macro behavior binding"}}},"zmk,behavior-mod-morph":{"description":"Mod Morph Behavior","compatible":"zmk,behavior-mod-morph","include":"zero_param.yaml","properties":{"bindings":{"type":"phandle-array","required":true},"mods":{"type":"int","required":true},"keep-mods":{"type":"int","required":false},"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,behavior-momentary-layer":{"description":"Momentary layer on press/release behavior","compatible":"zmk,behavior-momentary-layer","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,behavior-none":{"description":"None Binding Behavior","compatible":"zmk,behavior-none","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,behavior-outputs":{"description":"Output Selection Behavior","compatible":"zmk,behavior-outputs","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,behavior-reset":{"description":"Keyboard Reset Behavior","compatible":"zmk,behavior-reset","include":"zero_param.yaml","properties":{"type":{"type":"int","default":0},"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,behavior-rgb-underglow":{"description":"RGB Underglow Action","compatible":"zmk,behavior-rgb-underglow","include":"two_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":2}}},"zmk,behavior-sensor-rotate-var":{"description":"Sensor rotate behavior","compatible":"zmk,behavior-sensor-rotate-var","properties":{"label":{"type":"string","required":true},"#sensor-binding-cells":{"type":"int","required":true,"const":2},"bindings":{"type":"phandles","required":true},"tap-ms":{"type":"int","default":5}},"sensor-binding-cells":["param1","param2"]},"zmk,behavior-sensor-rotate":{"description":"Sensor rotate behavior","compatible":"zmk,behavior-sensor-rotate","properties":{"label":{"type":"string","required":true},"#sensor-binding-cells":{"type":"int","required":true,"const":0},"bindings":{"type":"phandle-array","required":true},"tap-ms":{"type":"int","default":5}}},"zmk,behavior-sticky-key":{"description":"Sticky key behavior","compatible":"zmk,behavior-sticky-key","include":"one_param.yaml","properties":{"bindings":{"type":"phandles","required":true},"release-after-ms":{"type":"int","required":true},"quick-release":{"type":"boolean"},"ignore-modifiers":{"type":"boolean"},"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,behavior-tap-dance":{"description":"Tap Dance Behavior","compatible":"zmk,behavior-tap-dance","include":"zero_param.yaml","properties":{"bindings":{"type":"phandle-array","required":true},"tapping-term-ms":{"type":"int","default":200},"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,behavior-to-layer":{"description":"To Layer","compatible":"zmk,behavior-to-layer","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,behavior-toggle-layer":{"description":"Toggle Layer","compatible":"zmk,behavior-toggle-layer","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,behavior-transparent":{"description":"Transparent Binding Behavior","compatible":"zmk,behavior-transparent","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,macro-control-mode-press":{"description":"Set Macro To Press Mode","compatible":"zmk,macro-control-mode-press","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,macro-control-mode-release":{"description":"Set Macro To Release Mode","compatible":"zmk,macro-control-mode-release","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,macro-control-mode-tap":{"description":"Set Macro To Tap Mode","compatible":"zmk,macro-control-mode-tap","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,macro-control-tap-time":{"description":"Set Macro Tap Duration","compatible":"zmk,macro-control-tap-time","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,macro-control-wait-time":{"description":"Set Macro Wait Duration","compatible":"zmk,macro-control-wait-time","include":"one_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":1}}},"zmk,macro-param-1to1":{"description":"Macro Parameter One Substituted Into Next Binding\'s First Parameter","compatible":"zmk,macro-param-1to1","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,macro-param-1to2":{"description":"Macro Parameter One Substituted Into Next Binding\'s Second Parameter","compatible":"zmk,macro-param-1to2","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,macro-param-2to1":{"description":"Macro Parameter Two Substituted Into Next Binding\'s First Parameter","compatible":"zmk,macro-param-2to1","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,macro-param-2to2":{"description":"Macro Parameter Two Substituted Into Next Binding\'s Second Parameter","compatible":"zmk,macro-param-2to2","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}},"zmk,macro-pause-for-release":{"description":"Macro Pause Until Release Marker","compatible":"zmk,macro-pause-for-release","include":"zero_param.yaml","properties":{"label":{"type":"string","required":true},"#binding-cells":{"type":"int","required":true,"const":0}}}}')},61443:function(_){"use strict";_.exports=JSON.parse('[{"name":"behavior_backlight","labels":["bl"],"code":"&bl","compatible":"zmk,behavior-backlight","properties":{"compatible":{"raw":"\\"zmk,behavior-backlight\\"","parsed":"zmk,behavior-backlight"},"label":{"raw":"\\"BCKLGHT\\"","parsed":"BCKLGHT"},"#binding-cells":{"raw":"<2>","parsed":2}}},{"name":"behavior_bluetooth","labels":["bt"],"code":"&bt","compatible":"zmk,behavior-bluetooth","properties":{"compatible":{"raw":"\\"zmk,behavior-bluetooth\\"","parsed":"zmk,behavior-bluetooth"},"label":{"raw":"\\"BLUETOOTH\\"","parsed":"BLUETOOTH"},"#binding-cells":{"raw":"<2>","parsed":2}}},{"name":"behavior_caps_word","labels":["caps_word"],"code":"&caps_word","compatible":"zmk,behavior-caps-word","properties":{"compatible":{"raw":"\\"zmk,behavior-caps-word\\"","parsed":"zmk,behavior-caps-word"},"continue-list":{"raw":"<UNDERSCORE BACKSPACE DELETE>","parsed":["UNDERSCORE","BACKSPACE","DELETE"]},"label":{"raw":"\\"CAPS_WORD\\"","parsed":"CAPS_WORD"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"behavior_ext_power","labels":["ext_power"],"code":"&ext_power","compatible":"zmk,behavior-ext-power","properties":{"compatible":{"raw":"\\"zmk,behavior-ext-power\\"","parsed":"zmk,behavior-ext-power"},"label":{"raw":"\\"EXTPOWER\\"","parsed":"EXTPOWER"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"grave_escape","labels":["gresc"],"code":"&gresc","compatible":"zmk,behavior-mod-morph","properties":{"compatible":{"raw":"\\"zmk,behavior-mod-morph\\"","parsed":"zmk,behavior-mod-morph"},"bindings":{"raw":"<&kp ESC>, <&kp GRAVE>","parsed":[{"value":"&kp","params":[{"value":"ESC","params":[]}]},{"value":"&kp","params":[{"value":"GRAVE","params":[]}]}]},"mods":{"raw":"<(MOD_LGUI|MOD_LSFT|MOD_RGUI|MOD_RSFT)>","parsed":["MOD_LGUI","MOD_LSFT","MOD_RGUI","MOD_RSFT"]},"label":{"raw":"\\"GRAVE_ESCAPE\\"","parsed":"GRAVE_ESCAPE"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"behavior_key_press","labels":["cp","kp"],"code":"&kp","compatible":"zmk,behavior-key-press","properties":{"compatible":{"raw":"\\"zmk,behavior-key-press\\"","parsed":"zmk,behavior-key-press"},"label":{"raw":"\\"KEY_PRESS\\"","parsed":"KEY_PRESS"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"behavior_key_repeat","labels":["key_repeat"],"code":"&key_repeat","compatible":"zmk,behavior-key-repeat","properties":{"compatible":{"raw":"\\"zmk,behavior-key-repeat\\"","parsed":"zmk,behavior-key-repeat"},"usage-pages":{"raw":"<HID_USAGE_KEY>","parsed":["HID_USAGE_KEY"]},"label":{"raw":"\\"KEY_REPEAT\\"","parsed":"KEY_REPEAT"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"behavior_key_toggle","labels":["kt"],"code":"&kt","compatible":"zmk,behavior-key-toggle","properties":{"compatible":{"raw":"\\"zmk,behavior-key-toggle\\"","parsed":"zmk,behavior-key-toggle"},"label":{"raw":"\\"KEY_TOGGLE\\"","parsed":"KEY_TOGGLE"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"behavior_layer_tap","labels":["lt"],"code":"&lt","compatible":"zmk,behavior-hold-tap","properties":{"compatible":{"raw":"\\"zmk,behavior-hold-tap\\"","parsed":"zmk,behavior-hold-tap"},"bindings":{"raw":"<&mo>, <&kp>","parsed":["&mo","&kp"]},"tapping-term-ms":{"raw":"<200>","parsed":200},"flavor":{"raw":"\\"tap-preferred\\"","parsed":"tap-preferred"},"label":{"raw":"\\"LAYER_TAP\\"","parsed":"LAYER_TAP"},"#binding-cells":{"raw":"<2>","parsed":2}}},{"name":"macro_control_mode_tap","labels":["macro_tap"],"code":"&macro_tap","compatible":"zmk,macro-control-mode-tap","properties":{"compatible":{"raw":"\\"zmk,macro-control-mode-tap\\"","parsed":"zmk,macro-control-mode-tap"},"label":{"raw":"\\"MAC_TAP\\"","parsed":"MAC_TAP"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"macro_control_mode_press","labels":["macro_press"],"code":"&macro_press","compatible":"zmk,macro-control-mode-press","properties":{"compatible":{"raw":"\\"zmk,macro-control-mode-press\\"","parsed":"zmk,macro-control-mode-press"},"label":{"raw":"\\"MAC_PRESS\\"","parsed":"MAC_PRESS"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"macro_control_mode_release","labels":["macro_release"],"code":"&macro_release","compatible":"zmk,macro-control-mode-release","properties":{"compatible":{"raw":"\\"zmk,macro-control-mode-release\\"","parsed":"zmk,macro-control-mode-release"},"label":{"raw":"\\"MAC_REL\\"","parsed":"MAC_REL"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"macro_control_tap_time","labels":["macro_tap_time"],"code":"&macro_tap_time","compatible":"zmk,macro-control-tap-time","properties":{"compatible":{"raw":"\\"zmk,macro-control-tap-time\\"","parsed":"zmk,macro-control-tap-time"},"label":{"raw":"\\"MAC_TAP_TIME\\"","parsed":"MAC_TAP_TIME"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"macro_control_wait_time","labels":["macro_wait_time"],"code":"&macro_wait_time","compatible":"zmk,macro-control-wait-time","properties":{"compatible":{"raw":"\\"zmk,macro-control-wait-time\\"","parsed":"zmk,macro-control-wait-time"},"label":{"raw":"\\"MAC_WAIT_TIME\\"","parsed":"MAC_WAIT_TIME"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"macro_pause_for_release","labels":["macro_pause_for_release"],"code":"&macro_pause_for_release","compatible":"zmk,macro-pause-for-release","properties":{"compatible":{"raw":"\\"zmk,macro-pause-for-release\\"","parsed":"zmk,macro-pause-for-release"},"label":{"raw":"\\"MAC_WAIT_REL\\"","parsed":"MAC_WAIT_REL"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"macro_param_1to1","labels":["macro_param_1to1"],"code":"&macro_param_1to1","compatible":"zmk,macro-param-1to1","properties":{"compatible":{"raw":"\\"zmk,macro-param-1to1\\"","parsed":"zmk,macro-param-1to1"},"label":{"raw":"\\"MAC_PARAM_1TO1\\"","parsed":"MAC_PARAM_1TO1"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"macro_param_1to2","labels":["macro_param_1to2"],"code":"&macro_param_1to2","compatible":"zmk,macro-param-1to2","properties":{"compatible":{"raw":"\\"zmk,macro-param-1to2\\"","parsed":"zmk,macro-param-1to2"},"label":{"raw":"\\"MAC_PARAM_1TO2\\"","parsed":"MAC_PARAM_1TO2"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"macro_param_2to1","labels":["macro_param_2to1"],"code":"&macro_param_2to1","compatible":"zmk,macro-param-2to1","properties":{"compatible":{"raw":"\\"zmk,macro-param-2to1\\"","parsed":"zmk,macro-param-2to1"},"label":{"raw":"\\"MAC_PARAM_2TO1\\"","parsed":"MAC_PARAM_2TO1"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"macro_param_2to2","labels":["macro_param_2to2"],"code":"&macro_param_2to2","compatible":"zmk,macro-param-2to2","properties":{"compatible":{"raw":"\\"zmk,macro-param-2to2\\"","parsed":"zmk,macro-param-2to2"},"label":{"raw":"\\"MAC_PARAM_2TO2\\"","parsed":"MAC_PARAM_2TO2"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"behavior_mod_tap","labels":["mt"],"code":"&mt","compatible":"zmk,behavior-hold-tap","properties":{"compatible":{"raw":"\\"zmk,behavior-hold-tap\\"","parsed":"zmk,behavior-hold-tap"},"bindings":{"raw":"<&kp>, <&kp>","parsed":["&kp","&kp"]},"tapping-term-ms":{"raw":"<200>","parsed":200},"flavor":{"raw":"\\"hold-preferred\\"","parsed":"hold-preferred"},"label":{"raw":"\\"MOD_TAP\\"","parsed":"MOD_TAP"},"#binding-cells":{"raw":"<2>","parsed":2}}},{"name":"behavior_momentary_layer","labels":["mo"],"code":"&mo","compatible":"zmk,behavior-momentary-layer","properties":{"compatible":{"raw":"\\"zmk,behavior-momentary-layer\\"","parsed":"zmk,behavior-momentary-layer"},"label":{"raw":"\\"MO\\"","parsed":"MO"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"behavior_none","labels":["none"],"code":"&none","compatible":"zmk,behavior-none","properties":{"compatible":{"raw":"\\"zmk,behavior-none\\"","parsed":"zmk,behavior-none"},"label":{"raw":"\\"NONE\\"","parsed":"NONE"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"behavior_outputs","labels":["out"],"code":"&out","compatible":"zmk,behavior-outputs","properties":{"compatible":{"raw":"\\"zmk,behavior-outputs\\"","parsed":"zmk,behavior-outputs"},"label":{"raw":"\\"OUTPUTS\\"","parsed":"OUTPUTS"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"behavior_reset","labels":["sys_reset"],"code":"&sys_reset","compatible":"zmk,behavior-reset","properties":{"compatible":{"raw":"\\"zmk,behavior-reset\\"","parsed":"zmk,behavior-reset"},"label":{"raw":"\\"SYSRESET\\"","parsed":"SYSRESET"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"behavior_reset_dfu","labels":["bootloader"],"code":"&bootloader","compatible":"zmk,behavior-reset","properties":{"compatible":{"raw":"\\"zmk,behavior-reset\\"","parsed":"zmk,behavior-reset"},"type":{"raw":"<RST_UF2>","parsed":"RST_UF2"},"label":{"raw":"\\"BOOTLOAD\\"","parsed":"BOOTLOAD"},"#binding-cells":{"raw":"<0>","parsed":0}}},{"name":"behavior_rgb_underglow","labels":["rgb_ug"],"code":"&rgb_ug","compatible":"zmk,behavior-rgb-underglow","properties":{"compatible":{"raw":"\\"zmk,behavior-rgb-underglow\\"","parsed":"zmk,behavior-rgb-underglow"},"label":{"raw":"\\"RGB_UG\\"","parsed":"RGB_UG"},"#binding-cells":{"raw":"<2>","parsed":2}}},{"name":"behavior_sensor_rotate_key_press","labels":["inc_dec_cp","inc_dec_kp"],"code":"&inc_dec_kp","compatible":"zmk,behavior-sensor-rotate-var","properties":{"compatible":{"raw":"\\"zmk,behavior-sensor-rotate-var\\"","parsed":"zmk,behavior-sensor-rotate-var"},"#sensor-binding-cells":{"raw":"<2>","parsed":2},"bindings":{"raw":"<&kp>, <&kp>","parsed":["&kp","&kp"]},"label":{"raw":"\\"ENC_KEY_PRESS\\"","parsed":"ENC_KEY_PRESS"}}},{"name":"behavior_sticky_key","labels":["sk"],"code":"&sk","compatible":"zmk,behavior-sticky-key","properties":{"compatible":{"raw":"\\"zmk,behavior-sticky-key\\"","parsed":"zmk,behavior-sticky-key"},"bindings":{"raw":"<&kp>","parsed":["&kp"]},"release-after-ms":{"raw":"<1000>","parsed":1000},"ignore-modifiers":{"raw":"","parsed":true},"label":{"raw":"\\"STICKY_KEY\\"","parsed":"STICKY_KEY"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"behavior_sticky_layer","labels":["sl"],"code":"&sl","compatible":"zmk,behavior-sticky-key","properties":{"compatible":{"raw":"\\"zmk,behavior-sticky-key\\"","parsed":"zmk,behavior-sticky-key"},"bindings":{"raw":"<&mo>","parsed":["&mo"]},"release-after-ms":{"raw":"<1000>","parsed":1000},"quick-release":{"raw":"","parsed":true},"label":{"raw":"\\"STICKY_LAYER\\"","parsed":"STICKY_LAYER"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"behavior_to_layer","labels":["to"],"code":"&to","compatible":"zmk,behavior-to-layer","properties":{"compatible":{"raw":"\\"zmk,behavior-to-layer\\"","parsed":"zmk,behavior-to-layer"},"label":{"raw":"\\"TO_LAYER\\"","parsed":"TO_LAYER"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"behavior_toggle_layer","labels":["tog"],"code":"&tog","compatible":"zmk,behavior-toggle-layer","properties":{"compatible":{"raw":"\\"zmk,behavior-toggle-layer\\"","parsed":"zmk,behavior-toggle-layer"},"label":{"raw":"\\"TOGGLE_LAYER\\"","parsed":"TOGGLE_LAYER"},"#binding-cells":{"raw":"<1>","parsed":1}}},{"name":"behavior_transparent","labels":["trans"],"code":"&trans","compatible":"zmk,behavior-transparent","properties":{"compatible":{"raw":"\\"zmk,behavior-transparent\\"","parsed":"zmk,behavior-transparent"},"label":{"raw":"\\"TRANS\\"","parsed":"TRANS"},"#binding-cells":{"raw":"<0>","parsed":0}}}]')},15126:function(_){"use strict";_.exports=JSON.parse('[{"names":["A"],"description":"a and A","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458756}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["B"],"description":"b and B","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458757}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["C"],"description":"c and C","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458758}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["D"],"description":"d and D","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458759}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["E"],"description":"e and E","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458760}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F"],"description":"f and F","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458761}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["G"],"description":"g and G","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458762}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["H"],"description":"h and H","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458763}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["I"],"description":"i and I","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458764}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["J"],"description":"j and J","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458765}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["K"],"description":"k and K","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458766}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["L"],"description":"l and L","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458767}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["M"],"description":"m and M","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458768}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["N"],"description":"n and N","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458769}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["O"],"description":"o and O","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458770}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["P"],"description":"p and P","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458771}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["Q"],"description":"q and Q","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458772}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["R"],"description":"r and R","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458773}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["S"],"description":"s and S","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458774}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["T"],"description":"t and T","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458775}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["U"],"description":"u and U","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458776}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=83","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["V"],"description":"v and V","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458777}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["W"],"description":"w and W","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458778}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["X"],"description":"x and X","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458779}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["Y"],"description":"y and Y","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458780}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["Z"],"description":"z and Z","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458781}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_1","N1"],"description":"1 and ! [Exclamation]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458782}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["EXCLAMATION","EXCL"],"description":"! [Exclamation]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458782},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_2","N2"],"description":"2 and @ [At Sign]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458783}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["AT_SIGN","AT"],"description":"@ [At Sign]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458783},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_3","N3"],"description":"3 and # [Hash / Pound]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458784}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["HASH","POUND"],"description":"# [Hash / Pound]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458784},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_4","N4"],"description":"4 and $ [Dollar]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458785}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["DOLLAR","DLLR"],"description":"$ [Dollar]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458785},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_5","N5"],"description":"5 and % [Percent]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458786}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PERCENT","PRCNT"],"description":"% [Percent]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458786},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_6","N6"],"description":"6 and ^ [Caret]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458787}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["CARET"],"description":"^ [Caret]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458787},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_7","N7"],"description":"7 and & [Ampersand]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458788}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["AMPERSAND","AMPS"],"description":"& [Ampersand]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458788},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_8","N8"],"description":"8 and * [Asterisk / Star]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458789}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["ASTERISK","ASTRK","STAR"],"description":"* [Asterisk / Star]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458789},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_9","N9"],"description":"9 and ( [Left Parenthesis]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458790}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["LEFT_PARENTHESIS","LPAR"],"description":"( [Left Parenthesis]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458790},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NUMBER_0","N0"],"description":"0 and ) [Right Parenthesis]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458791}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RIGHT_PARENTHESIS","RPAR"],"description":") [Right Parenthesis]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458791},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RETURN","ENTER","RET"],"description":"Return (Enter)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458792}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["ESCAPE","ESC"],"description":"Escape","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458793}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["BACKSPACE","BSPC"],"description":"Backspace","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458794}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["TAB"],"description":"Tab","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458795}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["SPACE"],"description":"Space","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458796}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["MINUS"],"description":"- [Minus] and _ [Underscore]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458797}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["UNDERSCORE","UNDER"],"description":"_ [Underscore]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458797},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["EQUAL"],"description":"= [Equal] and + [Plus]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458798}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PLUS"],"description":"+ [Plus]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458798},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["LEFT_BRACKET","LBKT"],"description":"[ [Left Bracket] and { [Left Brace]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458799}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["LEFT_BRACE","LBRC"],"description":"{ [Left Brace]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458799},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RIGHT_BRACKET","RBKT"],"description":"] [Right Bracket] and } [Right Brace]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458800}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RIGHT_BRACE","RBRC"],"description":"} [Right Brace]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458800},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["BACKSLASH","BSLH"],"description":"\\\\ [Backslash] and | [Pipe]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458801}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PIPE"],"description":"| [Pipe]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458801},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NON_US_HASH","NUHS"],"description":"Non-US # [Hash/Pound] and ~ [Tilde]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458802}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["TILDE2"],"description":"~ [Tilde]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458802},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["SEMICOLON","SEMI"],"description":"; [Semicolon] and : [Colon]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458803}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["COLON"],"description":": [Colon]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458803},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["SINGLE_QUOTE","SQT","APOSTROPHE","APOS"],"description":"\' [Apostrophe] and \\" [Quote (Double)]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458804}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["DOUBLE_QUOTES","DQT"],"description":"\\" [Quote (Double)]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458804},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["GRAVE"],"description":"` [Grave Accent] and ~ [Tilde]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458805}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["TILDE"],"description":"~ [Tilde]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458805},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["COMMA"],"description":", [Comma] and < [Less Than]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458806}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["LESS_THAN","LT"],"description":"< [Less Than]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458806},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PERIOD","DOT"],"description":". [Period] and > [Greater Than]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458807}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["GREATER_THAN","GT"],"description":"> [Greater Than]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458807},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["SLASH","FSLH"],"description":"/ [Forward Slash] and ? [Question Mark]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458808}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["QUESTION","QMARK"],"description":"? [Question Mark]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458808},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["CAPSLOCK","CAPS","CLCK"],"description":"Caps Lock","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458809}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F1"],"description":"F1","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458810}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F2"],"description":"F2","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458811}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F3"],"description":"F3","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458812}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F4"],"description":"F4","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458813}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=84","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F5"],"description":"F5","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458814}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F6"],"description":"F6","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458815}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F7"],"description":"F7","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458816}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F8"],"description":"F8","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458817}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F9"],"description":"F9","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458818}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F10"],"description":"F10","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458819}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F11"],"description":"F11","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458820}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["F12"],"description":"F12","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458821}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PRINTSCREEN","PSCRN"],"description":"Print Screen","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458822}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["SCROLLLOCK","SLCK"],"description":"Scroll Lock","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458823}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PAUSE_BREAK"],"description":"Pause / Break","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458824}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["INSERT","INS"],"description":"Insert","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458825}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["HOME"],"description":"Home","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458826}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PAGE_UP","PG_UP"],"description":"Page Up","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458827}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["DELETE","DEL"],"description":"Delete","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458828}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["END"],"description":"End","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458829}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PAGE_DOWN","PG_DN"],"description":"Page Down","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458830}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RIGHT_ARROW","RIGHT"],"description":"⮕ [Right Arrow]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458831}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["LEFT_ARROW","LEFT"],"description":"⬅ [Left Arrow]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458832}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["DOWN_ARROW","DOWN"],"description":"⬇ [Down Arrow]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458833}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["UP_ARROW","UP"],"description":"⬆ [Up Arrow]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458834}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMLOCK","KP_NUM","KP_NLCK"],"description":"Numlock and Clear","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458835}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["CLEAR2"],"description":"Clear","context":"Keypad","clarify":null,"usages":[{"application":65542,"item":458835},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["KP_DIVIDE","KP_SLASH"],"description":"/ [Divide]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458836}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_MULTIPLY","KP_ASTERISK"],"description":"* [Multiply]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458837}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_MINUS","KP_SUBTRACT"],"description":"- [Minus]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458838}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_PLUS"],"description":"+ [Plus]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458839}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_ENTER"],"description":"Enter","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458840}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_1","KP_N1"],"description":"1","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458841}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_2","KP_N2"],"description":"2","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458842}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_3","KP_N3"],"description":"3","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458843}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_4","KP_N4"],"description":"4","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458844}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_5","KP_N5"],"description":"5","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458845}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_6","KP_N6"],"description":"6","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458846}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_7","KP_N7"],"description":"7","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458847}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_8","KP_N8"],"description":"8","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458848}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_9","KP_N9"],"description":"9","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458849}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_NUMBER_0","KP_N0"],"description":"0","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458850}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=85","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["KP_DOT"],"description":". [Dot]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458851}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["NON_US_BACKSLASH","NON_US_BSLH","NUBS"],"description":"Non-US \\\\ [Backslash] and | [Pipe]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458852}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["PIPE2"],"description":"| [Pipe]","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458852},{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["K_APPLICATION","K_APP","K_CONTEXT_MENU","K_CMENU"],"description":"Application (Context Menu)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458853}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{"ios":["iosApplication"]}},{"names":["K_POWER","K_PWR"],"description":"Power","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458854}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":null,"linux":false,"android":true,"macos":true,"ios":true},"footnotes":{"macos":["macosPower"],"ios":["iosPower"]}},{"names":["KP_EQUAL"],"description":"= [Equal]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458855}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":true,"macos":null,"ios":true},"footnotes":{}},{"names":["F13"],"description":"F13","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458856}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F14"],"description":"F14","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458857}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F15"],"description":"F15","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458858}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F16"],"description":"F16","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458859}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F17"],"description":"F17","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458860}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F18"],"description":"F18","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458861}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F19"],"description":"F19","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458862}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F20"],"description":"F20","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458863}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F21"],"description":"F21","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458864}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F22"],"description":"F22","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458865}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F23"],"description":"F23","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458866}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["F24"],"description":"F24","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458867}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{}},{"names":["K_EXECUTE","K_EXEC"],"description":"Execute","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458868}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_HELP"],"description":"Help","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458869}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_MENU"],"description":"Menu","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458870}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_SELECT"],"description":"Select","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458871}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_STOP"],"description":"Stop","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458872}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["K_AGAIN","K_REDO"],"description":"Again","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458873}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_UNDO"],"description":"Undo","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458874}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_CUT"],"description":"Cut","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458875}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_COPY"],"description":"Copy","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458876}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_PASTE"],"description":"Paste","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458877}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_FIND"],"description":"Find","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458878}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_MUTE"],"description":"Mute","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458879}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":true,"macos":true,"ios":null},"footnotes":{}},{"names":["K_VOLUME_UP","K_VOL_UP"],"description":"Volume Up","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458880}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":null},"footnotes":{}},{"names":["K_VOLUME_DOWN","K_VOL_DN"],"description":"Volume Down","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458881}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":null},"footnotes":{}},{"names":["LOCKING_CAPS","LCAPS"],"description":"Locking Caps Lock","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458882}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LOCKING_NUM","LNLCK"],"description":"Locking Num Lock","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458883}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LOCKING_SCROLL","LSLCK"],"description":"Locking Scroll Lock","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458884}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":true,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["KP_COMMA"],"description":", [Comma]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458885}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["KP_EQUAL_AS400"],"description":"= [Equal] (AS/400 keyboards)","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458886}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_1","INT1","INT_RO"],"description":"ろ (International 1)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458887}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_2","INT2","INT_KATAKANAHIRAGANA","INT_KANA"],"description":"かな (International 2)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458888}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_3","INT3","INT_YEN"],"description":"¥ (International 3)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458889}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_4","INT4","INT_HENKAN"],"description":"変換 (International 4)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458890}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=86","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_5","INT5","INT_MUHENKAN"],"description":"無変換 (International 5)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458891}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_6","INT6","INT_KPJPCOMMA"],"description":", [カンマ] (International 6)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458892}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_7","INT7"],"description":"International 7","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458893}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_8","INT8"],"description":"International 8","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458894}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["INTERNATIONAL_9","INT9"],"description":"International 9","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458895}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_1","LANG1","LANG_HANGEUL"],"description":"한/영 (Language 1)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458896}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":true,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_2","LANG2","LANG_HANJA"],"description":"한자 (Language 2)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458897}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":true,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_3","LANG3","LANG_KATAKANA"],"description":"カタカナ (Language 3)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458898}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_4","LANG4","LANG_HIRAGANA"],"description":"ひらがな (Language 4)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458899}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_5","LANG5","LANG_ZENKAKUHANKAKU"],"description":"半角/全角 (Language 5)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458900}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_6","LANG6"],"description":"Language 6","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458901}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_7","LANG7"],"description":"Language 7","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458902}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_8","LANG8"],"description":"Language 8","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458903}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["LANGUAGE_9","LANG9"],"description":"Language 9","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458904}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["ALT_ERASE"],"description":"Alternate Erase","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458905}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["SYSREQ","ATTENTION"],"description":"SysReq / Attention","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458906}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["K_CANCEL"],"description":"Cancel","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458907}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["CLEAR"],"description":"Clear","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458908}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["PRIOR"],"description":"Prior","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458909}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["RETURN2","RET2"],"description":"Return","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458910}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":false,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["SEPARATOR"],"description":"Separator","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458911}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["OUT"],"description":"Out","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458912}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["OPER"],"description":"Oper","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458913}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["CLEAR_AGAIN"],"description":"Clear / Again","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458914}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["CRSEL"],"description":"CrSel / Props","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458915}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["EXSEL"],"description":"ExSel","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458916}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["KP_LEFT_PARENTHESIS","KP_LPAR"],"description":"( [Left Parenthesis]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458934}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["KP_RIGHT_PARENTHESIS","KP_RPAR"],"description":") [Right Parenthesis]","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458935}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=87","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["KP_CLEAR"],"description":"Clear","context":"Keypad","clarify":false,"usages":[{"application":65542,"item":458968}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=88","os":{"windows":null,"linux":true,"android":false,"macos":false,"ios":false},"footnotes":{}},{"names":["LEFT_CONTROL","LCTRL","LC(code)"],"description":"Left Control","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458976}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=88","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["LEFT_SHIFT","LSHIFT","LSHFT","LS(code)"],"description":"Left Shift ⇧","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=88","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["LEFT_ALT","LALT","LA(code)"],"description":"Left Alt","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458978}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=88","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["LEFT_GUI","LGUI","LG(code)","LEFT_WIN","LWIN","LEFT_COMMAND","LCMD","LEFT_META","LMETA"],"description":"Left GUI (Windows / Command / Meta)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458979}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=88","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RIGHT_CONTROL","RCTRL","RC(code)"],"description":"Right Control","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458980}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=88","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RIGHT_SHIFT","RSHIFT","RSHFT","RS(code)"],"description":"Right Shift ⇧","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458981}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=89","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RIGHT_ALT","RALT","RA(code)"],"description":"Right Alt","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458982}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=89","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["RIGHT_GUI","RGUI","RG(code)","RIGHT_WIN","RWIN","RIGHT_COMMAND","RCMD","RIGHT_META","RMETA"],"description":"Right GUI (Windows / Command / Meta)","context":"Keyboard","clarify":false,"usages":[{"application":65542,"item":458983}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=89","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":true},"footnotes":{}},{"names":["K_PLAY_PAUSE","K_PP"],"description":"Play / Pause","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458984}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_STOP2"],"description":"Stop","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458985}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_PREVIOUS","K_PREV"],"description":"Previous","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458986}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_NEXT"],"description":"Next","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458987}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_EJECT"],"description":"Eject","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458988}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_VOLUME_UP2","K_VOL_UP2"],"description":"Volume Up","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458989}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_VOLUME_DOWN2","K_VOL_DN2"],"description":"Volume Down","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458990}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_MUTE2"],"description":"Mute","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458991}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_WWW"],"description":"Internet Browser","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458992}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_BACK"],"description":"Back","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458993}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_FORWARD"],"description":"Forward","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458994}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_STOP3"],"description":"Stop","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458995}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":false,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_FIND2"],"description":"Find","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458996}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":false,"macos":false,"ios":false},"footnotes":{}},{"names":["K_SCROLL_UP"],"description":"Scroll Up","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458997}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_SCROLL_DOWN"],"description":"Scroll Down","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458998}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_EDIT"],"description":"Edit","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":458999}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":false,"macos":false,"ios":false},"footnotes":{}},{"names":["K_SLEEP"],"description":"Sleep","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":459000}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":false,"macos":false,"ios":false},"footnotes":{}},{"names":["K_LOCK","K_SCREENSAVER","K_COFFEE"],"description":"Lock","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":459001}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["K_REFRESH"],"description":"Refresh","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":459002}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":false,"macos":false,"ios":false},"footnotes":{}},{"names":["K_CALCULATOR","K_CALC"],"description":"Calculator","context":"Keyboard","clarify":true,"usages":[{"application":65542,"item":459003}],"documentation":"https://source.android.com/devices/input/keyboard-devices#hid-keyboard-and-keypad-page-0x07","os":{"windows":null,"linux":true,"android":true,"macos":false,"ios":false},"footnotes":{}},{"names":["C_POWER","C_PWR"],"description":"Power","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786480}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=132","os":{"windows":null,"linux":true,"android":false,"macos":true,"ios":true},"footnotes":{"macos":["macosPower"],"ios":["iosPower"]}},{"names":["C_RESET"],"description":"Reset","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786481}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=132","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_SLEEP"],"description":"Sleep","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786482}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=132","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_SLEEP_MODE"],"description":"Sleep Mode","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786484}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=132","os":{"windows":null,"linux":false,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU"],"description":"Menu","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786496}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU_PICK","C_MENU_SELECT"],"description":"Pick","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786497}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU_UP"],"description":"Up","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786498}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU_DOWN"],"description":"Down","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786499}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU_LEFT"],"description":"Left","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786500}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU_RIGHT"],"description":"Right","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786501}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU_ESCAPE","C_MENU_ESC"],"description":"Escape","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786502}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU_INCREASE","C_MENU_INC"],"description":"Value Increase","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786503}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MENU_DECREASE","C_MENU_DEC"],"description":"Value Decrease","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786504}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_DATA_ON_SCREEN"],"description":"Data On Screen","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786528}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":null,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_CAPTIONS","C_SUBTITLES"],"description":"Closed Caption","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786529}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":false,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_SNAPSHOT"],"description":"Snapshot","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786533}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":false,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_PIP"],"description":"Picture-in-Picture Toggle","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786535}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":false,"linux":false,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_RED_BUTTON","C_RED"],"description":"Red Button","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786537}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_GREEN_BUTTON","C_GREEN"],"description":"Green Button","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786538}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_BLUE_BUTTON","C_BLUE"],"description":"Blue Button","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786539}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_YELLOW_BUTTON","C_YELLOW"],"description":"Yellow Button","context":"Consumer Menu","clarify":true,"usages":[{"application":786433,"item":786540}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=133","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_ASPECT"],"description":"Aspect","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786541}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":false,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_BRIGHTNESS_INC","C_BRI_INC","C_BRI_UP"],"description":"Increase Brightness","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786543}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":true,"linux":true,"android":null,"macos":true,"ios":null},"footnotes":{}},{"names":["C_BRIGHTNESS_DEC","C_BRI_DEC","C_BRI_DN"],"description":"Decrease Brightness","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786544}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":true,"linux":true,"android":null,"macos":true,"ios":null},"footnotes":{}},{"names":["C_BACKLIGHT_TOGGLE","C_BKLT_TOG"],"description":"Backlight Toggle","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786546}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":false,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_BRIGHTNESS_MINIMUM","C_BRI_MIN"],"description":"Minimum Brightness","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786547}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":false,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_BRIGHTNESS_MAXIMUM","C_BRI_MAX"],"description":"Maximum Brightness","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786548}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":false,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_BRIGHTNESS_AUTO","C_BRI_AUTO"],"description":"Auto Brightness","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786549}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=134","os":{"windows":false,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_STEP","C_MODE_STEP"],"description":"Mode Step","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786562}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_RECALL_LAST","C_CHAN_LAST"],"description":"Recall Last","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786563}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_COMPUTER"],"description":"Computer","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786568}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_TV"],"description":"TV","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786569}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_WWW"],"description":"WWW","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786570}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_DVD"],"description":"DVD","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786571}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_PHONE"],"description":"Telephone","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786572}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_GUIDE"],"description":"Program Guide","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786573}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_VIDEOPHONE"],"description":"Video Phone","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786574}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_GAMES"],"description":"Games","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786575}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_MESSAGES"],"description":"Messages","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786576}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_CD"],"description":"CD","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786577}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_VCR"],"description":"VCR","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786578}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_TUNER"],"description":"Tuner","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786579}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_QUIT"],"description":"Quit","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786580}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_HELP"],"description":"Help","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786581}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_TAPE"],"description":"Tape","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786582}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_CABLE"],"description":"Cable","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786583}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_SATELLITE"],"description":"Satellite","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786584}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_HOME"],"description":"Home","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786586}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=136","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_CHANNEL_INC","C_CHAN_INC"],"description":"Channel Increment","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786588}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=136","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_CHANNEL_DEC","C_CHAN_DEC"],"description":"Channel Decrement","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786589}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=136","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MEDIA_VCR_PLUS"],"description":"VCR Plus","context":"Consumer Media","clarify":true,"usages":[{"application":786433,"item":786592}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=135","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_PLAY"],"description":"Play","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786608}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":true,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_PAUSE"],"description":"Pause","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786609}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":true,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_RECORD","C_REC"],"description":"Record","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786610}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":false,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_FAST_FORWARD","C_FF"],"description":"Fast Forward","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786611}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":true,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_REWIND","C_RW"],"description":"Rewind","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786612}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":true,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_NEXT"],"description":"Next","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786613}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":null},"footnotes":{}},{"names":["C_PREVIOUS","C_PREV"],"description":"Previous","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786614}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":null},"footnotes":{}},{"names":["C_STOP"],"description":"Stop","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786615}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":false,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_EJECT"],"description":"Eject","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786616}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_RANDOM_PLAY","C_SHUFFLE"],"description":"Random Play","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786617}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_REPEAT"],"description":"Repeat","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786620}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_SLOW_TRACKING","C_SLOW2"],"description":"Slow Tracking","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786623}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":false,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_STOP_EJECT"],"description":"Stop / Eject","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786636}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":null,"linux":false,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_PLAY_PAUSE","C_PP"],"description":"Play / Pause","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786637}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=137","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":null},"footnotes":{}},{"names":["C_VOICE_COMMAND"],"description":"Voice Command","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786639}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=132","os":{"windows":null,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_MUTE"],"description":"Mute","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786658}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=139","os":{"windows":true,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_BASS_BOOST"],"description":"Bass Boost","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786661}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=139","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_VOLUME_UP","C_VOL_UP"],"description":"Volume Up","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786665}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=139","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":null},"footnotes":{}},{"names":["C_VOLUME_DOWN","C_VOL_DN"],"description":"Volume Down","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786666}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=139","os":{"windows":true,"linux":true,"android":true,"macos":true,"ios":null},"footnotes":{}},{"names":["C_SLOW"],"description":"Slow","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786677}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=141","os":{"windows":false,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_ALTERNATE_AUDIO_INCREMENT","C_ALT_AUDIO_INC"],"description":"Alternate Audio Increment","context":"Consumer","clarify":true,"usages":[{"application":786433,"item":786803}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf","os":{"windows":null,"linux":false,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_CCC"],"description":"Consumer Control Configuration","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786819}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_WORD"],"description":"Word Processor","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786820}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_TEXT_EDITOR"],"description":"Text Editor","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786821}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_SPREADSHEET","C_AL_SHEET"],"description":"Spreadsheet","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786822}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_GRAPHICS_EDITOR"],"description":"Graphics Editor","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786823}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_PRESENTATION"],"description":"Presentation","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786824}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_DATABASE","C_AL_DB"],"description":"Database App","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786825}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_EMAIL","C_AL_MAIL"],"description":"Email Reader","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786826}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_NEWS"],"description":"Newsreader","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786827}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_VOICEMAIL"],"description":"Voicemail","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786828}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_CONTACTS","C_AL_ADDRESS_BOOK"],"description":"Contacts / Address Book","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786829}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_CALENDAR","C_AL_CAL"],"description":"Calendar / Schedule","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786830}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_TASK_MANAGER"],"description":"Task / Project Manager","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786831}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_JOURNAL"],"description":"Log / Journal / Timecard","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786832}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_FINANCE"],"description":"Checkbook / Finance","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786833}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_CALCULATOR","C_AL_CALC"],"description":"Calculator","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786834}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_AV_CAPTURE_PLAYBACK"],"description":"A/V Capture / Playback","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786835}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_MY_COMPUTER"],"description":"Local Machine Browser","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786836}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_WWW"],"description":"Internet Browser","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786838}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=147","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_NETWORK_CHAT","C_AL_CHAT"],"description":"Network Chat","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786841}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_LOGOFF"],"description":"Logoff","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786844}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_LOCK","C_AL_SCREENSAVER","C_AL_COFFEE"],"description":"Terminal Lock / Screensaver","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786846}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_CONTROL_PANEL"],"description":"Control Panel","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786847}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_SELECT_TASK"],"description":"Select Task / Application","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786850}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_NEXT_TASK"],"description":"Next Task / Application","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786851}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_PREVIOUS_TASK","C_AL_PREV_TASK"],"description":"Previous Task / Application","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786852}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_HELP"],"description":"Integrated Help Center","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786854}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_DOCUMENTS","C_AL_DOCS"],"description":"Documents","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786855}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_SPELLCHECK","C_AL_SPELL"],"description":"Spell Check","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786859}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_KEYBOARD_LAYOUT"],"description":"Keyboard Layout","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786862}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_SCREEN_SAVER"],"description":"Screen Saver","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786865}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_FILE_BROWSER","C_AL_FILES"],"description":"File Browser","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786868}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_IMAGE_BROWSER","C_AL_IMAGES"],"description":"Image Browser","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786870}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_AUDIO_BROWSER","C_AL_AUDIO","C_AL_MUSIC"],"description":"Audio Browser","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786871}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_MOVIE_BROWSER","C_AL_MOVIES"],"description":"Movie Browser","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786872}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=148","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_INSTANT_MESSAGING","C_AL_IM"],"description":"Instant Messaging","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786876}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=149","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AL_OEM_FEATURES","C_AL_TIPS","C_AL_TUTORIAL"],"description":"OEM Features / Tips / Tutorial Browser","context":"Consumer AL","clarify":true,"usages":[{"application":786433,"item":786877}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=149","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_NEW"],"description":"New","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786945}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_OPEN"],"description":"Open","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786946}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_CLOSE"],"description":"Close","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786947}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_EXIT"],"description":"Exit","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786948}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_SAVE"],"description":"Save","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786951}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_PRINT"],"description":"Print","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786952}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_PROPERTIES","C_AC_PROPS"],"description":"Properties","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786953}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_UNDO"],"description":"Undo","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786970}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_COPY"],"description":"Copy","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786971}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_CUT"],"description":"Cut","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786972}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_PASTE"],"description":"Paste","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786973}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_FIND"],"description":"Find","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786975}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_SEARCH"],"description":"Search","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786977}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":true,"macos":true,"ios":null},"footnotes":{}},{"names":["C_AC_GOTO"],"description":"Go To","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786978}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_HOME"],"description":"Home","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786979}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_BACK"],"description":"Back","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786980}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_FORWARD"],"description":"Forward","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786981}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_STOP"],"description":"Stop","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786982}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_REFRESH"],"description":"Refresh","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786983}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_BOOKMARKS","C_AC_FAVORITES","C_AC_FAVOURITES"],"description":"Bookmarks","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786986}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_ZOOM_IN"],"description":"Zoom In","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786989}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_ZOOM_OUT"],"description":"Zoom Out","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786990}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_ZOOM"],"description":"Zoom","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786991}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=150","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_VIEW_TOGGLE"],"description":"View Toggle","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786994}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=151","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_SCROLL_UP"],"description":"Scroll Up","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786995}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=151","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_SCROLL_DOWN"],"description":"Scroll Down","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":786996}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=151","os":{"windows":null,"linux":true,"android":true,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_EDIT"],"description":"Edit","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787005}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=151","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_CANCEL"],"description":"Cancel","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787039}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=152","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_INSERT","C_AC_INS"],"description":"Insert Mode","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787049}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=152","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_DEL"],"description":"Delete","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787050}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=152","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_REDO"],"description":"Redo / Repeat","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787065}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=152","os":{"windows":false,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_REPLY"],"description":"Reply","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787081}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=153","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_FORWARD_MAIL"],"description":"Forward","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787083}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=153","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_SEND"],"description":"Send","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787084}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=153","os":{"windows":null,"linux":true,"android":false,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_DESKTOP_SHOW_ALL_WINDOWS"],"description":"Desktop Show All Windows","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787103}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=153","os":{"windows":null,"linux":true,"android":null,"macos":true,"ios":null},"footnotes":{}},{"names":["C_AC_DESKTOP_SHOW_ALL_APPLICATIONS"],"description":"Desktop Show All Applications","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787106}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=153","os":{"windows":null,"linux":true,"android":null,"macos":true,"ios":null},"footnotes":{}},{"names":["C_KEYBOARD_INPUT_ASSIST_PREVIOUS","C_KBIA_PREV"],"description":"Previous","context":"Consumer KBIA","clarify":true,"usages":[{"application":786433,"item":787143}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=157","os":{"windows":null,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_KEYBOARD_INPUT_ASSIST_NEXT","C_KBIA_NEXT"],"description":"Next","context":"Consumer KBIA","clarify":true,"usages":[{"application":786433,"item":787144}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=157","os":{"windows":null,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_KEYBOARD_INPUT_ASSIST_PREVIOUS_GROUP","C_KBIA_PREV_GRP"],"description":"Previous Group","context":"Consumer KBIA","clarify":true,"usages":[{"application":786433,"item":787145}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=157","os":{"windows":null,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_KEYBOARD_INPUT_ASSIST_NEXT_GROUP","C_KBIA_NEXT_GRP"],"description":"Next Group","context":"Consumer KBIA","clarify":true,"usages":[{"application":786433,"item":787146}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=157","os":{"windows":null,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_KEYBOARD_INPUT_ASSIST_ACCEPT","C_KBIA_ACCEPT"],"description":"Accept","context":"Consumer KBIA","clarify":true,"usages":[{"application":786433,"item":787147}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=157","os":{"windows":null,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_KEYBOARD_INPUT_ASSIST_CANCEL","C_KBIA_CANCEL"],"description":"Cancel","context":"Consumer KBIA","clarify":true,"usages":[{"application":786433,"item":787148}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=157","os":{"windows":null,"linux":true,"android":null,"macos":null,"ios":null},"footnotes":{}},{"names":["C_AC_NEXT_KEYBOARD_LAYOUT_SELECT","GLOBE"],"description":"AC Next Keyboard Layout Select (Apple Globe)","context":"Consumer AC","clarify":true,"usages":[{"application":786433,"item":787101}],"documentation":"https://usb.org/sites/default/files/hut1_2.pdf#page=153","os":{"windows":null,"linux":null,"android":null,"macos":true,"ios":true},"footnotes":{}}]')},2024:function(_){"use strict";_.exports=JSON.parse('["BL_ON_CMD","BL_OFF_CMD","BL_TOG_CMD","BL_INC_CMD","BL_DEC_CMD","BL_CYCLE_CMD","BL_SET_CMD","BL_ON","BL_OFF","BL_TOG","BL_INC","BL_DEC","BL_CYCLE","BL_SET","BT_CLR_CMD","BT_NXT_CMD","BT_PRV_CMD","BT_SEL_CMD","BT_CLR","BT_NXT","BT_PRV","BT_SEL","EXT_POWER_OFF_CMD","EXT_POWER_ON_CMD","EXT_POWER_TOGGLE_CMD","EP_ON","EP_OFF","EP_TOG","HID_USAGE_GD_UNDEFINED","HID_USAGE_GD_POINTER","HID_USAGE_GD_MOUSE","HID_USAGE_GD_JOYSTICK","HID_USAGE_GD_GAMEPAD","HID_USAGE_GD_KEYBOARD","HID_USAGE_GD_KEYPAD","HID_USAGE_GD_MULTI_AXIS_CONTROLLER","HID_USAGE_GD_TABLET_PC_SYSTEM_CONTROLS","HID_USAGE_GD_WATER_COOLING_DEVICE","HID_USAGE_GD_COMPUTER_CHASSIS_DEVICE","HID_USAGE_GD_WIRELESS_RADIO_CONTROLS","HID_USAGE_GD_PORTABLE_DEVICE_CONTROL","HID_USAGE_GD_SYSTEM_MULTI_AXIS_CONTROLLER","HID_USAGE_GD_SPATIAL_CONTROLLER","HID_USAGE_GD_ASSISTIVE_CONTROL","HID_USAGE_GD_DEVICE_DOCK","HID_USAGE_GD_DOCKABLE_DEVICE","HID_USAGE_GD_X","HID_USAGE_GD_Y","HID_USAGE_GD_Z","HID_USAGE_GD_RX","HID_USAGE_GD_RY","HID_USAGE_GD_RZ","HID_USAGE_GD_SLIDER","HID_USAGE_GD_DIAL","HID_USAGE_GD_WHEEL","HID_USAGE_GD_HAT_SWITCH","HID_USAGE_GD_COUNTED_BUFFER","HID_USAGE_GD_BYTE_COUNT","HID_USAGE_GD_MOTION_WAKEUP","HID_USAGE_GD_START","HID_USAGE_GD_SELECT","HID_USAGE_GD_VX","HID_USAGE_GD_VY","HID_USAGE_GD_VZ","HID_USAGE_GD_VBRX","HID_USAGE_GD_VBRY","HID_USAGE_GD_VBRZ","HID_USAGE_GD_VNO","HID_USAGE_GD_FEATURE_NOTIFICATION","HID_USAGE_GD_RESOLUTION_MULTIPLIER","HID_USAGE_GD_QX","HID_USAGE_GD_QY","HID_USAGE_GD_QZ","HID_USAGE_GD_QW","HID_USAGE_GD_SYSTEM_CONTROL","HID_USAGE_GD_SYSTEM_POWER_DOWN","HID_USAGE_GD_SYSTEM_SLEEP","HID_USAGE_GD_SYSTEM_WAKE_UP","HID_USAGE_GD_SYSTEM_CONTEXT_MENU","HID_USAGE_GD_SYSTEM_MAIN_MENU","HID_USAGE_GD_SYSTEM_APP_MENU","HID_USAGE_GD_SYSTEM_MENU_HELP","HID_USAGE_GD_SYSTEM_MENU_EXIT","HID_USAGE_GD_SYSTEM_MENU_SELECT","HID_USAGE_GD_SYSTEM_MENU_RIGHT","HID_USAGE_GD_SYSTEM_MENU_LEFT","HID_USAGE_GD_SYSTEM_MENU_UP","HID_USAGE_GD_SYSTEM_MENU_DOWN","HID_USAGE_GD_SYSTEM_COLD_RESTART","HID_USAGE_GD_SYSTEM_WARM_RESTART","HID_USAGE_GD_D_PAD_UP","HID_USAGE_GD_D_PAD_DOWN","HID_USAGE_GD_D_PAD_RIGHT","HID_USAGE_GD_D_PAD_LEFT","HID_USAGE_GD_INDEX_TRIGGER","HID_USAGE_GD_PALM_TRIGGER","HID_USAGE_GD_THUMBSTICK","HID_USAGE_GD_SYSTEM_FUNCTION_SHIFT","HID_USAGE_GD_SYSTEM_FUNCTION_SHIFT_LOCK","HID_USAGE_GD_SYSTEM_FUNCTION_SHIFT_LOCK_INDICATOR","HID_USAGE_GD_SYSTEM_DISMISS_NOTIFICATION","HID_USAGE_GD_SYSTEM_DO_NOT_DISTURB","HID_USAGE_GD_SYSTEM_DOCK","HID_USAGE_GD_SYSTEM_UNDOCK","HID_USAGE_GD_SYSTEM_SETUP","HID_USAGE_GD_SYSTEM_BREAK","HID_USAGE_GD_SYSTEM_DEBUGGER_BREAK","HID_USAGE_GD_APPLICATION_BREAK","HID_USAGE_GD_APPLICATION_DEBUGGER_BREAK","HID_USAGE_GD_SYSTEM_SPEAKER_MUTE","HID_USAGE_GD_SYSTEM_HIBERNATE","HID_USAGE_GD_SYSTEM_DISPLAY_INVERT","HID_USAGE_GD_SYSTEM_DISPLAY_INTERNAL","HID_USAGE_GD_SYSTEM_DISPLAY_EXTERNAL","HID_USAGE_GD_SYSTEM_DISPLAY_BOTH","HID_USAGE_GD_SYSTEM_DISPLAY_DUAL","HID_USAGE_GD_SYSTEM_DISPLAY_TOGGLE_INT_EXT_MODE","HID_USAGE_GD_SYSTEM_DISPLAY_SWAP_PRIMARY_SECONDARY","HID_USAGE_GD_SYSTEM_DISPLAY_TOGGLE_LCD_AUTOSCALE","HID_USAGE_GD_SENSOR_ZONE","HID_USAGE_GD_RPM","HID_USAGE_GD_COOLANT_LEVEL","HID_USAGE_GD_COOLANT_CRITICAL_LEVEL","HID_USAGE_GD_COOLANT_PUMP","HID_USAGE_GD_CHASSIS_ENCLOSURE","HID_USAGE_GD_WIRELESS_RADIO_BUTTON","HID_USAGE_GD_WIRELESS_RADIO_LED","HID_USAGE_GD_WIRELESS_RADIO_SLIDER_SWITCH","HID_USAGE_GD_SYSTEM_DISPLAY_ROTATION_LOCK_BUTTON","HID_USAGE_GD_SYSTEM_DISPLAY_ROTATION_LOCK_SLIDER_SWITCH","HID_USAGE_GD_CONTROL_ENABLE","HID_USAGE_GD_DOCKABLE_DEVICE_UNIQUE_ID","HID_USAGE_GD_DOCKABLE_DEVICE_VENDOR_ID","HID_USAGE_GD_DOCKABLE_DEVICE_PRIMARY_USAGE_PAGE","HID_USAGE_GD_DOCKABLE_DEVICE_PRIMARY_USAGE_ID","HID_USAGE_GD_DOCKABLE_DEVICE_DOCKING_STATE","HID_USAGE_GD_DOCKABLE_DEVICE_DISPLAY_OCCLUSION","HID_USAGE_GD_DOCKABLE_DEVICE_OBJECT_TYPE","HID_USAGE_SIM_UNDEFINED","HID_USAGE_SIM_FLIGHT_SIMULATION_DEVICE","HID_USAGE_SIM_AUTOMOBILE_SIMULATION_DEVICE","HID_USAGE_SIM_TANK_SIMULATION_DEVICE","HID_USAGE_SIM_SPACESHIP_SIMULATION_DEVICE","HID_USAGE_SIM_SUBMARINE_SIMULATION_DEVICE","HID_USAGE_SIM_SAILING_SIMULATION_DEVICE","HID_USAGE_SIM_MOTORCYCLE_SIMULATION_DEVICE","HID_USAGE_SIM_SPORTS_SIMULATION_DEVICE","HID_USAGE_SIM_AIRPLANE_SIMULATION_DEVICE","HID_USAGE_SIM_HELICOPTER_SIMULATION_DEVICE","HID_USAGE_SIM_MAGIC_CARPET_SIMULATION_DEVICE","HID_USAGE_SIM_BICYCLE_SIMULATION_DEVICE","HID_USAGE_SIM_FLIGHT_CONTROL_STICK","HID_USAGE_SIM_FLIGHT_STICK","HID_USAGE_SIM_CYCLIC_CONTROL","HID_USAGE_SIM_CYCLIC_TRIM","HID_USAGE_SIM_FLIGHT_YOKE","HID_USAGE_SIM_TRACK_CONTROL","HID_USAGE_SIM_AILERON","HID_USAGE_SIM_AILERON_TRIM","HID_USAGE_SIM_ANTI_TORQUE_CONTROL","HID_USAGE_SIM_AUTOPILOT_ENABLE","HID_USAGE_SIM_CHAFF_RELEASE","HID_USAGE_SIM_COLLECTIVE_CONTROL","HID_USAGE_SIM_DIVE_BRAKE","HID_USAGE_SIM_ELECTRONIC_COUNTERMEASURES","HID_USAGE_SIM_ELEVATOR","HID_USAGE_SIM_ELEVATOR_TRIM","HID_USAGE_SIM_RUDDER","HID_USAGE_SIM_THROTTLE","HID_USAGE_SIM_FLIGHT_COMMUNICATIONS","HID_USAGE_SIM_FLARE_RELEASE","HID_USAGE_SIM_LANDING_GEAR","HID_USAGE_SIM_TOE_BRAKE","HID_USAGE_SIM_TRIGGER","HID_USAGE_SIM_WEAPONS_ARM","HID_USAGE_SIM_WEAPONS_SELECT","HID_USAGE_SIM_WING_FLAPS","HID_USAGE_SIM_ACCELERATOR","HID_USAGE_SIM_BRAKE","HID_USAGE_SIM_CLUTCH","HID_USAGE_SIM_SHIFTER","HID_USAGE_SIM_STEERING","HID_USAGE_SIM_TURRET_DIRECTION","HID_USAGE_SIM_BARREL_ELEVATION","HID_USAGE_SIM_DIVE_PLANE","HID_USAGE_SIM_BALLAST","HID_USAGE_SIM_BICYCLE_CRANK","HID_USAGE_SIM_HANDLE_BARS","HID_USAGE_SIM_FRONT_BRAKE","HID_USAGE_SIM_REAR_BRAKE","HID_USAGE_VR_UNDEFINED","HID_USAGE_VR_BELT","HID_USAGE_VR_BODY_SUIT","HID_USAGE_VR_FLEXOR","HID_USAGE_VR_GLOVE","HID_USAGE_VR_HEAD_TRACKER","HID_USAGE_VR_HEAD_MOUNTED_DISPLAY","HID_USAGE_VR_HAND_TRACKER","HID_USAGE_VR_OCULOMETER","HID_USAGE_VR_VEST","HID_USAGE_VR_ANIMATRONIC_DEVICE","HID_USAGE_VR_STEREO_ENABLE","HID_USAGE_VR_DISPLAY_ENABLE","HID_USAGE_SPORT_UNDEFINED","HID_USAGE_SPORT_BASEBALL_BAT","HID_USAGE_SPORT_GOLF_CLUB","HID_USAGE_SPORT_ROWING_MACHINE","HID_USAGE_SPORT_TREADMILL","HID_USAGE_SPORT_OAR","HID_USAGE_SPORT_SLOPE","HID_USAGE_SPORT_RATE","HID_USAGE_SPORT_STICK_SPEED","HID_USAGE_SPORT_STICK_FACE_ANGLE","HID_USAGE_SPORT_STICK_HEEL_TOE","HID_USAGE_SPORT_STICK_FOLLOW_THROUGH","HID_USAGE_SPORT_STICK_TEMPO","HID_USAGE_SPORT_STICK_TYPE","HID_USAGE_SPORT_STICK_HEIGHT","HID_USAGE_SPORT_PUTTER","HID_USAGE_SPORT_1_IRON","HID_USAGE_SPORT_2_IRON","HID_USAGE_SPORT_3_IRON","HID_USAGE_SPORT_4_IRON","HID_USAGE_SPORT_5_IRON","HID_USAGE_SPORT_6_IRON","HID_USAGE_SPORT_7_IRON","HID_USAGE_SPORT_8_IRON","HID_USAGE_SPORT_9_IRON","HID_USAGE_SPORT_10_IRON","HID_USAGE_SPORT_11_IRON","HID_USAGE_SPORT_SAND_WEDGE","HID_USAGE_SPORT_LOFT_WEDGE","HID_USAGE_SPORT_POWER_WEDGE","HID_USAGE_SPORT_1_WOOD","HID_USAGE_SPORT_3_WOOD","HID_USAGE_SPORT_5_WOOD","HID_USAGE_SPORT_7_WOOD","HID_USAGE_SPORT_9_WOOD","HID_USAGE_GAME_UNDEFINED","HID_USAGE_GAME_3D_GAME_CONTROLLER","HID_USAGE_GAME_PINBALL_DEVICE","HID_USAGE_GAME_GUN_DEVICE","HID_USAGE_GAME_POINT_OF_VIEW","HID_USAGE_GAME_TURN_RIGHT_LEFT","HID_USAGE_GAME_PITCH_FORWARD_BACKWARD","HID_USAGE_GAME_ROLL_RIGHT_LEFT","HID_USAGE_GAME_MOVE_RIGHT_LEFT","HID_USAGE_GAME_MOVE_FORWARD_BACKWARD","HID_USAGE_GAME_MOVE_UP_DOWN","HID_USAGE_GAME_LEAN_RIGHT_LEFT","HID_USAGE_GAME_LEAN_FORWARD_BACKWARD","HID_USAGE_GAME_HEIGHT_OF_POV","HID_USAGE_GAME_FLIPPER","HID_USAGE_GAME_SECONDARY_FLIPPER","HID_USAGE_GAME_BUMP","HID_USAGE_GAME_NEW_GAME","HID_USAGE_GAME_SHOOT_BALL","HID_USAGE_GAME_PLAYER","HID_USAGE_GAME_GUN_BOLT","HID_USAGE_GAME_GUN_CLIP","HID_USAGE_GAME_GUN_SELECTOR","HID_USAGE_GAME_GUN_SINGLE_SHOT","HID_USAGE_GAME_GUN_BURST","HID_USAGE_GAME_GUN_AUTOMATIC","HID_USAGE_GAME_GUN_SAFETY","HID_USAGE_GAME_GAMEPAD_FIRE_JUMP","HID_USAGE_GAME_GAMEPAD_TRIGGER","HID_USAGE_GAME_FORM_FITTING_GAMEPAD","HID_USAGE_GDV_UNDEFINED","HID_USAGE_GDV_BACKGROUND_NONUSER_CONTROLS","HID_USAGE_GDV_BATTERY_STRENGTH","HID_USAGE_GDV_WIRELESS_CHANNEL","HID_USAGE_GDV_WIRELESS_ID","HID_USAGE_GDV_DISCOVER_WIRELESS_CONTROL","HID_USAGE_GDV_SECURITY_CODE_CHARACTER_ENTERED","HID_USAGE_GDV_SECURITY_CODE_CHARACTER_ERASED","HID_USAGE_GDV_SECURITY_CODE_CLEARED","HID_USAGE_GDV_SEQUENCE_ID","HID_USAGE_GDV_SEQUENCE_ID_RESET","HID_USAGE_GDV_RF_SIGNAL_STRENGTH","HID_USAGE_GDV_SOFTWARE_VERSION","HID_USAGE_GDV_PROTOCOL_VERSION","HID_USAGE_GDV_HARDWARE_VERSION","HID_USAGE_GDV_MAJOR","HID_USAGE_GDV_MINOR","HID_USAGE_GDV_REVISION","HID_USAGE_GDV_HANDEDNESS","HID_USAGE_GDV_EITHER_HAND","HID_USAGE_GDV_LEFT_HAND","HID_USAGE_GDV_RIGHT_HAND","HID_USAGE_GDV_BOTH_HANDS","HID_USAGE_GDV_GRIP_POSE_OFFSET","HID_USAGE_GDV_POINTER_POSE_OFFSET","HID_USAGE_KEY_KEYBOARD_ERRORROLLOVER","HID_USAGE_KEY_KEYBOARD_POSTFAIL","HID_USAGE_KEY_KEYBOARD_ERRORUNDEFINED","HID_USAGE_KEY_KEYBOARD_A","HID_USAGE_KEY_KEYBOARD_B","HID_USAGE_KEY_KEYBOARD_C","HID_USAGE_KEY_KEYBOARD_D","HID_USAGE_KEY_KEYBOARD_E","HID_USAGE_KEY_KEYBOARD_F","HID_USAGE_KEY_KEYBOARD_G","HID_USAGE_KEY_KEYBOARD_H","HID_USAGE_KEY_KEYBOARD_I","HID_USAGE_KEY_KEYBOARD_J","HID_USAGE_KEY_KEYBOARD_K","HID_USAGE_KEY_KEYBOARD_L","HID_USAGE_KEY_KEYBOARD_M","HID_USAGE_KEY_KEYBOARD_N","HID_USAGE_KEY_KEYBOARD_O","HID_USAGE_KEY_KEYBOARD_P","HID_USAGE_KEY_KEYBOARD_Q","HID_USAGE_KEY_KEYBOARD_R","HID_USAGE_KEY_KEYBOARD_S","HID_USAGE_KEY_KEYBOARD_T","HID_USAGE_KEY_KEYBOARD_U","HID_USAGE_KEY_KEYBOARD_V","HID_USAGE_KEY_KEYBOARD_W","HID_USAGE_KEY_KEYBOARD_X","HID_USAGE_KEY_KEYBOARD_Y","HID_USAGE_KEY_KEYBOARD_Z","HID_USAGE_KEY_KEYBOARD_1_AND_EXCLAMATION","HID_USAGE_KEY_KEYBOARD_2_AND_AT","HID_USAGE_KEY_KEYBOARD_3_AND_HASH","HID_USAGE_KEY_KEYBOARD_4_AND_DOLLAR","HID_USAGE_KEY_KEYBOARD_5_AND_PERCENT","HID_USAGE_KEY_KEYBOARD_6_AND_CARET","HID_USAGE_KEY_KEYBOARD_7_AND_AMPERSAND","HID_USAGE_KEY_KEYBOARD_8_AND_ASTERISK","HID_USAGE_KEY_KEYBOARD_9_AND_LEFT_PARENTHESIS","HID_USAGE_KEY_KEYBOARD_0_AND_RIGHT_PARENTHESIS","HID_USAGE_KEY_KEYBOARD_RETURN_ENTER","HID_USAGE_KEY_KEYBOARD_ESCAPE","HID_USAGE_KEY_KEYBOARD_DELETE_BACKSPACE","HID_USAGE_KEY_KEYBOARD_TAB","HID_USAGE_KEY_KEYBOARD_SPACEBAR","HID_USAGE_KEY_KEYBOARD_MINUS_AND_UNDERSCORE","HID_USAGE_KEY_KEYBOARD_EQUAL_AND_PLUS","HID_USAGE_KEY_KEYBOARD_LEFT_BRACKET_AND_LEFT_BRACE","HID_USAGE_KEY_KEYBOARD_RIGHT_BRACKET_AND_RIGHT_BRACE","HID_USAGE_KEY_KEYBOARD_BACKSLASH_AND_PIPE","HID_USAGE_KEY_KEYBOARD_NON_US_HASH_AND_TILDE","HID_USAGE_KEY_KEYBOARD_SEMICOLON_AND_COLON","HID_USAGE_KEY_KEYBOARD_APOSTROPHE_AND_QUOTE","HID_USAGE_KEY_KEYBOARD_GRAVE_ACCENT_AND_TILDE","HID_USAGE_KEY_KEYBOARD_COMMA_AND_LESS_THAN","HID_USAGE_KEY_KEYBOARD_PERIOD_AND_GREATER_THAN","HID_USAGE_KEY_KEYBOARD_SLASH_AND_QUESTION_MARK","HID_USAGE_KEY_KEYBOARD_CAPS_LOCK","HID_USAGE_KEY_KEYBOARD_F1","HID_USAGE_KEY_KEYBOARD_F2","HID_USAGE_KEY_KEYBOARD_F3","HID_USAGE_KEY_KEYBOARD_F4","HID_USAGE_KEY_KEYBOARD_F5","HID_USAGE_KEY_KEYBOARD_F6","HID_USAGE_KEY_KEYBOARD_F7","HID_USAGE_KEY_KEYBOARD_F8","HID_USAGE_KEY_KEYBOARD_F9","HID_USAGE_KEY_KEYBOARD_F10","HID_USAGE_KEY_KEYBOARD_F11","HID_USAGE_KEY_KEYBOARD_F12","HID_USAGE_KEY_KEYBOARD_PRINTSCREEN","HID_USAGE_KEY_KEYBOARD_SCROLL_LOCK","HID_USAGE_KEY_KEYBOARD_PAUSE","HID_USAGE_KEY_KEYBOARD_INSERT","HID_USAGE_KEY_KEYBOARD_HOME","HID_USAGE_KEY_KEYBOARD_PAGEUP","HID_USAGE_KEY_KEYBOARD_DELETE_FORWARD","HID_USAGE_KEY_KEYBOARD_END","HID_USAGE_KEY_KEYBOARD_PAGEDOWN","HID_USAGE_KEY_KEYBOARD_RIGHTARROW","HID_USAGE_KEY_KEYBOARD_LEFTARROW","HID_USAGE_KEY_KEYBOARD_DOWNARROW","HID_USAGE_KEY_KEYBOARD_UPARROW","HID_USAGE_KEY_KEYPAD_NUM_LOCK_AND_CLEAR","HID_USAGE_KEY_KEYPAD_SLASH","HID_USAGE_KEY_KEYPAD_ASTERISK","HID_USAGE_KEY_KEYPAD_MINUS","HID_USAGE_KEY_KEYPAD_PLUS","HID_USAGE_KEY_KEYPAD_ENTER","HID_USAGE_KEY_KEYPAD_1_AND_END","HID_USAGE_KEY_KEYPAD_2_AND_DOWN_ARROW","HID_USAGE_KEY_KEYPAD_3_AND_PAGEDN","HID_USAGE_KEY_KEYPAD_4_AND_LEFT_ARROW","HID_USAGE_KEY_KEYPAD_5","HID_USAGE_KEY_KEYPAD_6_AND_RIGHT_ARROW","HID_USAGE_KEY_KEYPAD_7_AND_HOME","HID_USAGE_KEY_KEYPAD_8_AND_UP_ARROW","HID_USAGE_KEY_KEYPAD_9_AND_PAGEUP","HID_USAGE_KEY_KEYPAD_0_AND_INSERT","HID_USAGE_KEY_KEYPAD_PERIOD_AND_DELETE","HID_USAGE_KEY_KEYBOARD_NON_US_BACKSLASH_AND_PIPE","HID_USAGE_KEY_KEYBOARD_APPLICATION","HID_USAGE_KEY_KEYBOARD_POWER","HID_USAGE_KEY_KEYPAD_EQUAL","HID_USAGE_KEY_KEYBOARD_F13","HID_USAGE_KEY_KEYBOARD_F14","HID_USAGE_KEY_KEYBOARD_F15","HID_USAGE_KEY_KEYBOARD_F16","HID_USAGE_KEY_KEYBOARD_F17","HID_USAGE_KEY_KEYBOARD_F18","HID_USAGE_KEY_KEYBOARD_F19","HID_USAGE_KEY_KEYBOARD_F20","HID_USAGE_KEY_KEYBOARD_F21","HID_USAGE_KEY_KEYBOARD_F22","HID_USAGE_KEY_KEYBOARD_F23","HID_USAGE_KEY_KEYBOARD_F24","HID_USAGE_KEY_KEYBOARD_EXECUTE","HID_USAGE_KEY_KEYBOARD_HELP","HID_USAGE_KEY_KEYBOARD_MENU","HID_USAGE_KEY_KEYBOARD_SELECT","HID_USAGE_KEY_KEYBOARD_STOP","HID_USAGE_KEY_KEYBOARD_AGAIN","HID_USAGE_KEY_KEYBOARD_UNDO","HID_USAGE_KEY_KEYBOARD_CUT","HID_USAGE_KEY_KEYBOARD_COPY","HID_USAGE_KEY_KEYBOARD_PASTE","HID_USAGE_KEY_KEYBOARD_FIND","HID_USAGE_KEY_KEYBOARD_MUTE","HID_USAGE_KEY_KEYBOARD_VOLUME_UP","HID_USAGE_KEY_KEYBOARD_VOLUME_DOWN","HID_USAGE_KEY_KEYBOARD_LOCKING_CAPS_LOCK","HID_USAGE_KEY_KEYBOARD_LOCKING_NUM_LOCK","HID_USAGE_KEY_KEYBOARD_LOCKING_SCROLL_LOCK","HID_USAGE_KEY_KEYPAD_COMMA","HID_USAGE_KEY_KEYPAD_EQUAL_SIGN","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL1","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL2","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL3","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL4","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL5","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL6","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL7","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL8","HID_USAGE_KEY_KEYBOARD_INTERNATIONAL9","HID_USAGE_KEY_KEYBOARD_LANG1","HID_USAGE_KEY_KEYBOARD_LANG2","HID_USAGE_KEY_KEYBOARD_LANG3","HID_USAGE_KEY_KEYBOARD_LANG4","HID_USAGE_KEY_KEYBOARD_LANG5","HID_USAGE_KEY_KEYBOARD_LANG6","HID_USAGE_KEY_KEYBOARD_LANG7","HID_USAGE_KEY_KEYBOARD_LANG8","HID_USAGE_KEY_KEYBOARD_LANG9","HID_USAGE_KEY_KEYBOARD_ALTERNATE_ERASE","HID_USAGE_KEY_KEYBOARD_SYSREQ_ATTENTION","HID_USAGE_KEY_KEYBOARD_CANCEL","HID_USAGE_KEY_KEYBOARD_CLEAR","HID_USAGE_KEY_KEYBOARD_PRIOR","HID_USAGE_KEY_KEYBOARD_RETURN","HID_USAGE_KEY_KEYBOARD_SEPARATOR","HID_USAGE_KEY_KEYBOARD_OUT","HID_USAGE_KEY_KEYBOARD_OPER","HID_USAGE_KEY_KEYBOARD_CLEAR_AGAIN","HID_USAGE_KEY_KEYBOARD_CRSEL_PROPS","HID_USAGE_KEY_KEYBOARD_EXSEL","HID_USAGE_KEY_KEYPAD_00","HID_USAGE_KEY_KEYPAD_000","HID_USAGE_KEY_THOUSANDS_SEPARATOR","HID_USAGE_KEY_DECIMAL_SEPARATOR","HID_USAGE_KEY_CURRENCY_UNIT","HID_USAGE_KEY_CURRENCY_SUB_UNIT","HID_USAGE_KEY_KEYPAD_LEFT_PARENTHESIS","HID_USAGE_KEY_KEYPAD_RIGHT_PARENTHESIS","HID_USAGE_KEY_KEYPAD_LEFT_BRACE","HID_USAGE_KEY_KEYPAD_RIGHT_BRACE","HID_USAGE_KEY_KEYPAD_TAB","HID_USAGE_KEY_KEYPAD_BACKSPACE","HID_USAGE_KEY_KEYPAD_A","HID_USAGE_KEY_KEYPAD_B","HID_USAGE_KEY_KEYPAD_C","HID_USAGE_KEY_KEYPAD_D","HID_USAGE_KEY_KEYPAD_E","HID_USAGE_KEY_KEYPAD_F","HID_USAGE_KEY_KEYPAD_XOR","HID_USAGE_KEY_KEYPAD_CARET","HID_USAGE_KEY_KEYPAD_PERCENT","HID_USAGE_KEY_KEYPAD_LESS_THAN","HID_USAGE_KEY_KEYPAD_GREATER_THAN","HID_USAGE_KEY_KEYPAD_AMPERSAND","HID_USAGE_KEY_KEYPAD_AMPERSAND_AMPERSAND","HID_USAGE_KEY_KEYPAD_PIPE","HID_USAGE_KEY_KEYPAD_PIPE_PIPE","HID_USAGE_KEY_KEYPAD_COLON","HID_USAGE_KEY_KEYPAD_HASH","HID_USAGE_KEY_KEYPAD_SPACE","HID_USAGE_KEY_KEYPAD_AT","HID_USAGE_KEY_KEYPAD_EXCLAMATION","HID_USAGE_KEY_KEYPAD_MEMORY_STORE","HID_USAGE_KEY_KEYPAD_MEMORY_RECALL","HID_USAGE_KEY_KEYPAD_MEMORY_CLEAR","HID_USAGE_KEY_KEYPAD_MEMORY_ADD","HID_USAGE_KEY_KEYPAD_MEMORY_SUBTRACT","HID_USAGE_KEY_KEYPAD_MEMORY_MULTIPLY","HID_USAGE_KEY_KEYPAD_MEMORY_DIVIDE","HID_USAGE_KEY_KEYPAD_PLUS_MINUS","HID_USAGE_KEY_KEYPAD_CLEAR","HID_USAGE_KEY_KEYPAD_CLEAR_ENTRY","HID_USAGE_KEY_KEYPAD_BINARY","HID_USAGE_KEY_KEYPAD_OCTAL","HID_USAGE_KEY_KEYPAD_DECIMAL","HID_USAGE_KEY_KEYPAD_HEXADECIMAL","HID_USAGE_KEY_KEYBOARD_LEFTCONTROL","HID_USAGE_KEY_KEYBOARD_LEFTSHIFT","HID_USAGE_KEY_KEYBOARD_LEFTALT","HID_USAGE_KEY_KEYBOARD_LEFT_GUI","HID_USAGE_KEY_KEYBOARD_RIGHTCONTROL","HID_USAGE_KEY_KEYBOARD_RIGHTSHIFT","HID_USAGE_KEY_KEYBOARD_RIGHTALT","HID_USAGE_KEY_KEYBOARD_RIGHT_GUI","HID_USAGE_LED_UNDEFINED","HID_USAGE_LED_NUM_LOCK","HID_USAGE_LED_CAPS_LOCK","HID_USAGE_LED_SCROLL_LOCK","HID_USAGE_LED_COMPOSE","HID_USAGE_LED_KANA","HID_USAGE_LED_POWER","HID_USAGE_LED_SHIFT","HID_USAGE_LED_DO_NOT_DISTURB","HID_USAGE_LED_MUTE","HID_USAGE_LED_TONE_ENABLE","HID_USAGE_LED_HIGH_CUT_FILTER","HID_USAGE_LED_LOW_CUT_FILTER","HID_USAGE_LED_EQUALIZER_ENABLE","HID_USAGE_LED_SOUND_FIELD_ON","HID_USAGE_LED_SURROUND_ON","HID_USAGE_LED_REPEAT","HID_USAGE_LED_STEREO","HID_USAGE_LED_SAMPLING_RATE_DETECT","HID_USAGE_LED_SPINNING","HID_USAGE_LED_CAV","HID_USAGE_LED_CLV","HID_USAGE_LED_RECORDING_FORMAT_DETECT","HID_USAGE_LED_OFF_HOOK","HID_USAGE_LED_RING","HID_USAGE_LED_MESSAGE_WAITING","HID_USAGE_LED_DATA_MODE","HID_USAGE_LED_BATTERY_OPERATION","HID_USAGE_LED_BATTERY_OK","HID_USAGE_LED_BATTERY_LOW","HID_USAGE_LED_SPEAKER","HID_USAGE_LED_HEAD_SET","HID_USAGE_LED_HOLD","HID_USAGE_LED_MICROPHONE","HID_USAGE_LED_COVERAGE","HID_USAGE_LED_NIGHT_MODE","HID_USAGE_LED_SEND_CALLS","HID_USAGE_LED_CALL_PICKUP","HID_USAGE_LED_CONFERENCE","HID_USAGE_LED_STAND_BY","HID_USAGE_LED_CAMERA_ON","HID_USAGE_LED_CAMERA_OFF","HID_USAGE_LED_ON_LINE","HID_USAGE_LED_OFF_LINE","HID_USAGE_LED_BUSY","HID_USAGE_LED_READY","HID_USAGE_LED_PAPER_OUT","HID_USAGE_LED_PAPER_JAM","HID_USAGE_LED_REMOTE","HID_USAGE_LED_FORWARD","HID_USAGE_LED_REVERSE","HID_USAGE_LED_STOP","HID_USAGE_LED_REWIND","HID_USAGE_LED_FAST_FORWARD","HID_USAGE_LED_PLAY","HID_USAGE_LED_PAUSE","HID_USAGE_LED_RECORD","HID_USAGE_LED_ERROR","HID_USAGE_LED_USAGE_SELECTED_INDICATOR","HID_USAGE_LED_USAGE_IN_USE_INDICATOR","HID_USAGE_LED_USAGE_MULTI_MODE_INDICATOR","HID_USAGE_LED_INDICATOR_ON","HID_USAGE_LED_INDICATOR_FLASH","HID_USAGE_LED_INDICATOR_SLOW_BLINK","HID_USAGE_LED_INDICATOR_FAST_BLINK","HID_USAGE_LED_INDICATOR_OFF","HID_USAGE_LED_FLASH_ON_TIME","HID_USAGE_LED_SLOW_BLINK_ON_TIME","HID_USAGE_LED_SLOW_BLINK_OFF_TIME","HID_USAGE_LED_FAST_BLINK_ON_TIME","HID_USAGE_LED_FAST_BLINK_OFF_TIME","HID_USAGE_LED_USAGE_INDICATOR_COLOR","HID_USAGE_LED_INDICATOR_RED","HID_USAGE_LED_INDICATOR_GREEN","HID_USAGE_LED_INDICATOR_AMBER","HID_USAGE_LED_GENERIC_INDICATOR","HID_USAGE_LED_SYSTEM_SUSPEND","HID_USAGE_LED_EXTERNAL_POWER_CONNECTED","HID_USAGE_LED_INDICATOR_BLUE","HID_USAGE_LED_INDICATOR_ORANGE","HID_USAGE_LED_GOOD_STATUS","HID_USAGE_LED_WARNING_STATUS","HID_USAGE_LED_RGB_LED","HID_USAGE_LED_RED_LED_CHANNEL","HID_USAGE_LED_BLUE_LED_CHANNEL","HID_USAGE_LED_GREEN_LED_CHANNEL","HID_USAGE_LED_LED_INTENSITY","HID_USAGE_LED_PLAYER_INDICATOR","HID_USAGE_LED_PLAYER_1","HID_USAGE_LED_PLAYER_2","HID_USAGE_LED_PLAYER_3","HID_USAGE_LED_PLAYER_4","HID_USAGE_LED_PLAYER_5","HID_USAGE_LED_PLAYER_6","HID_USAGE_LED_PLAYER_7","HID_USAGE_LED_PLAYER_8","HID_USAGE_TELEPHONY_UNDEFINED","HID_USAGE_TELEPHONY_PHONE","HID_USAGE_TELEPHONY_ANSWERING_MACHINE","HID_USAGE_TELEPHONY_MESSAGE_CONTROLS","HID_USAGE_TELEPHONY_HANDSET","HID_USAGE_TELEPHONY_HEADSET","HID_USAGE_TELEPHONY_TELEPHONY_KEY_PAD","HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON","HID_USAGE_TELEPHONY_HOOK_SWITCH","HID_USAGE_TELEPHONY_FLASH","HID_USAGE_TELEPHONY_FEATURE","HID_USAGE_TELEPHONY_HOLD","HID_USAGE_TELEPHONY_REDIAL","HID_USAGE_TELEPHONY_TRANSFER","HID_USAGE_TELEPHONY_DROP","HID_USAGE_TELEPHONY_PARK","HID_USAGE_TELEPHONY_FORWARD_CALLS","HID_USAGE_TELEPHONY_ALTERNATE_FUNCTION","HID_USAGE_TELEPHONY_LINE","HID_USAGE_TELEPHONY_SPEAKER_PHONE","HID_USAGE_TELEPHONY_CONFERENCE","HID_USAGE_TELEPHONY_RING_ENABLE","HID_USAGE_TELEPHONY_RING_SELECT","HID_USAGE_TELEPHONY_PHONE_MUTE","HID_USAGE_TELEPHONY_CALLER_ID","HID_USAGE_TELEPHONY_SEND","HID_USAGE_TELEPHONY_SPEED_DIAL","HID_USAGE_TELEPHONY_STORE_NUMBER","HID_USAGE_TELEPHONY_RECALL_NUMBER","HID_USAGE_TELEPHONY_PHONE_DIRECTORY","HID_USAGE_TELEPHONY_VOICE_MAIL","HID_USAGE_TELEPHONY_SCREEN_CALLS","HID_USAGE_TELEPHONY_DO_NOT_DISTURB","HID_USAGE_TELEPHONY_MESSAGE","HID_USAGE_TELEPHONY_ANSWER_ON_OFF","HID_USAGE_TELEPHONY_INSIDE_DIAL_TONE","HID_USAGE_TELEPHONY_OUTSIDE_DIAL_TONE","HID_USAGE_TELEPHONY_INSIDE_RING_TONE","HID_USAGE_TELEPHONY_OUTSIDE_RING_TONE","HID_USAGE_TELEPHONY_PRIORITY_RING_TONE","HID_USAGE_TELEPHONY_INSIDE_RINGBACK","HID_USAGE_TELEPHONY_PRIORITY_RINGBACK","HID_USAGE_TELEPHONY_LINE_BUSY_TONE","HID_USAGE_TELEPHONY_REORDER_TONE","HID_USAGE_TELEPHONY_CALL_WAITING_TONE","HID_USAGE_TELEPHONY_CONFIRMATION_TONE_1","HID_USAGE_TELEPHONY_CONFIRMATION_TONE_2","HID_USAGE_TELEPHONY_TONES_OFF","HID_USAGE_TELEPHONY_OUTSIDE_RINGBACK","HID_USAGE_TELEPHONY_RINGER","HID_USAGE_TELEPHONY_PHONE_KEY_0","HID_USAGE_TELEPHONY_PHONE_KEY_1","HID_USAGE_TELEPHONY_PHONE_KEY_2","HID_USAGE_TELEPHONY_PHONE_KEY_3","HID_USAGE_TELEPHONY_PHONE_KEY_4","HID_USAGE_TELEPHONY_PHONE_KEY_5","HID_USAGE_TELEPHONY_PHONE_KEY_6","HID_USAGE_TELEPHONY_PHONE_KEY_7","HID_USAGE_TELEPHONY_PHONE_KEY_8","HID_USAGE_TELEPHONY_PHONE_KEY_9","HID_USAGE_TELEPHONY_PHONE_KEY_STAR","HID_USAGE_TELEPHONY_PHONE_KEY_POUND","HID_USAGE_TELEPHONY_PHONE_KEY_A","HID_USAGE_TELEPHONY_PHONE_KEY_B","HID_USAGE_TELEPHONY_PHONE_KEY_C","HID_USAGE_TELEPHONY_PHONE_KEY_D","HID_USAGE_TELEPHONY_PHONE_CALL_HISTORY_KEY","HID_USAGE_TELEPHONY_PHONE_CALLER_ID_KEY","HID_USAGE_TELEPHONY_PHONE_SETTINGS_KEY","HID_USAGE_TELEPHONY_HOST_CONTROL","HID_USAGE_TELEPHONY_HOST_AVAILABLE","HID_USAGE_TELEPHONY_HOST_CALL_ACTIVE","HID_USAGE_TELEPHONY_ACTIVATE_HANDSET_AUDIO","HID_USAGE_TELEPHONY_RING_TYPE","HID_USAGE_TELEPHONY_RE_DIALABLE_PHONE_NUMBER","HID_USAGE_TELEPHONY_STOP_RING_TONE","HID_USAGE_TELEPHONY_PSTN_RING_TONE","HID_USAGE_TELEPHONY_HOST_RING_TONE","HID_USAGE_TELEPHONY_ALERT_SOUND_ERROR","HID_USAGE_TELEPHONY_ALERT_SOUND_CONFIRM","HID_USAGE_TELEPHONY_ALERT_SOUND_NOTIFICATION","HID_USAGE_TELEPHONY_SILENT_RING","HID_USAGE_TELEPHONY_EMAIL_MESSAGE_WAITING","HID_USAGE_TELEPHONY_VOICEMAIL_MESSAGE_WAITING","HID_USAGE_TELEPHONY_HOST_HOLD","HID_USAGE_TELEPHONY_INCOMING_CALL_HISTORY_COUNT","HID_USAGE_TELEPHONY_OUTGOING_CALL_HISTORY_COUNT","HID_USAGE_TELEPHONY_INCOMING_CALL_HISTORY","HID_USAGE_TELEPHONY_OUTGOING_CALL_HISTORY","HID_USAGE_TELEPHONY_PHONE_LOCALE","HID_USAGE_TELEPHONY_PHONE_TIME_SECOND","HID_USAGE_TELEPHONY_PHONE_TIME_MINUTE","HID_USAGE_TELEPHONY_PHONE_TIME_HOUR","HID_USAGE_TELEPHONY_PHONE_DATE_DAY","HID_USAGE_TELEPHONY_PHONE_DATE_MONTH","HID_USAGE_TELEPHONY_PHONE_DATE_YEAR","HID_USAGE_TELEPHONY_HANDSET_NICKNAME","HID_USAGE_TELEPHONY_ADDRESS_BOOK_ID","HID_USAGE_TELEPHONY_CALL_DURATION","HID_USAGE_TELEPHONY_DUAL_MODE_PHONE","HID_USAGE_CONSUMER_UNDEFINED","HID_USAGE_CONSUMER_CONSUMER_CONTROL","HID_USAGE_CONSUMER_NUMERIC_KEY_PAD","HID_USAGE_CONSUMER_PROGRAMMABLE_BUTTONS","HID_USAGE_CONSUMER_MICROPHONE","HID_USAGE_CONSUMER_HEADPHONE","HID_USAGE_CONSUMER_GRAPHIC_EQUALIZER","HID_USAGE_CONSUMER_INCREMENT10","HID_USAGE_CONSUMER_INCREMENT100","HID_USAGE_CONSUMER_AM_PM","HID_USAGE_CONSUMER_POWER","HID_USAGE_CONSUMER_RESET","HID_USAGE_CONSUMER_SLEEP","HID_USAGE_CONSUMER_SLEEP_AFTER","HID_USAGE_CONSUMER_SLEEP_MODE","HID_USAGE_CONSUMER_ILLUMINATION","HID_USAGE_CONSUMER_FUNCTION_BUTTONS","HID_USAGE_CONSUMER_MENU","HID_USAGE_CONSUMER_MENU_PICK","HID_USAGE_CONSUMER_MENU_UP","HID_USAGE_CONSUMER_MENU_DOWN","HID_USAGE_CONSUMER_MENU_LEFT","HID_USAGE_CONSUMER_MENU_RIGHT","HID_USAGE_CONSUMER_MENU_ESCAPE","HID_USAGE_CONSUMER_MENU_VALUE_INCREASE","HID_USAGE_CONSUMER_MENU_VALUE_DECREASE","HID_USAGE_CONSUMER_DATA_ON_SCREEN","HID_USAGE_CONSUMER_CLOSED_CAPTION","HID_USAGE_CONSUMER_CLOSED_CAPTION_SELECT","HID_USAGE_CONSUMER_VCR_TV","HID_USAGE_CONSUMER_BROADCAST_MODE","HID_USAGE_CONSUMER_SNAPSHOT","HID_USAGE_CONSUMER_STILL","HID_USAGE_CONSUMER_PICTURE_IN_PICTURE_TOGGLE","HID_USAGE_CONSUMER_PICTURE_IN_PICTURE_SWAP","HID_USAGE_CONSUMER_RED_MENU_BUTTON","HID_USAGE_CONSUMER_GREEN_MENU_BUTTON","HID_USAGE_CONSUMER_BLUE_MENU_BUTTON","HID_USAGE_CONSUMER_YELLOW_MENU_BUTTON","HID_USAGE_CONSUMER_ASPECT","HID_USAGE_CONSUMER_3D_MODE_SELECT","HID_USAGE_CONSUMER_DISPLAY_BRIGHTNESS_INCREMENT","HID_USAGE_CONSUMER_DISPLAY_BRIGHTNESS_DECREMENT","HID_USAGE_CONSUMER_DISPLAY_BRIGHTNESS","HID_USAGE_CONSUMER_DISPLAY_BACKLIGHT_TOGGLE","HID_USAGE_CONSUMER_DISPLAY_SET_BRIGHTNESS_TO_MINIMUM","HID_USAGE_CONSUMER_DISPLAY_SET_BRIGHTNESS_TO_MAXIMUM","HID_USAGE_CONSUMER_DISPLAY_SET_AUTO_BRIGHTNESS","HID_USAGE_CONSUMER_CAMERA_ACCESS_ENABLED","HID_USAGE_CONSUMER_CAMERA_ACCESS_DISABLED","HID_USAGE_CONSUMER_CAMERA_ACCESS_TOGGLE","HID_USAGE_CONSUMER_KEYBOARD_BRIGHTNESS_INCREMENT","HID_USAGE_CONSUMER_KEYBOARD_BRIGHTNESS_DECREMENT","HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_SET_LEVEL","HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_OOC","HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_SET_MINIMUM","HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_SET_MAXIMUM","HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_AUTO","HID_USAGE_CONSUMER_SELECTION","HID_USAGE_CONSUMER_ASSIGN_SELECTION","HID_USAGE_CONSUMER_MODE_STEP","HID_USAGE_CONSUMER_RECALL_LAST","HID_USAGE_CONSUMER_ENTER_CHANNEL","HID_USAGE_CONSUMER_ORDER_MOVIE","HID_USAGE_CONSUMER_CHANNEL","HID_USAGE_CONSUMER_MEDIA_SELECTION","HID_USAGE_CONSUMER_MEDIA_SELECT_COMPUTER","HID_USAGE_CONSUMER_MEDIA_SELECT_TV","HID_USAGE_CONSUMER_MEDIA_SELECT_WWW","HID_USAGE_CONSUMER_MEDIA_SELECT_DVD","HID_USAGE_CONSUMER_MEDIA_SELECT_TELEPHONE","HID_USAGE_CONSUMER_MEDIA_SELECT_PROGRAM_GUIDE","HID_USAGE_CONSUMER_MEDIA_SELECT_VIDEO_PHONE","HID_USAGE_CONSUMER_MEDIA_SELECT_GAMES","HID_USAGE_CONSUMER_MEDIA_SELECT_MESSAGES","HID_USAGE_CONSUMER_MEDIA_SELECT_CD","HID_USAGE_CONSUMER_MEDIA_SELECT_VCR","HID_USAGE_CONSUMER_MEDIA_SELECT_TUNER","HID_USAGE_CONSUMER_QUIT","HID_USAGE_CONSUMER_HELP","HID_USAGE_CONSUMER_MEDIA_SELECT_TAPE","HID_USAGE_CONSUMER_MEDIA_SELECT_CABLE","HID_USAGE_CONSUMER_MEDIA_SELECT_SATELLITE","HID_USAGE_CONSUMER_MEDIA_SELECT_SECURITY","HID_USAGE_CONSUMER_MEDIA_SELECT_HOME","HID_USAGE_CONSUMER_MEDIA_SELECT_CALL","HID_USAGE_CONSUMER_CHANNEL_INCREMENT","HID_USAGE_CONSUMER_CHANNEL_DECREMENT","HID_USAGE_CONSUMER_MEDIA_SELECT_SAP","HID_USAGE_CONSUMER_VCR_PLUS","HID_USAGE_CONSUMER_ONCE","HID_USAGE_CONSUMER_DAILY","HID_USAGE_CONSUMER_WEEKLY","HID_USAGE_CONSUMER_MONTHLY","HID_USAGE_CONSUMER_PLAY","HID_USAGE_CONSUMER_PAUSE","HID_USAGE_CONSUMER_RECORD","HID_USAGE_CONSUMER_FAST_FORWARD","HID_USAGE_CONSUMER_REWIND","HID_USAGE_CONSUMER_SCAN_NEXT_TRACK","HID_USAGE_CONSUMER_SCAN_PREVIOUS_TRACK","HID_USAGE_CONSUMER_STOP","HID_USAGE_CONSUMER_EJECT","HID_USAGE_CONSUMER_RANDOM_PLAY","HID_USAGE_CONSUMER_SELECT_DISC","HID_USAGE_CONSUMER_ENTER_DISC","HID_USAGE_CONSUMER_REPEAT","HID_USAGE_CONSUMER_TRACKING","HID_USAGE_CONSUMER_TRACK_NORMAL","HID_USAGE_CONSUMER_SLOW_TRACKING","HID_USAGE_CONSUMER_FRAME_FORWARD","HID_USAGE_CONSUMER_FRAME_BACK","HID_USAGE_CONSUMER_MARK","HID_USAGE_CONSUMER_CLEAR_MARK","HID_USAGE_CONSUMER_REPEAT_FROM_MARK","HID_USAGE_CONSUMER_RETURN_TO_MARK","HID_USAGE_CONSUMER_SEARCH_MARK_FORWARD","HID_USAGE_CONSUMER_SEARCH_MARK_BACKWARDS","HID_USAGE_CONSUMER_COUNTER_RESET","HID_USAGE_CONSUMER_SHOW_COUNTER","HID_USAGE_CONSUMER_TRACKING_INCREMENT","HID_USAGE_CONSUMER_TRACKING_DECREMENT","HID_USAGE_CONSUMER_STOP_EJECT","HID_USAGE_CONSUMER_PLAY_PAUSE","HID_USAGE_CONSUMER_PLAY_SKIP","HID_USAGE_CONSUMER_VOICE_COMMAND","HID_USAGE_CONSUMER_INVOKE_CAPTURE_INTERFACE","HID_USAGE_CONSUMER_START_OR_STOP_GAME_RECORDING","HID_USAGE_CONSUMER_HISTORICAL_GAME_CAPTURE","HID_USAGE_CONSUMER_CAPTURE_GAME_SCREENSHOT","HID_USAGE_CONSUMER_SHOW_OR_HIDE_RECORDING_INDICATOR","HID_USAGE_CONSUMER_START_OR_STOP_MICROPHONE_CAPTURE","HID_USAGE_CONSUMER_START_OR_STOP_CAMERA_CAPTURE","HID_USAGE_CONSUMER_START_OR_STOP_GAME_BROADCAST","HID_USAGE_CONSUMER_VOLUME","HID_USAGE_CONSUMER_BALANCE","HID_USAGE_CONSUMER_MUTE","HID_USAGE_CONSUMER_BASS","HID_USAGE_CONSUMER_TREBLE","HID_USAGE_CONSUMER_BASS_BOOST","HID_USAGE_CONSUMER_SURROUND_MODE","HID_USAGE_CONSUMER_LOUDNESS","HID_USAGE_CONSUMER_MPX","HID_USAGE_CONSUMER_VOLUME_INCREMENT","HID_USAGE_CONSUMER_VOLUME_DECREMENT","HID_USAGE_CONSUMER_SPEED_SELECT","HID_USAGE_CONSUMER_PLAYBACK_SPEED","HID_USAGE_CONSUMER_STANDARD_PLAY","HID_USAGE_CONSUMER_LONG_PLAY","HID_USAGE_CONSUMER_EXTENDED_PLAY","HID_USAGE_CONSUMER_SLOW","HID_USAGE_CONSUMER_FAN_ENABLE","HID_USAGE_CONSUMER_FAN_SPEED","HID_USAGE_CONSUMER_LIGHT_ENABLE","HID_USAGE_CONSUMER_LIGHT_ILLUMINATION_LEVEL","HID_USAGE_CONSUMER_CLIMATE_CONTROL_ENABLE","HID_USAGE_CONSUMER_ROOM_TEMPERATURE","HID_USAGE_CONSUMER_SECURITY_ENABLE","HID_USAGE_CONSUMER_FIRE_ALARM","HID_USAGE_CONSUMER_POLICE_ALARM","HID_USAGE_CONSUMER_PROXIMITY","HID_USAGE_CONSUMER_MOTION","HID_USAGE_CONSUMER_DURESS_ALARM","HID_USAGE_CONSUMER_HOLDUP_ALARM","HID_USAGE_CONSUMER_MEDICAL_ALARM","HID_USAGE_CONSUMER_BALANCE_RIGHT","HID_USAGE_CONSUMER_BALANCE_LEFT","HID_USAGE_CONSUMER_BASS_INCREMENT","HID_USAGE_CONSUMER_BASS_DECREMENT","HID_USAGE_CONSUMER_TREBLE_INCREMENT","HID_USAGE_CONSUMER_TREBLE_DECREMENT","HID_USAGE_CONSUMER_SPEAKER_SYSTEM","HID_USAGE_CONSUMER_CHANNEL_LEFT","HID_USAGE_CONSUMER_CHANNEL_RIGHT","HID_USAGE_CONSUMER_CHANNEL_CENTER","HID_USAGE_CONSUMER_CHANNEL_FRONT","HID_USAGE_CONSUMER_CHANNEL_CENTER_FRONT","HID_USAGE_CONSUMER_CHANNEL_SIDE","HID_USAGE_CONSUMER_CHANNEL_SURROUND","HID_USAGE_CONSUMER_CHANNEL_LOW_FREQUENCY_ENHANCEMENT","HID_USAGE_CONSUMER_CHANNEL_TOP","HID_USAGE_CONSUMER_CHANNEL_UNKNOWN","HID_USAGE_CONSUMER_SUB_CHANNEL","HID_USAGE_CONSUMER_SUB_CHANNEL_INCREMENT","HID_USAGE_CONSUMER_SUB_CHANNEL_DECREMENT","HID_USAGE_CONSUMER_ALTERNATE_AUDIO_INCREMENT","HID_USAGE_CONSUMER_ALTERNATE_AUDIO_DECREMENT","HID_USAGE_CONSUMER_APPLICATION_LAUNCH_BUTTONS","HID_USAGE_CONSUMER_AL_LAUNCH_BUTTON_CONFIGURATION_TOOL","HID_USAGE_CONSUMER_AL_PROGRAMMABLE_BUTTON_CONFIGURATION","HID_USAGE_CONSUMER_AL_CONSUMER_CONTROL_CONFIGURATION","HID_USAGE_CONSUMER_AL_WORD_PROCESSOR","HID_USAGE_CONSUMER_AL_TEXT_EDITOR","HID_USAGE_CONSUMER_AL_SPREADSHEET","HID_USAGE_CONSUMER_AL_GRAPHICS_EDITOR","HID_USAGE_CONSUMER_AL_PRESENTATION_APP","HID_USAGE_CONSUMER_AL_DATABASE_APP","HID_USAGE_CONSUMER_AL_EMAIL_READER","HID_USAGE_CONSUMER_AL_NEWSREADER","HID_USAGE_CONSUMER_AL_VOICEMAIL","HID_USAGE_CONSUMER_AL_CONTACTS_ADDRESS_BOOK","HID_USAGE_CONSUMER_AL_CALENDAR_SCHEDULE","HID_USAGE_CONSUMER_AL_TASK_PROJECT_MANAGER","HID_USAGE_CONSUMER_AL_LOG_JOURNAL_TIMECARD","HID_USAGE_CONSUMER_AL_CHECKBOOK_FINANCE","HID_USAGE_CONSUMER_AL_CALCULATOR","HID_USAGE_CONSUMER_AL_A_V_CAPTURE_PLAYBACK","HID_USAGE_CONSUMER_AL_LOCAL_MACHINE_BROWSER","HID_USAGE_CONSUMER_AL_LAN_WAN_BROWSER","HID_USAGE_CONSUMER_AL_INTERNET_BROWSER","HID_USAGE_CONSUMER_AL_REMOTE_NETWORKING_ISP_CONNECT","HID_USAGE_CONSUMER_AL_NETWORK_CONFERENCE","HID_USAGE_CONSUMER_AL_NETWORK_CHAT","HID_USAGE_CONSUMER_AL_TELEPHONY_DIALER","HID_USAGE_CONSUMER_AL_LOGON","HID_USAGE_CONSUMER_AL_LOGOFF","HID_USAGE_CONSUMER_AL_LOGON_LOGOFF","HID_USAGE_CONSUMER_AL_TERMINAL_LOCK_SCREENSAVER","HID_USAGE_CONSUMER_AL_CONTROL_PANEL","HID_USAGE_CONSUMER_AL_COMMAND_LINE_PROCESSOR_RUN","HID_USAGE_CONSUMER_AL_PROCESS_TASK_MANAGER","HID_USAGE_CONSUMER_AL_SELECT_TASK_APPLICATION","HID_USAGE_CONSUMER_AL_NEXT_TASK_APPLICATION","HID_USAGE_CONSUMER_AL_PREVIOUS_TASK_APPLICATION","HID_USAGE_CONSUMER_AL_PREEMPTIVE_HALT_TASK_APPLICATION","HID_USAGE_CONSUMER_AL_INTEGRATED_HELP_CENTER","HID_USAGE_CONSUMER_AL_DOCUMENTS","HID_USAGE_CONSUMER_AL_THESAURUS","HID_USAGE_CONSUMER_AL_DICTIONARY","HID_USAGE_CONSUMER_AL_DESKTOP","HID_USAGE_CONSUMER_AL_SPELL_CHECK","HID_USAGE_CONSUMER_AL_GRAMMAR_CHECK","HID_USAGE_CONSUMER_AL_WIRELESS_STATUS","HID_USAGE_CONSUMER_AL_KEYBOARD_LAYOUT","HID_USAGE_CONSUMER_AL_VIRUS_PROTECTION","HID_USAGE_CONSUMER_AL_ENCRYPTION","HID_USAGE_CONSUMER_AL_SCREEN_SAVER","HID_USAGE_CONSUMER_AL_ALARMS","HID_USAGE_CONSUMER_AL_CLOCK","HID_USAGE_CONSUMER_AL_FILE_BROWSER","HID_USAGE_CONSUMER_AL_POWER_STATUS","HID_USAGE_CONSUMER_AL_IMAGE_BROWSER","HID_USAGE_CONSUMER_AL_AUDIO_BROWSER","HID_USAGE_CONSUMER_AL_MOVIE_BROWSER","HID_USAGE_CONSUMER_AL_DIGITAL_RIGHTS_MANAGER","HID_USAGE_CONSUMER_AL_DIGITAL_WALLET","HID_USAGE_CONSUMER_AL_INSTANT_MESSAGING","HID_USAGE_CONSUMER_AL_OEM_FEATURES_TIPS_TUTORIAL_BROWSER","HID_USAGE_CONSUMER_AL_OEM_HELP","HID_USAGE_CONSUMER_AL_ONLINE_COMMUNITY","HID_USAGE_CONSUMER_AL_ENTERTAINMENT_CONTENT_BROWSER","HID_USAGE_CONSUMER_AL_ONLINE_SHOPPING_BROWSER","HID_USAGE_CONSUMER_AL_SMARTCARD_INFORMATION_HELP","HID_USAGE_CONSUMER_AL_MARKET_MONITOR_FINANCE_BROWSER","HID_USAGE_CONSUMER_AL_CUSTOMIZED_CORPORATE_NEWS_BROWSER","HID_USAGE_CONSUMER_AL_ONLINE_ACTIVITY_BROWSER","HID_USAGE_CONSUMER_AL_RESEARCH_SEARCH_BROWSER","HID_USAGE_CONSUMER_AL_AUDIO_PLAYER","HID_USAGE_CONSUMER_AL_MESSAGE_STATUS","HID_USAGE_CONSUMER_AL_CONTACT_SYNC","HID_USAGE_CONSUMER_AL_NAVIGATION","HID_USAGE_CONSUMER_AL_CONTEXT_AWARE_DESKTOP_ASSISTANT","HID_USAGE_CONSUMER_GENERIC_GUI_APPLICATION_CONTROLS","HID_USAGE_CONSUMER_AC_NEW","HID_USAGE_CONSUMER_AC_OPEN","HID_USAGE_CONSUMER_AC_CLOSE","HID_USAGE_CONSUMER_AC_EXIT","HID_USAGE_CONSUMER_AC_MAXIMIZE","HID_USAGE_CONSUMER_AC_MINIMIZE","HID_USAGE_CONSUMER_AC_SAVE","HID_USAGE_CONSUMER_AC_PRINT","HID_USAGE_CONSUMER_AC_PROPERTIES","HID_USAGE_CONSUMER_AC_UNDO","HID_USAGE_CONSUMER_AC_COPY","HID_USAGE_CONSUMER_AC_CUT","HID_USAGE_CONSUMER_AC_PASTE","HID_USAGE_CONSUMER_AC_SELECT_ALL","HID_USAGE_CONSUMER_AC_FIND","HID_USAGE_CONSUMER_AC_FIND_AND_REPLACE","HID_USAGE_CONSUMER_AC_SEARCH","HID_USAGE_CONSUMER_AC_GO_TO","HID_USAGE_CONSUMER_AC_HOME","HID_USAGE_CONSUMER_AC_BACK","HID_USAGE_CONSUMER_AC_FORWARD","HID_USAGE_CONSUMER_AC_STOP","HID_USAGE_CONSUMER_AC_REFRESH","HID_USAGE_CONSUMER_AC_PREVIOUS_LINK","HID_USAGE_CONSUMER_AC_NEXT_LINK","HID_USAGE_CONSUMER_AC_BOOKMARKS","HID_USAGE_CONSUMER_AC_HISTORY","HID_USAGE_CONSUMER_AC_SUBSCRIPTIONS","HID_USAGE_CONSUMER_AC_ZOOM_IN","HID_USAGE_CONSUMER_AC_ZOOM_OUT","HID_USAGE_CONSUMER_AC_ZOOM","HID_USAGE_CONSUMER_AC_FULL_SCREEN_VIEW","HID_USAGE_CONSUMER_AC_NORMAL_VIEW","HID_USAGE_CONSUMER_AC_VIEW_TOGGLE","HID_USAGE_CONSUMER_AC_SCROLL_UP","HID_USAGE_CONSUMER_AC_SCROLL_DOWN","HID_USAGE_CONSUMER_AC_SCROLL","HID_USAGE_CONSUMER_AC_PAN_LEFT","HID_USAGE_CONSUMER_AC_PAN_RIGHT","HID_USAGE_CONSUMER_AC_PAN","HID_USAGE_CONSUMER_AC_NEW_WINDOW","HID_USAGE_CONSUMER_AC_TILE_HORIZONTALLY","HID_USAGE_CONSUMER_AC_TILE_VERTICALLY","HID_USAGE_CONSUMER_AC_FORMAT","HID_USAGE_CONSUMER_AC_EDIT","HID_USAGE_CONSUMER_AC_BOLD","HID_USAGE_CONSUMER_AC_ITALICS","HID_USAGE_CONSUMER_AC_UNDERLINE","HID_USAGE_CONSUMER_AC_STRIKETHROUGH","HID_USAGE_CONSUMER_AC_SUBSCRIPT","HID_USAGE_CONSUMER_AC_SUPERSCRIPT","HID_USAGE_CONSUMER_AC_ALL_CAPS","HID_USAGE_CONSUMER_AC_ROTATE","HID_USAGE_CONSUMER_AC_RESIZE","HID_USAGE_CONSUMER_AC_FLIP_HORIZONTAL","HID_USAGE_CONSUMER_AC_FLIP_VERTICAL","HID_USAGE_CONSUMER_AC_MIRROR_HORIZONTAL","HID_USAGE_CONSUMER_AC_MIRROR_VERTICAL","HID_USAGE_CONSUMER_AC_FONT_SELECT","HID_USAGE_CONSUMER_AC_FONT_COLOR","HID_USAGE_CONSUMER_AC_FONT_SIZE","HID_USAGE_CONSUMER_AC_JUSTIFY_LEFT","HID_USAGE_CONSUMER_AC_JUSTIFY_CENTER_H","HID_USAGE_CONSUMER_AC_JUSTIFY_RIGHT","HID_USAGE_CONSUMER_AC_JUSTIFY_BLOCK_H","HID_USAGE_CONSUMER_AC_JUSTIFY_TOP","HID_USAGE_CONSUMER_AC_JUSTIFY_CENTER_V","HID_USAGE_CONSUMER_AC_JUSTIFY_BOTTOM","HID_USAGE_CONSUMER_AC_JUSTIFY_BLOCK_V","HID_USAGE_CONSUMER_AC_INDENT_DECREASE","HID_USAGE_CONSUMER_AC_INDENT_INCREASE","HID_USAGE_CONSUMER_AC_NUMBERED_LIST","HID_USAGE_CONSUMER_AC_RESTART_NUMBERING","HID_USAGE_CONSUMER_AC_BULLETED_LIST","HID_USAGE_CONSUMER_AC_PROMOTE","HID_USAGE_CONSUMER_AC_DEMOTE","HID_USAGE_CONSUMER_AC_YES","HID_USAGE_CONSUMER_AC_NO","HID_USAGE_CONSUMER_AC_CANCEL","HID_USAGE_CONSUMER_AC_CATALOG","HID_USAGE_CONSUMER_AC_BUY_CHECKOUT","HID_USAGE_CONSUMER_AC_ADD_TO_CART","HID_USAGE_CONSUMER_AC_EXPAND","HID_USAGE_CONSUMER_AC_EXPAND_ALL","HID_USAGE_CONSUMER_AC_COLLAPSE","HID_USAGE_CONSUMER_AC_COLLAPSE_ALL","HID_USAGE_CONSUMER_AC_PRINT_PREVIEW","HID_USAGE_CONSUMER_AC_PASTE_SPECIAL","HID_USAGE_CONSUMER_AC_INSERT_MODE","HID_USAGE_CONSUMER_AC_DELETE","HID_USAGE_CONSUMER_AC_LOCK","HID_USAGE_CONSUMER_AC_UNLOCK","HID_USAGE_CONSUMER_AC_PROTECT","HID_USAGE_CONSUMER_AC_UNPROTECT","HID_USAGE_CONSUMER_AC_ATTACH_COMMENT","HID_USAGE_CONSUMER_AC_DELETE_COMMENT","HID_USAGE_CONSUMER_AC_VIEW_COMMENT","HID_USAGE_CONSUMER_AC_SELECT_WORD","HID_USAGE_CONSUMER_AC_SELECT_SENTENCE","HID_USAGE_CONSUMER_AC_SELECT_PARAGRAPH","HID_USAGE_CONSUMER_AC_SELECT_COLUMN","HID_USAGE_CONSUMER_AC_SELECT_ROW","HID_USAGE_CONSUMER_AC_SELECT_TABLE","HID_USAGE_CONSUMER_AC_SELECT_OBJECT","HID_USAGE_CONSUMER_AC_REDO_REPEAT","HID_USAGE_CONSUMER_AC_SORT","HID_USAGE_CONSUMER_AC_SORT_ASCENDING","HID_USAGE_CONSUMER_AC_SORT_DESCENDING","HID_USAGE_CONSUMER_AC_FILTER","HID_USAGE_CONSUMER_AC_SET_CLOCK","HID_USAGE_CONSUMER_AC_VIEW_CLOCK","HID_USAGE_CONSUMER_AC_SELECT_TIME_ZONE","HID_USAGE_CONSUMER_AC_EDIT_TIME_ZONES","HID_USAGE_CONSUMER_AC_SET_ALARM","HID_USAGE_CONSUMER_AC_CLEAR_ALARM","HID_USAGE_CONSUMER_AC_SNOOZE_ALARM","HID_USAGE_CONSUMER_AC_RESET_ALARM","HID_USAGE_CONSUMER_AC_SYNCHRONIZE","HID_USAGE_CONSUMER_AC_SEND_RECEIVE","HID_USAGE_CONSUMER_AC_SEND_TO","HID_USAGE_CONSUMER_AC_REPLY","HID_USAGE_CONSUMER_AC_REPLY_ALL","HID_USAGE_CONSUMER_AC_FORWARD_MSG","HID_USAGE_CONSUMER_AC_SEND","HID_USAGE_CONSUMER_AC_ATTACH_FILE","HID_USAGE_CONSUMER_AC_UPLOAD","HID_USAGE_CONSUMER_AC_DOWNLOAD_SAVE_TARGET_AS","HID_USAGE_CONSUMER_AC_SET_BORDERS","HID_USAGE_CONSUMER_AC_INSERT_ROW","HID_USAGE_CONSUMER_AC_INSERT_COLUMN","HID_USAGE_CONSUMER_AC_INSERT_FILE","HID_USAGE_CONSUMER_AC_INSERT_PICTURE","HID_USAGE_CONSUMER_AC_INSERT_OBJECT","HID_USAGE_CONSUMER_AC_INSERT_SYMBOL","HID_USAGE_CONSUMER_AC_SAVE_AND_CLOSE","HID_USAGE_CONSUMER_AC_RENAME","HID_USAGE_CONSUMER_AC_MERGE","HID_USAGE_CONSUMER_AC_SPLIT","HID_USAGE_CONSUMER_AC_DISRIBUTE_HORIZONTALLY","HID_USAGE_CONSUMER_AC_DISTRIBUTE_VERTICALLY","HID_USAGE_CONSUMER_AC_NEXT_KEYBOARD_LAYOUT_SELECT","HID_USAGE_CONSUMER_AC_NAVIGATION_GUIDANCE","HID_USAGE_CONSUMER_AC_DESKTOP_SHOW_ALL_WINDOWS","HID_USAGE_CONSUMER_AC_SOFT_KEY_LEFT","HID_USAGE_CONSUMER_AC_SOFT_KEY_RIGHT","HID_USAGE_CONSUMER_AC_DESKTOP_SHOW_ALL_APPLICATIONS","HID_USAGE_CONSUMER_AC_IDLE_KEEP_ALIVE","HID_USAGE_CONSUMER_EXTENDED_KEYBOARD_ATTRIBUTES_COLLECTION","HID_USAGE_CONSUMER_KEYBOARD_FORM_FACTOR","HID_USAGE_CONSUMER_KEYBOARD_KEY_TYPE","HID_USAGE_CONSUMER_KEYBOARD_PHYSICAL_LAYOUT","HID_USAGE_CONSUMER_VENDOR_SPECIFIC_KEYBOARD_PHYSICAL_LAYOUT","HID_USAGE_CONSUMER_KEYBOARD_IETF_LANGUAGE_TAG_INDEX","HID_USAGE_CONSUMER_IMPLEMENTED_KEYBOARD_INPUT_ASSIST_CONTROLS","HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_PREVIOUS","HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_NEXT","HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_PREVIOUS_GROUP","HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_NEXT_GROUP","HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_ACCEPT","HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_CANCEL","HID_USAGE_CONSUMER_PRIVACY_SCREEN_TOGGLE","HID_USAGE_CONSUMER_PRIVACY_SCREEN_LEVEL_DECREMENT","HID_USAGE_CONSUMER_PRIVACY_SCREEN_LEVEL_INCREMENT","HID_USAGE_CONSUMER_PRIVACY_SCREEN_LEVEL_MINIMUM","HID_USAGE_CONSUMER_PRIVACY_SCREEN_LEVEL_MAXIMUM","HID_USAGE_CONSUMER_CONTACT_EDITED","HID_USAGE_CONSUMER_CONTACT_ADDED","HID_USAGE_CONSUMER_CONTACT_RECORD_ACTIVE","HID_USAGE_CONSUMER_CONTACT_INDEX","HID_USAGE_CONSUMER_CONTACT_NICKNAME","HID_USAGE_CONSUMER_CONTACT_FIRST_NAME","HID_USAGE_CONSUMER_CONTACT_LAST_NAME","HID_USAGE_CONSUMER_CONTACT_FULL_NAME","HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_PERSONAL","HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_BUSINESS","HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_MOBILE","HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_PAGER","HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_FAX","HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_OTHER","HID_USAGE_CONSUMER_CONTACT_EMAIL_PERSONAL","HID_USAGE_CONSUMER_CONTACT_EMAIL_BUSINESS","HID_USAGE_CONSUMER_CONTACT_EMAIL_OTHER","HID_USAGE_CONSUMER_CONTACT_EMAIL_MAIN","HID_USAGE_CONSUMER_CONTACT_SPEED_DIAL_NUMBER","HID_USAGE_CONSUMER_CONTACT_STATUS_FLAG","HID_USAGE_CONSUMER_CONTACT_MISC","HID_USAGE_DIGITIZERS_UNDEFINED","HID_USAGE_DIGITIZERS_DIGITIZER","HID_USAGE_DIGITIZERS_PEN","HID_USAGE_DIGITIZERS_LIGHT_PEN","HID_USAGE_DIGITIZERS_TOUCH_SCREEN","HID_USAGE_DIGITIZERS_TOUCH_PAD","HID_USAGE_DIGITIZERS_WHITEBOARD","HID_USAGE_DIGITIZERS_COORDINATE_MEASURING_MACHINE","HID_USAGE_DIGITIZERS_3D_DIGITIZER","HID_USAGE_DIGITIZERS_STEREO_PLOTTER","HID_USAGE_DIGITIZERS_ARTICULATED_ARM","HID_USAGE_DIGITIZERS_ARMATURE","HID_USAGE_DIGITIZERS_MULTIPLE_POINT_DIGITIZER","HID_USAGE_DIGITIZERS_FREE_SPACE_WAND","HID_USAGE_DIGITIZERS_DEVICE_CONFIGURATION","HID_USAGE_DIGITIZERS_CAPACITIVE_HEAT_MAP_DIGITIZER","HID_USAGE_DIGITIZERS_STYLUS","HID_USAGE_DIGITIZERS_PUCK","HID_USAGE_DIGITIZERS_FINGER","HID_USAGE_DIGITIZERS_DEVICE_SETTINGS","HID_USAGE_DIGITIZERS_CHARACTER_GESTURE","HID_USAGE_DIGITIZERS_TIP_PRESSURE","HID_USAGE_DIGITIZERS_BARREL_PRESSURE","HID_USAGE_DIGITIZERS_IN_RANGE","HID_USAGE_DIGITIZERS_TOUCH","HID_USAGE_DIGITIZERS_UNTOUCH","HID_USAGE_DIGITIZERS_TAP","HID_USAGE_DIGITIZERS_QUALITY","HID_USAGE_DIGITIZERS_DATA_VALID","HID_USAGE_DIGITIZERS_TRANSDUCER_INDEX","HID_USAGE_DIGITIZERS_TABLET_FUNCTION_KEYS","HID_USAGE_DIGITIZERS_PROGRAM_CHANGE_KEYS","HID_USAGE_DIGITIZERS_BATTERY_STRENGTH","HID_USAGE_DIGITIZERS_INVERT","HID_USAGE_DIGITIZERS_X_TILT","HID_USAGE_DIGITIZERS_Y_TILT","HID_USAGE_DIGITIZERS_AZIMUTH","HID_USAGE_DIGITIZERS_ALTITUDE","HID_USAGE_DIGITIZERS_TWIST","HID_USAGE_DIGITIZERS_TIP_SWITCH","HID_USAGE_DIGITIZERS_SECONDARY_TIP_SWITCH","HID_USAGE_DIGITIZERS_BARREL_SWITCH","HID_USAGE_DIGITIZERS_ERASER","HID_USAGE_DIGITIZERS_TABLET_PICK","HID_USAGE_DIGITIZERS_TOUCH_VALID","HID_USAGE_DIGITIZERS_WIDTH","HID_USAGE_DIGITIZERS_HEIGHT","HID_USAGE_DIGITIZERS_CONTACT_IDENTIFIER","HID_USAGE_DIGITIZERS_DEVICE_MODE","HID_USAGE_DIGITIZERS_DEVICE_IDENTIFIER","HID_USAGE_DIGITIZERS_CONTACT_COUNT","HID_USAGE_DIGITIZERS_CONTACT_COUNT_MAXIMUM","HID_USAGE_DIGITIZERS_SCAN_TIME","HID_USAGE_DIGITIZERS_SURFACE_SWITCH","HID_USAGE_DIGITIZERS_BUTTON_SWITCH","HID_USAGE_DIGITIZERS_PAD_TYPE","HID_USAGE_DIGITIZERS_SECONDARY_BARREL_SWITCH","HID_USAGE_DIGITIZERS_TRANSDUCER_SERIAL_NUMBER","HID_USAGE_DIGITIZERS_PREFERRED_COLOR","HID_USAGE_DIGITIZERS_PREFERRED_COLOR_IS_LOCKED","HID_USAGE_DIGITIZERS_PREFERRED_LINE_WIDTH","HID_USAGE_DIGITIZERS_PREFERRED_LINE_WIDTH_IS_LOCKED","HID_USAGE_DIGITIZERS_LATENCY_MODE","HID_USAGE_DIGITIZERS_GESTURE_CHARACTER_QUALITY","HID_USAGE_DIGITIZERS_CHARACTER_GESTURE_DATA_LENGTH","HID_USAGE_DIGITIZERS_CHARACTER_GESTURE_DATA","HID_USAGE_DIGITIZERS_GESTURE_CHARACTER_ENCODING","HID_USAGE_DIGITIZERS_UTF8_CHARACTER_GESTURE_ENCODING","HID_USAGE_DIGITIZERS_UTF16_LITTLE_ENDIAN_CHARACTER_GESTURE_ENCODING","HID_USAGE_DIGITIZERS_UTF16_BIG_ENDIAN_CHARACTER_GESTURE_ENCODING","HID_USAGE_DIGITIZERS_UTF32_LITTLE_ENDIAN_CHARACTER_GESTURE_ENCODING","HID_USAGE_DIGITIZERS_UTF32_BIG_ENDIAN_CHARACTER_GESTURE_ENCODING","HID_USAGE_DIGITIZERS_CAPACITIVE_HEAT_MAP_PROTOCOL_VENDOR_ID","HID_USAGE_DIGITIZERS_CAPACITIVE_HEAT_MAP_PROTOCOL_VERSION","HID_USAGE_DIGITIZERS_CAPACITIVE_HEAT_MAP_FRAME_DATA","HID_USAGE_DIGITIZERS_GESTURE_CHARACTER_ENABLE","HID_USAGE_DIGITIZERS_PREFERRED_LINE_STYLE","HID_USAGE_DIGITIZERS_PREFERRED_LINE_STYLE_IS_LOCKED","HID_USAGE_DIGITIZERS_INK","HID_USAGE_DIGITIZERS_PENCIL","HID_USAGE_DIGITIZERS_HIGHLIGHTER","HID_USAGE_DIGITIZERS_CHISEL_MARKER","HID_USAGE_DIGITIZERS_BRUSH","HID_USAGE_DIGITIZERS_NO_PREFERENCE","HID_USAGE_DIGITIZERS_DIGITIZER_DIAGNOSTIC","HID_USAGE_DIGITIZERS_DIGITIZER_ERROR","HID_USAGE_DIGITIZERS_ERR_NORMAL_STATUS","HID_USAGE_DIGITIZERS_ERR_TRANSDUCERS_EXCEEDED","HID_USAGE_DIGITIZERS_ERR_FULL_TRANS_FEATURES_UNAVAILABLE","HID_USAGE_DIGITIZERS_ERR_CHARGE_LOW","HID_USAGE_DIGITIZERS_TRANSDUCER_SOFTWARE_INFO","HID_USAGE_DIGITIZERS_TRANSDUCER_VENDOR_ID","HID_USAGE_DIGITIZERS_TRANSDUCER_PRODUCT_ID","HID_USAGE_DIGITIZERS_DEVICE_SUPPORTED_PROTOCOLS","HID_USAGE_DIGITIZERS_TRANSDUCER_SUPPORTED_PROTOCOLS","HID_USAGE_DIGITIZERS_NO_PROTOCOL","HID_USAGE_DIGITIZERS_WACOM_AES_PROTOCOL","HID_USAGE_DIGITIZERS_USI_PROTOCOL","HID_USAGE_DIGITIZERS_MICROSOFT_PEN_PROTOCOL","HID_USAGE_DIGITIZERS_SUPPORTED_REPORT_RATES","HID_USAGE_DIGITIZERS_REPORT_RATE","HID_USAGE_DIGITIZERS_TRANSDUCER_CONNECTED","HID_USAGE_DIGITIZERS_SWITCH_DISABLED","HID_USAGE_DIGITIZERS_SWITCH_UNIMPLEMENTED","HID_USAGE_DIGITIZERS_TRANSDUCER_SWITCHES","HID_USAGE_HAPTICS_UNDEFINED","HID_USAGE_HAPTICS_SIMPLE_HAPTIC_CONTROLLER","HID_USAGE_HAPTICS_WAVEFORM_LIST","HID_USAGE_HAPTICS_DURATION_LIST","HID_USAGE_HAPTICS_AUTO_TRIGGER","HID_USAGE_HAPTICS_MANUAL_TRIGGER","HID_USAGE_HAPTICS_AUTO_TRIGGER_ASSOCIATED_CONTROL","HID_USAGE_HAPTICS_INTENSITY","HID_USAGE_HAPTICS_REPEAT_COUNT","HID_USAGE_HAPTICS_RETRIGGER_PERIOD","HID_USAGE_HAPTICS_WAVEFORM_VENDOR_PAGE","HID_USAGE_HAPTICS_WAVEFORM_VENDOR_ID","HID_USAGE_HAPTICS_WAVEFORM_CUTOFF_TIME","HID_USAGE_HAPTICS_WAVEFORM_NONE","HID_USAGE_HAPTICS_WAVEFORM_STOP","HID_USAGE_HAPTICS_WAVEFORM_CLICK","HID_USAGE_HAPTICS_WAVEFORM_BUZZ_CONTINUOUS","HID_USAGE_HAPTICS_WAVEFORM_RUMBLE_CONTINUOUS","HID_USAGE_HAPTICS_WAVEFORM_PRESS","HID_USAGE_HAPTICS_WAVEFORM_RELEASE","HID_USAGE_PID_UNDEFINED","HID_USAGE_PID_PHYSICAL_INTERFACE_DEVICE","HID_USAGE_PID_NORMAL","HID_USAGE_PID_SET_EFFECT_REPORT","HID_USAGE_PID_EFFECT_BLOCK_INDEX","HID_USAGE_PID_PARAMETER_BLOCK_OFFSET","HID_USAGE_PID_ROM_FLAG","HID_USAGE_PID_EFFECT_TYPE","HID_USAGE_PID_ET_CONSTANT_FORCE","HID_USAGE_PID_ET_RAMP","HID_USAGE_PID_ET_CUSTOM_FORCE_DATA","HID_USAGE_PID_ET_SQUARE","HID_USAGE_PID_ET_SINE","HID_USAGE_PID_ET_TRIANGLE","HID_USAGE_PID_ET_SAWTOOTH_UP","HID_USAGE_PID_ET_SAWTOOTH_DOWN","HID_USAGE_PID_ET_SPRING","HID_USAGE_PID_ET_DAMPER","HID_USAGE_PID_ET_INERTIA","HID_USAGE_PID_ET_FRICTION","HID_USAGE_PID_DURATION","HID_USAGE_PID_SAMPLE_PERIOD","HID_USAGE_PID_GAIN","HID_USAGE_PID_TRIGGER_BUTTON","HID_USAGE_PID_TRIGGER_REPEAT_INTERVAL","HID_USAGE_PID_AXES_ENABLE","HID_USAGE_PID_DIRECTION_ENABLE","HID_USAGE_PID_DIRECTION","HID_USAGE_PID_TYPE_SPECIFIC_BLOCK_OFFSET","HID_USAGE_PID_BLOCK_TYPE","HID_USAGE_PID_SET_ENVELOPE_REPORT","HID_USAGE_PID_ATTACK_LEVEL","HID_USAGE_PID_ATTACK_TIME","HID_USAGE_PID_FADE_LEVEL","HID_USAGE_PID_FADE_TIME","HID_USAGE_PID_SET_CONDITION_REPORT","HID_USAGE_PID_CP_OFFSET","HID_USAGE_PID_POSITIVE_COEFFICIENT","HID_USAGE_PID_NEGATIVE_COEFFICIENT","HID_USAGE_PID_POSITIVE_SATURATION","HID_USAGE_PID_NEGATIVE_SATURATION","HID_USAGE_PID_DEAD_BAND","HID_USAGE_PID_DOWNLOAD_FORCE_SAMPLE","HID_USAGE_PID_ISOCH_CUSTOM_FORCE_ENABLE","HID_USAGE_PID_CUSTOM_FORCE_DATA_REPORT","HID_USAGE_PID_CUSTOM_FORCE_DATA","HID_USAGE_PID_CUSTOM_FORCE_VENDOR_DEFINED_DATA","HID_USAGE_PID_SET_CUSTOM_FORCE_REPORT","HID_USAGE_PID_CUSTOM_FORCE_DATA_OFFSET","HID_USAGE_PID_SAMPLE_COUNT","HID_USAGE_PID_SET_PERIODIC_REPORT","HID_USAGE_PID_OFFSET","HID_USAGE_PID_MAGNITUDE","HID_USAGE_PID_PHASE","HID_USAGE_PID_PERIOD","HID_USAGE_PID_SET_CONSTANT_FORCE_REPORT","HID_USAGE_PID_SET_RAMP_FORCE_REPORT","HID_USAGE_PID_RAMP_START","HID_USAGE_PID_RAMP_END","HID_USAGE_PID_EFFECT_OPERATION_REPORT","HID_USAGE_PID_EFFECT_OPERATION","HID_USAGE_PID_OP_EFFECT_START","HID_USAGE_PID_OP_EFFECT_START_SOLO","HID_USAGE_PID_OP_EFFECT_STOP","HID_USAGE_PID_LOOP_COUNT","HID_USAGE_PID_DEVICE_GAIN_REPORT","HID_USAGE_PID_DEVICE_GAIN","HID_USAGE_PID_PID_POOL_REPORT","HID_USAGE_PID_RAM_POOL_SIZE","HID_USAGE_PID_ROM_POOL_SIZE","HID_USAGE_PID_ROM_EFFECT_BLOCK_COUNT","HID_USAGE_PID_SIMULTANEOUS_EFFECTS_MAX","HID_USAGE_PID_POOL_ALIGNMENT","HID_USAGE_PID_PID_POOL_MOVE_REPORT","HID_USAGE_PID_MOVE_SOURCE","HID_USAGE_PID_MOVE_DESTINATION","HID_USAGE_PID_MOVE_LENGTH","HID_USAGE_PID_PID_BLOCK_LOAD_REPORT","HID_USAGE_PID_BLOCK_LOAD_STATUS","HID_USAGE_PID_BLOCK_LOAD_SUCCESS","HID_USAGE_PID_BLOCK_LOAD_FULL","HID_USAGE_PID_BLOCK_LOAD_ERROR","HID_USAGE_PID_BLOCK_HANDLE","HID_USAGE_PID_PID_BLOCK_FREE_REPORT","HID_USAGE_PID_TYPE_SPECIFIC_BLOCK_HANDLE","HID_USAGE_PID_PID_STATE_REPORT","HID_USAGE_PID_EFFECT_PLAYING","HID_USAGE_PID_PID_DEVICE_CONTROL_REPORT","HID_USAGE_PID_PID_DEVICE_CONTROL","HID_USAGE_PID_DC_ENABLE_ACTUATORS","HID_USAGE_PID_DC_DISABLE_ACTUATORS","HID_USAGE_PID_DC_STOP_ALL_EFFECTS","HID_USAGE_PID_DC_DEVICE_RESET","HID_USAGE_PID_DC_DEVICE_PAUSE","HID_USAGE_PID_DC_DEVICE_CONTINUE","HID_USAGE_PID_DEVICE_PAUSED","HID_USAGE_PID_ACTUATORS_ENABLED","HID_USAGE_PID_SAFETY_SWITCH","HID_USAGE_PID_ACTUATOR_OVERRIDE_SWITCH","HID_USAGE_PID_ACTUATOR_POWER","HID_USAGE_PID_START_DELAY","HID_USAGE_PID_PARAMETER_BLOCK_SIZE","HID_USAGE_PID_DEVICE_MANAGED_POOL","HID_USAGE_PID_SHARED_PARAMETER_BLOCKS","HID_USAGE_PID_CREATE_NEW_EFFECT_REPORT","HID_USAGE_PID_RAM_POOL_AVAILABLE","HID_USAGE_EHT_UNDEFINED","HID_USAGE_EHT_EYE_TRACKER","HID_USAGE_EHT_HEAD_TRACKER","HID_USAGE_EHT_TRACKING_DATA","HID_USAGE_EHT_CAPABILITIES","HID_USAGE_EHT_CONFIGURATION","HID_USAGE_EHT_STATUS","HID_USAGE_EHT_CONTROL","HID_USAGE_EHT_SENSOR_TIMESTAMP","HID_USAGE_EHT_POSITION_X","HID_USAGE_EHT_POSITION_Y","HID_USAGE_EHT_POSITION_Z","HID_USAGE_EHT_GAZE_POINT","HID_USAGE_EHT_LEFT_EYE_POSITION","HID_USAGE_EHT_RIGHT_EYE_POSITION","HID_USAGE_EHT_HEAD_POSITION","HID_USAGE_EHT_HEAD_DIRECTION_POINT","HID_USAGE_EHT_ROTATION_ABOUT_X_AXIS","HID_USAGE_EHT_ROTATION_ABOUT_Y_AXIS","HID_USAGE_EHT_ROTATION_ABOUT_Z_AXIS","HID_USAGE_EHT_TRACKER_QUALITY","HID_USAGE_EHT_MINIMUM_TRACKING_DISTANCE","HID_USAGE_EHT_OPTIMUM_TRACKING_DISTANCE","HID_USAGE_EHT_MAXIMUM_TRACKING_DISTANCE","HID_USAGE_EHT_MAXIMUM_SCREEN_PLANE_WIDTH","HID_USAGE_EHT_MAXIMUM_SCREEN_PLANE_HEIGHT","HID_USAGE_EHT_DISPLAY_MANUFACTURER_ID","HID_USAGE_EHT_DISPLAY_PRODUCT_ID","HID_USAGE_EHT_DISPLAY_SERIAL_NUMBER","HID_USAGE_EHT_DISPLAY_MANUFACTURER_DATE","HID_USAGE_EHT_CALIBRATED_SCREEN_WIDTH","HID_USAGE_EHT_CALIBRATED_SCREEN_HEIGHT","HID_USAGE_EHT_SAMPLING_FREQUENCY","HID_USAGE_EHT_CONFIGURATION_STATUS","HID_USAGE_EHT_DEVICE_MODE_REQUEST","HID_USAGE_AUXDISP_UNDEFINED","HID_USAGE_AUXDISP_ALPHANUMERIC_DISPLAY","HID_USAGE_AUXDISP_AUXILIARY_DISPLAY","HID_USAGE_AUXDISP_DISPLAY_ATTRIBUTES_REPORT","HID_USAGE_AUXDISP_ASCII_CHARACTER_SET","HID_USAGE_AUXDISP_DATA_READ_BACK","HID_USAGE_AUXDISP_FONT_READ_BACK","HID_USAGE_AUXDISP_DISPLAY_CONTROL_REPORT","HID_USAGE_AUXDISP_CLEAR_DISPLAY","HID_USAGE_AUXDISP_DISPLAY_ENABLE","HID_USAGE_AUXDISP_SCREEN_SAVER_DELAY","HID_USAGE_AUXDISP_SCREEN_SAVER_ENABLE","HID_USAGE_AUXDISP_VERTICAL_SCROLL","HID_USAGE_AUXDISP_HORIZONTAL_SCROLL","HID_USAGE_AUXDISP_CHARACTER_REPORT","HID_USAGE_AUXDISP_DISPLAY_DATA","HID_USAGE_AUXDISP_DISPLAY_STATUS","HID_USAGE_AUXDISP_STAT_NOT_READY","HID_USAGE_AUXDISP_STAT_READY","HID_USAGE_AUXDISP_ERR_NOT_A_LOADABLE_CHARACTER","HID_USAGE_AUXDISP_ERR_FONT_DATA_CANNOT_BE_READ","HID_USAGE_AUXDISP_CURSOR_POSITION_REPORT","HID_USAGE_AUXDISP_ROW","HID_USAGE_AUXDISP_COLUMN","HID_USAGE_AUXDISP_ROWS","HID_USAGE_AUXDISP_COLUMNS","HID_USAGE_AUXDISP_CURSOR_PIXEL_POSITIONING","HID_USAGE_AUXDISP_CURSOR_MODE","HID_USAGE_AUXDISP_CURSOR_ENABLE","HID_USAGE_AUXDISP_CURSOR_BLINK","HID_USAGE_AUXDISP_FONT_REPORT","HID_USAGE_AUXDISP_FONT_DATA","HID_USAGE_AUXDISP_CHARACTER_WIDTH","HID_USAGE_AUXDISP_CHARACTER_HEIGHT","HID_USAGE_AUXDISP_CHARACTER_SPACING_HORIZONTAL","HID_USAGE_AUXDISP_CHARACTER_SPACING_VERTICAL","HID_USAGE_AUXDISP_UNICODE_CHARACTER_SET","HID_USAGE_AUXDISP_FONT_7_SEGMENT","HID_USAGE_AUXDISP_7_SEGMENT_DIRECT_MAP","HID_USAGE_AUXDISP_FONT_14_SEGMENT","HID_USAGE_AUXDISP_14_SEGMENT_DIRECT_MAP","HID_USAGE_AUXDISP_DISPLAY_BRIGHTNESS","HID_USAGE_AUXDISP_DISPLAY_CONTRAST","HID_USAGE_AUXDISP_CHARACTER_ATTRIBUTE","HID_USAGE_AUXDISP_ATTRIBUTE_READBACK","HID_USAGE_AUXDISP_ATTRIBUTE_DATA","HID_USAGE_AUXDISP_CHAR_ATTR_ENHANCE","HID_USAGE_AUXDISP_CHAR_ATTR_UNDERLINE","HID_USAGE_AUXDISP_CHAR_ATTR_BLINK","HID_USAGE_AUXDISP_BITMAP_SIZE_X","HID_USAGE_AUXDISP_BITMAP_SIZE_Y","HID_USAGE_AUXDISP_MAX_BLIT_SIZE","HID_USAGE_AUXDISP_BIT_DEPTH_FORMAT","HID_USAGE_AUXDISP_DISPLAY_ORIENTATION","HID_USAGE_AUXDISP_PALETTE_REPORT","HID_USAGE_AUXDISP_PALETTE_DATA_SIZE","HID_USAGE_AUXDISP_PALETTE_DATA_OFFSET","HID_USAGE_AUXDISP_PALETTE_DATA","HID_USAGE_AUXDISP_BLIT_REPORT","HID_USAGE_AUXDISP_BLIT_RECTANGLE_X1","HID_USAGE_AUXDISP_BLIT_RECTANGLE_Y1","HID_USAGE_AUXDISP_BLIT_RECTANGLE_X2","HID_USAGE_AUXDISP_BLIT_RECTANGLE_Y2","HID_USAGE_AUXDISP_BLIT_DATA","HID_USAGE_AUXDISP_SOFT_BUTTON","HID_USAGE_AUXDISP_SOFT_BUTTON_ID","HID_USAGE_AUXDISP_SOFT_BUTTON_SIDE","HID_USAGE_AUXDISP_SOFT_BUTTON_OFFSET_1","HID_USAGE_AUXDISP_SOFT_BUTTON_OFFSET_2","HID_USAGE_AUXDISP_SOFT_BUTTON_REPORT","HID_USAGE_AUXDISP_SOFT_KEYS","HID_USAGE_AUXDISP_DISPLAY_DATA_EXTENSIONS","HID_USAGE_AUXDISP_CHARACTER_MAPPING","HID_USAGE_AUXDISP_UNICODE_EQUIVALENT","HID_USAGE_AUXDISP_CHARACTER_PAGE_MAPPING","HID_USAGE_AUXDISP_REQUEST_REPORT","HID_USAGE_SENSORS_UNDEFINED","HID_USAGE_SENSORS_SENSOR","HID_USAGE_SENSORS_BIOMETRIC","HID_USAGE_SENSORS_BIOMETRIC_HUMAN_PRESENCE","HID_USAGE_SENSORS_BIOMETRIC_HUMAN_PROXIMITY","HID_USAGE_SENSORS_BIOMETRIC_HUMAN_TOUCH","HID_USAGE_SENSORS_BIOMETRIC_BLOOD_PRESSURE","HID_USAGE_SENSORS_BIOMETRIC_BODY_TEMPERATURE","HID_USAGE_SENSORS_BIOMETRIC_HEART_RATE","HID_USAGE_SENSORS_BIOMETRIC_HEART_RATE_VARIABILITY","HID_USAGE_SENSORS_BIOMETRIC_PERIPHERAL_OXYGEN_SATURATION","HID_USAGE_SENSORS_BIOMETRIC_RESPIRATORY_RATE","HID_USAGE_SENSORS_ELECTRICAL","HID_USAGE_SENSORS_ELECTRICAL_CAPACITANCE","HID_USAGE_SENSORS_ELECTRICAL_CURRENT","HID_USAGE_SENSORS_ELECTRICAL_POWER","HID_USAGE_SENSORS_ELECTRICAL_INDUCTANCE","HID_USAGE_SENSORS_ELECTRICAL_RESISTANCE","HID_USAGE_SENSORS_ELECTRICAL_VOLTAGE","HID_USAGE_SENSORS_ELECTRICAL_POTENTIOMETER","HID_USAGE_SENSORS_ELECTRICAL_FREQUENCY","HID_USAGE_SENSORS_ELECTRICAL_PERIOD","HID_USAGE_SENSORS_ENVIRONMENTAL","HID_USAGE_SENSORS_ENVIRONMENTAL_ATMOSPHERIC_PRESSURE","HID_USAGE_SENSORS_ENVIRONMENTAL_HUMIDITY","HID_USAGE_SENSORS_ENVIRONMENTAL_TEMPERATURE","HID_USAGE_SENSORS_ENVIRONMENTAL_WIND_DIRECTION","HID_USAGE_SENSORS_ENVIRONMENTAL_WIND_SPEED","HID_USAGE_SENSORS_ENVIRONMENTAL_AIR_QUALITY","HID_USAGE_SENSORS_ENVIRONMENTAL_HEAT_INDEX","HID_USAGE_SENSORS_ENVIRONMENTAL_SURFACE_TEMPERATURE","HID_USAGE_SENSORS_ENVIRONMENTAL_VOLATILE_ORGANIC_COMPOUNDS","HID_USAGE_SENSORS_ENVIRONMENTAL_OBJECT_PRESENCE","HID_USAGE_SENSORS_ENVIRONMENTAL_OBJECT_PROXIMITY","HID_USAGE_SENSORS_LIGHT","HID_USAGE_SENSORS_LIGHT_AMBIENT_LIGHT","HID_USAGE_SENSORS_LIGHT_CONSUMER_INFRARED","HID_USAGE_SENSORS_LIGHT_INFRARED_LIGHT","HID_USAGE_SENSORS_LIGHT_VISIBLE_LIGHT","HID_USAGE_SENSORS_LIGHT_ULTRAVIOLET_LIGHT","HID_USAGE_SENSORS_LOCATION","HID_USAGE_SENSORS_LOCATION_BROADCAST","HID_USAGE_SENSORS_LOCATION_DEAD_RECKONING","HID_USAGE_SENSORS_LOCATION_GPS_GLOBAL_POSITIONING_SYSTEM","HID_USAGE_SENSORS_LOCATION_LOOKUP","HID_USAGE_SENSORS_LOCATION_OTHER","HID_USAGE_SENSORS_LOCATION_STATIC","HID_USAGE_SENSORS_LOCATION_TRIANGULATION","HID_USAGE_SENSORS_MECHANICAL","HID_USAGE_SENSORS_MECHANICAL_BOOLEAN_SWITCH","HID_USAGE_SENSORS_MECHANICAL_BOOLEAN_SWITCH_ARRAY","HID_USAGE_SENSORS_MECHANICAL_MULTIVALUE_SWITCH","HID_USAGE_SENSORS_MECHANICAL_FORCE","HID_USAGE_SENSORS_MECHANICAL_PRESSURE","HID_USAGE_SENSORS_MECHANICAL_STRAIN","HID_USAGE_SENSORS_MECHANICAL_WEIGHT","HID_USAGE_SENSORS_MECHANICAL_HAPTIC_VIBRATOR","HID_USAGE_SENSORS_MECHANICAL_HALL_EFFECT_SWITCH","HID_USAGE_SENSORS_MOTION","HID_USAGE_SENSORS_MOTION_ACCELEROMETER_1D","HID_USAGE_SENSORS_MOTION_ACCELEROMETER_2D","HID_USAGE_SENSORS_MOTION_ACCELEROMETER_3D","HID_USAGE_SENSORS_MOTION_GYROMETER_1D","HID_USAGE_SENSORS_MOTION_GYROMETER_2D","HID_USAGE_SENSORS_MOTION_GYROMETER_3D","HID_USAGE_SENSORS_MOTION_MOTION_DETECTOR","HID_USAGE_SENSORS_MOTION_SPEEDOMETER","HID_USAGE_SENSORS_MOTION_ACCELEROMETER","HID_USAGE_SENSORS_MOTION_GYROMETER","HID_USAGE_SENSORS_MOTION_GRAVITY_VECTOR","HID_USAGE_SENSORS_MOTION_LINEAR_ACCELEROMETER","HID_USAGE_SENSORS_ORIENTATION","HID_USAGE_SENSORS_ORIENTATION_COMPASS_1D","HID_USAGE_SENSORS_ORIENTATION_COMPASS_2D","HID_USAGE_SENSORS_ORIENTATION_COMPASS_3D","HID_USAGE_SENSORS_ORIENTATION_INCLINOMETER_1D","HID_USAGE_SENSORS_ORIENTATION_INCLINOMETER_2D","HID_USAGE_SENSORS_ORIENTATION_INCLINOMETER_3D","HID_USAGE_SENSORS_ORIENTATION_DISTANCE_1D","HID_USAGE_SENSORS_ORIENTATION_DISTANCE_2D","HID_USAGE_SENSORS_ORIENTATION_DISTANCE_3D","HID_USAGE_SENSORS_ORIENTATION_DEVICE_ORIENTATION","HID_USAGE_SENSORS_ORIENTATION_COMPASS","HID_USAGE_SENSORS_ORIENTATION_INCLINOMETER","HID_USAGE_SENSORS_ORIENTATION_DISTANCE","HID_USAGE_SENSORS_ORIENTATION_RELATIVE_ORIENTATION","HID_USAGE_SENSORS_ORIENTATION_SIMPLE_ORIENTATION","HID_USAGE_SENSORS_SCANNER","HID_USAGE_SENSORS_SCANNER_BARCODE","HID_USAGE_SENSORS_SCANNER_RFID","HID_USAGE_SENSORS_SCANNER_NFC","HID_USAGE_SENSORS_TIME","HID_USAGE_SENSORS_TIME_ALARM_TIMER","HID_USAGE_SENSORS_TIME_REAL_TIME_CLOCK","HID_USAGE_SENSORS_PERSONAL_ACTIVITY","HID_USAGE_SENSORS_PERSONAL_ACTIVITY_ACTIVITY_DETECTION","HID_USAGE_SENSORS_PERSONAL_ACTIVITY_DEVICE_POSITION","HID_USAGE_SENSORS_PERSONAL_ACTIVITY_PEDOMETER","HID_USAGE_SENSORS_PERSONAL_ACTIVITY_STEP_DETECTION","HID_USAGE_SENSORS_ORIENTATION_EXTENDED","HID_USAGE_SENSORS_ORIENTATION_EXTENDED_GEOMAGNETIC_ORIENTATION","HID_USAGE_SENSORS_ORIENTATION_EXTENDED_MAGNETOMETER","HID_USAGE_SENSORS_GESTURE","HID_USAGE_SENSORS_GESTURE_CHASSIS_FLIP_GESTURE","HID_USAGE_SENSORS_GESTURE_HINGE_FOLD_GESTURE","HID_USAGE_SENSORS_OTHER","HID_USAGE_SENSORS_OTHER_CUSTOM","HID_USAGE_SENSORS_OTHER_GENERIC","HID_USAGE_SENSORS_OTHER_GENERIC_ENUMERATOR","HID_USAGE_SENSORS_OTHER_HINGE_ANGLE","HID_USAGE_SENSORS_EVENT","HID_USAGE_SENSORS_EVENT_SENSOR_STATE","HID_USAGE_SENSORS_EVENT_SENSOR_EVENT","HID_USAGE_SENSORS_PROPERTY","HID_USAGE_SENSORS_PROPERTY_FRIENDLY_NAME","HID_USAGE_SENSORS_PROPERTY_PERSISTENT_UNIQUE_ID","HID_USAGE_SENSORS_PROPERTY_SENSOR_STATUS","HID_USAGE_SENSORS_PROPERTY_MINIMUM_REPORT_INTERVAL","HID_USAGE_SENSORS_PROPERTY_SENSOR_MANUFACTURER","HID_USAGE_SENSORS_PROPERTY_SENSOR_MODEL","HID_USAGE_SENSORS_PROPERTY_SENSOR_SERIAL_NUMBER","HID_USAGE_SENSORS_PROPERTY_SENSOR_DESCRIPTION","HID_USAGE_SENSORS_PROPERTY_SENSOR_CONNECTION_TYPE","HID_USAGE_SENSORS_PROPERTY_SENSOR_DEVICE_PATH","HID_USAGE_SENSORS_PROPERTY_HARDWARE_REVISION","HID_USAGE_SENSORS_PROPERTY_FIRMWARE_VERSION","HID_USAGE_SENSORS_PROPERTY_RELEASE_DATE","HID_USAGE_SENSORS_PROPERTY_REPORT_INTERVAL","HID_USAGE_SENSORS_PROPERTY_CHANGE_SENSITIVITY_ABSOLUTE","HID_USAGE_SENSORS_PROPERTY_CHANGE_SENSITIVITY_PERCENT_OF_RANGE","HID_USAGE_SENSORS_PROPERTY_CHANGE_SENSITIVITY_PERCENT_RELATIVE","HID_USAGE_SENSORS_PROPERTY_ACCURACY","HID_USAGE_SENSORS_PROPERTY_RESOLUTION","HID_USAGE_SENSORS_PROPERTY_MAXIMUM","HID_USAGE_SENSORS_PROPERTY_MINIMUM","HID_USAGE_SENSORS_PROPERTY_REPORTING_STATE","HID_USAGE_SENSORS_PROPERTY_SAMPLING_RATE","HID_USAGE_SENSORS_PROPERTY_RESPONSE_CURVE","HID_USAGE_SENSORS_PROPERTY_POWER_STATE","HID_USAGE_SENSORS_PROPERTY_MAXIMUM_FIFO_EVENTS","HID_USAGE_SENSORS_PROPERTY_REPORT_LATENCY","HID_USAGE_SENSORS_PROPERTY_FLUSH_FIFO_EVENTS","HID_USAGE_SENSORS_PROPERTY_MAXIMUM_POWER_CONSUMPTION","HID_USAGE_SENSORS_PROPERTY_IS_PRIMARY","HID_USAGE_SENSORS_DATA_FIELD_LOCATION","HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_ANTENNA_SEA_LEVEL","HID_USAGE_SENSORS_DATA_FIELD_DIFFERENTIAL_REFERENCE_STATION_ID","HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_ELLIPSOID_ERROR","HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_ELLIPSOID","HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_SEA_LEVEL_ERROR","HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_SEA_LEVEL","HID_USAGE_SENSORS_DATA_FIELD_DIFFERENTIAL_GPS_DATA_AGE","HID_USAGE_SENSORS_DATA_FIELD_ERROR_RADIUS","HID_USAGE_SENSORS_DATA_FIELD_FIX_QUALITY","HID_USAGE_SENSORS_DATA_FIELD_FIX_TYPE","HID_USAGE_SENSORS_DATA_FIELD_GEOIDAL_SEPARATION","HID_USAGE_SENSORS_DATA_FIELD_GPS_OPERATION_MODE","HID_USAGE_SENSORS_DATA_FIELD_GPS_SELECTION_MODE","HID_USAGE_SENSORS_DATA_FIELD_GPS_STATUS","HID_USAGE_SENSORS_DATA_FIELD_POSITION_DILUTION_OF_PRECISION","HID_USAGE_SENSORS_DATA_FIELD_HORIZONTAL_DILUTION_OF_PRECISION","HID_USAGE_SENSORS_DATA_FIELD_VERTICAL_DILUTION_OF_PRECISION","HID_USAGE_SENSORS_DATA_FIELD_LATITUDE","HID_USAGE_SENSORS_DATA_FIELD_LONGITUDE","HID_USAGE_SENSORS_DATA_FIELD_TRUE_HEADING","HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_HEADING","HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_VARIATION","HID_USAGE_SENSORS_DATA_FIELD_SPEED","HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW","HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_AZIMUTH","HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_ELEVATION","HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_IDS","HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_PRNS","HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_S_N_RATIOS","HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_USED_COUNT","HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_USED_PRNS","HID_USAGE_SENSORS_DATA_FIELD_NMEA_SENTENCE","HID_USAGE_SENSORS_DATA_FIELD_ADDRESS_LINE_1","HID_USAGE_SENSORS_DATA_FIELD_ADDRESS_LINE_2","HID_USAGE_SENSORS_DATA_FIELD_CITY","HID_USAGE_SENSORS_DATA_FIELD_STATE_OR_PROVINCE","HID_USAGE_SENSORS_DATA_FIELD_COUNTRY_OR_REGION","HID_USAGE_SENSORS_DATA_FIELD_POSTAL_CODE","HID_USAGE_SENSORS_PROPERTY_LOCATION","HID_USAGE_SENSORS_PROPERTY_LOCATION_DESIRED_ACCURACY","HID_USAGE_SENSORS_DATA_FIELD_ENVIRONMENTAL","HID_USAGE_SENSORS_DATA_FIELD_ATMOSPHERIC_PRESSURE","HID_USAGE_SENSORS_DATA_FIELD_RELATIVE_HUMIDITY","HID_USAGE_SENSORS_DATA_FIELD_TEMPERATURE","HID_USAGE_SENSORS_DATA_FIELD_WIND_DIRECTION","HID_USAGE_SENSORS_DATA_FIELD_WIND_SPEED","HID_USAGE_SENSORS_DATA_FIELD_AIR_QUALITY_INDEX","HID_USAGE_SENSORS_DATA_FIELD_EQUIVALENT_CO2","HID_USAGE_SENSORS_DATA_FIELD_VOLATILE_ORGANIC_COMPOUND_CONCENTRATION","HID_USAGE_SENSORS_DATA_FIELD_OBJECT_PRESENCE","HID_USAGE_SENSORS_DATA_FIELD_OBJECT_PROXIMITY_RANGE","HID_USAGE_SENSORS_DATA_FIELD_OBJECT_PROXIMITY_OUT_OF_RANGE","HID_USAGE_SENSORS_PROPERTY_ENVIRONMENTAL","HID_USAGE_SENSORS_PROPERTY_REFERENCE_PRESSURE","HID_USAGE_SENSORS_DATA_FIELD_MOTION","HID_USAGE_SENSORS_DATA_FIELD_MOTION_STATE","HID_USAGE_SENSORS_DATA_FIELD_ACCELERATION","HID_USAGE_SENSORS_DATA_FIELD_ACCELERATION_AXIS_X","HID_USAGE_SENSORS_DATA_FIELD_ACCELERATION_AXIS_Y","HID_USAGE_SENSORS_DATA_FIELD_ACCELERATION_AXIS_Z","HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_VELOCITY","HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_VELOCITY_ABOUT_X_AXIS","HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_VELOCITY_ABOUT_Y_AXIS","HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_VELOCITY_ABOUT_Z_AXIS","HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_POSITION","HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_POSITION_ABOUT_X_AXIS","HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_POSITION_ABOUT_Y_AXIS","HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_POSITION_ABOUT_Z_AXIS","HID_USAGE_SENSORS_DATA_FIELD_MOTION_SPEED","HID_USAGE_SENSORS_DATA_FIELD_MOTION_INTENSITY","HID_USAGE_SENSORS_DATA_FIELD_ORIENTATION","HID_USAGE_SENSORS_DATA_FIELD_HEADING","HID_USAGE_SENSORS_DATA_FIELD_HEADING_X_AXIS","HID_USAGE_SENSORS_DATA_FIELD_HEADING_Y_AXIS","HID_USAGE_SENSORS_DATA_FIELD_HEADING_Z_AXIS","HID_USAGE_SENSORS_DATA_FIELD_HEADING_COMPENSATED_MAGNETIC_NORTH","HID_USAGE_SENSORS_DATA_FIELD_HEADING_COMPENSATED_TRUE_NORTH","HID_USAGE_SENSORS_DATA_FIELD_HEADING_MAGNETIC_NORTH","HID_USAGE_SENSORS_DATA_FIELD_HEADING_TRUE_NORTH","HID_USAGE_SENSORS_DATA_FIELD_DISTANCE","HID_USAGE_SENSORS_DATA_FIELD_DISTANCE_X_AXIS","HID_USAGE_SENSORS_DATA_FIELD_DISTANCE_Y_AXIS","HID_USAGE_SENSORS_DATA_FIELD_DISTANCE_Z_AXIS","HID_USAGE_SENSORS_DATA_FIELD_DISTANCE_OUT_OF_RANGE","HID_USAGE_SENSORS_DATA_FIELD_TILT","HID_USAGE_SENSORS_DATA_FIELD_TILT_X_AXIS","HID_USAGE_SENSORS_DATA_FIELD_TILT_Y_AXIS","HID_USAGE_SENSORS_DATA_FIELD_TILT_Z_AXIS","HID_USAGE_SENSORS_DATA_FIELD_ROTATION_MATRIX","HID_USAGE_SENSORS_DATA_FIELD_QUATERNION","HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_FLUX","HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_FLUX_X_AXIS","HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_FLUX_Y_AXIS","HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_FLUX_Z_AXIS","HID_USAGE_SENSORS_DATA_FIELD_MAGNETOMETER_ACCURACY","HID_USAGE_SENSORS_DATA_FIELD_SIMPLE_ORIENTATION_DIRECTION","HID_USAGE_SENSORS_DATA_FIELD_MECHANICAL","HID_USAGE_SENSORS_DATA_FIELD_BOOLEAN_SWITCH_STATE","HID_USAGE_SENSORS_DATA_FIELD_BOOLEAN_SWITCH_ARRAY_STATES","HID_USAGE_SENSORS_DATA_FIELD_MULTIVALUE_SWITCH_VALUE","HID_USAGE_SENSORS_DATA_FIELD_FORCE","HID_USAGE_SENSORS_DATA_FIELD_ABSOLUTE_PRESSURE","HID_USAGE_SENSORS_DATA_FIELD_GAUGE_PRESSURE","HID_USAGE_SENSORS_DATA_FIELD_STRAIN","HID_USAGE_SENSORS_DATA_FIELD_WEIGHT","HID_USAGE_SENSORS_PROPERTY_MECHANICAL","HID_USAGE_SENSORS_PROPERTY_VIBRATION_STATE","HID_USAGE_SENSORS_PROPERTY_FORWARD_VIBRATION_SPEED","HID_USAGE_SENSORS_PROPERTY_BACKWARD_VIBRATION_SPEED","HID_USAGE_SENSORS_DATA_FIELD_BIOMETRIC","HID_USAGE_SENSORS_DATA_FIELD_HUMAN_PRESENCE","HID_USAGE_SENSORS_DATA_FIELD_HUMAN_PROXIMITY_RANGE","HID_USAGE_SENSORS_DATA_FIELD_HUMAN_PROXIMITY_OUT_OF_RANGE","HID_USAGE_SENSORS_DATA_FIELD_HUMAN_TOUCH_STATE","HID_USAGE_SENSORS_DATA_FIELD_BLOOD_PRESSURE","HID_USAGE_SENSORS_DATA_FIELD_BLOOD_PRESSURE_DIASTOLIC","HID_USAGE_SENSORS_DATA_FIELD_BLOOD_PRESSURE_SYSTOLIC","HID_USAGE_SENSORS_DATA_FIELD_HEART_RATE","HID_USAGE_SENSORS_DATA_FIELD_RESTING_HEART_RATE","HID_USAGE_SENSORS_DATA_FIELD_HEARTBEAT_INTERVAL","HID_USAGE_SENSORS_DATA_FIELD_RESPIRATORY_RATE","HID_USAGE_SENSORS_DATA_FIELD_SPO2","HID_USAGE_SENSORS_DATA_FIELD_LIGHT","HID_USAGE_SENSORS_DATA_FIELD_ILLUMINANCE","HID_USAGE_SENSORS_DATA_FIELD_COLOR_TEMPERATURE","HID_USAGE_SENSORS_DATA_FIELD_CHROMATICITY","HID_USAGE_SENSORS_DATA_FIELD_CHROMATICITY_X","HID_USAGE_SENSORS_DATA_FIELD_CHROMATICITY_Y","HID_USAGE_SENSORS_DATA_FIELD_CONSUMER_IR_SENTENCE_RECEIVE","HID_USAGE_SENSORS_DATA_FIELD_INFRARED_LIGHT","HID_USAGE_SENSORS_DATA_FIELD_RED_LIGHT","HID_USAGE_SENSORS_DATA_FIELD_GREEN_LIGHT","HID_USAGE_SENSORS_DATA_FIELD_BLUE_LIGHT","HID_USAGE_SENSORS_DATA_FIELD_ULTRAVIOLET_A_LIGHT","HID_USAGE_SENSORS_DATA_FIELD_ULTRAVIOLET_B_LIGHT","HID_USAGE_SENSORS_DATA_FIELD_ULTRAVIOLET_INDEX","HID_USAGE_SENSORS_DATA_FIELD_NEAR_INFRARED_LIGHT","HID_USAGE_SENSORS_PROPERTY_LIGHT","HID_USAGE_SENSORS_PROPERTY_CONSUMER_IR_SENTENCE_SEND","HID_USAGE_SENSORS_PROPERTY_AUTO_BRIGHTNESS_PREFERRED","HID_USAGE_SENSORS_PROPERTY_AUTO_COLOR_PREFERRED","HID_USAGE_SENSORS_DATA_FIELD_SCANNER","HID_USAGE_SENSORS_DATA_FIELD_RFID_TAG_40_BIT","HID_USAGE_SENSORS_DATA_FIELD_NFC_SENTENCE_RECEIVE","HID_USAGE_SENSORS_PROPERTY_SCANNER","HID_USAGE_SENSORS_PROPERTY_NFC_SENTENCE_SEND","HID_USAGE_SENSORS_DATA_FIELD_ELECTRICAL","HID_USAGE_SENSORS_DATA_FIELD_CAPACITANCE","HID_USAGE_SENSORS_DATA_FIELD_CURRENT","HID_USAGE_SENSORS_DATA_FIELD_ELECTRICAL_POWER","HID_USAGE_SENSORS_DATA_FIELD_INDUCTANCE","HID_USAGE_SENSORS_DATA_FIELD_RESISTANCE","HID_USAGE_SENSORS_DATA_FIELD_VOLTAGE","HID_USAGE_SENSORS_DATA_FIELD_FREQUENCY","HID_USAGE_SENSORS_DATA_FIELD_PERIOD","HID_USAGE_SENSORS_DATA_FIELD_PERCENT_OF_RANGE","HID_USAGE_SENSORS_DATA_FIELD_TIME","HID_USAGE_SENSORS_DATA_FIELD_YEAR","HID_USAGE_SENSORS_DATA_FIELD_MONTH","HID_USAGE_SENSORS_DATA_FIELD_DAY","HID_USAGE_SENSORS_DATA_FIELD_DAY_OF_WEEK","HID_USAGE_SENSORS_DATA_FIELD_HOUR","HID_USAGE_SENSORS_DATA_FIELD_MINUTE","HID_USAGE_SENSORS_DATA_FIELD_SECOND","HID_USAGE_SENSORS_DATA_FIELD_MILLISECOND","HID_USAGE_SENSORS_DATA_FIELD_TIMESTAMP","HID_USAGE_SENSORS_DATA_FIELD_JULIAN_DAY_OF_YEAR","HID_USAGE_SENSORS_DATA_FIELD_TIME_SINCE_SYSTEM_BOOT","HID_USAGE_SENSORS_PROPERTY_TIME","HID_USAGE_SENSORS_PROPERTY_TIME_ZONE_OFFSET_FROM_UTC","HID_USAGE_SENSORS_PROPERTY_TIME_ZONE_NAME","HID_USAGE_SENSORS_PROPERTY_DAYLIGHT_SAVINGS_TIME_OBSERVED","HID_USAGE_SENSORS_PROPERTY_TIME_TRIM_ADJUSTMENT","HID_USAGE_SENSORS_PROPERTY_ARM_ALARM","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_USAGE","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_BOOLEAN_ARRAY","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_1","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_2","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_3","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_4","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_5","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_6","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_7","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_8","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_9","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_10","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_11","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_12","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_13","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_14","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_15","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_16","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_17","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_18","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_19","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_20","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_21","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_22","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_23","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_24","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_25","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_26","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_27","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_28","HID_USAGE_SENSORS_DATA_FIELD_GENERIC","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_GUID_OR_PROPERTYKEY","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_CATEGORY_GUID","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_TYPE_GUID","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_EVENT_PROPERTYKEY","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_PROPERTY_PROPERTYKEY","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_DATA_FIELD_PROPERTYKEY","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_EVENT","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_PROPERTY","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_DATA_FIELD","HID_USAGE_SENSORS_DATA_FIELD_ENUMERATOR_TABLE_ROW_INDEX","HID_USAGE_SENSORS_DATA_FIELD_ENUMERATOR_TABLE_ROW_COUNT","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_GUID_OR_PROPERTYKEY_KIND","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_GUID","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_PROPERTYKEY","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_TOP_LEVEL_COLLECTION_ID","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_REPORT_ID","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_REPORT_ITEM_POSITION_INDEX","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_FIRMWARE_VARTYPE","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_UNIT_OF_MEASURE","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_UNIT_EXPONENT","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_REPORT_SIZE","HID_USAGE_SENSORS_DATA_FIELD_GENERIC_REPORT_COUNT","HID_USAGE_SENSORS_PROPERTY_GENERIC","HID_USAGE_SENSORS_PROPERTY_ENUMERATOR_TABLE_ROW_INDEX","HID_USAGE_SENSORS_PROPERTY_ENUMERATOR_TABLE_ROW_COUNT","HID_USAGE_SENSORS_DATA_FIELD_PERSONAL_ACTIVITY","HID_USAGE_SENSORS_DATA_FIELD_ACTIVITY_TYPE","HID_USAGE_SENSORS_DATA_FIELD_ACTIVITY_STATE","HID_USAGE_SENSORS_DATA_FIELD_DEVICE_POSITION","HID_USAGE_SENSORS_DATA_FIELD_STEP_COUNT","HID_USAGE_SENSORS_DATA_FIELD_STEP_COUNT_RESET","HID_USAGE_SENSORS_DATA_FIELD_STEP_DURATION","HID_USAGE_SENSORS_DATA_FIELD_STEP_TYPE","HID_USAGE_SENSORS_PROPERTY_MINIMUM_ACTIVITY_DETECTION_INTERVAL","HID_USAGE_SENSORS_PROPERTY_SUPPORTED_ACTIVITY_TYPES","HID_USAGE_SENSORS_PROPERTY_SUBSCRIBED_ACTIVITY_TYPES","HID_USAGE_SENSORS_PROPERTY_SUPPORTED_STEP_TYPES","HID_USAGE_SENSORS_PROPERTY_SUBSCRIBED_STEP_TYPES","HID_USAGE_SENSORS_PROPERTY_FLOOR_HEIGHT","HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_TYPE_ID","HID_USAGE_SENSORS_PROPERTY_CUSTOM","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_1","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_2","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_3","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_4","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_5","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_6","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_7","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_8","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_9","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_10","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_11","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_12","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_13","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_14","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_15","HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_16","HID_USAGE_SENSORS_DATA_FIELD_HINGE","HID_USAGE_SENSORS_DATA_FIELD_HINGE_ANGLE","HID_USAGE_SENSORS_DATA_FIELD_GESTURE_SENSOR","HID_USAGE_SENSORS_DATA_FIELD_GESTURE_STATE","HID_USAGE_SENSORS_DATA_FIELD_HINGE_FOLD_INITIAL_ANGLE","HID_USAGE_SENSORS_DATA_FIELD_HINGE_FOLD_FINAL_ANGLE","HID_USAGE_SENSORS_DATA_FIELD_HINGE_FOLD_CONTRIBUTING_PANEL","HID_USAGE_SENSORS_DATA_FIELD_HINGE_FOLD_TYPE","HID_USAGE_SENSORS_SENSOR_STATE_UNDEFINED","HID_USAGE_SENSORS_SENSOR_STATE_READY","HID_USAGE_SENSORS_SENSOR_STATE_NOT_AVAILABLE","HID_USAGE_SENSORS_SENSOR_STATE_NO_DATA","HID_USAGE_SENSORS_SENSOR_STATE_INITIALIZING","HID_USAGE_SENSORS_SENSOR_STATE_ACCESS_DENIED","HID_USAGE_SENSORS_SENSOR_STATE_ERROR","HID_USAGE_SENSORS_SENSOR_EVENT_UNKNOWN","HID_USAGE_SENSORS_SENSOR_EVENT_STATE_CHANGED","HID_USAGE_SENSORS_SENSOR_EVENT_PROPERTY_CHANGED","HID_USAGE_SENSORS_SENSOR_EVENT_DATA_UPDATED","HID_USAGE_SENSORS_SENSOR_EVENT_POLL_RESPONSE","HID_USAGE_SENSORS_SENSOR_EVENT_CHANGE_SENSITIVITY","HID_USAGE_SENSORS_SENSOR_EVENT_RANGE_MAXIMUM_REACHED","HID_USAGE_SENSORS_SENSOR_EVENT_RANGE_MINIMUM_REACHED","HID_USAGE_SENSORS_SENSOR_EVENT_HIGH_THRESHOLD_CROSS_UPWARD","HID_USAGE_SENSORS_SENSOR_EVENT_HIGH_THRESHOLD_CROSS_DOWNWARD","HID_USAGE_SENSORS_SENSOR_EVENT_LOW_THRESHOLD_CROSS_UPWARD","HID_USAGE_SENSORS_SENSOR_EVENT_LOW_THRESHOLD_CROSS_DOWNWARD","HID_USAGE_SENSORS_SENSOR_EVENT_ZERO_THRESHOLD_CROSS_UPWARD","HID_USAGE_SENSORS_SENSOR_EVENT_ZERO_THRESHOLD_CROSS_DOWNWARD","HID_USAGE_SENSORS_SENSOR_EVENT_PERIOD_EXCEEDED","HID_USAGE_SENSORS_SENSOR_EVENT_FREQUENCY_EXCEEDED","HID_USAGE_SENSORS_SENSOR_EVENT_COMPLEX_TRIGGER","HID_USAGE_SENSORS_CONNECTION_TYPE_PC_INTEGRATED","HID_USAGE_SENSORS_CONNECTION_TYPE_PC_ATTACHED","HID_USAGE_SENSORS_CONNECTION_TYPE_PC_EXTERNAL","HID_USAGE_SENSORS_REPORTING_STATE_REPORT_NO_EVENTS","HID_USAGE_SENSORS_REPORTING_STATE_REPORT_ALL_EVENTS","HID_USAGE_SENSORS_REPORTING_STATE_REPORT_THRESHOLD_EVENTS","HID_USAGE_SENSORS_REPORTING_STATE_WAKE_ON_NO_EVENTS","HID_USAGE_SENSORS_REPORTING_STATE_WAKE_ON_ALL_EVENTS","HID_USAGE_SENSORS_REPORTING_STATE_WAKE_ON_THRESHOLD_EVENTS","HID_USAGE_SENSORS_POWER_STATE_UNDEFINED","HID_USAGE_SENSORS_POWER_STATE_D0_FULL_POWER","HID_USAGE_SENSORS_POWER_STATE_D1_LOW_POWER","HID_USAGE_SENSORS_POWER_STATE_D2_STANDBY_POWER_WITH_WAKEUP","HID_USAGE_SENSORS_POWER_STATE_D3_SLEEP_WITH_WAKEUP","HID_USAGE_SENSORS_POWER_STATE_D4_POWER_OFF","HID_USAGE_SENSORS_FIX_QUALITY_NO_FIX","HID_USAGE_SENSORS_FIX_QUALITY_GPS","HID_USAGE_SENSORS_FIX_QUALITY_DGPS","HID_USAGE_SENSORS_FIX_TYPE_NO_FIX","HID_USAGE_SENSORS_FIX_TYPE_GPS_SPS_MODE_FIX_VALID","HID_USAGE_SENSORS_FIX_TYPE_DGPS_SPS_MODE_FIX_VALID","HID_USAGE_SENSORS_FIX_TYPE_GPS_PPS_MODE_FIX_VALID","HID_USAGE_SENSORS_FIX_TYPE_REAL_TIME_KINEMATIC","HID_USAGE_SENSORS_FIX_TYPE_FLOAT_RTK","HID_USAGE_SENSORS_FIX_TYPE_ESTIMATED_DEAD_RECKONED","HID_USAGE_SENSORS_FIX_TYPE_MANUAL_INPUT_MODE","HID_USAGE_SENSORS_FIX_TYPE_SIMULATOR_MODE","HID_USAGE_SENSORS_GPS_OPERATION_MODE_MANUAL","HID_USAGE_SENSORS_GPS_OPERATION_MODE_AUTOMATIC","HID_USAGE_SENSORS_GPS_SELECTION_MODE_AUTONOMOUS","HID_USAGE_SENSORS_GPS_SELECTION_MODE_DGPS","HID_USAGE_SENSORS_GPS_SELECTION_MODE_ESTIMATED_DEAD_RECKONED","HID_USAGE_SENSORS_GPS_SELECTION_MODE_MANUAL_INPUT","HID_USAGE_SENSORS_GPS_SELECTION_MODE_SIMULATOR","HID_USAGE_SENSORS_GPS_SELECTION_MODE_DATA_NOT_VALID","HID_USAGE_SENSORS_GPS_STATUS_DATA_VALID","HID_USAGE_SENSORS_GPS_STATUS_DATA_NOT_VALID","HID_USAGE_SENSORS_ACCURACY_DEFAULT","HID_USAGE_SENSORS_ACCURACY_HIGH","HID_USAGE_SENSORS_ACCURACY_MEDIUM","HID_USAGE_SENSORS_ACCURACY_LOW","HID_USAGE_SENSORS_DAY_OF_WEEK_SUNDAY","HID_USAGE_SENSORS_DAY_OF_WEEK_MONDAY","HID_USAGE_SENSORS_DAY_OF_WEEK_TUESDAY","HID_USAGE_SENSORS_DAY_OF_WEEK_WEDNESDAY","HID_USAGE_SENSORS_DAY_OF_WEEK_THURSDAY","HID_USAGE_SENSORS_DAY_OF_WEEK_FRIDAY","HID_USAGE_SENSORS_DAY_OF_WEEK_SATURDAY","HID_USAGE_SENSORS_KIND_CATEGORY","HID_USAGE_SENSORS_KIND_TYPE","HID_USAGE_SENSORS_KIND_EVENT","HID_USAGE_SENSORS_KIND_PROPERTY","HID_USAGE_SENSORS_KIND_DATA_FIELD","HID_USAGE_SENSORS_MAGNETOMETER_ACCURACY_LOW","HID_USAGE_SENSORS_MAGNETOMETER_ACCURACY_MEDIUM","HID_USAGE_SENSORS_MAGNETOMETER_ACCURACY_HIGH","HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_NOT_ROTATED","HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_ROTATED_90_DEGREES_CCW","HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_ROTATED_180_DEGREES_CCW","HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_ROTATED_270_DEGREES_CCW","HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_FACE_UP","HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_FACE_DOWN","HID_USAGE_SENSORS_VT_NULL","HID_USAGE_SENSORS_VT_BOOL","HID_USAGE_SENSORS_VT_UI1","HID_USAGE_SENSORS_VT_I1","HID_USAGE_SENSORS_VT_UI2","HID_USAGE_SENSORS_VT_I2","HID_USAGE_SENSORS_VT_UI4","HID_USAGE_SENSORS_VT_I4","HID_USAGE_SENSORS_VT_UI8","HID_USAGE_SENSORS_VT_I8","HID_USAGE_SENSORS_VT_R4","HID_USAGE_SENSORS_VT_R8","HID_USAGE_SENSORS_VT_WSTR","HID_USAGE_SENSORS_VT_STR","HID_USAGE_SENSORS_VT_CLSID","HID_USAGE_SENSORS_VT_VECTOR_VT_UI1","HID_USAGE_SENSORS_VT_F16E0","HID_USAGE_SENSORS_VT_F16E1","HID_USAGE_SENSORS_VT_F16E2","HID_USAGE_SENSORS_VT_F16E3","HID_USAGE_SENSORS_VT_F16E4","HID_USAGE_SENSORS_VT_F16E5","HID_USAGE_SENSORS_VT_F16E6","HID_USAGE_SENSORS_VT_F16E7","HID_USAGE_SENSORS_VT_F16E8","HID_USAGE_SENSORS_VT_F16E9","HID_USAGE_SENSORS_VT_F16EA","HID_USAGE_SENSORS_VT_F16EB","HID_USAGE_SENSORS_VT_F16EC","HID_USAGE_SENSORS_VT_F16ED","HID_USAGE_SENSORS_VT_F16EE","HID_USAGE_SENSORS_VT_F16EF","HID_USAGE_SENSORS_VT_F32E0","HID_USAGE_SENSORS_VT_F32E1","HID_USAGE_SENSORS_VT_F32E2","HID_USAGE_SENSORS_VT_F32E3","HID_USAGE_SENSORS_VT_F32E4","HID_USAGE_SENSORS_VT_F32E5","HID_USAGE_SENSORS_VT_F32E6","HID_USAGE_SENSORS_VT_F32E7","HID_USAGE_SENSORS_VT_F32E8","HID_USAGE_SENSORS_VT_F32E9","HID_USAGE_SENSORS_VT_F32EA","HID_USAGE_SENSORS_VT_F32EB","HID_USAGE_SENSORS_VT_F32EC","HID_USAGE_SENSORS_VT_F32ED","HID_USAGE_SENSORS_VT_F32EE","HID_USAGE_SENSORS_VT_F32EF","HID_USAGE_SENSORS_ACTIVITY_TYPE_UNKNOWN","HID_USAGE_SENSORS_ACTIVITY_TYPE_STATIONARY","HID_USAGE_SENSORS_ACTIVITY_TYPE_FIDGETING","HID_USAGE_SENSORS_ACTIVITY_TYPE_WALKING","HID_USAGE_SENSORS_ACTIVITY_TYPE_RUNNING","HID_USAGE_SENSORS_ACTIVITY_TYPE_IN_VEHICLE","HID_USAGE_SENSORS_ACTIVITY_TYPE_BIKING","HID_USAGE_SENSORS_ACTIVITY_TYPE_IDLE","HID_USAGE_SENSORS_UNIT_NOT_SPECIFIED","HID_USAGE_SENSORS_UNIT_LUX","HID_USAGE_SENSORS_UNIT_DEGREES_KELVIN","HID_USAGE_SENSORS_UNIT_DEGREES_CELSIUS","HID_USAGE_SENSORS_UNIT_PASCAL","HID_USAGE_SENSORS_UNIT_NEWTON","HID_USAGE_SENSORS_UNIT_METERS_SECOND","HID_USAGE_SENSORS_UNIT_KILOGRAM","HID_USAGE_SENSORS_UNIT_METER","HID_USAGE_SENSORS_UNIT_METERS_SECOND_SECOND","HID_USAGE_SENSORS_UNIT_FARAD","HID_USAGE_SENSORS_UNIT_AMPERE","HID_USAGE_SENSORS_UNIT_WATT","HID_USAGE_SENSORS_UNIT_HENRY","HID_USAGE_SENSORS_UNIT_OHM","HID_USAGE_SENSORS_UNIT_VOLT","HID_USAGE_SENSORS_UNIT_HERTZ","HID_USAGE_SENSORS_UNIT_BAR","HID_USAGE_SENSORS_UNIT_DEGREES_ANTI_CLOCKWISE","HID_USAGE_SENSORS_UNIT_DEGREES_CLOCKWISE","HID_USAGE_SENSORS_UNIT_DEGREES","HID_USAGE_SENSORS_UNIT_DEGREES_SECOND","HID_USAGE_SENSORS_UNIT_DEGREES_SECOND_SECOND","HID_USAGE_SENSORS_UNIT_KNOT","HID_USAGE_SENSORS_UNIT_PERCENT","HID_USAGE_SENSORS_UNIT_SECOND","HID_USAGE_SENSORS_UNIT_MILLISECOND","HID_USAGE_SENSORS_UNIT_G","HID_USAGE_SENSORS_UNIT_BYTES","HID_USAGE_SENSORS_UNIT_MILLIGAUSS","HID_USAGE_SENSORS_UNIT_BITS","HID_USAGE_SENSORS_ACTIVITY_STATE_NO_STATE_CHANGE","HID_USAGE_SENSORS_ACTIVITY_STATE_START_ACTIVITY","HID_USAGE_SENSORS_ACTIVITY_STATE_END_ACTIVITY","HID_USAGE_SENSORS_EXPONENT_0","HID_USAGE_SENSORS_EXPONENT_1","HID_USAGE_SENSORS_EXPONENT_2","HID_USAGE_SENSORS_EXPONENT_3","HID_USAGE_SENSORS_EXPONENT_4","HID_USAGE_SENSORS_EXPONENT_5","HID_USAGE_SENSORS_EXPONENT_6","HID_USAGE_SENSORS_EXPONENT_7","HID_USAGE_SENSORS_EXPONENT_8","HID_USAGE_SENSORS_EXPONENT_9","HID_USAGE_SENSORS_EXPONENT_A","HID_USAGE_SENSORS_EXPONENT_B","HID_USAGE_SENSORS_EXPONENT_C","HID_USAGE_SENSORS_EXPONENT_D","HID_USAGE_SENSORS_EXPONENT_E","HID_USAGE_SENSORS_EXPONENT_F","HID_USAGE_SENSORS_DEVICE_POSITION_UNKNOWN","HID_USAGE_SENSORS_DEVICE_POSITION_UNCHANGED","HID_USAGE_SENSORS_DEVICE_POSITION_ON_DESK","HID_USAGE_SENSORS_DEVICE_POSITION_IN_HAND","HID_USAGE_SENSORS_DEVICE_POSITION_MOVING_IN_BAG","HID_USAGE_SENSORS_DEVICE_POSITION_STATIONARY_IN_BAG","HID_USAGE_SENSORS_STEP_TYPE_UNKNOWN","HID_USAGE_SENSORS_STEP_TYPE_RUNNING","HID_USAGE_SENSORS_STEP_TYPE_WALKING","HID_USAGE_SENSORS_GESTURE_STATE_UNKNOWN","HID_USAGE_SENSORS_GESTURE_STATE_STARTED","HID_USAGE_SENSORS_GESTURE_STATE_COMPLETED","HID_USAGE_SENSORS_GESTURE_STATE_CANCELLED","HID_USAGE_SENSORS_HINGE_FOLD_CONTRIBUTING_PANEL_UNKNOWN","HID_USAGE_SENSORS_HINGE_FOLD_CONTRIBUTING_PANEL_PANEL_1","HID_USAGE_SENSORS_HINGE_FOLD_CONTRIBUTING_PANEL_PANEL_2","HID_USAGE_SENSORS_HINGE_FOLD_CONTRIBUTING_PANEL_BOTH","HID_USAGE_SENSORS_HINGE_FOLD_TYPE_UNKNOWN","HID_USAGE_SENSORS_HINGE_FOLD_TYPE_INCREASING","HID_USAGE_SENSORS_HINGE_FOLD_TYPE_DECREASING","HID_USAGE_SENSORS_MODIFIER_CHANGE_SENSITIVITY_ABSOLUTE","HID_USAGE_SENSORS_MODIFIER_MAXIMUM","HID_USAGE_SENSORS_MODIFIER_MINIMUM","HID_USAGE_SENSORS_MODIFIER_ACCURACY","HID_USAGE_SENSORS_MODIFIER_RESOLUTION","HID_USAGE_SENSORS_MODIFIER_THRESHOLD_HIGH","HID_USAGE_SENSORS_MODIFIER_THRESHOLD_LOW","HID_USAGE_SENSORS_MODIFIER_CALIBRATION_OFFSET","HID_USAGE_SENSORS_MODIFIER_CALIBRATION_MULTIPLIER","HID_USAGE_SENSORS_MODIFIER_REPORT_INTERVAL","HID_USAGE_SENSORS_MODIFIER_FREQUENCY_MAX","HID_USAGE_SENSORS_MODIFIER_PERIOD_MAX","HID_USAGE_SENSORS_MODIFIER_CHANGE_SENSITIVITY_PERCENT_OF_RANGE","HID_USAGE_SENSORS_MODIFIER_CHANGE_SENSITIVITY_PERCENT_RELATIVE","HID_USAGE_MEDICAL_UNDEFINED","HID_USAGE_MEDICAL_MEDICAL_ULTRASOUND","HID_USAGE_MEDICAL_VCR_ACQUISITION","HID_USAGE_MEDICAL_FREEZE_THAW","HID_USAGE_MEDICAL_CLIP_STORE","HID_USAGE_MEDICAL_UPDATE","HID_USAGE_MEDICAL_NEXT","HID_USAGE_MEDICAL_SAVE","HID_USAGE_MEDICAL_PRINT","HID_USAGE_MEDICAL_MICROPHONE_ENABLE","HID_USAGE_MEDICAL_CINE","HID_USAGE_MEDICAL_TRANSMIT_POWER","HID_USAGE_MEDICAL_VOLUME","HID_USAGE_MEDICAL_FOCUS","HID_USAGE_MEDICAL_DEPTH","HID_USAGE_MEDICAL_SOFT_STEP_MINUS_PRIMARY","HID_USAGE_MEDICAL_SOFT_STEP_MINUS_SECONDARY","HID_USAGE_MEDICAL_DEPTH_GAIN_COMPENSATION","HID_USAGE_MEDICAL_ZOOM_SELECT","HID_USAGE_MEDICAL_ZOOM_ADJUST","HID_USAGE_MEDICAL_SPECTRAL_DOPPLER_MODE_SELECT","HID_USAGE_MEDICAL_SPECTRAL_DOPPLER_ADJUST","HID_USAGE_MEDICAL_COLOR_DOPPLER_MODE_SELECT","HID_USAGE_MEDICAL_COLOR_DOPPLER_ADJUST","HID_USAGE_MEDICAL_MOTION_MODE_SELECT","HID_USAGE_MEDICAL_MOTION_MODE_ADJUST","HID_USAGE_MEDICAL_2_D_MODE_SELECT","HID_USAGE_MEDICAL_2_D_MODE_ADJUST","HID_USAGE_MEDICAL_SOFT_CONTROL_SELECT","HID_USAGE_MEDICAL_SOFT_CONTROL_ADJUST","HID_USAGE_BRAILLE_UNDEFINED","HID_USAGE_BRAILLE_BRAILLE_DISPLAY","HID_USAGE_BRAILLE_BRAILLE_ROW","HID_USAGE_BRAILLE_8_DOT_BRAILLE_CELL","HID_USAGE_BRAILLE_6_DOT_BRAILLE_CELL","HID_USAGE_BRAILLE_NUMBER_OF_BRAILLE_CELLS","HID_USAGE_BRAILLE_SCREEN_READER_CONTROL","HID_USAGE_BRAILLE_SCREEN_READER_IDENTIFIER","HID_USAGE_BRAILLE_ROUTER_SET_1","HID_USAGE_BRAILLE_ROUTER_SET_2","HID_USAGE_BRAILLE_ROUTER_SET_3","HID_USAGE_BRAILLE_ROUTER_KEY","HID_USAGE_BRAILLE_ROW_ROUTER_KEY","HID_USAGE_BRAILLE_BRAILLE_BUTTONS","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_1","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_2","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_3","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_4","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_5","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_6","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_7","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_8","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_SPACE","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_LEFT_SPACE","HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_RIGHT_SPACE","HID_USAGE_BRAILLE_BRAILLE_FACE_CONTROLS","HID_USAGE_BRAILLE_BRAILLE_LEFT_CONTROLS","HID_USAGE_BRAILLE_BRAILLE_RIGHT_CONTROLS","HID_USAGE_BRAILLE_BRAILLE_TOP_CONTROLS","HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_CENTER","HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_UP","HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_DOWN","HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_LEFT","HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_RIGHT","HID_USAGE_BRAILLE_BRAILLE_D_PAD_CENTER","HID_USAGE_BRAILLE_BRAILLE_D_PAD_UP","HID_USAGE_BRAILLE_BRAILLE_D_PAD_DOWN","HID_USAGE_BRAILLE_BRAILLE_D_PAD_LEFT","HID_USAGE_BRAILLE_BRAILLE_D_PAD_RIGHT","HID_USAGE_BRAILLE_BRAILLE_PAN_LEFT","HID_USAGE_BRAILLE_BRAILLE_PAN_RIGHT","HID_USAGE_BRAILLE_BRAILLE_ROCKER_UP","HID_USAGE_BRAILLE_BRAILLE_ROCKER_DOWN","HID_USAGE_BRAILLE_BRAILLE_ROCKER_PRESS","HID_USAGE_LIGHT_UNDEFINED","HID_USAGE_LIGHT_LAMP_ARRAY","HID_USAGE_LIGHT_LAMP_ARRAY_ATTRIBUTES_REPORT","HID_USAGE_LIGHT_LAMP_COUNT","HID_USAGE_LIGHT_BOUNDING_BOX_WIDTH_IN_MICROMETERS","HID_USAGE_LIGHT_BOUNDING_BOX_HEIGHT_IN_MICROMETERS","HID_USAGE_LIGHT_BOUNDING_BOX_DEPTH_IN_MICROMETERS","HID_USAGE_LIGHT_LAMP_ARRAY_KIND","HID_USAGE_LIGHT_MIN_UPDATE_INTERVAL_IN_MICROSECONDS","HID_USAGE_LIGHT_LAMP_ATTRIBUTES_REQUEST_REPORT","HID_USAGE_LIGHT_LAMP_ID","HID_USAGE_LIGHT_LAMP_ATTRIBUTES_RESPONSE_REPORT","HID_USAGE_LIGHT_POSITION_X_IN_MICROMETERS","HID_USAGE_LIGHT_POSITION_Y_IN_MICROMETERS","HID_USAGE_LIGHT_POSITION_Z_IN_MICROMETERS","HID_USAGE_LIGHT_LAMP_PURPOSES","HID_USAGE_LIGHT_UPDATE_LATENCY_IN_MICROSECONDS","HID_USAGE_LIGHT_RED_LEVEL_COUNT","HID_USAGE_LIGHT_GREEN_LEVEL_COUNT","HID_USAGE_LIGHT_BLUE_LEVEL_COUNT","HID_USAGE_LIGHT_INTENSITY_LEVEL_COUNT","HID_USAGE_LIGHT_IS_PROGRAMMABLE","HID_USAGE_LIGHT_INPUT_BINDING","HID_USAGE_LIGHT_LAMP_MULTI_UPDATE_REPORT","HID_USAGE_LIGHT_RED_UPDATE_CHANNEL","HID_USAGE_LIGHT_GREEN_UPDATE_CHANNEL","HID_USAGE_LIGHT_BLUE_UPDATE_CHANNEL","HID_USAGE_LIGHT_INTENSITY_UPDATE_CHANNEL","HID_USAGE_LIGHT_LAMP_UPDATE_FLAGS","HID_USAGE_LIGHT_LAMP_RANGE_UPDATE_REPORT","HID_USAGE_LIGHT_LAMP_ID_START","HID_USAGE_LIGHT_LAMP_ID_END","HID_USAGE_LIGHT_LAMP_ARRAY_CONTROL_REPORT","HID_USAGE_LIGHT_AUTONOMOUS_MODE","HID_USAGE_MONITOR_MONITOR_CONTROL","HID_USAGE_MONITOR_EDID_INFORMATION","HID_USAGE_MONITOR_VDIF_INFORMATION","HID_USAGE_MONITOR_VESA_VERSION","HID_USAGE_MONITOR_VESA_BRIGHTNESS","HID_USAGE_MONITOR_VESA_CONTRAST","HID_USAGE_MONITOR_VESA_RED_VIDEO_GAIN","HID_USAGE_MONITOR_VESA_GREEN_VIDEO_GAIN","HID_USAGE_MONITOR_VESA_BLUE_VIDEO_GAIN","HID_USAGE_MONITOR_VESA_FOCUS","HID_USAGE_MONITOR_VESA_HORIZONTAL_POSITION","HID_USAGE_MONITOR_VESA_HORIZONTAL_SIZE","HID_USAGE_MONITOR_VESA_HORIZONTAL_PINCUSHION","HID_USAGE_MONITOR_VESA_HORIZONTAL_PINCUSHION_BALANCE","HID_USAGE_MONITOR_VESA_HORIZONTAL_MISCONVERGENCE","HID_USAGE_MONITOR_VESA_HORIZONTAL_LINEARITY","HID_USAGE_MONITOR_VESA_HORIZONTAL_LINEARITY_BALANCE","HID_USAGE_MONITOR_VESA_VERTICAL_POSITION","HID_USAGE_MONITOR_VESA_VERTICAL_SIZE","HID_USAGE_MONITOR_VESA_VERTICAL_PINCUSHION","HID_USAGE_MONITOR_VESA_VERTICAL_PINCUSHION_BALANCE","HID_USAGE_MONITOR_VESA_VERTICAL_MISCONVERGENCE","HID_USAGE_MONITOR_VESA_VERTICAL_LINEARITY","HID_USAGE_MONITOR_VESA_VERTICAL_LINEARITY_BALANCE","HID_USAGE_MONITOR_VESA_PARALLELOGRAM_DISTORTION_KEY_BALANCE","HID_USAGE_MONITOR_VESA_TRAPEZOIDAL_DISTORTION_KEY","HID_USAGE_MONITOR_VESA_TILT_ROTATION","HID_USAGE_MONITOR_VESA_TOP_CORNER_DISTORTION_CONTROL","HID_USAGE_MONITOR_VESA_TOP_CORNER_DISTORTION_BALANCE","HID_USAGE_MONITOR_VESA_BOTTOM_CORNER_DISTORTION_CONTROL","HID_USAGE_MONITOR_VESA_BOTTOM_CORNER_DISTORTION_BALANCE","HID_USAGE_MONITOR_VESA_HORIZONTAL_MOIR","HID_USAGE_MONITOR_VESA_VERTICAL_MOIR","HID_USAGE_MONITOR_VESA_RED_VIDEO_BLACK_LEVEL","HID_USAGE_MONITOR_VESA_GREEN_VIDEO_BLACK_LEVEL","HID_USAGE_MONITOR_VESA_BLUE_VIDEO_BLACK_LEVEL","HID_USAGE_MONITOR_VESA_INPUT_LEVEL_SELECT","HID_USAGE_MONITOR_VESA_INPUT_SOURCE_SELECT","HID_USAGE_MONITOR_VESA_ON_SCREEN_DISPLAY","HID_USAGE_MONITOR_VESA_STEREOMODE","HID_USAGE_MONITOR_VESA_AUTO_SIZE_CENTER","HID_USAGE_MONITOR_VESA_POLARITY_HORIZONTAL_SYNCHRONIZATION","HID_USAGE_MONITOR_VESA_POLARITY_VERTICAL_SYNCHRONIZATION","HID_USAGE_MONITOR_VESA_SYNCHRONIZATION_TYPE","HID_USAGE_MONITOR_VESA_SCREEN_ORIENTATION","HID_USAGE_MONITOR_VESA_HORIZONTAL_FREQUENCY","HID_USAGE_MONITOR_VESA_VERTICAL_FREQUENCY","HID_USAGE_MONITOR_VESA_DEGAUSS","HID_USAGE_MONITOR_VESA_SETTINGS","HID_USAGE_POS_BARCODE_UNDEFINED","HID_USAGE_POS_BARCODE_BAR_CODE_BADGE_READER","HID_USAGE_POS_BARCODE_BAR_CODE_SCANNER","HID_USAGE_POS_BARCODE_DUMB_BAR_CODE_SCANNER","HID_USAGE_POS_BARCODE_CORDLESS_SCANNER_BASE","HID_USAGE_POS_BARCODE_BAR_CODE_SCANNER_CRADLE","HID_USAGE_POS_BARCODE_ATTRIBUTE_REPORT","HID_USAGE_POS_BARCODE_SETTINGS_REPORT","HID_USAGE_POS_BARCODE_SCANNED_DATA_REPORT","HID_USAGE_POS_BARCODE_RAW_SCANNED_DATA_REPORT","HID_USAGE_POS_BARCODE_TRIGGER_REPORT","HID_USAGE_POS_BARCODE_STATUS_REPORT","HID_USAGE_POS_BARCODE_UPC_EAN_CONTROL_REPORT","HID_USAGE_POS_BARCODE_EAN_2_3_LABEL_CONTROL_REPORT","HID_USAGE_POS_BARCODE_CODE_39_CONTROL_REPORT","HID_USAGE_POS_BARCODE_INTERLEAVED_2_OF_5_CONTROL_REPORT","HID_USAGE_POS_BARCODE_STANDARD_2_OF_5_CONTROL_REPORT","HID_USAGE_POS_BARCODE_MSI_PLESSEY_CONTROL_REPORT","HID_USAGE_POS_BARCODE_CODABAR_CONTROL_REPORT","HID_USAGE_POS_BARCODE_CODE_128_CONTROL_REPORT","HID_USAGE_POS_BARCODE_MISC_1D_CONTROL_REPORT","HID_USAGE_POS_BARCODE_2D_CONTROL_REPORT","HID_USAGE_POS_BARCODE_AIMING_POINTER_MODE","HID_USAGE_POS_BARCODE_BAR_CODE_PRESENT_SENSOR","HID_USAGE_POS_BARCODE_CLASS_1A_LASER","HID_USAGE_POS_BARCODE_CLASS_2_LASER","HID_USAGE_POS_BARCODE_HEATER_PRESENT","HID_USAGE_POS_BARCODE_CONTACT_SCANNER","HID_USAGE_POS_BARCODE_ELECTRONIC_ARTICLE_SURVEILLANCE_NOTIFICATION","HID_USAGE_POS_BARCODE_CONSTANT_ELECTRONIC_ARTICLE_SURVEILLANCE","HID_USAGE_POS_BARCODE_ERROR_INDICATION","HID_USAGE_POS_BARCODE_FIXED_BEEPER","HID_USAGE_POS_BARCODE_GOOD_DECODE_INDICATION","HID_USAGE_POS_BARCODE_HANDS_FREE_SCANNING","HID_USAGE_POS_BARCODE_INTRINSICALLY_SAFE","HID_USAGE_POS_BARCODE_KLASSE_EINS_LASER","HID_USAGE_POS_BARCODE_LONG_RANGE_SCANNER","HID_USAGE_POS_BARCODE_MIRROR_SPEED_CONTROL","HID_USAGE_POS_BARCODE_NOT_ON_FILE_INDICATION","HID_USAGE_POS_BARCODE_PROGRAMMABLE_BEEPER","HID_USAGE_POS_BARCODE_TRIGGERLESS","HID_USAGE_POS_BARCODE_WAND","HID_USAGE_POS_BARCODE_WATER_RESISTANT","HID_USAGE_POS_BARCODE_MULTI_RANGE_SCANNER","HID_USAGE_POS_BARCODE_PROXIMITY_SENSOR","HID_USAGE_POS_BARCODE_FRAGMENT_DECODING","HID_USAGE_POS_BARCODE_SCANNER_READ_CONFIDENCE","HID_USAGE_POS_BARCODE_DATA_PREFIX","HID_USAGE_POS_BARCODE_PREFIX_AIMI","HID_USAGE_POS_BARCODE_PREFIX_NONE","HID_USAGE_POS_BARCODE_PREFIX_PROPRIETARY","HID_USAGE_POS_BARCODE_ACTIVE_TIME","HID_USAGE_POS_BARCODE_AIMING_LASER_PATTERN","HID_USAGE_POS_BARCODE_BAR_CODE_PRESENT","HID_USAGE_POS_BARCODE_BEEPER_STATE","HID_USAGE_POS_BARCODE_LASER_ON_TIME","HID_USAGE_POS_BARCODE_LASER_STATE","HID_USAGE_POS_BARCODE_LOCKOUT_TIME","HID_USAGE_POS_BARCODE_MOTOR_STATE","HID_USAGE_POS_BARCODE_MOTOR_TIMEOUT","HID_USAGE_POS_BARCODE_POWER_ON_RESET_SCANNER","HID_USAGE_POS_BARCODE_PREVENT_READ_OF_BARCODES","HID_USAGE_POS_BARCODE_INITIATE_BARCODE_READ","HID_USAGE_POS_BARCODE_TRIGGER_STATE","HID_USAGE_POS_BARCODE_TRIGGER_MODE","HID_USAGE_POS_BARCODE_TRIGGER_MODE_BLINKING_LASER_ON","HID_USAGE_POS_BARCODE_TRIGGER_MODE_CONTINUOUS_LASER_ON","HID_USAGE_POS_BARCODE_TRIGGER_MODE_LASER_ON_WHILE_PULLED","HID_USAGE_POS_BARCODE_TRIGGER_MODE_LASER_STAYS_ON_AFTER_TRIGGER_RELEASE","HID_USAGE_POS_BARCODE_COMMIT_PARAMETERS_TO_NVM","HID_USAGE_POS_BARCODE_PARAMETER_SCANNING","HID_USAGE_POS_BARCODE_PARAMETERS_CHANGED","HID_USAGE_POS_BARCODE_SET_PARAMETER_DEFAULT_VALUES","HID_USAGE_POS_BARCODE_SCANNER_IN_CRADLE","HID_USAGE_POS_BARCODE_SCANNER_IN_RANGE","HID_USAGE_POS_BARCODE_AIM_DURATION","HID_USAGE_POS_BARCODE_GOOD_READ_LAMP_DURATION","HID_USAGE_POS_BARCODE_GOOD_READ_LAMP_INTENSITY","HID_USAGE_POS_BARCODE_GOOD_READ_LED","HID_USAGE_POS_BARCODE_GOOD_READ_TONE_FREQUENCY","HID_USAGE_POS_BARCODE_GOOD_READ_TONE_LENGTH","HID_USAGE_POS_BARCODE_GOOD_READ_TONE_VOLUME","HID_USAGE_POS_BARCODE_NO_READ_MESSAGE","HID_USAGE_POS_BARCODE_NOT_ON_FILE_VOLUME","HID_USAGE_POS_BARCODE_POWERUP_BEEP","HID_USAGE_POS_BARCODE_SOUND_ERROR_BEEP","HID_USAGE_POS_BARCODE_SOUND_GOOD_READ_BEEP","HID_USAGE_POS_BARCODE_SOUND_NOT_ON_FILE_BEEP","HID_USAGE_POS_BARCODE_GOOD_READ_WHEN_TO_WRITE","HID_USAGE_POS_BARCODE_GRWTI_AFTER_DECODE","HID_USAGE_POS_BARCODE_GRWTI_BEEP_LAMP_AFTER_TRANSMIT","HID_USAGE_POS_BARCODE_GRWTI_NO_BEEP_LAMP_USE_AT_ALL","HID_USAGE_POS_BARCODE_BOOKLAND_EAN","HID_USAGE_POS_BARCODE_CONVERT_EAN_8_TO_13_TYPE","HID_USAGE_POS_BARCODE_CONVERT_UPC_A_TO_EAN_13","HID_USAGE_POS_BARCODE_CONVERT_UPC_E_TO_A","HID_USAGE_POS_BARCODE_EAN_13","HID_USAGE_POS_BARCODE_EAN_8","HID_USAGE_POS_BARCODE_EAN_99_128_MANDATORY","HID_USAGE_POS_BARCODE_EAN_99_P5_128_OPTIONAL","HID_USAGE_POS_BARCODE_UPC_EAN","HID_USAGE_POS_BARCODE_UPC_EAN_COUPON_CODE","HID_USAGE_POS_BARCODE_UPC_EAN_PERIODICALS","HID_USAGE_POS_BARCODE_UPC_A","HID_USAGE_POS_BARCODE_UPC_A_WITH_128_MANDATORY","HID_USAGE_POS_BARCODE_UPC_A_WITH_128_OPTIONAL","HID_USAGE_POS_BARCODE_UPC_A_WITH_P5_OPTIONAL","HID_USAGE_POS_BARCODE_UPC_E","HID_USAGE_POS_BARCODE_UPC_E1","HID_USAGE_POS_BARCODE_PERIODICAL","HID_USAGE_POS_BARCODE_PERIODICAL_AUTO_DISCRIMINATE_PLUS_2","HID_USAGE_POS_BARCODE_PERIODICAL_ONLY_DECODE_WITH_PLUS_2","HID_USAGE_POS_BARCODE_PERIODICAL_IGNORE_PLUS_2","HID_USAGE_POS_BARCODE_PERIODICAL_AUTO_DISCRIMINATE_PLUS_5","HID_USAGE_POS_BARCODE_PERIODICAL_ONLY_DECODE_WITH_PLUS_5","HID_USAGE_POS_BARCODE_PERIODICAL_IGNORE_PLUS_5","HID_USAGE_POS_BARCODE_CHECK","HID_USAGE_POS_BARCODE_CHECK_DISABLE_PRICE","HID_USAGE_POS_BARCODE_CHECK_ENABLE_4_DIGIT_PRICE","HID_USAGE_POS_BARCODE_CHECK_ENABLE_5_DIGIT_PRICE","HID_USAGE_POS_BARCODE_CHECK_ENABLE_EUROPEAN_4_DIGIT_PRICE","HID_USAGE_POS_BARCODE_CHECK_ENABLE_EUROPEAN_5_DIGIT_PRICE","HID_USAGE_POS_BARCODE_EAN_TWO_LABEL","HID_USAGE_POS_BARCODE_EAN_THREE_LABEL","HID_USAGE_POS_BARCODE_EAN_8_FLAG_DIGIT_1","HID_USAGE_POS_BARCODE_EAN_8_FLAG_DIGIT_2","HID_USAGE_POS_BARCODE_EAN_8_FLAG_DIGIT_3","HID_USAGE_POS_BARCODE_EAN_13_FLAG_DIGIT_1","HID_USAGE_POS_BARCODE_EAN_13_FLAG_DIGIT_2","HID_USAGE_POS_BARCODE_TRANSMIT_CHECK_DIGIT","HID_USAGE_POS_BARCODE_DISABLE_CHECK_DIGIT_TRANSMIT","HID_USAGE_POS_BARCODE_ENABLE_CHECK_DIGIT_TRANSMIT","HID_USAGE_POS_BARCODE_SYMBOLOGY_IDENTIFIER_1","HID_USAGE_POS_BARCODE_SYMBOLOGY_IDENTIFIER_2","HID_USAGE_POS_BARCODE_SYMBOLOGY_IDENTIFIER_3","HID_USAGE_POS_BARCODE_DECODED_DATA","HID_USAGE_POS_BARCODE_DECODE_DATA_CONTINUED","HID_USAGE_POS_BARCODE_BAR_SPACE_DATA","HID_USAGE_POS_BARCODE_SCANNER_DATA_ACCURACY","HID_USAGE_POS_BARCODE_RAW_DATA_POLARITY","HID_USAGE_POS_BARCODE_POLARITY_INVERTED_BAR_CODE","HID_USAGE_POS_BARCODE_POLARITY_NORMAL_BAR_CODE","HID_USAGE_POS_BARCODE_MINIMUM_LENGTH_TO_DECODE","HID_USAGE_POS_BARCODE_MAXIMUM_LENGTH_TO_DECODE","HID_USAGE_POS_BARCODE_FIRST_DISCRETE_LENGTH_TO_DECODE","HID_USAGE_POS_BARCODE_SECOND_DISCRETE_LENGTH_TO_DECODE","HID_USAGE_POS_BARCODE_DATA_LENGTH_METHOD","HID_USAGE_POS_BARCODE_DL_METHOD_READ_ANY","HID_USAGE_POS_BARCODE_DL_METHOD_CHECK_IN_RANGE","HID_USAGE_POS_BARCODE_DL_METHOD_CHECK_FOR_DISCRETE","HID_USAGE_POS_BARCODE_AZTEC_CODE","HID_USAGE_POS_BARCODE_BC412","HID_USAGE_POS_BARCODE_CHANNEL_CODE","HID_USAGE_POS_BARCODE_CODE_16","HID_USAGE_POS_BARCODE_CODE_32","HID_USAGE_POS_BARCODE_CODE_49","HID_USAGE_POS_BARCODE_CODE_ONE","HID_USAGE_POS_BARCODE_COLORCODE","HID_USAGE_POS_BARCODE_DATA_MATRIX","HID_USAGE_POS_BARCODE_MAXICODE","HID_USAGE_POS_BARCODE_MICROPDF","HID_USAGE_POS_BARCODE_PDF_417","HID_USAGE_POS_BARCODE_POSICODE","HID_USAGE_POS_BARCODE_QR_CODE","HID_USAGE_POS_BARCODE_SUPERCODE","HID_USAGE_POS_BARCODE_ULTRACODE","HID_USAGE_POS_BARCODE_USD_5_SLUG_CODE","HID_USAGE_POS_BARCODE_VERICODE","HID_USAGE_POS_SCALE_UNDEFINED","HID_USAGE_POS_SCALE_WEIGHING_DEVICE","HID_USAGE_POS_SCALE_SCALE_DEVICE","HID_USAGE_POS_SCALE_SCALE_CLASS_I_METRIC","HID_USAGE_POS_SCALE_SCALE_CLASS_I_METRIC_2","HID_USAGE_POS_SCALE_SCALE_CLASS_II_METRIC","HID_USAGE_POS_SCALE_SCALE_CLASS_III_METRIC","HID_USAGE_POS_SCALE_SCALE_CLASS_IIIL_METRIC","HID_USAGE_POS_SCALE_SCALE_CLASS_IV_METRIC","HID_USAGE_POS_SCALE_SCALE_CLASS_III_ENGLISH","HID_USAGE_POS_SCALE_SCALE_CLASS_IIIL_ENGLISH","HID_USAGE_POS_SCALE_SCALE_CLASS_IV_ENGLISH","HID_USAGE_POS_SCALE_SCALE_CLASS_GENERIC","HID_USAGE_POS_SCALE_SCALE_ATTRIBUTE_REPORT","HID_USAGE_POS_SCALE_SCALE_CONTROL_REPORT","HID_USAGE_POS_SCALE_SCALE_DATA_REPORT","HID_USAGE_POS_SCALE_SCALE_STATUS_REPORT","HID_USAGE_POS_SCALE_SCALE_WEIGHT_LIMIT_REPORT","HID_USAGE_POS_SCALE_SCALE_STATISTICS_REPORT","HID_USAGE_POS_SCALE_DATA_WEIGHT","HID_USAGE_POS_SCALE_DATA_SCALING","HID_USAGE_POS_SCALE_WEIGHT_UNIT","HID_USAGE_POS_SCALE_WEIGHT_UNIT_MILLIGRAM","HID_USAGE_POS_SCALE_WEIGHT_UNIT_GRAM","HID_USAGE_POS_SCALE_WEIGHT_UNIT_KILOGRAM","HID_USAGE_POS_SCALE_WEIGHT_UNIT_CARATS","HID_USAGE_POS_SCALE_WEIGHT_UNIT_TAELS","HID_USAGE_POS_SCALE_WEIGHT_UNIT_GRAINS","HID_USAGE_POS_SCALE_WEIGHT_UNIT_PENNYWEIGHTS","HID_USAGE_POS_SCALE_WEIGHT_UNIT_METRIC_TON","HID_USAGE_POS_SCALE_WEIGHT_UNIT_AVOIR_TON","HID_USAGE_POS_SCALE_WEIGHT_UNIT_TROY_OUNCE","HID_USAGE_POS_SCALE_WEIGHT_UNIT_OUNCE","HID_USAGE_POS_SCALE_WEIGHT_UNIT_POUND","HID_USAGE_POS_SCALE_CALIBRATION_COUNT","HID_USAGE_POS_SCALE_RE_ZERO_COUNT","HID_USAGE_POS_SCALE_SCALE_STATUS","HID_USAGE_POS_SCALE_SCALE_STATUS_FAULT","HID_USAGE_POS_SCALE_SCALE_STATUS_STABLE_AT_CENTER_OF_ZERO","HID_USAGE_POS_SCALE_SCALE_STATUS_IN_MOTION","HID_USAGE_POS_SCALE_SCALE_STATUS_WEIGHT_STABLE","HID_USAGE_POS_SCALE_SCALE_STATUS_UNDER_ZERO","HID_USAGE_POS_SCALE_SCALE_STATUS_OVER_WEIGHT_LIMIT","HID_USAGE_POS_SCALE_SCALE_STATUS_REQUIRES_CALIBRATION","HID_USAGE_POS_SCALE_SCALE_STATUS_REQUIRES_RE_ZEROING","HID_USAGE_POS_SCALE_ZERO_SCALE","HID_USAGE_POS_SCALE_ENFORCED_ZERO_RETURN","HID_USAGE_POS_MSR_UNDEFINED","HID_USAGE_POS_MSR_MSR_DEVICE_READ_ONLY","HID_USAGE_POS_MSR_TRACK_1_LENGTH","HID_USAGE_POS_MSR_TRACK_2_LENGTH","HID_USAGE_POS_MSR_TRACK_3_LENGTH","HID_USAGE_POS_MSR_TRACK_JIS_LENGTH","HID_USAGE_POS_MSR_TRACK_DATA","HID_USAGE_POS_MSR_TRACK_1_DATA","HID_USAGE_POS_MSR_TRACK_2_DATA","HID_USAGE_POS_MSR_TRACK_3_DATA","HID_USAGE_POS_MSR_TRACK_JIS_DATA","HID_USAGE_CAMERA_UNDEFINED","HID_USAGE_CAMERA_CAMERA_AUTO_FOCUS","HID_USAGE_CAMERA_CAMERA_SHUTTER","HID_USAGE_FIDO_UNDEFINED","HID_USAGE_FIDO_U2F_AUTHENTICATOR_DEVICE","HID_USAGE_FIDO_INPUT_REPORT_DATA","HID_USAGE_FIDO_OUTPUT_REPORT_DATA","ZMK_HID_USAGE","ZMK_HID_USAGE_ID","ZMK_HID_USAGE_PAGE","USAGE_KEYPAD","USAGE_CONSUMER","HID_USAGE_GD","HID_USAGE_SIM","HID_USAGE_VR","HID_USAGE_SPORT","HID_USAGE_GAME","HID_USAGE_GDV","HID_USAGE_KEY","HID_USAGE_LED","HID_USAGE_TELEPHONY","HID_USAGE_CONSUMER","HID_USAGE_DIGITIZERS","HID_USAGE_HAPTICS","HID_USAGE_PID","HID_USAGE_EHT","HID_USAGE_AUXDISP","HID_USAGE_SENSORS","HID_USAGE_MEDICAL","HID_USAGE_BRAILLE","HID_USAGE_LIGHT","HID_USAGE_MONITOR","HID_USAGE_MONITOR_VALUES","HID_USAGE_MONITOR_VESA","HID_USAGE_POWER","HID_USAGE_POS_BARCODE","HID_USAGE_POS_SCALE","HID_USAGE_POS_MSR","HID_USAGE_POS_RESV","HID_USAGE_CAMERA","HID_USAGE_ARCADE","HID_USAGE_GAMING","HID_USAGE_FIDO","SYSTEM_POWER","SYS_PWR","SYSTEM_SLEEP","SYS_SLEEP","SYSTEM_WAKE_UP","SYS_WAKE","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","NUMBER_1","N1","NUM_1","EXCLAMATION","EXCL","BANG","NUMBER_2","N2","NUM_2","AT_SIGN","AT","ATSN","NUMBER_3","N3","NUM_3","HASH","POUND","NUMBER_4","N4","NUM_4","DOLLAR","DLLR","NUMBER_5","N5","NUM_5","PERCENT","PRCNT","PRCT","NUMBER_6","N6","NUM_6","CARET","CRRT","NUMBER_7","N7","NUM_7","AMPERSAND","AMPS","NUMBER_8","N8","NUM_8","ASTERISK","ASTRK","STAR","NUMBER_9","N9","NUM_9","LEFT_PARENTHESIS","LPAR","LPRN","NUMBER_0","N0","NUM_0","RIGHT_PARENTHESIS","RPAR","RPRN","RETURN","ENTER","RET","ESCAPE","ESC","BACKSPACE","BSPC","BKSP","TAB","SPACE","SPC","MINUS","UNDERSCORE","UNDER","EQUAL","EQL","PLUS","LEFT_BRACKET","LBKT","LEFT_BRACE","LBRC","LCUR","RIGHT_BRACKET","RBKT","RIGHT_BRACE","RBRC","RCUR","BACKSLASH","BSLH","PIPE","NON_US_HASH","NUHS","TILDE2","SEMICOLON","SEMI","SCLN","COLON","COLN","SINGLE_QUOTE","SQT","APOSTROPHE","APOS","QUOT","DOUBLE_QUOTES","DQT","GRAVE","GRAV","TILDE","TILD","COMMA","CMMA","LESS_THAN","LT","LABT","PERIOD","DOT","GREATER_THAN","GT","RABT","SLASH","FSLH","QUESTION","QMARK","CAPSLOCK","CAPS","CLCK","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","PRINTSCREEN","PSCRN","PRSC","SCROLLLOCK","SLCK","SCLK","PAUSE_BREAK","PAUS","INSERT","INS","HOME","PAGE_UP","PG_UP","PGUP","DELETE","DEL","END","PAGE_DOWN","PG_DN","PGDN","RIGHT_ARROW","RIGHT","RARW","LEFT_ARROW","LEFT","LARW","DOWN_ARROW","DOWN","DARW","UP_ARROW","UP","UARW","KP_NUMLOCK","KP_NUM","KP_NLCK","CLEAR2","KP_DIVIDE","KP_SLASH","KDIV","KP_MULTIPLY","KP_ASTERISK","KMLT","KP_MINUS","KP_SUBTRACT","KMIN","KP_PLUS","KPLS","KP_ENTER","KP_NUMBER_1","KP_N1","KP_NUMBER_2","KP_N2","KP_NUMBER_3","KP_N3","KP_NUMBER_4","KP_N4","KP_NUMBER_5","KP_N5","KP_NUMBER_6","KP_N6","KP_NUMBER_7","KP_N7","KP_NUMBER_8","KP_N8","KP_NUMBER_9","KP_N9","KP_NUMBER_0","KP_N0","KP_DOT","NON_US_BACKSLASH","NON_US_BSLH","NUBS","PIPE2","K_APPLICATION","K_APP","K_CONTEXT_MENU","K_CMENU","GUI","K_POWER","K_PWR","KP_EQUAL","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","K_EXECUTE","K_EXEC","K_HELP","K_MENU","K_SELECT","K_STOP","K_AGAIN","K_REDO","K_UNDO","UNDO","K_CUT","CUT","K_COPY","COPY","K_PASTE","PSTE","K_FIND","K_MUTE","K_VOLUME_UP","K_VOL_UP","VOLU","K_VOLUME_DOWN","K_VOL_DN","VOLD","LOCKING_CAPS","LCAPS","LOCKING_NUM","LNLCK","LOCKING_SCROLL","LSLCK","KP_COMMA","KP_EQUAL_AS400","INTERNATIONAL_1","INT1","INT_RO","INTERNATIONAL_2","INT2","INT_KATAKANAHIRAGANA","INT_KANA","INTERNATIONAL_3","INT3","INT_YEN","INTERNATIONAL_4","INT4","INT_HENKAN","INTERNATIONAL_5","INT5","INT_MUHENKAN","INTERNATIONAL_6","INT6","INT_KPJPCOMMA","INTERNATIONAL_7","INT7","INTERNATIONAL_8","INT8","INTERNATIONAL_9","INT9","LANGUAGE_1","LANG1","LANG_HANGEUL","LANGUAGE_2","LANG2","LANG_HANJA","LANGUAGE_3","LANG3","LANG_KATAKANA","LANGUAGE_4","LANG4","LANG_HIRAGANA","LANGUAGE_5","LANG5","LANG_ZENKAKUHANKAKU","LANGUAGE_6","LANG6","LANGUAGE_7","LANG7","LANGUAGE_8","LANG8","LANGUAGE_9","LANG9","ALT_ERASE","SYSREQ","ATTENTION","K_CANCEL","CLEAR","PRIOR","RETURN2","RET2","SEPARATOR","OUT","OPER","CLEAR_AGAIN","CRSEL","EXSEL","CURU","KP_LEFT_PARENTHESIS","KP_LPAR","KP_RIGHT_PARENTHESIS","KP_RPAR","KSPC","KP_CLEAR","LEFT_CONTROL","LCTRL","LCTL","LEFT_SHIFT","LSHIFT","LSHFT","LSFT","LEFT_ALT","LALT","LEFT_GUI","LGUI","LEFT_WIN","LWIN","LEFT_COMMAND","LCMD","LEFT_META","LMETA","RIGHT_CONTROL","RCTRL","RCTL","RIGHT_SHIFT","RSHIFT","RSHFT","RSFT","RIGHT_ALT","RALT","RIGHT_GUI","RGUI","RIGHT_WIN","RWIN","RIGHT_COMMAND","RCMD","RIGHT_META","RMETA","K_PLAY_PAUSE","K_PP","K_STOP2","K_PREVIOUS","K_PREV","K_NEXT","K_EJECT","K_VOLUME_UP2","K_VOL_UP2","K_VOLUME_DOWN2","K_VOL_DN2","K_MUTE2","K_WWW","K_BACK","K_FORWARD","K_STOP3","K_FIND2","K_SCROLL_UP","K_SCROLL_DOWN","K_EDIT","K_SLEEP","K_LOCK","K_SCREENSAVER","K_COFFEE","K_REFRESH","K_CALCULATOR","K_CALC","C_POWER","C_PWR","C_RESET","C_SLEEP","C_SLEEP_MODE","C_MENU","C_MENU_PICK","C_MENU_SELECT","C_MENU_UP","C_MENU_DOWN","C_MENU_LEFT","C_MENU_RIGHT","C_MENU_ESCAPE","C_MENU_ESC","C_MENU_INCREASE","C_MENU_INC","C_MENU_DECREASE","C_MENU_DEC","C_DATA_ON_SCREEN","C_CAPTIONS","C_SUBTITLES","C_SNAPSHOT","C_PIP","C_RED_BUTTON","C_RED","C_GREEN_BUTTON","C_GREEN","C_BLUE_BUTTON","C_BLUE","C_YELLOW_BUTTON","C_YELLOW","C_ASPECT","C_BRIGHTNESS_INC","C_BRI_INC","C_BRI_UP","C_BRIGHTNESS_DEC","C_BRI_DEC","C_BRI_DN","C_BACKLIGHT_TOGGLE","C_BKLT_TOG","C_BRIGHTNESS_MINIMUM","C_BRI_MIN","C_BRIGHTNESS_MAXIMUM","C_BRI_MAX","C_BRIGHTNESS_AUTO","C_BRI_AUTO","C_MEDIA_STEP","C_MODE_STEP","C_RECALL_LAST","C_CHAN_LAST","C_MEDIA_COMPUTER","C_MEDIA_TV","C_MEDIA_WWW","C_MEDIA_DVD","C_MEDIA_PHONE","C_MEDIA_GUIDE","C_MEDIA_VIDEOPHONE","C_MEDIA_GAMES","C_MEDIA_MESSAGES","C_MEDIA_CD","C_MEDIA_VCR","C_MEDIA_TUNER","C_QUIT","C_HELP","C_MEDIA_TAPE","C_MEDIA_CABLE","C_MEDIA_SATELLITE","C_MEDIA_HOME","C_CHANNEL_INC","C_CHAN_INC","C_CHANNEL_DEC","C_CHAN_DEC","C_MEDIA_VCR_PLUS","C_PLAY","C_PAUSE","C_RECORD","C_REC","C_FAST_FORWARD","C_FF","C_REWIND","C_RW","C_NEXT","M_NEXT","C_PREVIOUS","C_PREV","M_PREV","C_STOP","M_STOP","C_EJECT","M_EJCT","C_RANDOM_PLAY","C_SHUFFLE","C_REPEAT","C_SLOW_TRACKING","C_SLOW2","C_STOP_EJECT","C_PLAY_PAUSE","C_PP","M_PLAY","C_VOICE_COMMAND","C_MUTE","M_MUTE","C_BASS_BOOST","C_VOLUME_UP","C_VOL_UP","M_VOLU","C_VOLUME_DOWN","C_VOL_DN","M_VOLD","C_SLOW","C_ALTERNATE_AUDIO_INCREMENT","C_ALT_AUDIO_INC","C_AL_CCC","C_AL_WORD","C_AL_TEXT_EDITOR","C_AL_SPREADSHEET","C_AL_SHEET","C_AL_GRAPHICS_EDITOR","C_AL_PRESENTATION","C_AL_DATABASE","C_AL_DB","C_AL_EMAIL","C_AL_MAIL","C_AL_NEWS","C_AL_VOICEMAIL","C_AL_CONTACTS","C_AL_ADDRESS_BOOK","C_AL_CALENDAR","C_AL_CAL","C_AL_TASK_MANAGER","C_AL_JOURNAL","C_AL_FINANCE","C_AL_CALCULATOR","C_AL_CALC","C_AL_AV_CAPTURE_PLAYBACK","C_AL_MY_COMPUTER","C_AL_WWW","C_AL_NETWORK_CHAT","C_AL_CHAT","C_AL_LOGOFF","C_AL_LOCK","C_AL_SCREENSAVER","C_AL_COFFEE","C_AL_CONTROL_PANEL","C_AL_SELECT_TASK","C_AL_NEXT_TASK","C_AL_PREVIOUS_TASK","C_AL_PREV_TASK","C_AL_HELP","C_AL_DOCUMENTS","C_AL_DOCS","C_AL_SPELLCHECK","C_AL_SPELL","C_AL_KEYBOARD_LAYOUT","C_AL_SCREEN_SAVER","C_AL_FILE_BROWSER","C_AL_FILES","C_AL_IMAGE_BROWSER","C_AL_IMAGES","C_AL_AUDIO_BROWSER","C_AL_AUDIO","C_AL_MUSIC","C_AL_MOVIE_BROWSER","C_AL_MOVIES","C_AL_INSTANT_MESSAGING","C_AL_IM","C_AL_OEM_FEATURES","C_AL_TIPS","C_AL_TUTORIAL","C_AC_NEW","C_AC_OPEN","C_AC_CLOSE","C_AC_EXIT","C_AC_SAVE","C_AC_PRINT","C_AC_PROPERTIES","C_AC_PROPS","C_AC_UNDO","C_AC_COPY","C_AC_CUT","C_AC_PASTE","C_AC_FIND","C_AC_SEARCH","C_AC_GOTO","C_AC_HOME","C_AC_BACK","C_AC_FORWARD","C_AC_STOP","C_AC_REFRESH","C_AC_BOOKMARKS","C_AC_FAVORITES","C_AC_FAVOURITES","C_AC_ZOOM_IN","C_AC_ZOOM_OUT","C_AC_ZOOM","C_AC_VIEW_TOGGLE","C_AC_SCROLL_UP","C_AC_SCROLL_DOWN","C_AC_EDIT","C_AC_CANCEL","C_AC_INSERT","C_AC_INS","C_AC_DEL","C_AC_REDO","C_AC_REPLY","C_AC_FORWARD_MAIL","C_AC_SEND","C_AC_DESKTOP_SHOW_ALL_WINDOWS","C_AC_DESKTOP_SHOW_ALL_APPLICATIONS","C_KEYBOARD_INPUT_ASSIST_PREVIOUS","C_KBIA_PREV","C_KEYBOARD_INPUT_ASSIST_NEXT","C_KBIA_NEXT","C_KEYBOARD_INPUT_ASSIST_PREVIOUS_GROUP","C_KBIA_PREV_GRP","C_KEYBOARD_INPUT_ASSIST_NEXT_GROUP","C_KBIA_NEXT_GRP","C_KEYBOARD_INPUT_ASSIST_ACCEPT","C_KBIA_ACCEPT","C_KEYBOARD_INPUT_ASSIST_CANCEL","C_KBIA_CANCEL","ZMK_MOCK_IS_PRESS","ZMK_MOCK_PRESS","ZMK_MOCK_RELEASE","ZMK_MOCK_ROW","ZMK_MOCK_COL","ZMK_MOCK_MSEC","KT_ROW","KT_COL","RC","MOD_LCTL","MOD_LSFT","MOD_LALT","MOD_LGUI","MOD_RCTL","MOD_RSFT","MOD_RALT","MOD_RGUI","SELECT_MODS","STRIP_MODS","APPLY_MODS","LC","LS","LA","LG","RC","RS","RA","RG","OUT_TOG","OUT_USB","OUT_BLE","RST_WARM","RST_COLD","RST_UF2","RGB_TOG_CMD","RGB_ON_CMD","RGB_OFF_CMD","RGB_HUI_CMD","RGB_HUD_CMD","RGB_SAI_CMD","RGB_SAD_CMD","RGB_BRI_CMD","RGB_BRD_CMD","RGB_SPI_CMD","RGB_SPD_CMD","RGB_EFF_CMD","RGB_EFR_CMD","RGB_EFS_CMD","RGB_COLOR_HSB_CMD","RGB_TOG","RGB_ON","RGB_OFF","RGB_HUI","RGB_HUD","RGB_SAI","RGB_SAD","RGB_BRI","RGB_BRD","RGB_SPI","RGB_SPD","RGB_EFF","RGB_EFR","RGB_COLOR_HSB_VAL","RGB_COLOR_HSB","RGB_COLOR_HSV"]')},30877:function(_){"use strict";_.exports=JSON.parse('[{"match":{"code":"&lt"},"params":["layer","code"]},{"match":{"code":"&mt"},"params":["code","code"]},{"match":{"code":"&sl"},"params":["layer"]},{"match":{"code":"&sk"},"params":["code"]},{"match":{"code":"&inc_dec_kp"},"params":["code","code"]},{"match":{"compatible":"zmk,behavior-backlight"},"params":[{"name":"backlight action","type":"command","enum":[{"code":"BL_ON","description":"Turn on backlight"},{"code":"BL_OFF","description":"Turn off backlight"},{"code":"BL_TOG","description":"Toggle backlight on and off"},{"code":"BL_INC","description":"Increase brightness"},{"code":"BL_DEC","description":"Decrease brightness"},{"code":"BL_CYCLE","description":"Cycle brightness"},{"code":"BL_SET","description":"Set a specific brightness","additionalParams":[{"name":"brightness","type":"integer","enum":[0,10,20,30,40,50,60,70,80,90,100]}]}]}]},{"match":{"compatible":"zmk,behavior-bluetooth"},"params":[{"name":"bluetooth action","type":"command","enum":[{"code":"BT_CLR","displayName":"Clear profile","description":"Clear bond information between the keyboard and host for the selected profile."},{"code":"BT_NXT","displayName":"Next profile","description":"Switch to the next profile, cycling through to the first one when the end is reached."},{"code":"BT_PRV","displayName":"Previous profile","description":"Switch to the previous profile, cycling through to the last one when the beginning is reached."},{"code":"BT_SEL","displayName":"Select profile","description":"Select the 0-indexed profile by number. Please note: this definition must include a number as an argument in the keymap to work correctly. eg. BT_SEL 0","additionalParams":[{"name":"bluetooth profile","type":"integer","enum":[{"code":0,"displayName":"Bluetooth profile #0"},{"code":1,"displayName":"Bluetooth profile #1"},{"code":2,"displayName":"Bluetooth profile #2"},{"code":3,"displayName":"Bluetooth profile #3"},{"code":4,"displayName":"Bluetooth profile #4"}]}]}]}]},{"match":{"compatible":"zmk,behavior-key-press"},"params":["code"]},{"match":{"compatible":"zmk,behavior-key-toggle"},"params":["code"]},{"match":{"compatible":"zmk,behavior-momentary-layer"},"params":["layer"]},{"match":{"compatible":"zmk,behavior-outputs"},"params":[{"type":"command","name":"keyboard output mode","enum":[{"code":"OUT_BLE","name":"BLE","description":"Prefer sending to the current bluetooth profile"},{"code":"OUT_USB","name":"USB","description":"Prefer sending to USB"},{"code":"OUT_TOG","name":"Toggle","description":"Toggle between USB and BLE"}]}]},{"match":{"compatible":"zmk,behavior-to-layer"},"params":["layer"]},{"match":{"compatible":"zmk,behavior-toggle-layer"},"params":["layer"]},{"match":{"compatible":"zmk,behavior-rgb-underglow"},"params":[{"type":"command","name":"RGB underglow action","enum":[{"code":"RGB_TOG","displayName":"Toggle","description":"Toggles the RGB feature on and off"},{"code":"RGB_HUI","displayName":"Increase hue","description":"Increases the hue of the RGB feature"},{"code":"RGB_HUD","displayName":"Decrease hue","description":"Decreases the hue of the RGB feature"},{"code":"RGB_SAI","displayName":"Increase saturation","description":"Increases the saturation of the RGB feature"},{"code":"RGB_SAD","displayName":"Decrease saturation","description":"Decreases the saturation of the RGB feature"},{"code":"RGB_BRI","displayName":"Increase brightness","description":"Increases the brightness of the RGB feature"},{"code":"RGB_BRD","displayName":"Decrease brightness","description":"Decreases the brightness of the RGB feature"},{"code":"RGB_SPI","displayName":"Increase speed","description":"Increases the speed of the RGB feature effect\'s animation"},{"code":"RGB_SPD","displayName":"Decrease speed","description":"Decreases the speed of the RGB feature effect\'s animation"},{"code":"RGB_EFF","displayName":"Next effect","description":"Cycles the RGB feature\'s effect forwards"},{"code":"RGB_EFR","displayName":"Previous effect","description":"Cycles the RGB feature\'s effect reverse"},{"code":"RGB_COLOR_HSB","displayName":"Set color","description":"Sets a specific HSB (HSV) value for the underglow","symbol":"HSB","helper":"hsb-color-picker","helperPrompt":"Set color","splitTo":"RGB_COLOR_HSB_CMD","params":[{"name":"hue","type":"integer","enum":[0,30,60,90,120,160,180,210,240,270,300,330,360]},{"name":"saturation","type":"integer","enum":[0,10,20,30,40,50,60,70,80,90,100]},{"name":"value","type":"integer","enum":[0,10,20,30,40,50,60,70,80,90,100]}]},{"code":"RGB_COLOR_HSB_CMD","displayName":"Set color","description":"Sets a specific HSB (HSV) value for the underglow","symbol":"Set","hidden":true,"splitFrom":"RGB_COLOR_HSB","additionalParams":[{"name":"RGB Underglow Color","type":"command","const":{"code":"RGB_COLOR_HSB_VAL","symbol":"HSB","helper":"hsb-color-picker","helperPrompt":"Set color","params":[{"name":"hue","type":"integer","enum":[0,30,60,90,120,160,180,210,240,270,300,330,360]},{"name":"saturation","type":"integer","enum":[0,10,20,30,40,50,60,70,80,90,100]},{"name":"value","type":"integer","enum":[0,10,20,30,40,50,60,70,80,90,100]}]}}]}]}]},{"match":{"compatible":"zmk,behavior-ext-power"},"params":[{"type":"command","name":"external power mode","enum":[{"code":"EP_ON","name":"On","description":"Enable the external power"},{"code":"EP_OFF","name":"Off","description":"Disable the external power"},{"code":"EP_TOG","name":"Toggle","description":"Toggle the external power"}]}]},{"match":{"compatible":"zmk,macro-control-tap-time"},"params":[{"type":"number","raw":true}]},{"match":{"compatible":"zmk,macro-control-wait-time"},"params":[{"type":"number","raw":true}]}]')},31742:function(_){"use strict";_.exports=JSON.parse('{"zmk,behavior-sensor-rotate":{"description":"Sensor rotate behavior","compatible":"zmk,behavior-sensor-rotate","include":"zero_param.yaml","properties":{"#sensor-binding-cells":{"type":"int","required":true,"const":0},"bindings":{"type":"phandle-array","required":true},"tap-ms":{"type":"int","default":5},"label":{"type":"string","required":true}}},"zmk,behavior-sensor-rotate-var":{"description":"Sensor rotate behavior","compatible":"zmk,behavior-sensor-rotate-var","include":"two_param.yaml","properties":{"#sensor-binding-cells":{"type":"int","required":true,"const":2},"bindings":{"type":"phandles","required":true},"tap-ms":{"type":"int","default":5},"label":{"type":"string","required":true}}}}')},43003:function(_){"use strict";_.exports=JSON.parse('[{"match":{"compatible":"zmk,behavior-caps-word"},"properties":{"continue-list":{"choices":{"$source":"keycodes","$key":"code"}},"mods":{"type":"integer-union","choices":["MOD_LCTL","MOD_LSFT","MOD_LALT","MOD_LGUI","MOD_RCTL","MOD_RSFT","MOD_RALT","MOD_RGUI"]}}},{"match":{"compatible":"zmk,behavior-mod-morph"},"properties":{"bindings":{"length":2},"mods":{"type":"integer-union","choices":["MOD_LCTL","MOD_LSFT","MOD_LALT","MOD_LGUI","MOD_RCTL","MOD_RSFT","MOD_RALT","MOD_RGUI"]},"keep-mods":{"type":"integer-union","choices":["MOD_LCTL","MOD_LSFT","MOD_LALT","MOD_LGUI","MOD_RCTL","MOD_RSFT","MOD_RALT","MOD_RGUI"]}}},{"match":{"compatible":"zmk,behavior-hold-tap"},"properties":{"bindings":{"length":2},"hold-trigger-key-positions":{"helper":"key-position-picker"},"tapping-term-ms":{"required":true},"tapping_term_ms":{"required":true,"deprecatedBy":"tapping-term-ms"},"quick_tap_ms":{"deprecatedBy":"quick-tap-ms"}}},{"match":{"compatible":"zmk,behavior-sticky-key"},"properties":{"bindings":{"length":1}}},{"match":{"compatible":"zmk,behavior-sensor-rotate-var"},"description":"Sensor rotate behavior (with parameters)","properties":{"bindings":{"length":2}}},{"match":{"compatible":"zmk,behavior-send-string"},"properties":{"charmap":{"type":"raw"}}}]')},80012:function(_){"use strict";_.exports=JSON.parse('[{"name":"behavior_reset","description":"Removed in Zephyr 3.2, use &sys_reset","labels":["reset"],"code":"&reset","compatible":"zmk,behavior-reset","properties":{"compatible":{"raw":"\\"zmk,behavior-reset\\"","parsed":"zmk,behavior-reset"},"#binding-cells":{"raw":"<0>","parsed":0},"label":{"raw":"\\"RESET\\"","parsed":"RESET"}}}]')},92914:function(_){"use strict";_.exports=JSON.parse('[{"match":{"compatible":"zmk,behavior-backlight"},"includes":["#include <dt-bindings/zmk/backlight.h>"],"displayName":"Backlight"},{"match":{"compatible":"zmk,behavior-bluetooth"},"includes":["#include <dt-bindings/zmk/bt.h>"],"displayName":"Bluetooth"},{"match":{"compatible":"zmk,behavior-key-press"},"displayName":"Key Press","includes":["#include <dt-bindings/zmk/keys.h>"],"docsUrl":"https://zmk.dev/docs/behaviors/key-press#key-press"},{"match":{"compatible":"zmk,behavior-key-toggle"},"displayName":"Key Toggle","includes":["#include <dt-bindings/zmk/keys.h>"]},{"match":{"code":"&lt"},"displayName":"Layer/Tap","description":"Layer or Tap behavior","docsUrl":"https://zmk.dev/docs/behaviors/layers#layer-tap"},{"match":{"compatible":"zmk,behavior-momentary-layer"},"displayName":"Momentary Layer","docsUrl":"https://zmk.dev/docs/behaviors/layers#momentary-layer"},{"match":{"code":"&mt"},"displayName":"Mod/Tap","description":"Mod or Tap behavior"},{"match":{"compatible":"zmk,behavior-outputs"},"includes":["#include <dt-bindings/zmk/outputs.h>"],"displayName":"Output"},{"match":{"code":"&sl"},"displayName":"Sticky Layer","description":"Sticky layer behavior"},{"match":{"code":"&sk"},"displayName":"Sticky Key"},{"match":{"compatible":"zmk,behavior-to-layer"},"displayName":"To Layer","docsUrl":"https://zmk.dev/docs/behaviors/layers#to-layer"},{"match":{"compatible":"zmk,behavior-toggle-layer"},"displayName":"Toggle Layer","docsUrl":"https://zmk.dev/docs/behaviors/layers#toggle-layer"},{"match":{"compatible":"zmk,behavior-rgb-underglow"},"includes":["#include <dt-bindings/zmk/rgb.h>"],"displayName":"RGB Underglow"},{"match":{"compatible":"zmk,behavior-ext-power"},"includes":["#include <dt-bindings/zmk/ext_power.h>"],"displayName":"External Power"},{"match":{"compatible":"zmk,macro-control-mode-press"},"context":"macros"},{"match":{"compatible":"zmk,macro-control-mode-release"},"context":"macros"},{"match":{"compatible":"zmk,macro-control-mode-tap"},"context":"macros"},{"match":{"compatible":"zmk,macro-control-tap-time"},"context":"macros"},{"match":{"compatible":"zmk,macro-control-wait-time"},"context":"macros"},{"match":{"compatible":"zmk,macro-pause-for-release"},"context":"macros"},{"match":{"compatible":"zmk,macro-param-1to1"},"context":"macros"},{"match":{"compatible":"zmk,macro-param-1to2"},"context":"macros"},{"match":{"compatible":"zmk,macro-param-2to1"},"context":"macros"},{"match":{"compatible":"zmk,macro-param-2to2"},"context":"macros"},{"match":{"code":"&inc_dec_kp"},"displayName":"Increment/Decrement Key Press","context":"encoders"},{"match":{"compatible":"zmk,behavior-sensor-rotate-var"},"displayName":"Sensor Rotate (variable)","context":"encoders"},{"match":{"compatible":"zmk,behavior-sensor-rotate"},"displayName":"Sensor Rotate","context":"encoders"}]')},27112:function(_){"use strict";_.exports=JSON.parse('[{"names":["LEFT_ALT","LALT","LA(code)"],"symbol":"⌥","faIcon":null},{"names":["RIGHT_ALT","RALT","RA(code)"],"symbol":"⌥","faIcon":null},{"names":["LEFT_GUI","LGUI","LG(code)","LEFT_WIN","LWIN","LEFT_COMMAND","LCMD","LEFT_META","LMETA"],"symbol":"⌘","faIcon":null},{"names":["RIGHT_GUI","RGUI","RG(code)","RIGHT_WIN","RWIN","RIGHT_COMMAND","RCMD","RIGHT_META","RMETA"],"symbol":"⌘","faIcon":null}]')},445:function(_){"use strict";_.exports=JSON.parse('[{"names":["RETURN","ENTER","RET"],"symbol":"⮐","faIcon":null},{"names":["SPACE"],"symbol":"␣","faIcon":null},{"names":["LEFT_SHIFT","LSHIFT","LSHFT","LS(code)"],"symbol":"⇧","faIcon":null},{"names":["RIGHT_SHIFT","RSHIFT","RSHFT","RS(code)"],"symbol":"⇧","faIcon":null}]')},27453:function(_){"use strict";_.exports=JSON.parse('[{"names":["LEFT_GUI","LGUI","LG(code)","LEFT_WIN","LWIN","LEFT_COMMAND","LCMD","LEFT_META","LMETA"],"faIcon":"windows fa-brands"}]')},97107:function(_){"use strict";_.exports=JSON.parse('[{"names":["N1"],"symbol":"1"},{"names":["N2"],"symbol":"2"},{"names":["N3"],"symbol":"3"},{"names":["N4"],"symbol":"4"},{"names":["N5"],"symbol":"5"},{"names":["N6"],"symbol":"6"},{"names":["N7"],"symbol":"7"},{"names":["N8"],"symbol":"8"},{"names":["N9"],"symbol":"9"},{"names":["N0"],"symbol":"0"},{"names":["EXCL"],"symbol":"!"},{"names":["AT"],"symbol":"@"},{"names":["HASH"],"symbol":"#"},{"names":["DLLR"],"symbol":"$"},{"names":["PRCNT"],"symbol":"%"},{"names":["CARET"],"symbol":"^"},{"names":["AMPS"],"symbol":"&"},{"names":["STAR"],"symbol":"*"},{"names":["BSPC"],"faIcon":"delete-left"},{"names":["DEL"],"faIcon":"delete-right"},{"names":["MINUS"],"symbol":"-"},{"names":["UNDER"],"symbol":"_"},{"names":["EQUAL"],"symbol":"="},{"names":["PLUS"],"symbol":"+"},{"names":["PIPE"],"symbol":"|"},{"names":["COLON"],"symbol":":"},{"names":["GRAVE"],"symbol":"`"},{"names":["TILDE"],"symbol":"~"},{"names":["LT"],"symbol":"<"},{"names":["GT"],"symbol":">"},{"names":["RIGHT"],"faIcon":"caret-right"},{"names":["LEFT"],"faIcon":"caret-left"},{"names":["DOWN"],"faIcon":"caret-down"},{"names":["UP"],"faIcon":"caret-up"},{"names":["C_PWR"],"faIcon":"power-off"},{"names":["K_PWR"],"faIcon":"power-off"},{"names":["C_AL_LOCK"],"faIcon":"lock"},{"names":["K_LOCK"],"faIcon":"lock"},{"names":["C_SLEEP"],"faIcon":"moon"},{"names":["K_SLEEP"],"faIcon":"moon"},{"names":["C_SLEEP_MODE"],"faIcon":"moon"},{"names":["LEFT_PARENTHESIS","LPAR"],"symbol":"(","faIcon":null},{"names":["RIGHT_PARENTHESIS","RPAR"],"symbol":")","faIcon":null},{"names":["LEFT_BRACKET","LBKT"],"symbol":"[","faIcon":null},{"names":["LEFT_BRACE","LBRC"],"symbol":"{","faIcon":null},{"names":["RIGHT_BRACKET","RBKT"],"symbol":"]","faIcon":null},{"names":["RIGHT_BRACE","RBRC"],"symbol":"}","faIcon":null},{"names":["BACKSLASH","BSLH"],"symbol":"\\\\","faIcon":null},{"names":["SEMICOLON","SEMI"],"symbol":";","faIcon":null},{"names":["SINGLE_QUOTE","SQT","APOSTROPHE","APOS"],"symbol":"\'","faIcon":null},{"names":["DOUBLE_QUOTES","DQT"],"symbol":"\\"","faIcon":null},{"names":["COMMA"],"symbol":",","faIcon":null},{"names":["PERIOD","DOT"],"symbol":".","faIcon":null},{"names":["GREATER_THAN","GT"],"symbol":">","faIcon":null},{"names":["SLASH","FSLH"],"symbol":"/","faIcon":null},{"names":["QUESTION","QMARK"],"symbol":"?","faIcon":null},{"names":["NON_US_BACKSLASH","NON_US_BSLH"],"symbol":"\\\\","faIcon":null},{"names":["K_MUTE"],"symbol":null,"faIcon":"volume-mute"},{"names":["C_VOLUME_UP","C_VOL_UP"],"symbol":null,"faIcon":"volume-up"},{"names":["C_VOLUME_DOWN","C_VOL_DN"],"symbol":null,"faIcon":"volume-down"},{"names":["LCTRL"],"symbol":"^"},{"names":["RCTRL"],"symbol":"^"},{"names":["GLOBE"],"faIcon":"globe"}]')}}]);
+//# sourceMappingURL=shared.1bb7f3be69248d107351.js.map \ No newline at end of file