geeto 0.1.0-beta.0

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 (203) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +152 -0
  3. package/lib/api/copilot-adapter.d.ts +11 -0
  4. package/lib/api/copilot-adapter.d.ts.map +1 -0
  5. package/lib/api/copilot-adapter.js +41 -0
  6. package/lib/api/copilot-adapter.js.map +1 -0
  7. package/lib/api/copilot-sdk.d.ts +48 -0
  8. package/lib/api/copilot-sdk.d.ts.map +1 -0
  9. package/lib/api/copilot-sdk.js +451 -0
  10. package/lib/api/copilot-sdk.js.map +1 -0
  11. package/lib/api/copilot.d.ts +21 -0
  12. package/lib/api/copilot.d.ts.map +1 -0
  13. package/lib/api/copilot.js +87 -0
  14. package/lib/api/copilot.js.map +1 -0
  15. package/lib/api/gemini-sdk.d.ts +24 -0
  16. package/lib/api/gemini-sdk.d.ts.map +1 -0
  17. package/lib/api/gemini-sdk.js +245 -0
  18. package/lib/api/gemini-sdk.js.map +1 -0
  19. package/lib/api/gemini.d.ts +21 -0
  20. package/lib/api/gemini.d.ts.map +1 -0
  21. package/lib/api/gemini.js +87 -0
  22. package/lib/api/gemini.js.map +1 -0
  23. package/lib/api/openrouter-sdk.d.ts +58 -0
  24. package/lib/api/openrouter-sdk.d.ts.map +1 -0
  25. package/lib/api/openrouter-sdk.js +341 -0
  26. package/lib/api/openrouter-sdk.js.map +1 -0
  27. package/lib/api/openrouter.d.ts +17 -0
  28. package/lib/api/openrouter.d.ts.map +1 -0
  29. package/lib/api/openrouter.js +111 -0
  30. package/lib/api/openrouter.js.map +1 -0
  31. package/lib/api/trello.d.ts +17 -0
  32. package/lib/api/trello.d.ts.map +1 -0
  33. package/lib/api/trello.js +72 -0
  34. package/lib/api/trello.js.map +1 -0
  35. package/lib/cli/input.d.ts +39 -0
  36. package/lib/cli/input.d.ts.map +1 -0
  37. package/lib/cli/input.js +119 -0
  38. package/lib/cli/input.js.map +1 -0
  39. package/lib/cli/menu.d.ts +9 -0
  40. package/lib/cli/menu.d.ts.map +1 -0
  41. package/lib/cli/menu.js +201 -0
  42. package/lib/cli/menu.js.map +1 -0
  43. package/lib/core/constants.d.ts +22 -0
  44. package/lib/core/constants.d.ts.map +1 -0
  45. package/lib/core/constants.js +24 -0
  46. package/lib/core/constants.js.map +1 -0
  47. package/lib/core/copilot-setup.d.ts +13 -0
  48. package/lib/core/copilot-setup.d.ts.map +1 -0
  49. package/lib/core/copilot-setup.js +447 -0
  50. package/lib/core/copilot-setup.js.map +1 -0
  51. package/lib/core/gemini-setup.d.ts +8 -0
  52. package/lib/core/gemini-setup.d.ts.map +1 -0
  53. package/lib/core/gemini-setup.js +84 -0
  54. package/lib/core/gemini-setup.js.map +1 -0
  55. package/lib/core/menu-constants.d.ts +24 -0
  56. package/lib/core/menu-constants.d.ts.map +1 -0
  57. package/lib/core/menu-constants.js +22 -0
  58. package/lib/core/menu-constants.js.map +1 -0
  59. package/lib/core/openrouter-setup.d.ts +8 -0
  60. package/lib/core/openrouter-setup.d.ts.map +1 -0
  61. package/lib/core/openrouter-setup.js +73 -0
  62. package/lib/core/openrouter-setup.js.map +1 -0
  63. package/lib/core/setup.d.ts +21 -0
  64. package/lib/core/setup.d.ts.map +1 -0
  65. package/lib/core/setup.js +88 -0
  66. package/lib/core/setup.js.map +1 -0
  67. package/lib/core/trello-setup.d.ts +8 -0
  68. package/lib/core/trello-setup.d.ts.map +1 -0
  69. package/lib/core/trello-setup.js +107 -0
  70. package/lib/core/trello-setup.js.map +1 -0
  71. package/lib/index.d.ts +3 -0
  72. package/lib/index.d.ts.map +1 -0
  73. package/lib/index.js +250 -0
  74. package/lib/index.js.map +1 -0
  75. package/lib/types/index.d.ts +78 -0
  76. package/lib/types/index.d.ts.map +1 -0
  77. package/lib/types/index.js +2 -0
  78. package/lib/types/index.js.map +1 -0
  79. package/lib/utils/branch-naming.d.ts +11 -0
  80. package/lib/utils/branch-naming.d.ts.map +1 -0
  81. package/lib/utils/branch-naming.js +396 -0
  82. package/lib/utils/branch-naming.js.map +1 -0
  83. package/lib/utils/colors.d.ts +14 -0
  84. package/lib/utils/colors.d.ts.map +1 -0
  85. package/lib/utils/colors.js +14 -0
  86. package/lib/utils/colors.js.map +1 -0
  87. package/lib/utils/commit-helpers.d.ts +53 -0
  88. package/lib/utils/commit-helpers.d.ts.map +1 -0
  89. package/lib/utils/commit-helpers.js +177 -0
  90. package/lib/utils/commit-helpers.js.map +1 -0
  91. package/lib/utils/config.d.ts +87 -0
  92. package/lib/utils/config.d.ts.map +1 -0
  93. package/lib/utils/config.js +326 -0
  94. package/lib/utils/config.js.map +1 -0
  95. package/lib/utils/display.d.ts +27 -0
  96. package/lib/utils/display.d.ts.map +1 -0
  97. package/lib/utils/display.js +116 -0
  98. package/lib/utils/display.js.map +1 -0
  99. package/lib/utils/error-helpers.d.ts +27 -0
  100. package/lib/utils/error-helpers.d.ts.map +1 -0
  101. package/lib/utils/error-helpers.js +102 -0
  102. package/lib/utils/error-helpers.js.map +1 -0
  103. package/lib/utils/exec.d.ts +18 -0
  104. package/lib/utils/exec.d.ts.map +1 -0
  105. package/lib/utils/exec.js +96 -0
  106. package/lib/utils/exec.js.map +1 -0
  107. package/lib/utils/git-ai-errors.d.ts +10 -0
  108. package/lib/utils/git-ai-errors.d.ts.map +1 -0
  109. package/lib/utils/git-ai-errors.js +71 -0
  110. package/lib/utils/git-ai-errors.js.map +1 -0
  111. package/lib/utils/git-ai.d.ts +26 -0
  112. package/lib/utils/git-ai.d.ts.map +1 -0
  113. package/lib/utils/git-ai.js +603 -0
  114. package/lib/utils/git-ai.js.map +1 -0
  115. package/lib/utils/git-commands.d.ts +21 -0
  116. package/lib/utils/git-commands.d.ts.map +1 -0
  117. package/lib/utils/git-commands.js +58 -0
  118. package/lib/utils/git-commands.js.map +1 -0
  119. package/lib/utils/git-errors.d.ts +76 -0
  120. package/lib/utils/git-errors.d.ts.map +1 -0
  121. package/lib/utils/git-errors.js +565 -0
  122. package/lib/utils/git-errors.js.map +1 -0
  123. package/lib/utils/git.d.ts +61 -0
  124. package/lib/utils/git.d.ts.map +1 -0
  125. package/lib/utils/git.js +245 -0
  126. package/lib/utils/git.js.map +1 -0
  127. package/lib/utils/logging.d.ts +25 -0
  128. package/lib/utils/logging.d.ts.map +1 -0
  129. package/lib/utils/logging.js +71 -0
  130. package/lib/utils/logging.js.map +1 -0
  131. package/lib/utils/menu-builders.d.ts +47 -0
  132. package/lib/utils/menu-builders.d.ts.map +1 -0
  133. package/lib/utils/menu-builders.js +34 -0
  134. package/lib/utils/menu-builders.js.map +1 -0
  135. package/lib/utils/platform.d.ts +13 -0
  136. package/lib/utils/platform.d.ts.map +1 -0
  137. package/lib/utils/platform.js +32 -0
  138. package/lib/utils/platform.js.map +1 -0
  139. package/lib/utils/spinner-wrapper.d.ts +16 -0
  140. package/lib/utils/spinner-wrapper.d.ts.map +1 -0
  141. package/lib/utils/spinner-wrapper.js +56 -0
  142. package/lib/utils/spinner-wrapper.js.map +1 -0
  143. package/lib/utils/state.d.ts +22 -0
  144. package/lib/utils/state.d.ts.map +1 -0
  145. package/lib/utils/state.js +75 -0
  146. package/lib/utils/state.js.map +1 -0
  147. package/lib/utils/time.d.ts +4 -0
  148. package/lib/utils/time.d.ts.map +1 -0
  149. package/lib/utils/time.js +29 -0
  150. package/lib/utils/time.js.map +1 -0
  151. package/lib/utils/type-guards.d.ts +10 -0
  152. package/lib/utils/type-guards.d.ts.map +1 -0
  153. package/lib/utils/type-guards.js +29 -0
  154. package/lib/utils/type-guards.js.map +1 -0
  155. package/lib/workflows/ai-provider.d.ts +13 -0
  156. package/lib/workflows/ai-provider.d.ts.map +1 -0
  157. package/lib/workflows/ai-provider.js +55 -0
  158. package/lib/workflows/ai-provider.js.map +1 -0
  159. package/lib/workflows/author.d.ts +4 -0
  160. package/lib/workflows/author.d.ts.map +1 -0
  161. package/lib/workflows/author.js +80 -0
  162. package/lib/workflows/author.js.map +1 -0
  163. package/lib/workflows/branch-helpers.d.ts +9 -0
  164. package/lib/workflows/branch-helpers.d.ts.map +1 -0
  165. package/lib/workflows/branch-helpers.js +406 -0
  166. package/lib/workflows/branch-helpers.js.map +1 -0
  167. package/lib/workflows/branch-utils.d.ts +9 -0
  168. package/lib/workflows/branch-utils.d.ts.map +1 -0
  169. package/lib/workflows/branch-utils.js +61 -0
  170. package/lib/workflows/branch-utils.js.map +1 -0
  171. package/lib/workflows/branch.d.ts +12 -0
  172. package/lib/workflows/branch.d.ts.map +1 -0
  173. package/lib/workflows/branch.js +555 -0
  174. package/lib/workflows/branch.js.map +1 -0
  175. package/lib/workflows/cleanup.d.ts +10 -0
  176. package/lib/workflows/cleanup.d.ts.map +1 -0
  177. package/lib/workflows/cleanup.js +287 -0
  178. package/lib/workflows/cleanup.js.map +1 -0
  179. package/lib/workflows/commit.d.ts +10 -0
  180. package/lib/workflows/commit.d.ts.map +1 -0
  181. package/lib/workflows/commit.js +771 -0
  182. package/lib/workflows/commit.js.map +1 -0
  183. package/lib/workflows/main-steps.d.ts +12 -0
  184. package/lib/workflows/main-steps.d.ts.map +1 -0
  185. package/lib/workflows/main-steps.js +407 -0
  186. package/lib/workflows/main-steps.js.map +1 -0
  187. package/lib/workflows/main.d.ts +8 -0
  188. package/lib/workflows/main.d.ts.map +1 -0
  189. package/lib/workflows/main.js +720 -0
  190. package/lib/workflows/main.js.map +1 -0
  191. package/lib/workflows/security-gate.d.ts +8 -0
  192. package/lib/workflows/security-gate.d.ts.map +1 -0
  193. package/lib/workflows/security-gate.js +447 -0
  194. package/lib/workflows/security-gate.js.map +1 -0
  195. package/lib/workflows/settings.d.ts +15 -0
  196. package/lib/workflows/settings.d.ts.map +1 -0
  197. package/lib/workflows/settings.js +438 -0
  198. package/lib/workflows/settings.js.map +1 -0
  199. package/lib/workflows/trello-menu.d.ts +16 -0
  200. package/lib/workflows/trello-menu.d.ts.map +1 -0
  201. package/lib/workflows/trello-menu.js +361 -0
  202. package/lib/workflows/trello-menu.js.map +1 -0
  203. package/package.json +112 -0
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Git command execution utilities
3
+ */
4
+ /** Execute git command with error handling */
5
+ export declare function gitExec(command: string, silent?: boolean): string;
6
+ /** Check if we're in a git repository */
7
+ export declare function isGitRepository(): boolean;
8
+ /** Get git config value */
9
+ export declare function getGitConfig(key: string): string;
10
+ /** Set git config value */
11
+ export declare function setGitConfig(key: string, value: string): void;
12
+ /** Get git user info */
13
+ export declare function getGitUser(): {
14
+ name: string;
15
+ email: string;
16
+ };
17
+ /** Get remote URL */
18
+ export declare function getRemoteUrl(remote?: string): string;
19
+ /** Get upstream branch */
20
+ export declare function getUpstreamBranch(): string;
21
+ //# sourceMappingURL=git-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-commands.d.ts","sourceRoot":"","sources":["../../src/utils/git-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,8CAA8C;AAC9C,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,MAAM,CAG/D;AAED,yCAAyC;AACzC,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAED,2BAA2B;AAC3B,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED,2BAA2B;AAC3B,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAwB;AACxB,wBAAgB,UAAU,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK5D;AAED,qBAAqB;AACrB,wBAAgB,YAAY,CAAC,MAAM,SAAW,GAAG,MAAM,CAMtD;AAED,0BAA0B;AAC1B,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Git command execution utilities
3
+ */
4
+ import { exec } from './exec.js';
5
+ /** Execute git command with error handling */
6
+ export function gitExec(command, silent = false) {
7
+ const fullCommand = command.startsWith('git ') ? command : `git ${command}`;
8
+ return exec(fullCommand, silent);
9
+ }
10
+ /** Check if we're in a git repository */
11
+ export function isGitRepository() {
12
+ try {
13
+ gitExec('rev-parse --is-inside-work-tree', true);
14
+ return true;
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ }
20
+ /** Get git config value */
21
+ export function getGitConfig(key) {
22
+ try {
23
+ return gitExec(`config ${key}`, true).trim();
24
+ }
25
+ catch {
26
+ return '';
27
+ }
28
+ }
29
+ /** Set git config value */
30
+ export function setGitConfig(key, value) {
31
+ gitExec(`config ${key} "${value}"`);
32
+ }
33
+ /** Get git user info */
34
+ export function getGitUser() {
35
+ return {
36
+ name: getGitConfig('user.name'),
37
+ email: getGitConfig('user.email'),
38
+ };
39
+ }
40
+ /** Get remote URL */
41
+ export function getRemoteUrl(remote = 'origin') {
42
+ try {
43
+ return gitExec(`remote get-url ${remote}`, true).trim();
44
+ }
45
+ catch {
46
+ return '';
47
+ }
48
+ }
49
+ /** Get upstream branch */
50
+ export function getUpstreamBranch() {
51
+ try {
52
+ return gitExec('rev-parse --abbrev-ref --symbolic-full-name @{u}', true).trim();
53
+ }
54
+ catch {
55
+ return '';
56
+ }
57
+ }
58
+ //# sourceMappingURL=git-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-commands.js","sourceRoot":"","sources":["../../src/utils/git-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,8CAA8C;AAC9C,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,MAAM,GAAG,KAAK;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAAA;IAC3E,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;AAClC,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,OAAO,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAA;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,KAAa;IACrD,OAAO,CAAC,UAAU,GAAG,KAAK,KAAK,GAAG,CAAC,CAAA;AACrC,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC;QAC/B,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC;KAClC,CAAA;AACH,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,YAAY,CAAC,MAAM,GAAG,QAAQ;IAC5C,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,kBAAkB,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,kDAAkD,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Comprehensive git error handling utilities
3
+ * Handles common git operation failures with user-friendly recovery options
4
+ */
5
+ /**
6
+ * Check if there are uncommitted changes in the working directory
7
+ */
8
+ export declare const hasUncommittedChanges: () => boolean;
9
+ /**
10
+ * Check if there's a merge in progress
11
+ */
12
+ export declare const isMergeInProgress: () => boolean;
13
+ /**
14
+ * Check if there's a rebase in progress
15
+ */
16
+ export declare const isRebaseInProgress: () => boolean;
17
+ /**
18
+ * Handle uncommitted changes before checkout
19
+ * Offers user options: stash, commit, force checkout, or cancel
20
+ */
21
+ export declare const handleUncommittedChangesBeforeCheckout: (context?: string) => Promise<"proceed" | "cancel" | "commit-needed">;
22
+ /**
23
+ * Safe git checkout with error handling
24
+ */
25
+ export declare const safeCheckout: (branchName: string, options?: {
26
+ create?: boolean;
27
+ force?: boolean;
28
+ context?: string;
29
+ }) => Promise<{
30
+ success: boolean;
31
+ error?: string;
32
+ commitNeeded?: boolean;
33
+ }>;
34
+ /**
35
+ * Handle merge conflicts
36
+ */
37
+ export declare const handleMergeConflicts: () => Promise<"resolved" | "abort" | "manual">;
38
+ /**
39
+ * Safe git merge with error handling
40
+ */
41
+ export declare const safeMerge: (sourceBranch: string, options?: {
42
+ noFf?: boolean;
43
+ squash?: boolean;
44
+ }) => Promise<{
45
+ success: boolean;
46
+ conflict?: boolean;
47
+ error?: string;
48
+ }>;
49
+ /**
50
+ * Safe git push with comprehensive error handling
51
+ */
52
+ export declare const safePush: (branchName?: string, options?: {
53
+ setUpstream?: boolean;
54
+ force?: boolean;
55
+ }) => Promise<{
56
+ success: boolean;
57
+ error?: string;
58
+ }>;
59
+ /**
60
+ * Safe git commit with error handling
61
+ */
62
+ export declare const safeCommit: (message: string, options?: {
63
+ amend?: boolean;
64
+ noVerify?: boolean;
65
+ }) => Promise<{
66
+ success: boolean;
67
+ error?: string;
68
+ }>;
69
+ /**
70
+ * Safe git pull with error handling
71
+ */
72
+ export declare const safePull: (remote?: string, branch?: string) => Promise<{
73
+ success: boolean;
74
+ error?: string;
75
+ }>;
76
+ //# sourceMappingURL=git-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-errors.d.ts","sourceRoot":"","sources":["../../src/utils/git-errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAO,OAOxC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAOpC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,OAUrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sCAAsC,GACjD,UAAU,MAAM,KACf,OAAO,CAAC,SAAS,GAAG,QAAQ,GAAG,eAAe,CAoEhD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,YAAY,MAAM,EAClB,UAAU;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAChE,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CA6HtE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAa,OAAO,CAAC,UAAU,GAAG,OAAO,GAAG,QAAQ,CAoCpF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GACpB,cAAc,MAAM,EACpB,UAAU;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7C,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAmDlE,CAAA;AAsDD;;GAEG;AACH,eAAO,MAAM,QAAQ,GACnB,aAAa,MAAM,EACnB,UAAU;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KACnD,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAgG9C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,MAAM,EACf,UAAU;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,KAChD,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAkE9C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAQ,MAAiB,EACzB,SAAS,MAAM,KACd,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA8D9C,CAAA"}