@theia/core 1.77.0-next.56 → 1.77.0-next.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/lib/browser/catalog.json +66 -0
  2. package/lib/browser/common-frontend-contribution.d.ts +6 -1
  3. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  4. package/lib/browser/common-frontend-contribution.js +18 -1
  5. package/lib/browser/common-frontend-contribution.js.map +1 -1
  6. package/lib/browser/keybinding.d.ts +95 -17
  7. package/lib/browser/keybinding.d.ts.map +1 -1
  8. package/lib/browser/keybinding.js +405 -75
  9. package/lib/browser/keybinding.js.map +1 -1
  10. package/lib/browser/keybinding.spec.js +786 -30
  11. package/lib/browser/keybinding.spec.js.map +1 -1
  12. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +1 -1
  13. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js.map +1 -1
  14. package/lib/browser/keyboard/browser-keyboard-layout-provider.d.ts +3 -4
  15. package/lib/browser/keyboard/browser-keyboard-layout-provider.d.ts.map +1 -1
  16. package/lib/browser/keyboard/browser-keyboard-layout-provider.js +3 -3
  17. package/lib/browser/keyboard/browser-keyboard-layout-provider.js.map +1 -1
  18. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +39 -0
  19. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js.map +1 -1
  20. package/lib/browser/keyboard/keyboard-layout-service.d.ts +67 -15
  21. package/lib/browser/keyboard/keyboard-layout-service.d.ts.map +1 -1
  22. package/lib/browser/keyboard/keyboard-layout-service.js +309 -98
  23. package/lib/browser/keyboard/keyboard-layout-service.js.map +1 -1
  24. package/lib/browser/keyboard/keyboard-layout-service.spec.js +538 -12
  25. package/lib/browser/keyboard/keyboard-layout-service.spec.js.map +1 -1
  26. package/lib/browser/keyboard/keys.spec.js +183 -0
  27. package/lib/browser/keyboard/keys.spec.js.map +1 -1
  28. package/lib/browser/menu/action-menu-node.d.ts +5 -3
  29. package/lib/browser/menu/action-menu-node.d.ts.map +1 -1
  30. package/lib/browser/menu/action-menu-node.js +2 -11
  31. package/lib/browser/menu/action-menu-node.js.map +1 -1
  32. package/lib/browser/menu/action-menu-node.spec.d.ts +2 -0
  33. package/lib/browser/menu/action-menu-node.spec.d.ts.map +1 -0
  34. package/lib/browser/menu/action-menu-node.spec.js +54 -0
  35. package/lib/browser/menu/action-menu-node.spec.js.map +1 -0
  36. package/lib/browser/menu/browser-menu-plugin.js +1 -1
  37. package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
  38. package/lib/browser/test/jsdom.d.ts.map +1 -1
  39. package/lib/browser/test/jsdom.js +11 -0
  40. package/lib/browser/test/jsdom.js.map +1 -1
  41. package/lib/common/keyboard/keyboard-layout-provider.d.ts +7 -0
  42. package/lib/common/keyboard/keyboard-layout-provider.d.ts.map +1 -1
  43. package/lib/common/keyboard/keyboard-layout-provider.js.map +1 -1
  44. package/lib/common/keys.d.ts +86 -3
  45. package/lib/common/keys.d.ts.map +1 -1
  46. package/lib/common/keys.js +262 -23
  47. package/lib/common/keys.js.map +1 -1
  48. package/lib/common/ternary-search-tree.js +2 -2
  49. package/lib/common/ternary-search-tree.js.map +1 -1
  50. package/lib/common/ternary-search-tree.spec.js +12 -0
  51. package/lib/common/ternary-search-tree.spec.js.map +1 -1
  52. package/lib/electron-browser/keyboard/electron-keyboard-module.d.ts +2 -0
  53. package/lib/electron-browser/keyboard/electron-keyboard-module.d.ts.map +1 -1
  54. package/lib/electron-browser/keyboard/electron-keyboard-module.js +8 -1
  55. package/lib/electron-browser/keyboard/electron-keyboard-module.js.map +1 -1
  56. package/lib/electron-browser/keyboard/electron-keyboard-module.spec.d.ts +2 -0
  57. package/lib/electron-browser/keyboard/electron-keyboard-module.spec.d.ts.map +1 -0
  58. package/lib/electron-browser/keyboard/electron-keyboard-module.spec.js +28 -0
  59. package/lib/electron-browser/keyboard/electron-keyboard-module.spec.js.map +1 -0
  60. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  61. package/lib/electron-browser/menu/electron-main-menu-factory.js +3 -2
  62. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  63. package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
  64. package/lib/electron-browser/menu/electron-menu-contribution.js +3 -0
  65. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  66. package/lib/electron-common/electron-api.d.ts +5 -0
  67. package/lib/electron-common/electron-api.d.ts.map +1 -1
  68. package/lib/electron-common/electron-api.js +21 -0
  69. package/lib/electron-common/electron-api.js.map +1 -1
  70. package/lib/electron-common/electron-api.spec.d.ts +2 -0
  71. package/lib/electron-common/electron-api.spec.d.ts.map +1 -0
  72. package/lib/electron-common/electron-api.spec.js +40 -0
  73. package/lib/electron-common/electron-api.spec.js.map +1 -0
  74. package/lib/electron-main/electron-api-main.d.ts +0 -1
  75. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  76. package/lib/electron-main/electron-api-main.js +1 -12
  77. package/lib/electron-main/electron-api-main.js.map +1 -1
  78. package/package.json +4 -4
  79. package/src/browser/common-frontend-contribution.ts +16 -0
  80. package/src/browser/keybinding.spec.ts +878 -34
  81. package/src/browser/keybinding.ts +470 -85
  82. package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +1 -1
  83. package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +52 -1
  84. package/src/browser/keyboard/browser-keyboard-layout-provider.ts +5 -5
  85. package/src/browser/keyboard/keyboard-layout-service.spec.ts +640 -15
  86. package/src/browser/keyboard/keyboard-layout-service.ts +358 -106
  87. package/src/browser/keyboard/keys.spec.ts +206 -1
  88. package/src/browser/menu/action-menu-node.spec.ts +60 -0
  89. package/src/browser/menu/action-menu-node.ts +8 -14
  90. package/src/browser/menu/browser-menu-plugin.ts +1 -1
  91. package/src/browser/test/jsdom.ts +11 -0
  92. package/src/common/keyboard/keyboard-layout-provider.ts +8 -0
  93. package/src/common/keys.ts +311 -26
  94. package/src/common/ternary-search-tree.spec.ts +14 -0
  95. package/src/common/ternary-search-tree.ts +2 -2
  96. package/src/electron-browser/keyboard/electron-keyboard-module.spec.ts +29 -0
  97. package/src/electron-browser/keyboard/electron-keyboard-module.ts +9 -2
  98. package/src/electron-browser/menu/electron-main-menu-factory.ts +3 -3
  99. package/src/electron-browser/menu/electron-menu-contribution.ts +4 -0
  100. package/src/electron-common/electron-api.spec.ts +42 -0
  101. package/src/electron-common/electron-api.ts +23 -0
  102. package/src/electron-main/electron-api-main.ts +2 -13
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-layout-service.spec.js","sourceRoot":"","sources":["../../../src/browser/keyboard/keyboard-layout-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyboard-layout-service.spec.js","sourceRoot":"","sources":["../../../src/browser/keyboard/keyboard-layout-service.spec.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,126 @@ describe('keys api', () => {
94
94
  const parsedKeyCode = keys_1.KeyCode.parse(keyCodeString);
95
95
  expect(equalKeyCode(parsedKeyCode, keyCode)).to.be.true;
96
96
  });
