@goondocks/myco 0.4.0 → 0.4.2

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 (75) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CONTRIBUTING.md +4 -5
  4. package/README.md +1 -1
  5. package/dist/{chunk-P7RNAYU7.js → chunk-67R6EMYD.js} +61 -9
  6. package/dist/chunk-67R6EMYD.js.map +1 -0
  7. package/dist/{chunk-G6ZMTQMJ.js → chunk-6UJWI4IW.js} +3 -1
  8. package/dist/{chunk-G6ZMTQMJ.js.map → chunk-6UJWI4IW.js.map} +1 -1
  9. package/dist/{chunk-S7EIHYE7.js → chunk-FPEDTLQ6.js} +3 -3
  10. package/dist/{chunk-S7EIHYE7.js.map → chunk-FPEDTLQ6.js.map} +1 -1
  11. package/dist/{chunk-XHWIIU5D.js → chunk-GFBG73P4.js} +2 -2
  12. package/dist/{chunk-TZDDXRHG.js → chunk-I7PNZEBO.js} +2 -2
  13. package/dist/{chunk-IVS5MYBL.js → chunk-IYFKPSRP.js} +2 -2
  14. package/dist/{chunk-NUA7UTIY.js → chunk-MIU3DKLN.js} +2 -2
  15. package/dist/{chunk-VYV5IFD6.js → chunk-T7OC6GH5.js} +2 -2
  16. package/dist/chunk-TBRZAJ7W.js +135 -0
  17. package/dist/chunk-TBRZAJ7W.js.map +1 -0
  18. package/dist/{chunk-4FCFRJIQ.js → chunk-UKWO26VI.js} +2 -2
  19. package/dist/{chunk-YZO22BBI.js → chunk-V2OWD2VV.js} +4 -4
  20. package/dist/{chunk-RDXTQ436.js → chunk-WBT5DWGC.js} +2 -2
  21. package/dist/{cli-ZN6VBA7V.js → cli-PMOFCZQL.js} +15 -15
  22. package/dist/{config-4GGMWGAF.js → config-5FGLQGCW.js} +3 -3
  23. package/dist/{detect-providers-5FU3BN5Q.js → detect-providers-IRL2TTLK.js} +2 -2
  24. package/dist/{init-7UXGDOFS.js → init-NUF5UBUJ.js} +6 -6
  25. package/dist/{main-6UPAIDGS.js → main-2XEBVUR6.js} +19 -10
  26. package/dist/{main-6UPAIDGS.js.map → main-2XEBVUR6.js.map} +1 -1
  27. package/dist/{rebuild-QDSYYCS7.js → rebuild-E6YFIRYZ.js} +6 -6
  28. package/dist/{reprocess-ZNUQCIS3.js → reprocess-7G7KQWCN.js} +9 -9
  29. package/dist/{restart-5UY2KV54.js → restart-ABW4ZK3P.js} +3 -3
  30. package/dist/{search-2VEN3XIG.js → search-MPD7SFK6.js} +5 -5
  31. package/dist/{server-OR5B4B7K.js → server-NZLZRITH.js} +9 -9
  32. package/dist/{session-start-TUITIUMB.js → session-start-YB4A4PZB.js} +4 -4
  33. package/dist/{setup-digest-ETCZAUIU.js → setup-digest-K732MGOJ.js} +5 -5
  34. package/dist/{setup-llm-DWEJE3JE.js → setup-llm-XCCH5LYD.js} +5 -5
  35. package/dist/src/cli.js +1 -1
  36. package/dist/src/daemon/main.js +1 -1
  37. package/dist/src/hooks/session-start.js +1 -1
  38. package/dist/src/hooks/stop.js +2 -2
  39. package/dist/src/mcp/server.js +1 -1
  40. package/dist/{stats-IVIXIKTS.js → stats-6G7SN5YZ.js} +3 -3
  41. package/dist/{verify-4H6CEE5T.js → verify-JFHQH55Z.js} +5 -5
  42. package/package.json +1 -1
  43. package/skills/myco/SKILL.md +5 -1
  44. package/skills/myco/references/cli-usage.md +322 -0
  45. package/skills/myco/references/vault-status.md +224 -0
  46. package/skills/setup/SKILL.md +146 -0
  47. package/skills/setup/references/model-recommendations.md +77 -0
  48. package/commands/init.md +0 -122
  49. package/commands/setup-llm.md +0 -114
  50. package/commands/status.md +0 -130
  51. package/dist/chunk-P7RNAYU7.js.map +0 -1
  52. package/dist/chunk-QQ36XEJP.js +0 -38
  53. package/dist/chunk-QQ36XEJP.js.map +0 -1
  54. /package/dist/{chunk-XHWIIU5D.js.map → chunk-GFBG73P4.js.map} +0 -0
  55. /package/dist/{chunk-TZDDXRHG.js.map → chunk-I7PNZEBO.js.map} +0 -0
  56. /package/dist/{chunk-IVS5MYBL.js.map → chunk-IYFKPSRP.js.map} +0 -0
  57. /package/dist/{chunk-NUA7UTIY.js.map → chunk-MIU3DKLN.js.map} +0 -0
  58. /package/dist/{chunk-VYV5IFD6.js.map → chunk-T7OC6GH5.js.map} +0 -0
  59. /package/dist/{chunk-4FCFRJIQ.js.map → chunk-UKWO26VI.js.map} +0 -0
  60. /package/dist/{chunk-YZO22BBI.js.map → chunk-V2OWD2VV.js.map} +0 -0
  61. /package/dist/{chunk-RDXTQ436.js.map → chunk-WBT5DWGC.js.map} +0 -0
  62. /package/dist/{cli-ZN6VBA7V.js.map → cli-PMOFCZQL.js.map} +0 -0
  63. /package/dist/{config-4GGMWGAF.js.map → config-5FGLQGCW.js.map} +0 -0
  64. /package/dist/{detect-providers-5FU3BN5Q.js.map → detect-providers-IRL2TTLK.js.map} +0 -0
  65. /package/dist/{init-7UXGDOFS.js.map → init-NUF5UBUJ.js.map} +0 -0
  66. /package/dist/{rebuild-QDSYYCS7.js.map → rebuild-E6YFIRYZ.js.map} +0 -0
  67. /package/dist/{reprocess-ZNUQCIS3.js.map → reprocess-7G7KQWCN.js.map} +0 -0
  68. /package/dist/{restart-5UY2KV54.js.map → restart-ABW4ZK3P.js.map} +0 -0
  69. /package/dist/{search-2VEN3XIG.js.map → search-MPD7SFK6.js.map} +0 -0
  70. /package/dist/{server-OR5B4B7K.js.map → server-NZLZRITH.js.map} +0 -0
  71. /package/dist/{session-start-TUITIUMB.js.map → session-start-YB4A4PZB.js.map} +0 -0
  72. /package/dist/{setup-digest-ETCZAUIU.js.map → setup-digest-K732MGOJ.js.map} +0 -0
  73. /package/dist/{setup-llm-DWEJE3JE.js.map → setup-llm-XCCH5LYD.js.map} +0 -0
  74. /package/dist/{stats-IVIXIKTS.js.map → stats-6G7SN5YZ.js.map} +0 -0
  75. /package/dist/{verify-4H6CEE5T.js.map → verify-JFHQH55Z.js.map} +0 -0
