@burmese/opencode 3.1.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.
- package/LICENSE +21 -0
- package/dist/check-opencode-foundation.d.ts +2 -0
- package/dist/check-opencode-foundation.d.ts.map +1 -0
- package/dist/check-opencode-foundation.js +245 -0
- package/dist/check-opencode-foundation.js.map +1 -0
- package/dist/check-opencode-plugin.d.ts +2 -0
- package/dist/check-opencode-plugin.d.ts.map +1 -0
- package/dist/check-opencode-plugin.js +107 -0
- package/dist/check-opencode-plugin.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/opencode-config.d.ts +44 -0
- package/dist/opencode-config.d.ts.map +1 -0
- package/dist/opencode-config.js +213 -0
- package/dist/opencode-config.js.map +1 -0
- package/dist/opencode-global-setup.d.ts +42 -0
- package/dist/opencode-global-setup.d.ts.map +1 -0
- package/dist/opencode-global-setup.js +378 -0
- package/dist/opencode-global-setup.js.map +1 -0
- package/dist/opencode-plugin-runtime.d.ts +38 -0
- package/dist/opencode-plugin-runtime.d.ts.map +1 -0
- package/dist/opencode-plugin-runtime.js +213 -0
- package/dist/opencode-plugin-runtime.js.map +1 -0
- package/dist/opencode-previews.d.ts +25 -0
- package/dist/opencode-previews.d.ts.map +1 -0
- package/dist/opencode-previews.js +37 -0
- package/dist/opencode-previews.js.map +1 -0
- package/dist/opencode-project-setup.d.ts +27 -0
- package/dist/opencode-project-setup.d.ts.map +1 -0
- package/dist/opencode-project-setup.js +180 -0
- package/dist/opencode-project-setup.js.map +1 -0
- package/dist/opencode-status.d.ts +14 -0
- package/dist/opencode-status.d.ts.map +1 -0
- package/dist/opencode-status.js +145 -0
- package/dist/opencode-status.js.map +1 -0
- package/dist/plugin.d.ts +8 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +8 -0
- package/dist/plugin.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type OpenCodePreviewOptions } from "./opencode-previews.js";
|
|
2
|
+
export type OpenCodeEntryStatus = "not_installed" | "installed" | "needs_update" | "custom" | "conflict" | "error";
|
|
3
|
+
export interface OpenCodeStatusResult {
|
|
4
|
+
readonly status: OpenCodeEntryStatus;
|
|
5
|
+
readonly message: string;
|
|
6
|
+
readonly matches: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function classifyOpenCodeMcpStatus(configs: readonly Record<string, unknown>[], expected: OpenCodePreviewOptions): OpenCodeStatusResult;
|
|
9
|
+
export declare function classifyOpenCodeInstructionsStatus(configs: readonly Record<string, unknown>[], scope: "project" | "global", configDir?: string, instructionFiles?: Record<string, string>): OpenCodeStatusResult;
|
|
10
|
+
export declare function classifyOpenCodePluginStatus(configs: readonly Record<string, unknown>[], petId?: string, packageVersion?: string): OpenCodeStatusResult;
|
|
11
|
+
export declare function isManagedOpenPetsMcpEntry(value: unknown, expectedCommand?: readonly string[]): boolean;
|
|
12
|
+
export declare function isManagedOpenPetsPluginEntry(value: unknown): boolean;
|
|
13
|
+
export declare function isOpenPetsLikePluginEntry(value: unknown): boolean;
|
|
14
|
+
//# sourceMappingURL=opencode-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-status.d.ts","sourceRoot":"","sources":["../src/opencode-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0G,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE7K,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,sBAAsB,GAAG,oBAAoB,CAa7I;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,oBAAoB,CAUpN;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAWvJ;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAKtG;AAwCD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGpE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIjE"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { buildOpenCodeInstructionPath, buildOpenCodeMcpEntry, buildOpenCodePluginPreview, openCodeMcpServerName } from "./opencode-previews.js";
|
|
2
|
+
export function classifyOpenCodeMcpStatus(configs, expected) {
|
|
3
|
+
const entries = configs.flatMap((config, index) => {
|
|
4
|
+
const mcp = isRecord(config.mcp) ? config.mcp : undefined;
|
|
5
|
+
const entry = mcp?.[openCodeMcpServerName];
|
|
6
|
+
return entry === undefined ? [] : [{ source: String(index), entry }];
|
|
7
|
+
});
|
|
8
|
+
if (entries.length === 0)
|
|
9
|
+
return { status: "not_installed", message: "OpenCode OpenPets MCP is not installed.", matches: [] };
|
|
10
|
+
const expectedEntry = buildOpenCodeMcpEntry(expected);
|
|
11
|
+
const current = entries.filter(({ entry }) => isSameMcpEntry(entry, expectedEntry));
|
|
12
|
+
const managed = entries.filter(({ entry }) => isManagedOpenPetsMcpEntry(entry, expectedEntry.command));
|
|
13
|
+
if (current.length === 1 && entries.length === 1)
|
|
14
|
+
return { status: "installed", message: "OpenCode OpenPets MCP is installed.", matches: [entries[0]?.source ?? "0"] };
|
|
15
|
+
if (current.length > 0 || managed.length > 0)
|
|
16
|
+
return { status: entries.length > 1 ? "conflict" : "needs_update", message: "OpenCode OpenPets MCP needs update.", matches: entries.map((entry) => entry.source) };
|
|
17
|
+
return { status: "custom", message: "OpenCode has a custom openpets MCP entry.", matches: entries.map((entry) => entry.source) };
|
|
18
|
+
}
|
|
19
|
+
export function classifyOpenCodeInstructionsStatus(configs, scope, configDir, instructionFiles = {}) {
|
|
20
|
+
const expected = buildOpenCodeInstructionPath(scope, configDir);
|
|
21
|
+
const allEntries = configs.flatMap((config, index) => Array.isArray(config.instructions) ? config.instructions.filter((entry) => typeof entry === "string" && isOpenPetsLikeInstruction(entry)).map((entry) => ({ source: String(index), entry })) : []);
|
|
22
|
+
const managedEntries = allEntries.filter(({ entry }) => entry === expected);
|
|
23
|
+
const customEntries = allEntries.filter(({ entry }) => entry !== expected);
|
|
24
|
+
if (allEntries.length === 0)
|
|
25
|
+
return { status: "not_installed", message: "OpenCode OpenPets instructions are not installed.", matches: [] };
|
|
26
|
+
if (managedEntries.length > 1 || (managedEntries.length > 0 && customEntries.length > 0))
|
|
27
|
+
return { status: "conflict", message: "OpenCode has conflicting OpenPets instruction entries.", matches: allEntries.map((entry) => entry.source) };
|
|
28
|
+
if (managedEntries.length === 1 && hasManagedInstructionBlock(instructionFiles[expected]))
|
|
29
|
+
return { status: "installed", message: "OpenCode OpenPets instructions are installed.", matches: managedEntries.map((entry) => entry.source) };
|
|
30
|
+
if (managedEntries.length === 1)
|
|
31
|
+
return { status: "needs_update", message: "OpenCode OpenPets instruction file needs managed block.", matches: managedEntries.map((entry) => entry.source) };
|
|
32
|
+
return { status: "custom", message: "OpenCode has custom OpenPets-like instruction entries.", matches: customEntries.map((entry) => entry.source) };
|
|
33
|
+
}
|
|
34
|
+
export function classifyOpenCodePluginStatus(configs, petId, packageVersion) {
|
|
35
|
+
const expected = buildOpenCodePluginPreview(petId, packageVersion);
|
|
36
|
+
const pluginEntries = configs.flatMap((config, index) => Array.isArray(config.plugin) ? config.plugin.map((entry) => ({ source: String(index), entry })) : []);
|
|
37
|
+
const current = pluginEntries.filter(({ entry }) => isExpectedPlugin(entry, expected));
|
|
38
|
+
const recognizable = pluginEntries.filter(({ entry }) => isManagedOpenPetsPluginEntry(entry));
|
|
39
|
+
const custom = pluginEntries.filter(({ entry }) => !isManagedOpenPetsPluginEntry(entry) && isOpenPetsLikePluginEntry(entry));
|
|
40
|
+
if (current.length === 1 && recognizable.length === 1 && custom.length === 0)
|
|
41
|
+
return { status: "installed", message: "OpenCode OpenPets plugin is installed.", matches: current.map((entry) => entry.source) };
|
|
42
|
+
if (recognizable.length > 0 && custom.length > 0)
|
|
43
|
+
return { status: "conflict", message: "OpenCode has conflicting OpenPets plugin entries.", matches: [...recognizable, ...custom].map((entry) => entry.source) };
|
|
44
|
+
if (recognizable.length > 0)
|
|
45
|
+
return { status: recognizable.length > 1 ? "conflict" : "needs_update", message: "OpenCode OpenPets plugin needs update.", matches: recognizable.map((entry) => entry.source) };
|
|
46
|
+
if (custom.length > 0)
|
|
47
|
+
return { status: "custom", message: "OpenCode has custom OpenPets-like plugin entries.", matches: custom.map((entry) => entry.source) };
|
|
48
|
+
return { status: "not_installed", message: "OpenCode OpenPets plugin is not installed.", matches: [] };
|
|
49
|
+
}
|
|
50
|
+
export function isManagedOpenPetsMcpEntry(value, expectedCommand) {
|
|
51
|
+
if (!isRecord(value) || value.type !== "local" || value.enabled !== true || !Array.isArray(value.command))
|
|
52
|
+
return false;
|
|
53
|
+
const keys = Object.keys(value).sort();
|
|
54
|
+
if (!hasManagedMcpKeys(keys) || !hasValidMcpEnvironment(value.environment))
|
|
55
|
+
return false;
|
|
56
|
+
return isManagedOpenPetsMcpCommand(value.command, expectedCommand);
|
|
57
|
+
}
|
|
58
|
+
function isManagedOpenPetsMcpCommand(command, expectedCommand) {
|
|
59
|
+
if (!command.every((part) => typeof part === "string"))
|
|
60
|
+
return false;
|
|
61
|
+
const parts = command;
|
|
62
|
+
if (expectedCommand && isSameCommand(parts, expectedCommand))
|
|
63
|
+
return true;
|
|
64
|
+
if (expectedCommand && isExpectedNodeOpenPetsMcpCommand(parts, expectedCommand))
|
|
65
|
+
return true;
|
|
66
|
+
return isPublishedOpenPetsMcpCommand(parts) || isNodeOpenPetsMcpCommand(parts);
|
|
67
|
+
}
|
|
68
|
+
function isExpectedNodeOpenPetsMcpCommand(command, expected) {
|
|
69
|
+
return expected[0] === "node" && command.length >= 3 && command[0] === "node" && command[1] === expected[1] && command[2] === "mcp" && hasValidPetArgs(command.slice(3));
|
|
70
|
+
}
|
|
71
|
+
function isPublishedOpenPetsMcpCommand(command) {
|
|
72
|
+
return command.length >= 4 && command[0] === "npx" && command[1] === "-y" && /^@(?:burmese|open-pets)\/cli@\d+\.\d+\.\d+(?:-[A-Za-z0-9.-]+)?(?:\+[A-Za-z0-9.-]+)?$/.test(command[2] ?? "") && command[3] === "mcp" && hasValidPetArgs(command.slice(4));
|
|
73
|
+
}
|
|
74
|
+
function isNodeOpenPetsMcpCommand(command) {
|
|
75
|
+
return command.length >= 3 && command[0] === "node" && isOpenPetsCliEntryPath(command[1] ?? "") && command[2] === "mcp" && hasValidPetArgs(command.slice(3));
|
|
76
|
+
}
|
|
77
|
+
function isOpenPetsCliEntryPath(path) {
|
|
78
|
+
return /(?:^|[\\/])node_modules[\\/]@(?:burmese|open-pets)[\\/]cli[\\/]dist[\\/]index\.js$/u.test(path) || /(?:^|[\\/])packages[\\/]cli[\\/]dist[\\/]index\.js$/u.test(path);
|
|
79
|
+
}
|
|
80
|
+
function hasValidPetArgs(args) {
|
|
81
|
+
if (args.length === 0)
|
|
82
|
+
return true;
|
|
83
|
+
return args.length === 2 && args[0] === "--pet" && /^[a-z0-9][a-z0-9_-]{0,63}$/.test(args[1] ?? "");
|
|
84
|
+
}
|
|
85
|
+
function isSameCommand(command, expected) {
|
|
86
|
+
return command.length === expected.length && command.every((part, index) => part === expected[index]);
|
|
87
|
+
}
|
|
88
|
+
function isExpectedPlugin(value, expected) {
|
|
89
|
+
if (typeof expected === "string")
|
|
90
|
+
return value === expected;
|
|
91
|
+
return Array.isArray(value) && value.length === 2 && value[0] === expected[0] && isSamePluginOptions(value[1], expected[1]);
|
|
92
|
+
}
|
|
93
|
+
export function isManagedOpenPetsPluginEntry(value) {
|
|
94
|
+
if (typeof value === "string")
|
|
95
|
+
return /^@(?:burmese|open-pets)\/opencode(?:@[^/]+)?$/.test(value);
|
|
96
|
+
return Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && /^@(?:burmese|open-pets)\/opencode(?:@[^/]+)?$/.test(value[0]) && isPetPluginOptions(value[1]);
|
|
97
|
+
}
|
|
98
|
+
export function isOpenPetsLikePluginEntry(value) {
|
|
99
|
+
if (typeof value === "string")
|
|
100
|
+
return /openpets|open-pets|@burmese\//i.test(value);
|
|
101
|
+
if (Array.isArray(value))
|
|
102
|
+
return value.some(isOpenPetsLikePluginEntry);
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
function isPetPluginOptions(value) {
|
|
106
|
+
if (!isRecord(value))
|
|
107
|
+
return false;
|
|
108
|
+
const keys = Object.keys(value);
|
|
109
|
+
return keys.length === 1 && keys[0] === "pet" && typeof value.pet === "string" && /^[a-z0-9][a-z0-9_-]{0,63}$/.test(value.pet);
|
|
110
|
+
}
|
|
111
|
+
function isSameMcpEntry(value, expected) {
|
|
112
|
+
if (!isRecord(value) || value.type !== expected.type || value.enabled !== expected.enabled || !Array.isArray(value.command))
|
|
113
|
+
return false;
|
|
114
|
+
const keys = Object.keys(value).sort();
|
|
115
|
+
if (!hasManagedMcpKeys(keys) || !hasValidMcpEnvironment(value.environment))
|
|
116
|
+
return false;
|
|
117
|
+
return value.command.length === expected.command.length && value.command.every((part, index) => part === expected.command[index]);
|
|
118
|
+
}
|
|
119
|
+
function hasManagedMcpKeys(keys) {
|
|
120
|
+
return keys.length === 3 && keys[0] === "command" && keys[1] === "enabled" && keys[2] === "type"
|
|
121
|
+
|| keys.length === 4 && keys[0] === "command" && keys[1] === "enabled" && keys[2] === "environment" && keys[3] === "type";
|
|
122
|
+
}
|
|
123
|
+
function hasValidMcpEnvironment(value) {
|
|
124
|
+
if (value === undefined)
|
|
125
|
+
return true;
|
|
126
|
+
if (!isRecord(value))
|
|
127
|
+
return false;
|
|
128
|
+
return Object.entries(value).every(([key, envValue]) => /^[A-Z_][A-Z0-9_]*$/.test(key) && typeof envValue === "string");
|
|
129
|
+
}
|
|
130
|
+
function isSamePluginOptions(value, expected) {
|
|
131
|
+
if (!isRecord(value))
|
|
132
|
+
return Object.keys(expected).length === 0;
|
|
133
|
+
const keys = Object.keys(value);
|
|
134
|
+
return keys.length === Object.keys(expected).length && value.pet === expected.pet;
|
|
135
|
+
}
|
|
136
|
+
function isOpenPetsLikeInstruction(value) {
|
|
137
|
+
return /openpets\.md$/i.test(value) || /@(?:burmese|open-pets)\/opencode/i.test(value);
|
|
138
|
+
}
|
|
139
|
+
function hasManagedInstructionBlock(value) {
|
|
140
|
+
return typeof value === "string" && /<!-- OPENPETS:START -->[\s\S]*?<!-- OPENPETS:END -->/.test(value);
|
|
141
|
+
}
|
|
142
|
+
function isRecord(value) {
|
|
143
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=opencode-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-status.js","sourceRoot":"","sources":["../src/opencode-status.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type OpenCodePluginOptions } from "./opencode-plugin-runtime.js";
|
|
2
|
+
export declare const openPetsOpenCodePluginId = "open-pets-opencode";
|
|
3
|
+
declare const plugin: {
|
|
4
|
+
id: string;
|
|
5
|
+
server: (_input: unknown, options?: OpenCodePluginOptions) => Promise<import("./opencode-plugin-runtime.js").OpenCodeHooks>;
|
|
6
|
+
};
|
|
7
|
+
export default plugin;
|
|
8
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAEvG,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D,QAAA,MAAM,MAAM;;qBAEa,OAAO,YAAY,qBAAqB;CAChE,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createOpenPetsOpenCodeHooks } from "./opencode-plugin-runtime.js";
|
|
2
|
+
export const openPetsOpenCodePluginId = "open-pets-opencode";
|
|
3
|
+
const plugin = {
|
|
4
|
+
id: openPetsOpenCodePluginId,
|
|
5
|
+
server: async (_input, options) => createOpenPetsOpenCodeHooks(options ?? {}),
|
|
6
|
+
};
|
|
7
|
+
export default plugin;
|
|
8
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAA8B,MAAM,8BAA8B,CAAC;AAEvG,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAE7D,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,wBAAwB;IAC5B,MAAM,EAAE,KAAK,EAAE,MAAe,EAAE,OAA+B,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,IAAI,EAAE,CAAC;CAC/G,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@burmese/opencode",
|
|
3
|
+
"version": "3.1.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/wannabeepolymath/pet-assistant.git",
|
|
8
|
+
"directory": "packages/opencode"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"main": "dist/index.js",
|
|
12
|
+
"types": "dist/index.d.ts",
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./server": {
|
|
25
|
+
"types": "./dist/plugin.d.ts",
|
|
26
|
+
"default": "./dist/plugin.js"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"jsonc-parser": "^3.3.1",
|
|
31
|
+
"@burmese/agent-events": "3.1.0",
|
|
32
|
+
"@burmese/client": "3.1.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@types/node": "^25.6.2",
|
|
36
|
+
"typescript": "^6.0.3"
|
|
37
|
+
},
|
|
38
|
+
"scripts": {
|
|
39
|
+
"test": "node dist/check-opencode-foundation.js && node dist/check-opencode-plugin.js",
|
|
40
|
+
"check": "pnpm typecheck && pnpm build && pnpm test",
|
|
41
|
+
"typecheck": "tsc --noEmit",
|
|
42
|
+
"build": "tsc"
|
|
43
|
+
}
|
|
44
|
+
}
|