97
+ it('should keep dispatch strings equivalent to serialized strings', () => {
98
+ const keyCodes = [
99
+ ...Array.from({ length: 16 }, (_, modifiers) => new keys_1.KeyCode({
100
+ key: keys_1.Key.KEY_A,
101
+ ctrl: !!(modifiers & 1),
102
+ shift: !!(modifiers & 2),
103
+ alt: !!(modifiers & 4),
104
+ meta: !!(modifiers & 8)
105
+ })),
106
+ new keys_1.KeyCode({}),
107
+ keys_1.KeyCode.parse('ctrl+['),
108
+ keys_1.KeyCode.parse('shift+/'),
109
+ ...keys_1.KeySequence.parse('ctrlcmd+k ctrlcmd+c')
110
+ ];
111
+ for (const keyCode of keyCodes) {
112
+ expect(keyCode.dispatchString()).to.equal(keyCode.toString());
113
+ }
114
+ });
115
+ it('should distinguish layout modifiers in dispatch identity without changing serialization', () => {
116
+ const command = new keys_1.KeyCode({ key: keys_1.Key.DIGIT8, ctrl: true, alt: true });
117
+ const layout = new keys_1.KeyCode({ key: keys_1.Key.DIGIT8, ctrl: true, layoutModifiers: 'altGraph', character: '[' });
118
+ const shiftedLayout = new keys_1.KeyCode({ key: keys_1.Key.SLASH, layoutModifiers: 'shift', character: '/' });
119
+ expect(command.toString()).to.equal('alt+ctrl+8');
120
+ expect(layout.toString()).to.equal('ctrl+8');
121
+ expect(layout.dispatchString()).to.equal('ctrl+8@altgraph');
122
+ expect(shiftedLayout.toString()).to.equal('/');
123
+ expect(shiftedLayout.dispatchString()).to.equal('/@shift');
124
+ expect(command.equals(layout)).to.be.false;
125
+ });
126
+ it('should keep equality and dispatch identity equivalent for layout modifiers', () => {
127
+ const layers = ['none', 'shift', 'altGraph', 'shiftAltGraph'];
128
+ const keyCodes = Array.from({ length: 64 }, (_, modifiers) => new keys_1.KeyCode({
129
+ key: keys_1.Key.KEY_A,
130
+ ctrl: !!(modifiers & 1),
131
+ shift: !!(modifiers & 2),
132
+ alt: !!(modifiers & 4),
133
+ meta: !!(modifiers & 8),
134
+ layoutModifiers: layers[modifiers >> 4]
135
+ }));
136
+ for (const left of keyCodes) {
137
+ for (const right of keyCodes) {
138
+ expect(left.equals(right)).to.equal(left.dispatchString() === right.dispatchString());
139
+ }
140
+ }
141
+ });
142
+ it('should keep interpretation provenance outside dispatch identity', () => {
143
+ const command = new keys_1.KeyCode({ key: keys_1.Key.DIGIT8, ctrl: true, interpretation: 'commandModifiers' });
144
+ const layout = new keys_1.KeyCode({ key: keys_1.Key.DIGIT8, ctrl: true, interpretation: 'layoutModifiers' });
145
+ expect(command.dispatchString()).to.equal(layout.dispatchString());
146
+ expect(command.equals(layout)).to.be.true;
147
+ expect(command.interpretation).to.equal('commandModifiers');
148
+ expect(layout.interpretation).to.equal('layoutModifiers');
149
+ });
150
+ it('should normalize explicit and native AltGraph state', () => {
151
+ expect((0, keys_1.readAltGraph)({ altGraph: false, getModifierState: () => true })).to.be.false;
152
+ expect((0, keys_1.readAltGraph)({ getModifierState: modifier => modifier === 'AltGraph' })).to.be.true;
153
+ expect((0, keys_1.readAltGraph)({ code: 'Digit8' })).to.be.false;
154
+ expect((0, keys_1.normalizeKeyboardInput)({
155
+ key: '[',
156
+ code: 'Digit8',
157
+ keyCode: 56,
158
+ ctrlKey: true,
159
+ altGraph: true,
160
+ location: 0
161
+ })).to.deep.equal({
162
+ key: '[',
163
+ code: 'Digit8',
164
+ keyCode: 56,
165
+ charCode: undefined,
166
+ ctrlKey: true,
167
+ shiftKey: undefined,
168
+ altKey: undefined,
169
+ metaKey: undefined,
170
+ altGraph: true,
171
+ repeat: undefined,
172
+ isComposing: undefined,
173
+ location: 0,
174
+ timeStamp: undefined,
175
+ keyIdentifier: undefined,
176
+ getModifierState: undefined
177
+ });
178
+ });
179
+ it('should preserve every normalized keyboard input field', () => {
180
+ const getModifierState = (modifier) => modifier === 'AltGraph';
181
+ const input = {
182
+ key: '[',
183
+ code: 'Digit8',
184
+ keyCode: 56,
185
+ charCode: 91,
186
+ ctrlKey: true,
187
+ shiftKey: true,
188
+ altKey: false,
189
+ metaKey: true,
190
+ altGraph: true,
191
+ repeat: true,
192
+ isComposing: false,
193
+ location: 2,
194
+ timeStamp: 42,
195
+ keyIdentifier: 'U+005B',
196
+ getModifierState
197
+ };
198
+ const normalized = (0, keys_1.normalizeKeyboardInput)(input);
199
+ expect({ ...normalized, getModifierState: undefined }).to.deep.equal({ ...input, getModifierState: undefined });
200
+ expect(normalized.getModifierState?.('AltGraph')).to.be.true;
201
+ });
202
+ it('should create key codes from normalized plain data', () => {
203
+ const keyCode = keys_1.KeyCode.createKeyCode({
204
+ key: '[',
205
+ code: 'Digit8',
206
+ keyCode: 56,
207
+ ctrlKey: true
208
+ });
209
+ expect(keyCode.key).to.equal(keys_1.Key.DIGIT8);
210
+ expect(keyCode.ctrl).to.be.true;
211
+ expect(keyCode.character).to.equal('[');
212
+ });
213
+ it('should preserve legacy key identifier fallback in normalized data', () => {
214
+ const input = (0, keys_1.normalizeKeyboardInput)({ keyIdentifier: keys_1.Key.F1.code });
215
+ expect(keys_1.KeyCode.createKeyCode(input).key).to.equal(keys_1.Key.F1);
216
+ });
97
217
  it('the order of the modifiers should not matter when parsing the key code', () => {
98
218
  const left = keys_1.KeySequence.parse('shift+alt+a');
99
219
  const right = keys_1.KeySequence.parse('alt+shift+a');
@@ -183,6 +303,69 @@ describe('keys api', () => {
183
303
  expect(first.key).is.equal(keys_1.Key.F10);
184
304
  expect(second.key).is.equal(keys_1.Key.KEY_B);
185
305
  });
306
+ it('should parse physical scan codes and preserve them when serializing', () => {
307
+ const keycode = keys_1.KeyCode.parse('ctrl+[BracketLeft]');
308
+ expect(keycode.ctrl).to.be.true;
309
+ expect(keycode.key).to.equal(keys_1.Key.BRACKET_LEFT);
310
+ expect(keycode.physical).to.be.true;
311
+ expect(keycode.toString()).to.equal('ctrl+[BracketLeft]');
312
+ expect(() => keys_1.KeyCode.parse('[UnknownPhysicalKey]')).to.throw(/Unknown scan code/);
313
+ });
314
+ it('should parse bare and escaped logical characters', () => {
315
+ for (const character of ['^', '§', '²', 'ä']) {
316
+ const keycode = keys_1.KeyCode.parse(`ctrl+${character}`);
317
+ expect(keycode.character).to.equal(character);
318
+ expect(keycode.toString()).to.equal(`ctrl+${character}`);
319
+ }
320
+ expect(keys_1.KeyCode.parse('ctrl+[char:0x2B]').character).to.equal('+');
321
+ expect(keys_1.KeyCode.parse('ctrl+[char:0x20]').character).to.equal(' ');
322
+ expect(keys_1.KeyCode.parse('ctrl+[char:0x5D]').character).to.equal(']');
323
+ expect(keys_1.KeyCode.parse('ctrl+[char:§]').character).to.equal('§');
324
+ expect(keys_1.KeyCode.parse('ctrl+[char:0x2B]').toString()).to.equal('ctrl+[char:0x2B]');
325
+ });
326
+ it('should keep bracketed separators and whitespace within one key token', () => {
327
+ expect(keys_1.KeySequence.parse('ctrl+[char:0x20] ctrl+[BracketLeft]')).to.have.length(2);
328
+ expect(keys_1.KeySequence.parse('ctrl+[ ctrl+]')).to.have.length(2);
329
+ expect(keys_1.KeySequence.parse('ctrl+] ctrl+[')).to.have.length(2);
330
+ expect(keys_1.KeyCode.parse('ctrl+[char:0x2B]').character).to.equal('+');
331
+ expect(keys_1.KeyCode.parse('ctrl+[char:0x2D]').character).to.equal('-');
332
+ });
333
+ it('should reject invalid and multi-code-point logical characters', () => {
334
+ expect(() => keys_1.KeyCode.parse('[char:0x110000]')).to.throw(/Invalid Unicode/);
335
+ expect(() => keys_1.KeyCode.parse('[char:0xD800]')).to.throw(/Invalid Unicode/);
336
+ expect(() => keys_1.KeyCode.parse('[char:ab]')).to.throw(/Invalid Unicode/);
337
+ expect(() => keys_1.KeyCode.parse('👨‍👩‍👧‍👦')).to.throw(/Unrecognized key/);
338
+ });
339
+ it('should serialize recorder strokes as logical characters, named keys, or physical scan codes', () => {
340
+ expect(new keys_1.KeyCode({ key: keys_1.Key.DIGIT8, ctrl: true, character: '[' }).toAuthoredKeybindingString()).to.equal('ctrl+[');
341
+ expect(new keys_1.KeyCode({ key: keys_1.Key.EQUAL, ctrl: true, character: '+' }).toAuthoredKeybindingString()).to.equal('ctrl+[char:0x2B]');
342
+ const namedKeys = [
343
+ [keys_1.Key.F1, 'f1'],
344
+ [keys_1.Key.DELETE, 'delete'],
345
+ [keys_1.Key.BACKSPACE, 'backspace'],
346
+ [keys_1.Key.ENTER, 'enter'],
347
+ [keys_1.Key.ARROW_LEFT, 'left'],
348
+ [keys_1.Key.SPACE, 'space'],
349
+ [keys_1.Key.ESCAPE, 'escape']
350
+ ];
351
+ for (const [key, name] of namedKeys) {
352
+ const serialized = new keys_1.KeyCode({ key, ctrl: true }).toAuthoredKeybindingString();
353
+ expect(serialized).to.equal(`ctrl+${name}`);
354
+ expect(keys_1.KeyCode.parse(serialized).key).to.equal(key);
355
+ }
356
+ const physicalPrintable = new keys_1.KeyCode({ key: keys_1.Key.DIGIT8, ctrl: true }).toAuthoredKeybindingString();
357
+ expect(physicalPrintable).to.equal('ctrl+[Digit8]');
358
+ expect(keys_1.KeyCode.parse(physicalPrintable).key).to.equal(keys_1.Key.DIGIT8);
359
+ const shiftedLetter = new keys_1.KeyCode({ key: keys_1.Key.KEY_P, ctrl: true, shift: true, character: 'P' });
360
+ expect(shiftedLetter.toAuthoredKeybindingString()).to.equal('shift+ctrl+p');
361
+ expect(keys_1.KeyCode.parse(shiftedLetter.toAuthoredKeybindingString()).dispatchString()).to.equal('shift+ctrl+p');
362
+ });
363
+ it('should serialize recorder strokes for Space and numpad keys by name', () => {
364
+ expect(new keys_1.KeyCode({ key: keys_1.Key.SPACE, meta: true, shift: true, character: ' ' }).toAuthoredKeybindingString()).to.equal('meta+shift+space');
365
+ expect(new keys_1.KeyCode({ key: keys_1.Key.ADD, ctrl: true, character: '+' }).toAuthoredKeybindingString()).to.equal('ctrl+add');
366
+ expect(new keys_1.KeyCode({ key: keys_1.Key.DECIMAL, ctrl: true, character: '.' }).toAuthoredKeybindingString()).to.equal('ctrl+decimal');
367
+ expect(new keys_1.KeyCode({ key: keys_1.Key.DIGIT1, ctrl: true, character: '1' }).toAuthoredKeybindingString()).to.equal('ctrl+1');
368
+ });
186
369
  it('should parse minus as key', () => {
187
370
  const keycode = keys_1.KeyCode.parse('ctrl+-');
188
371
  expect(keycode.ctrl).to.be.true;
@@ -1 +1 @@
1
- {"version":3,"file":"keys.spec.js","sourceRoot":"","sources":["../../../src/browser/keyboard/keys.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.spec.js","sourceRoot":"","sources":["../../../src/browser/keyboard/keys.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,oDAAuD;AACvD,IAAI,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AAEjC,iCAA+H;AAC/H,4DAAsC;AACtC,mDAA6B;AAC7B,qDAA+B;AAE/B,YAAY,EAAE,CAAC;AAEf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAE3B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,MAAM,YAAY,GAAG,CAAC,QAAiB,EAAE,QAAiB,EAAW,EAAE,CACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1D,MAAM,CAAC,GAAG,EAAE;QACR,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACP,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QAEpD,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;QAExC,2BAA2B;QAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,cAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACjF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,aAAa,GAAG,cAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACrC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,CAAC,GAAG,EAAE,CAAC,cAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE1D,MAAM,oBAAoB,GAAG,cAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9C,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC7C,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QACzF,cAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,aAAa,GAAG,cAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACrC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,cAAc,GAAG,cAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,oBAAoB,GAAG,cAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC7C,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9C,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,GAAG,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChG,IAAI,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,aAAa,GAAG,cAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAExD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,GAAG,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5F,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,aAAa,GAAG,cAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAExD,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,OAAO,GAAG,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,KAAK,EAAE,kBAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7G,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,cAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,QAAQ,GAAG;YACb,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,cAAO,CAAC;gBACxD,GAAG,EAAE,UAAG,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;gBACvB,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;gBACxB,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;gBACtB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;aAC1B,CAAC,CAAC;YACH,IAAI,cAAO,CAAC,EAAE,CAAC;YACf,cAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvB,cAAO,CAAC,KAAK,CAAC,SAAS,CAAC;YACxB,GAAG,kBAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAC9C,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QAC/F,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACzG,MAAM,aAAa,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QAClF,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,CAAU,CAAC;QACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,cAAO,CAAC;YACtE,GAAG,EAAE,UAAG,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACvB,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACxB,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACtB,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACvB,eAAe,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;SAC1C,CAAC,CAAC,CAAC;QACJ,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1F,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACvE,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE/F,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,IAAA,mBAAY,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACpF,MAAM,CAAC,IAAA,mBAAY,EAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC3F,MAAM,CAAC,IAAA,mBAAY,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAErD,MAAM,CAAC,IAAA,6BAAsB,EAAC;YAC1B,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC;SACd,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACd,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,SAAS;YACxB,gBAAgB,EAAE,SAAS;SAC9B,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,KAAK,UAAU,CAAC;QACvE,MAAM,KAAK,GAAsC;YAC7C,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,QAAQ;YACvB,gBAAgB;SACnB,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,6BAAsB,EAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;QAChH,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,MAAM,OAAO,GAAG,cAAO,CAAC,aAAa,CAAC;YAClC,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QACzE,MAAM,KAAK,GAAG,IAAA,6BAAsB,EAAC,EAAE,aAAa,EAAE,UAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,cAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAC9E,MAAM,IAAI,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,kBAAW,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAErF,MAAM,CAAC,kBAAW,CAAC,OAAO,CACtB,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,GAAG,EAAE,kBAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxJ,MAAM,CAAC,kBAAW,CAAC,OAAO,CACtB,IAAI,EAAE,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,GAAG,EAAE,kBAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEvJ,MAAM,CAAC,kBAAW,CAAC,OAAO,CACtB,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,KAAK,EAAE,kBAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxJ,MAAM,CAAC,kBAAW,CAAC,OAAO,CACtB,IAAI,EAAE,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,KAAK,EAAE,kBAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3J,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACvE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE;YACvC,GAAG,EAAE,UAAG,CAAC,SAAS,CAAC,UAAU;YAC7B,IAAI,EAAE,UAAG,CAAC,SAAS,CAAC,IAAI;YACxB,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,cAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,cAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE;YACvC,IAAI,EAAE,UAAG,CAAC,SAAS,CAAC,IAAI;SAC3B,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,UAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,cAAO,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9F,MAAM,CAAC,cAAO,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9F,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,cAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,aAAa,CAAC,IAAI,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,EAAE,kBAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAErH,MAAM,cAAc,GAAG,kBAAW,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACtE,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,aAAa,CAAC,IAAI,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEhE,MAAM,cAAc,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,IAAI,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEzC,MAAM,CAAC,kBAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEjF,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnC,MAAM,CAAC,kBAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEhF,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvC,MAAM,CAAC,kBAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE9E,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,MAAM,CAAC,kBAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE9E,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,MAAM,CAAC,kBAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE9E,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvC,MAAM,CAAC,kBAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,OAAO,GAAG,cAAO,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9F,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,MAAM,OAAO,GAAG,cAAO,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,EAAE,kBAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7F,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAO,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,kBAAW,CAAC,OAAO,EAAE,kBAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/G,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,kBAAW,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,cAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,kBAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,kBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,kBAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,GAAG,EAAE,CAAC,cAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,EAAE,CAAC,cAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,EAAE,CAAC,cAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,EAAE,CAAC,cAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6FAA6F,EAAE,GAAG,EAAE;QACnG,MAAM,CAAC,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrH,MAAM,CAAC,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE9H,MAAM,SAAS,GAAyB;YACpC,CAAC,UAAG,CAAC,EAAE,EAAE,IAAI,CAAC;YACd,CAAC,UAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;YACtB,CAAC,UAAG,CAAC,SAAS,EAAE,WAAW,CAAC;YAC5B,CAAC,UAAG,CAAC,KAAK,EAAE,OAAO,CAAC;YACpB,CAAC,UAAG,CAAC,UAAU,EAAE,MAAM,CAAC;YACxB,CAAC,UAAG,CAAC,KAAK,EAAE,OAAO,CAAC;YACpB,CAAC,UAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;SACzB,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,0BAA0B,EAAE,CAAC;YACjF,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,0BAA0B,EAAE,CAAC;QACpG,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,MAAM,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/F,MAAM,CAAC,aAAa,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC5E,MAAM,CAAC,cAAO,CAAC,KAAK,CAAC,aAAa,CAAC,0BAA0B,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAChH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC3I,MAAM,CAAC,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpH,MAAM,CAAC,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC5H,MAAM,CAAC,IAAI,cAAO,CAAC,EAAE,GAAG,EAAE,UAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC/C,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,OAAO,GAAG,cAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
@@ -1,9 +1,11 @@
1
- import { KeybindingRegistry } from '../keybinding';
1
+ import { AcceleratorForm, KeybindingRegistry } from '../keybinding';
2
2
  import { ContextKeyService } from '../context-key-service';
3
3
  import { DisposableCollection, CommandRegistry, Emitter } from '../../common';
4
4
  import { CommandMenu, ContextExpressionMatcher, MenuAction, MenuPath } from '../../common/menu/menu-types';
5
+ export { AcceleratorForm } from '../keybinding';
5
6
  export interface AcceleratorSource {
6
- getAccelerator(context: HTMLElement | undefined): string[];
7
+ /** Return the accelerator rendered in the explicitly requested logical or physical form. */
8
+ getAccelerator(context: HTMLElement | undefined, form: AcceleratorForm): string[];
7
9
  }
8
10
  export declare namespace AcceleratorSource {
9
11
  function is(node: unknown): node is AcceleratorSource;
@@ -24,7 +26,7 @@ export declare class ActionMenuNode implements CommandMenu {
24
26
  constructor(action: MenuAction, commands: CommandRegistry, keybindingRegistry: KeybindingRegistry, contextKeyService: ContextKeyService);
25
27
  dispose(): void;
26
28
  isVisible<T>(effeciveMenuPath: MenuPath, contextMatcher: ContextExpressionMatcher<T>, context: T | undefined, ...args: unknown[]): boolean;
27
- getAccelerator(context: HTMLElement | undefined): string[];
29
+ getAccelerator(context: HTMLElement | undefined, form: AcceleratorForm): string[];
28
30
  isEnabled(effeciveMenuPath: MenuPath, ...args: unknown[]): boolean;
29
31
  isToggled(effeciveMenuPath: MenuPath, ...args: unknown[]): boolean;
30
32
  run(effeciveMenuPath: MenuPath, ...args: unknown[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"action-menu-node.d.ts","sourceRoot":"","sources":["../../../src/browser/menu/action-menu-node.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAY,eAAe,EAAE,OAAO,EAAe,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE3G,MAAM,WAAW,iBAAiB;IAC9B,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;CAC9D;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB,CAE3D;CACJ;AAED;;;;GAIG;AACH,qBAAa,cAAe,YAAW,WAAW;IAQ1C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IACrC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC5C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAT3D,SAAS,CAAC,QAAQ,CAAC,WAAW,uBAA8B;IAC5D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAE5D,WAAW,qCAAiC;gBAGrB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,eAAe,EACzB,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB;IAqB3D,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAU1I,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE;IAa1D,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAGlE,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAG5D,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,IAAI,EAAE,IAAI,MAAM,CAAkC;IAClD,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAA6B;IAE3D,IAAI,KAAK,IAAI,MAAM,CAUlB;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAM7B;IAED,IAAI,UAAU,IAAI,MAAM,CAA4C;CACvE"}
1
+ {"version":3,"file":"action-menu-node.d.ts","sourceRoot":"","sources":["../../../src/browser/menu/action-menu-node.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAY,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE3G,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAC9B,4FAA4F;IAC5F,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,CAAC;CACrF;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB,CAE3D;CACJ;AAED;;;;GAIG;AACH,qBAAa,cAAe,YAAW,WAAW;IAQ1C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IACrC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC5C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAT3D,SAAS,CAAC,QAAQ,CAAC,WAAW,uBAA8B;IAC5D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAE5D,WAAW,qCAAiC;gBAGrB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,eAAe,EACzB,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB;IAqB3D,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAU1I,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE;IAIjF,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAGlE,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAG5D,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,IAAI,EAAE,IAAI,MAAM,CAAkC;IAClD,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAA6B;IAE3D,IAAI,KAAK,IAAI,MAAM,CAUlB;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAM7B;IAED,IAAI,UAAU,IAAI,MAAM,CAA4C;CACvE"}
@@ -67,17 +67,8 @@ class ActionMenuNode {
67
67
  }
68
68
  return true;
69
69
  }
70
- getAccelerator(context) {
71
- const bindings = this.keybindingRegistry.getKeybindingsForCommand(this.action.commandId);
72
- // Only consider the first active keybinding.
73
- if (bindings.length) {
74
- const binding = bindings.find(b => this.keybindingRegistry.isEnabledInScope(b, context));
75
- if (binding) {
76
- const asciiOnly = common_1.environment.electron.is();
77
- return this.keybindingRegistry.acceleratorFor(binding, '+', asciiOnly);
78
- }
79
- }
80
- return [];
70
+ getAccelerator(context, form) {
71
+ return this.keybindingRegistry.acceleratorForCommand(this.action.commandId, context, form);
81
72
  }
82
73
  isEnabled(effeciveMenuPath, ...args) {
83
74
  return this.commands.isEnabled(this.action.commandId, ...args);
@@ -1 +1 @@
1
- {"version":3,"file":"action-menu-node.js","sourceRoot":"","sources":["../../../src/browser/menu/action-menu-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-menu-node.js","sourceRoot":"","sources":["../../../src/browser/menu/action-menu-node.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAIhF,yCAAwF;AAUxF,IAAiB,iBAAiB,CAIjC;AAJD,WAAiB,iBAAiB;IAC9B,SAAgB,EAAE,CAAC,IAAa;QAC5B,OAAO,IAAA,iBAAQ,EAAoB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC;IAC1F,CAAC;IAFe,oBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,iBAAiB,iCAAjB,iBAAiB,QAIjC;AAED;;;;GAIG;AACH,MAAa,cAAc;IAOvB,YACuB,MAAkB,EAClB,QAAyB,EACzB,kBAAsC,EACtC,iBAAoC;QAHpC,WAAM,GAAN,MAAM,CAAY;QAClB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QATxC,gBAAW,GAAG,IAAI,6BAAoB,EAAE,CAAC;QACzC,uBAAkB,GAAG,IAAI,gBAAO,EAAQ,CAAC;QAE5D,gBAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAQxC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC7D,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5F,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACpF,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;oBAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;oBACnC,CAAC;gBACL,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,SAAS,CAAI,gBAA0B,EAAE,cAA2C,EAAE,OAAsB,EAAE,GAAG,IAAe;QAC5H,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,OAAgC,EAAE,IAAqB;QAClE,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,SAAS,CAAC,gBAA0B,EAAE,GAAG,IAAe;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,SAAS,CAAC,gBAA0B,EAAE,GAAG,IAAe;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,gBAA0B,EAAE,GAAG,IAAe;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,EAAE,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,IAAI,IAAI,KAAyB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3D,IAAI,KAAK;QACL,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,MAAM,CAAC,SAAS,WAAW,CAAC,CAAC;YAC9F,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,IAAI,UAAU,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;CACvE;AApFD,wCAoFC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=action-menu-node.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-menu-node.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/menu/action-menu-node.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const chai_1 = require("chai");
19
+ const keys_1 = require("../keyboard/keys");
20
+ const keybinding_1 = require("../keybinding");
21
+ const action_menu_node_1 = require("./action-menu-node");
22
+ describe('ActionMenuNode accelerators', () => {
23
+ it('selects logical and physical accelerator forms explicitly', () => {
24
+ const binding = { command: 'test.command', keybinding: 'ctrl+[' };
25
+ const state = { inactive: false };
26
+ const keybindingRegistry = Object.create(keybinding_1.KeybindingRegistry.prototype);
27
+ keybindingRegistry.getKeybindingsForCommand = () => [{ ...binding, scope: 0 }];
28
+ keybindingRegistry.isEnabledInScope = () => true;
29
+ keybindingRegistry.isKeybindingInactive = () => state.inactive;
30
+ keybindingRegistry.resolveKeybinding = () => [new keys_1.KeyCode({
31
+ key: keys_1.Key.DIGIT8,
32
+ ctrl: true,
33
+ character: '[',
34
+ layoutModifiers: 'altGraph'
35
+ })];
36
+ Object.defineProperty(keybindingRegistry, 'keyboardLayoutService', {
37
+ value: { getKeyboardCharacter: (key) => key.easyString }
38
+ });
39
+ const commands = {
40
+ getAllHandlers: () => [],
41
+ getCommand: () => ({ id: 'test.command' })
42
+ };
43
+ const contextKeyService = {
44
+ parseKeys: () => undefined
45
+ };
46
+ const node = new action_menu_node_1.ActionMenuNode({ commandId: 'test.command' }, commands, keybindingRegistry, contextKeyService);
47
+ (0, chai_1.expect)(node.getAccelerator(undefined, 'logical')).to.deep.equal(['Ctrl+[']);
48
+ (0, chai_1.expect)(node.getAccelerator(undefined, 'physical')).to.deep.equal(['Ctrl+AltGr+8']);
49
+ state.inactive = true;
50
+ (0, chai_1.expect)(node.getAccelerator(undefined, 'logical')).to.deep.equal(['Ctrl+[']);
51
+ (0, chai_1.expect)(node.getAccelerator(undefined, 'physical')).to.deep.equal([]);
52
+ });
53
+ });
54
+ //# sourceMappingURL=action-menu-node.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-menu-node.spec.js","sourceRoot":"","sources":["../../../src/browser/menu/action-menu-node.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,2CAAgD;AAChD,8CAAmD;AACnD,yDAAoD;AAEpD,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAkB,CAAC,SAAS,CAAuB,CAAC;QAC7F,kBAAkB,CAAC,wBAAwB,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,kBAAkB,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;QACjD,kBAAkB,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/D,kBAAkB,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,cAAO,CAAC;gBACtD,GAAG,EAAE,UAAG,CAAC,MAAM;gBACf,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,GAAG;gBACd,eAAe,EAAE,UAAU;aAC9B,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,uBAAuB,EAAE;YAC/D,KAAK,EAAE,EAAE,oBAAoB,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE;SAChE,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG;YACb,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE;YACxB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;SAC7C,CAAC;QACF,MAAM,iBAAiB,GAAG;YACtB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;SAC7B,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,iCAAc,CAC3B,EAAE,SAAS,EAAE,cAAc,EAAE,EAC7B,QAAiB,EACjB,kBAAkB,EAClB,iBAA0B,CAC7B,CAAC;QAEF,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAEnF,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -317,7 +317,7 @@ class DynamicMenuWidget extends widgets_1.Menu {
317
317
  label: node.label,
318
318
  iconClass: node.icon,
319
319
  });
320
- const accelerator = (common_1.AcceleratorSource.is(node) ? node.getAccelerator(this.options.context) : []);
320
+ const accelerator = (common_1.AcceleratorSource.is(node) ? node.getAccelerator(this.options.context, 'logical') : []);
321
321
  if (accelerator.length > 0) {
322
322
  phCommandRegistry.addKeyBinding({
323
323
  command: id,