@@ -5,13 +5,13 @@ import {
5
5
  } from "./chunk-3JCXYLHD.js";
6
6
  import {
7
7
  rebuildIndex
8
- } from "./chunk-S7EIHYE7.js";
8
+ } from "./chunk-FPEDTLQ6.js";
9
9
  import {
10
10
  generateEmbedding
11
11
  } from "./chunk-RGVBGTD6.js";
12
12
  import {
13
13
  createEmbeddingProvider
14
- } from "./chunk-IVS5MYBL.js";
14
+ } from "./chunk-IYFKPSRP.js";
15
15
  import {
16
16
  VectorIndex
17
17
  } from "./chunk-XQXXF6MU.js";
@@ -21,11 +21,11 @@ import {
21
21
  import {
22
22
  MycoIndex
23
23
  } from "./chunk-AK6GNLPV.js";
24
- import "./chunk-P7RNAYU7.js";
24
+ import "./chunk-67R6EMYD.js";
25
25
  import {
26
26
  loadConfig
27
- } from "./chunk-QQ36XEJP.js";
28
- import "./chunk-G6ZMTQMJ.js";
27
+ } from "./chunk-TBRZAJ7W.js";
28
+ import "./chunk-6UJWI4IW.js";
29
29
  import {
30
30
  EMBEDDING_INPUT_LIMIT
31
31
  } from "./chunk-JBD5KP5G.js";
@@ -82,4 +82,4 @@ Embedded ${result.succeeded} notes (vectors)`);
82
82
  export {
83
83
  run
84
84
  };
85
- //# sourceMappingURL=rebuild-QDSYYCS7.js.map
85
+ //# sourceMappingURL=rebuild-E6YFIRYZ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  BufferProcessor,
4
4
  TranscriptMiner,
5
5
  writeObservationNotes
6
- } from "./chunk-YZO22BBI.js";
6
+ } from "./chunk-V2OWD2VV.js";
7
7
  import {
8
8
  EMBEDDING_BATCH_CONCURRENCY,
9
9
  LLM_BATCH_CONCURRENCY,
@@ -13,18 +13,18 @@ import {
13
13
  VaultWriter,
14
14
  bareSessionId,
15
15
  sessionNoteId
16
- } from "./chunk-TZDDXRHG.js";
16
+ } from "./chunk-I7PNZEBO.js";
17
17
  import {
18
18
  indexNote,
19
19
  require_gray_matter
20
- } from "./chunk-S7EIHYE7.js";
20
+ } from "./chunk-FPEDTLQ6.js";
21
21
  import {
22
22
  generateEmbedding
23
23
  } from "./chunk-RGVBGTD6.js";
24
24
  import {
25
25
  createEmbeddingProvider,
26
26
  createLlmProvider
27
- } from "./chunk-IVS5MYBL.js";
27
+ } from "./chunk-IYFKPSRP.js";
28
28
  import {
29
29
  VectorIndex
30
30
  } from "./chunk-XQXXF6MU.js";
@@ -34,15 +34,15 @@ import {
34
34
  import {
35
35
  MycoIndex
36
36
  } from "./chunk-AK6GNLPV.js";
37
- import "./chunk-XHWIIU5D.js";
37
+ import "./chunk-GFBG73P4.js";
38
38
  import {
39
39
  parseStringFlag
40
40
  } from "./chunk-SAKJMNSR.js";
41
- import "./chunk-P7RNAYU7.js";
41
+ import "./chunk-67R6EMYD.js";
42
42
  import {
43
43
  loadConfig
44
- } from "./chunk-QQ36XEJP.js";
45
- import "./chunk-G6ZMTQMJ.js";
44
+ } from "./chunk-TBRZAJ7W.js";
45
+ import "./chunk-6UJWI4IW.js";
46
46
  import {
47
47
  claudeCodeAdapter,
48
48
  createPerProjectAdapter
@@ -196,4 +196,4 @@ Done: ${tasks.length} sessions reprocessed, ${totalObservations} observations ex
196
196
  export {
197
197
  run
198
198
  };
199
- //# sourceMappingURL=reprocess-ZNUQCIS3.js.map
199
+ //# sourceMappingURL=reprocess-7G7KQWCN.js.map
@@ -1,9 +1,9 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  isProcessAlive
4
- } from "./chunk-XHWIIU5D.js";
4
+ } from "./chunk-GFBG73P4.js";
5
5
  import "./chunk-SAKJMNSR.js";
6
- import "./chunk-P7RNAYU7.js";
6
+ import "./chunk-67R6EMYD.js";
7
7
  import "./chunk-BNIYWCST.js";
8
8
  import "./chunk-JBD5KP5G.js";
9
9
  import "./chunk-PZUWP5VK.js";
@@ -47,4 +47,4 @@ async function run(_args, vaultDir) {
47
47
  export {
48
48
  run
49
49
  };
50
- //# sourceMappingURL=restart-5UY2KV54.js.map
50
+ //# sourceMappingURL=restart-ABW4ZK3P.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-RGVBGTD6.js";
5
5
  import {
6
6
  createEmbeddingProvider
7
- } from "./chunk-IVS5MYBL.js";
7
+ } from "./chunk-IYFKPSRP.js";
8
8
  import {
9
9
  VectorIndex
10
10
  } from "./chunk-XQXXF6MU.js";
@@ -14,11 +14,11 @@ import {
14
14
  import {
15
15
  MycoIndex
16
16
  } from "./chunk-AK6GNLPV.js";
17
- import "./chunk-P7RNAYU7.js";
17
+ import "./chunk-67R6EMYD.js";
18
18
  import {
19
19
  loadConfig
20
- } from "./chunk-QQ36XEJP.js";
21
- import "./chunk-G6ZMTQMJ.js";
20
+ } from "./chunk-TBRZAJ7W.js";
21
+ import "./chunk-6UJWI4IW.js";
22
22
  import "./chunk-JBD5KP5G.js";
23
23
  import "./chunk-PZUWP5VK.js";
24
24
 
@@ -117,4 +117,4 @@ export {
117
117
  run,
118
118
  runVectors
119
119
  };
120
- //# sourceMappingURL=search-2VEN3XIG.js.map
120
+ //# sourceMappingURL=search-MPD7SFK6.js.map
@@ -4,22 +4,22 @@ import {
4
4
  } from "./chunk-BMJX2IDQ.js";
5
5
  import {
6
6
  handleMycoContext
7
- } from "./chunk-RDXTQ436.js";
7
+ } from "./chunk-WBT5DWGC.js";
8
8
  import "./chunk-5EZ7QF6J.js";
9
9
  import {
10
10
  VaultWriter
11
- } from "./chunk-TZDDXRHG.js";
11
+ } from "./chunk-I7PNZEBO.js";
12
12
  import {
13
13
  OBSERVATION_TYPES,
14
14
  PLAN_STATUSES,
15
15
  indexNote
16
- } from "./chunk-S7EIHYE7.js";
16
+ } from "./chunk-FPEDTLQ6.js";
17
17
  import {
18
18
  generateEmbedding
19
19
  } from "./chunk-RGVBGTD6.js";
20
20
  import {
21
21
  createEmbeddingProvider
22
- } from "./chunk-IVS5MYBL.js";
22
+ } from "./chunk-IYFKPSRP.js";
23
23
  import {
24
24
  VectorIndex
25
25
  } from "./chunk-XQXXF6MU.js";
@@ -27,7 +27,7 @@ import {
27
27
  planFm,
28
28
  sessionFm,
29
29
  sporeFm
30
- } from "./chunk-NUA7UTIY.js";
30
+ } from "./chunk-MIU3DKLN.js";
31
31
  import {
32
32
  initFts,
33
33
  searchFts
@@ -35,10 +35,10 @@ import {
35
35
  import {
36
36
  MycoIndex
37
37
  } from "./chunk-AK6GNLPV.js";
38
- import "./chunk-P7RNAYU7.js";
38
+ import "./chunk-67R6EMYD.js";
39
39
  import {
40
40
  loadConfig
41
- } from "./chunk-QQ36XEJP.js";
41
+ } from "./chunk-TBRZAJ7W.js";
42
42
  import {
43
43
  _enum,
44
44
  _null,
@@ -59,7 +59,7 @@ import {
59
59
  string,
60
60
  union,
61
61
  unknown
62
- } from "./chunk-G6ZMTQMJ.js";
62
+ } from "./chunk-6UJWI4IW.js";
63
63
  import {
64
64
  resolveSessionFromBuffer
65
65
  } from "./chunk-HIN3UVOG.js";
@@ -14769,4 +14769,4 @@ export {
14769
14769
  createMycoServer,
14770
14770
  main
14771
14771
  };
14772
- //# sourceMappingURL=server-OR5B4B7K.js.map
14772
+ //# sourceMappingURL=server-NZLZRITH.js.map
@@ -2,14 +2,14 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
2
2
  import {
3
3
  planFm,
4
4
  sporeFm
5
- } from "./chunk-NUA7UTIY.js";
5
+ } from "./chunk-MIU3DKLN.js";
6
6
  import {
7
7
  MycoIndex
8
8
  } from "./chunk-AK6GNLPV.js";
9
9
  import {
10
10
  loadConfig
11
- } from "./chunk-QQ36XEJP.js";
12
- import "./chunk-G6ZMTQMJ.js";
11
+ } from "./chunk-TBRZAJ7W.js";
12
+ import "./chunk-6UJWI4IW.js";
13
13
  import {
14
14
  readStdin
15
15
  } from "./chunk-ZCBL5HER.js";
@@ -189,4 +189,4 @@ async function main() {
189
189
  }
190
190
  }
191
191
  main();
192
- //# sourceMappingURL=session-start-TUITIUMB.js.map
192
+ //# sourceMappingURL=session-start-YB4A4PZB.js.map
@@ -1,15 +1,15 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  run
4
- } from "./chunk-4FCFRJIQ.js";
5
- import "./chunk-XHWIIU5D.js";
4
+ } from "./chunk-UKWO26VI.js";
5
+ import "./chunk-GFBG73P4.js";
6
6
  import "./chunk-SAKJMNSR.js";
7
- import "./chunk-P7RNAYU7.js";
8
- import "./chunk-G6ZMTQMJ.js";
7
+ import "./chunk-67R6EMYD.js";
8
+ import "./chunk-6UJWI4IW.js";
9
9
  import "./chunk-BNIYWCST.js";
10
10
  import "./chunk-JBD5KP5G.js";
11
11
  import "./chunk-PZUWP5VK.js";
12
12
  export {
13
13
  run
14
14
  };
15
- //# sourceMappingURL=setup-digest-ETCZAUIU.js.map
15
+ //# sourceMappingURL=setup-digest-K732MGOJ.js.map
@@ -1,15 +1,15 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  run
4
- } from "./chunk-VYV5IFD6.js";
5
- import "./chunk-XHWIIU5D.js";
4
+ } from "./chunk-T7OC6GH5.js";
5
+ import "./chunk-GFBG73P4.js";
6
6
  import "./chunk-SAKJMNSR.js";
7
- import "./chunk-P7RNAYU7.js";
8
- import "./chunk-G6ZMTQMJ.js";
7
+ import "./chunk-67R6EMYD.js";
8
+ import "./chunk-6UJWI4IW.js";
9
9
  import "./chunk-BNIYWCST.js";
10
10
  import "./chunk-JBD5KP5G.js";
11
11
  import "./chunk-PZUWP5VK.js";
12
12
  export {
13
13
  run
14
14
  };
15
- //# sourceMappingURL=setup-llm-DWEJE3JE.js.map
15
+ //# sourceMappingURL=setup-llm-XCCH5LYD.js.map
package/dist/src/cli.js CHANGED
@@ -9,5 +9,5 @@ import "../chunk-PZUWP5VK.js";
9
9
 
10
10
  // src/entries/cli.ts
11
11
  ensureNativeDeps();
12
- await import("../cli-ZN6VBA7V.js");
12
+ await import("../cli-PMOFCZQL.js");
13
13
  //# sourceMappingURL=cli.js.map
@@ -8,6 +8,6 @@ import "../../chunk-PZUWP5VK.js";
8
8
 
9
9
  // src/entries/daemon.ts
10
10
  ensureNativeDeps();
11
- var { main } = await import("../../main-6UPAIDGS.js");
11
+ var { main } = await import("../../main-2XEBVUR6.js");
12
12
  await main();
13
13
  //# sourceMappingURL=main.js.map
@@ -8,5 +8,5 @@ import "../../chunk-PZUWP5VK.js";
8
8
 
9
9
  // src/entries/session-start.ts
10
10
  ensureNativeDeps();
11
- await import("../../session-start-TUITIUMB.js");
11
+ await import("../../session-start-YB4A4PZB.js");
12
12
  //# sourceMappingURL=session-start.js.map
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  loadConfig
4
- } from "../../chunk-QQ36XEJP.js";
5
- import "../../chunk-G6ZMTQMJ.js";
4
+ } from "../../chunk-TBRZAJ7W.js";
5
+ import "../../chunk-6UJWI4IW.js";
6
6
  import {
7
7
  readStdin
8
8
  } from "../../chunk-ZCBL5HER.js";
@@ -8,6 +8,6 @@ import "../../chunk-PZUWP5VK.js";
8
8
 
9
9
  // src/entries/mcp-server.ts
10
10
  ensureNativeDeps();
11
- var { main } = await import("../../server-OR5B4B7K.js");
11
+ var { main } = await import("../../server-NZLZRITH.js");
12
12
  await main();
13
13
  //# sourceMappingURL=server.js.map
@@ -7,9 +7,9 @@ import {
7
7
  } from "./chunk-AK6GNLPV.js";
8
8
  import {
9
9
  isProcessAlive
10
- } from "./chunk-XHWIIU5D.js";
10
+ } from "./chunk-GFBG73P4.js";
11
11
  import "./chunk-SAKJMNSR.js";
12
- import "./chunk-P7RNAYU7.js";
12
+ import "./chunk-67R6EMYD.js";
13
13
  import "./chunk-BNIYWCST.js";
14
14
  import "./chunk-JBD5KP5G.js";
15
15
  import "./chunk-PZUWP5VK.js";
@@ -74,4 +74,4 @@ Vectors: error \u2014 ${e.message}`);
74
74
  export {
75
75
  run
76
76
  };
77
- //# sourceMappingURL=stats-IVIXIKTS.js.map
77
+ //# sourceMappingURL=stats-6G7SN5YZ.js.map
@@ -2,12 +2,12 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
2
2
  import {
3
3
  createEmbeddingProvider,
4
4
  createLlmProvider
5
- } from "./chunk-IVS5MYBL.js";
6
- import "./chunk-P7RNAYU7.js";
5
+ } from "./chunk-IYFKPSRP.js";
6
+ import "./chunk-67R6EMYD.js";
7
7
  import {
8
8
  loadConfig
9
- } from "./chunk-QQ36XEJP.js";
10
- import "./chunk-G6ZMTQMJ.js";
9
+ } from "./chunk-TBRZAJ7W.js";
10
+ import "./chunk-6UJWI4IW.js";
11
11
  import "./chunk-JBD5KP5G.js";
12
12
  import "./chunk-PZUWP5VK.js";
13
13
 
@@ -47,4 +47,4 @@ async function run(_args, vaultDir) {
47
47
  export {
48
48
  run
49
49
  };
50
- //# sourceMappingURL=verify-4H6CEE5T.js.map
50
+ //# sourceMappingURL=verify-JFHQH55Z.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goondocks/myco",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Collective agent intelligence — Claude Code plugin",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -31,7 +31,9 @@ The MCP tools below are for going deeper than the automatic context injection pr
31
31
 
32
32
  ## Setup
33
33
 
34
- If the vault isn't configured, run `/myco-init` to set up. To change LLM providers, run `/myco-setup-llm`. To check health, run `/myco-status`.
34
+ If the vault isn't configured, run `/myco-setup` for guided first-time setup.
35
+
36
+ For reconfiguration, status checks, and ongoing management, use the CLI commands and MCP tools documented below. For detailed vault health checks, see `references/vault-status.md`.
35
37
 
36
38
  ## MCP Tools Reference
37
39
 
@@ -207,6 +209,8 @@ The vault should get sharper over time, not just bigger. Every session should le
207
209
 
208
210
  ## Maintenance
209
211
 
212
+ For the full CLI reference with all flags, see `references/cli-usage.md`.
213
+
210
214
  All CLI commands use `node` with the CLI script inside the plugin root. Run commands as:
211
215
 
212
216
  ```