@dollhousemcp/mcp-server 1.6.11 → 1.7.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.
@@ -5,39 +5,41 @@
5
5
  */
6
6
  export function getPersonaExportImportTools(server) {
7
7
  return [
8
- {
9
- tool: {
10
- name: "export_persona",
11
- description: "Export a single persona to a JSON format",
12
- inputSchema: {
13
- type: "object",
14
- properties: {
15
- persona: {
16
- type: "string",
17
- description: "The persona name or filename to export",
18
- },
19
- },
20
- required: ["persona"],
21
- },
22
- },
23
- handler: (args) => server.exportPersona(args.persona)
24
- },
25
- {
26
- tool: {
27
- name: "export_all_personas",
28
- description: "Export all personas to a JSON bundle",
29
- inputSchema: {
30
- type: "object",
31
- properties: {
32
- includeDefaults: {
33
- type: "boolean",
34
- description: "Include default personas in export (default: true)",
35
- },
36
- },
37
- },
38
- },
39
- handler: (args) => server.exportAllPersonas(args.includeDefaults)
40
- },
8
+ // Disabled: export_persona and export_all_personas are not compatible with the current element system
9
+ // These tools may be re-implemented once the element system is fully stabilized
10
+ // {
11
+ // tool: {
12
+ // name: "export_persona",
13
+ // description: "Export a single persona to a JSON format",
14
+ // inputSchema: {
15
+ // type: "object",
16
+ // properties: {
17
+ // persona: {
18
+ // type: "string",
19
+ // description: "The persona name or filename to export",
20
+ // },
21
+ // },
22
+ // required: ["persona"],
23
+ // },
24
+ // },
25
+ // handler: (args: any) => server.exportPersona(args.persona)
26
+ // },
27
+ // {
28
+ // tool: {
29
+ // name: "export_all_personas",
30
+ // description: "Export all personas to a JSON bundle",
31
+ // inputSchema: {
32
+ // type: "object",
33
+ // properties: {
34
+ // includeDefaults: {
35
+ // type: "boolean",
36
+ // description: "Include default personas in export (default: true)",
37
+ // },
38
+ // },
39
+ // },
40
+ // },
41
+ // handler: (args: any) => server.exportAllPersonas(args.includeDefaults)
42
+ // },
41
43
  {
42
44
  tool: {
43
45
  name: "import_persona",
@@ -58,49 +60,7 @@ export function getPersonaExportImportTools(server) {
58
60
  },
59
61
  },
60
62
  handler: (args) => server.importPersona(args.source, args.overwrite)
61
- },
62
- {
63
- tool: {
64
- name: "share_persona",
65
- description: "Generate a shareable URL for a persona",
66
- inputSchema: {
67
- type: "object",
68
- properties: {
69
- persona: {
70
- type: "string",
71
- description: "The persona name or filename to share",
72
- },
73
- expiryDays: {
74
- type: "number",
75
- description: "Number of days the share link is valid (default: 7)",
76
- },
77
- },
78
- required: ["persona"],
79
- },
80
- },
81
- handler: (args) => server.sharePersona(args.persona, args.expiryDays)
82
- },
83
- {
84
- tool: {
85
- name: "import_from_url",
86
- description: "Import a persona from a shared URL",
87
- inputSchema: {
88
- type: "object",
89
- properties: {
90
- url: {
91
- type: "string",
92
- description: "The shared URL to import from",
93
- },
94
- overwrite: {
95
- type: "boolean",
96
- description: "Overwrite if persona already exists (default: false)",
97
- },
98
- },
99
- required: ["url"],
100
- },
101
- },
102
- handler: (args) => server.importFromUrl(args.url, args.overwrite)
103
63
  }
104
64
  ];
105
65
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYVRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90b29scy9QZXJzb25hVG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUtILE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxNQUFvQjtJQUM5RCxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsV0FBVyxFQUFFLDBDQUEwQztnQkFDdkQsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRTt3QkFDVixPQUFPLEVBQUU7NEJBQ1AsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsV0FBVyxFQUFFLHdDQUF3Qzt5QkFDdEQ7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUN0QjthQUNGO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDM0Q7UUFDRDtZQUNFLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUscUJBQXFCO2dCQUMzQixXQUFXLEVBQUUsc0NBQXNDO2dCQUNuRCxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsVUFBVSxFQUFFO3dCQUNWLGVBQWUsRUFBRTs0QkFDZixJQUFJLEVBQUUsU0FBUzs0QkFDZixXQUFXLEVBQUUsb0RBQW9EO3lCQUNsRTtxQkFDRjtpQkFDRjthQUNGO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUN2RTtRQUNEO1lBQ0UsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLFdBQVcsRUFBRSxrREFBa0Q7Z0JBQy9ELFdBQVcsRUFBRTtvQkFDWCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxVQUFVLEVBQUU7d0JBQ1YsTUFBTSxFQUFFOzRCQUNOLElBQUksRUFBRSxRQUFROzRCQUNkLFdBQVcsRUFBRSxtRUFBbUU7eUJBQ2pGO3dCQUNELFNBQVMsRUFBRTs0QkFDVCxJQUFJLEVBQUUsU0FBUzs0QkFDZixXQUFXLEVBQUUsc0RBQXNEO3lCQUNwRTtxQkFDRjtvQkFDRCxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7aUJBQ3JCO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQzFFO1FBQ0Q7WUFDRSxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFdBQVcsRUFBRTtvQkFDWCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxVQUFVLEVBQUU7d0JBQ1YsT0FBTyxFQUFFOzRCQUNQLElBQUksRUFBRSxRQUFROzRCQUNkLFdBQVcsRUFBRSx1Q0FBdUM7eUJBQ3JEO3dCQUNELFVBQVUsRUFBRTs0QkFDVixJQUFJLEVBQUUsUUFBUTs0QkFDZCxXQUFXLEVBQUUscURBQXFEO3lCQUNuRTtxQkFDRjtvQkFDRCxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQ3RCO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzNFO1FBQ0Q7WUFDRSxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsV0FBVyxFQUFFLG9DQUFvQztnQkFDakQsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRTt3QkFDVixHQUFHLEVBQUU7NEJBQ0gsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsV0FBVyxFQUFFLCtCQUErQjt5QkFDN0M7d0JBQ0QsU0FBUyxFQUFFOzRCQUNULElBQUksRUFBRSxTQUFTOzRCQUNmLFdBQVcsRUFBRSxzREFBc0Q7eUJBQ3BFO3FCQUNGO29CQUNELFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQztpQkFDbEI7YUFDRjtZQUNELE9BQU8sRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDdkU7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGVyc29uYSBleHBvcnQvaW1wb3J0IHRvb2wgZGVmaW5pdGlvbnMgYW5kIGhhbmRsZXJzXG4gKiBOb3RlOiBDb3JlIHBlcnNvbmEgbWFuYWdlbWVudCBmdW5jdGlvbmFsaXR5IChsaXN0LCBhY3RpdmF0ZSwgY3JlYXRlLCBlZGl0LCBldGMuKSBcbiAqIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgZ2VuZXJpYyBlbGVtZW50IHRvb2xzIChsaXN0X2VsZW1lbnRzLCBhY3RpdmF0ZV9lbGVtZW50LCBldGMuKVxuICovXG5cbmltcG9ydCB7IFRvb2xEZWZpbml0aW9uIH0gZnJvbSAnLi9Ub29sUmVnaXN0cnkuanMnO1xuaW1wb3J0IHsgSVRvb2xIYW5kbGVyIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGVyc29uYUV4cG9ydEltcG9ydFRvb2xzKHNlcnZlcjogSVRvb2xIYW5kbGVyKTogQXJyYXk8eyB0b29sOiBUb29sRGVmaW5pdGlvbjsgaGFuZGxlcjogYW55IH0+IHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICB0b29sOiB7XG4gICAgICAgIG5hbWU6IFwiZXhwb3J0X3BlcnNvbmFcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiRXhwb3J0IGEgc2luZ2xlIHBlcnNvbmEgdG8gYSBKU09OIGZvcm1hdFwiLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgcGVyc29uYToge1xuICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcGVyc29uYSBuYW1lIG9yIGZpbGVuYW1lIHRvIGV4cG9ydFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbXCJwZXJzb25hXCJdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGhhbmRsZXI6IChhcmdzOiBhbnkpID0+IHNlcnZlci5leHBvcnRQZXJzb25hKGFyZ3MucGVyc29uYSlcbiAgICB9LFxuICAgIHtcbiAgICAgIHRvb2w6IHtcbiAgICAgICAgbmFtZTogXCJleHBvcnRfYWxsX3BlcnNvbmFzXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIkV4cG9ydCBhbGwgcGVyc29uYXMgdG8gYSBKU09OIGJ1bmRsZVwiLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgaW5jbHVkZURlZmF1bHRzOiB7XG4gICAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJJbmNsdWRlIGRlZmF1bHQgcGVyc29uYXMgaW4gZXhwb3J0IChkZWZhdWx0OiB0cnVlKVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGhhbmRsZXI6IChhcmdzOiBhbnkpID0+IHNlcnZlci5leHBvcnRBbGxQZXJzb25hcyhhcmdzLmluY2x1ZGVEZWZhdWx0cylcbiAgICB9LFxuICAgIHtcbiAgICAgIHRvb2w6IHtcbiAgICAgICAgbmFtZTogXCJpbXBvcnRfcGVyc29uYVwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJJbXBvcnQgYSBwZXJzb25hIGZyb20gYSBmaWxlIHBhdGggb3IgSlNPTiBzdHJpbmdcIixcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHNvdXJjZToge1xuICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGaWxlIHBhdGggdG8gYSAubWQgb3IgLmpzb24gZmlsZSwgb3IgYSBKU09OIHN0cmluZyBvZiB0aGUgcGVyc29uYVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG92ZXJ3cml0ZToge1xuICAgICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT3ZlcndyaXRlIGlmIHBlcnNvbmEgYWxyZWFkeSBleGlzdHMgKGRlZmF1bHQ6IGZhbHNlKVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbXCJzb3VyY2VcIl0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgaGFuZGxlcjogKGFyZ3M6IGFueSkgPT4gc2VydmVyLmltcG9ydFBlcnNvbmEoYXJncy5zb3VyY2UsIGFyZ3Mub3ZlcndyaXRlKVxuICAgIH0sXG4gICAge1xuICAgICAgdG9vbDoge1xuICAgICAgICBuYW1lOiBcInNoYXJlX3BlcnNvbmFcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiR2VuZXJhdGUgYSBzaGFyZWFibGUgVVJMIGZvciBhIHBlcnNvbmFcIixcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHBlcnNvbmE6IHtcbiAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHBlcnNvbmEgbmFtZSBvciBmaWxlbmFtZSB0byBzaGFyZVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cGlyeURheXM6IHtcbiAgICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTnVtYmVyIG9mIGRheXMgdGhlIHNoYXJlIGxpbmsgaXMgdmFsaWQgKGRlZmF1bHQ6IDcpXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFtcInBlcnNvbmFcIl0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgaGFuZGxlcjogKGFyZ3M6IGFueSkgPT4gc2VydmVyLnNoYXJlUGVyc29uYShhcmdzLnBlcnNvbmEsIGFyZ3MuZXhwaXJ5RGF5cylcbiAgICB9LFxuICAgIHtcbiAgICAgIHRvb2w6IHtcbiAgICAgICAgbmFtZTogXCJpbXBvcnRfZnJvbV91cmxcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiSW1wb3J0IGEgcGVyc29uYSBmcm9tIGEgc2hhcmVkIFVSTFwiLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXJsOiB7XG4gICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzaGFyZWQgVVJMIHRvIGltcG9ydCBmcm9tXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3ZlcndyaXRlOiB7XG4gICAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPdmVyd3JpdGUgaWYgcGVyc29uYSBhbHJlYWR5IGV4aXN0cyAoZGVmYXVsdDogZmFsc2UpXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFtcInVybFwiXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiAoYXJnczogYW55KSA9PiBzZXJ2ZXIuaW1wb3J0RnJvbVVybChhcmdzLnVybCwgYXJncy5vdmVyd3JpdGUpXG4gICAgfVxuICBdO1xufSJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc29uYVRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90b29scy9QZXJzb25hVG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUtILE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxNQUFvQjtJQUM5RCxPQUFPO1FBQ0wsc0dBQXNHO1FBQ3RHLGdGQUFnRjtRQUNoRixJQUFJO1FBQ0osWUFBWTtRQUNaLDhCQUE4QjtRQUM5QiwrREFBK0Q7UUFDL0QscUJBQXFCO1FBQ3JCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLDRCQUE0QjtRQUM1QixtRUFBbUU7UUFDbkUsYUFBYTtRQUNiLFdBQVc7UUFDWCwrQkFBK0I7UUFDL0IsU0FBUztRQUNULE9BQU87UUFDUCwrREFBK0Q7UUFDL0QsS0FBSztRQUNMLElBQUk7UUFDSixZQUFZO1FBQ1osbUNBQW1DO1FBQ25DLDJEQUEyRDtRQUMzRCxxQkFBcUI7UUFDckIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0Qiw2QkFBNkI7UUFDN0IsNkJBQTZCO1FBQzdCLCtFQUErRTtRQUMvRSxhQUFhO1FBQ2IsV0FBVztRQUNYLFNBQVM7UUFDVCxPQUFPO1FBQ1AsMkVBQTJFO1FBQzNFLEtBQUs7UUFDTDtZQUNFLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixXQUFXLEVBQUUsa0RBQWtEO2dCQUMvRCxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsVUFBVSxFQUFFO3dCQUNWLE1BQU0sRUFBRTs0QkFDTixJQUFJLEVBQUUsUUFBUTs0QkFDZCxXQUFXLEVBQUUsbUVBQW1FO3lCQUNqRjt3QkFDRCxTQUFTLEVBQUU7NEJBQ1QsSUFBSSxFQUFFLFNBQVM7NEJBQ2YsV0FBVyxFQUFFLHNEQUFzRDt5QkFDcEU7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUNyQjthQUNGO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUMxRTtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQZXJzb25hIGV4cG9ydC9pbXBvcnQgdG9vbCBkZWZpbml0aW9ucyBhbmQgaGFuZGxlcnNcbiAqIE5vdGU6IENvcmUgcGVyc29uYSBtYW5hZ2VtZW50IGZ1bmN0aW9uYWxpdHkgKGxpc3QsIGFjdGl2YXRlLCBjcmVhdGUsIGVkaXQsIGV0Yy4pIFxuICogaXMgbm93IGF2YWlsYWJsZSB0aHJvdWdoIHRoZSBnZW5lcmljIGVsZW1lbnQgdG9vbHMgKGxpc3RfZWxlbWVudHMsIGFjdGl2YXRlX2VsZW1lbnQsIGV0Yy4pXG4gKi9cblxuaW1wb3J0IHsgVG9vbERlZmluaXRpb24gfSBmcm9tICcuL1Rvb2xSZWdpc3RyeS5qcyc7XG5pbXBvcnQgeyBJVG9vbEhhbmRsZXIgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQZXJzb25hRXhwb3J0SW1wb3J0VG9vbHMoc2VydmVyOiBJVG9vbEhhbmRsZXIpOiBBcnJheTx7IHRvb2w6IFRvb2xEZWZpbml0aW9uOyBoYW5kbGVyOiBhbnkgfT4ge1xuICByZXR1cm4gW1xuICAgIC8vIERpc2FibGVkOiBleHBvcnRfcGVyc29uYSBhbmQgZXhwb3J0X2FsbF9wZXJzb25hcyBhcmUgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBlbGVtZW50IHN5c3RlbVxuICAgIC8vIFRoZXNlIHRvb2xzIG1heSBiZSByZS1pbXBsZW1lbnRlZCBvbmNlIHRoZSBlbGVtZW50IHN5c3RlbSBpcyBmdWxseSBzdGFiaWxpemVkXG4gICAgLy8ge1xuICAgIC8vICAgdG9vbDoge1xuICAgIC8vICAgICBuYW1lOiBcImV4cG9ydF9wZXJzb25hXCIsXG4gICAgLy8gICAgIGRlc2NyaXB0aW9uOiBcIkV4cG9ydCBhIHNpbmdsZSBwZXJzb25hIHRvIGEgSlNPTiBmb3JtYXRcIixcbiAgICAvLyAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAvLyAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgIC8vICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAvLyAgICAgICAgIHBlcnNvbmE6IHtcbiAgICAvLyAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAvLyAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHBlcnNvbmEgbmFtZSBvciBmaWxlbmFtZSB0byBleHBvcnRcIixcbiAgICAvLyAgICAgICAgIH0sXG4gICAgLy8gICAgICAgfSxcbiAgICAvLyAgICAgICByZXF1aXJlZDogW1wicGVyc29uYVwiXSxcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgIH0sXG4gICAgLy8gICBoYW5kbGVyOiAoYXJnczogYW55KSA9PiBzZXJ2ZXIuZXhwb3J0UGVyc29uYShhcmdzLnBlcnNvbmEpXG4gICAgLy8gfSxcbiAgICAvLyB7XG4gICAgLy8gICB0b29sOiB7XG4gICAgLy8gICAgIG5hbWU6IFwiZXhwb3J0X2FsbF9wZXJzb25hc1wiLFxuICAgIC8vICAgICBkZXNjcmlwdGlvbjogXCJFeHBvcnQgYWxsIHBlcnNvbmFzIHRvIGEgSlNPTiBidW5kbGVcIixcbiAgICAvLyAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAvLyAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgIC8vICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAvLyAgICAgICAgIGluY2x1ZGVEZWZhdWx0czoge1xuICAgIC8vICAgICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAvLyAgICAgICAgICAgZGVzY3JpcHRpb246IFwiSW5jbHVkZSBkZWZhdWx0IHBlcnNvbmFzIGluIGV4cG9ydCAoZGVmYXVsdDogdHJ1ZSlcIixcbiAgICAvLyAgICAgICAgIH0sXG4gICAgLy8gICAgICAgfSxcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgIH0sXG4gICAgLy8gICBoYW5kbGVyOiAoYXJnczogYW55KSA9PiBzZXJ2ZXIuZXhwb3J0QWxsUGVyc29uYXMoYXJncy5pbmNsdWRlRGVmYXVsdHMpXG4gICAgLy8gfSxcbiAgICB7XG4gICAgICB0b29sOiB7XG4gICAgICAgIG5hbWU6IFwiaW1wb3J0X3BlcnNvbmFcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiSW1wb3J0IGEgcGVyc29uYSBmcm9tIGEgZmlsZSBwYXRoIG9yIEpTT04gc3RyaW5nXCIsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRmlsZSBwYXRoIHRvIGEgLm1kIG9yIC5qc29uIGZpbGUsIG9yIGEgSlNPTiBzdHJpbmcgb2YgdGhlIHBlcnNvbmFcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdmVyd3JpdGU6IHtcbiAgICAgICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk92ZXJ3cml0ZSBpZiBwZXJzb25hIGFscmVhZHkgZXhpc3RzIChkZWZhdWx0OiBmYWxzZSlcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogW1wic291cmNlXCJdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGhhbmRsZXI6IChhcmdzOiBhbnkpID0+IHNlcnZlci5pbXBvcnRQZXJzb25hKGFyZ3Muc291cmNlLCBhcmdzLm92ZXJ3cml0ZSlcbiAgICB9XG4gIF07XG59Il19
@@ -64,8 +64,6 @@ export interface IToolHandler {
64
64
  exportPersona(persona: string): Promise<any>;
65
65
  exportAllPersonas(includeDefaults?: boolean): Promise<any>;
66
66
  importPersona(source: string, overwrite?: boolean): Promise<any>;
67
- sharePersona(persona: string, expiryDays?: number): Promise<any>;
68
- importFromUrl(url: string, overwrite?: boolean): Promise<any>;
69
67
  portfolioStatus(username?: string): Promise<any>;
70
68
  initPortfolio(options: {
71
69
  repositoryName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAE3B,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1H,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAG/C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5D,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5D,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,aAAa,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACvI,WAAW,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzF,eAAe,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpF,aAAa,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAGtF,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAGvD,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGzC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGlC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,oBAAoB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAItD,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,6BAA6B,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjE,6BAA6B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAG9C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,iBAAiB,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAG9D,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,aAAa,CAAC,OAAO,EAAE;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzG,eAAe,CAAC,OAAO,EAAE;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxI,aAAa,CAAC,OAAO,EAAE;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3F,eAAe,CAAC,OAAO,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrO,SAAS,CAAC,OAAO,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAChJ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@
2
2
  * Server interface types to avoid circular dependencies
3
3
  */
4
4
  export {};
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZXJ2ZXIgaW50ZXJmYWNlIHR5cGVzIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY2llc1xuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2xIYW5kbGVyIHtcbiAgLy8gUGVyc29uYSB0b29scyAobGVnYWN5IC0gd2lsbCBjYWxsIGVsZW1lbnQgdG9vbHMgaW50ZXJuYWxseSlcbiAgbGlzdFBlcnNvbmFzKCk6IFByb21pc2U8YW55PjtcbiAgYWN0aXZhdGVQZXJzb25hKHBlcnNvbmE6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgZ2V0QWN0aXZlUGVyc29uYSgpOiBQcm9taXNlPGFueT47XG4gIGRlYWN0aXZhdGVQZXJzb25hKCk6IFByb21pc2U8YW55PjtcbiAgZ2V0UGVyc29uYURldGFpbHMocGVyc29uYTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICByZWxvYWRQZXJzb25hcygpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZVBlcnNvbmEobmFtZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCBjYXRlZ29yeTogc3RyaW5nLCBpbnN0cnVjdGlvbnM6IHN0cmluZywgdHJpZ2dlcnM/OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGVkaXRQZXJzb25hKHBlcnNvbmE6IHN0cmluZywgZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgdmFsaWRhdGVQZXJzb25hKHBlcnNvbmE6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgXG4gIC8vIEVsZW1lbnQgdG9vbHMgKGdlbmVyaWMgZm9yIGFsbCBlbGVtZW50IHR5cGVzKVxuICBsaXN0RWxlbWVudHModHlwZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBhY3RpdmF0ZUVsZW1lbnQobmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGdldEFjdGl2ZUVsZW1lbnRzKHR5cGU6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgZGVhY3RpdmF0ZUVsZW1lbnQobmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGdldEVsZW1lbnREZXRhaWxzKG5hbWU6IHN0cmluZywgdHlwZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICByZWxvYWRFbGVtZW50cyh0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZUVsZW1lbnQoYXJnczoge25hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nOyBkZXNjcmlwdGlvbjogc3RyaW5nOyBjb250ZW50Pzogc3RyaW5nOyBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT59KTogUHJvbWlzZTxhbnk+O1xuICBlZGl0RWxlbWVudChhcmdzOiB7bmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmc7IGZpZWxkOiBzdHJpbmc7IHZhbHVlOiBhbnl9KTogUHJvbWlzZTxhbnk+O1xuICB2YWxpZGF0ZUVsZW1lbnQoYXJnczoge25hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nOyBzdHJpY3Q/OiBib29sZWFufSk6IFByb21pc2U8YW55PjtcbiAgZGVsZXRlRWxlbWVudChhcmdzOiB7bmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmc7IGRlbGV0ZURhdGE/OiBib29sZWFufSk6IFByb21pc2U8YW55PjtcbiAgXG4gIC8vIEVsZW1lbnQtc3BlY2lmaWMgdG9vbHNcbiAgcmVuZGVyVGVtcGxhdGUobmFtZTogc3RyaW5nLCB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPGFueT47XG4gIGV4ZWN1dGVBZ2VudChuYW1lOiBzdHJpbmcsIGdvYWw6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgXG4gIC8vIENvbGxlY3Rpb24gdG9vbHNcbiAgYnJvd3NlQ29sbGVjdGlvbihzZWN0aW9uPzogc3RyaW5nLCB0eXBlPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBzZWFyY2hDb2xsZWN0aW9uKHF1ZXJ5OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIHNlYXJjaENvbGxlY3Rpb25FbmhhbmNlZChxdWVyeTogc3RyaW5nLCBvcHRpb25zPzogYW55KTogUHJvbWlzZTxhbnk+O1xuICBnZXRDb2xsZWN0aW9uQ29udGVudChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGluc3RhbGxDb250ZW50KHBhdGg6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgc3VibWl0Q29udGVudChjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGdldENvbGxlY3Rpb25DYWNoZUhlYWx0aCgpOiBQcm9taXNlPGFueT47XG4gIFxuICAvLyBVc2VyIHRvb2xzXG4gIHNldFVzZXJJZGVudGl0eSh1c2VybmFtZTogc3RyaW5nLCBlbWFpbD86IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgZ2V0VXNlcklkZW50aXR5KCk6IFByb21pc2U8YW55PjtcbiAgY2xlYXJVc2VySWRlbnRpdHkoKTogUHJvbWlzZTxhbnk+O1xuICBcbiAgLy8gQXV0aGVudGljYXRpb24gdG9vbHNcbiAgc2V0dXBHaXRIdWJBdXRoKCk6IFByb21pc2U8YW55PjtcbiAgY2hlY2tHaXRIdWJBdXRoKCk6IFByb21pc2U8YW55PjtcbiAgY2xlYXJHaXRIdWJBdXRoKCk6IFByb21pc2U8YW55PjtcbiAgY29uZmlndXJlT0F1dGgoY2xpZW50X2lkPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBnZXRPQXV0aEhlbHBlclN0YXR1cyh2ZXJib3NlPzogYm9vbGVhbik6IFByb21pc2U8YW55PjtcbiAgXG4gIFxuICAvLyBDb25maWcgdG9vbHNcbiAgY29uZmlndXJlSW5kaWNhdG9yKGNvbmZpZzogYW55KTogUHJvbWlzZTxhbnk+O1xuICBnZXRJbmRpY2F0b3JDb25maWcoKTogUHJvbWlzZTxhbnk+O1xuICBjb25maWd1cmVDb2xsZWN0aW9uU3VibWlzc2lvbihhdXRvU3VibWl0OiBib29sZWFuKTogUHJvbWlzZTxhbnk+O1xuICBnZXRDb2xsZWN0aW9uU3VibWlzc2lvbkNvbmZpZygpOiBQcm9taXNlPGFueT47XG4gIFxuICAvLyBFeHBvcnQvSW1wb3J0L1NoYXJlIHRvb2xzXG4gIGV4cG9ydFBlcnNvbmEocGVyc29uYTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBleHBvcnRBbGxQZXJzb25hcyhpbmNsdWRlRGVmYXVsdHM/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+O1xuICBpbXBvcnRQZXJzb25hKHNvdXJjZTogc3RyaW5nLCBvdmVyd3JpdGU/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+O1xuICBzaGFyZVBlcnNvbmEocGVyc29uYTogc3RyaW5nLCBleHBpcnlEYXlzPzogbnVtYmVyKTogUHJvbWlzZTxhbnk+O1xuICBpbXBvcnRGcm9tVXJsKHVybDogc3RyaW5nLCBvdmVyd3JpdGU/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+O1xuICBcbiAgLy8gUG9ydGZvbGlvIHRvb2xzXG4gIHBvcnRmb2xpb1N0YXR1cyh1c2VybmFtZT86IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgaW5pdFBvcnRmb2xpbyhvcHRpb25zOiB7cmVwb3NpdG9yeU5hbWU/OiBzdHJpbmc7IHByaXZhdGU/OiBib29sZWFuOyBkZXNjcmlwdGlvbj86IHN0cmluZ30pOiBQcm9taXNlPGFueT47XG4gIHBvcnRmb2xpb0NvbmZpZyhvcHRpb25zOiB7YXV0b1N5bmM/OiBib29sZWFuOyBkZWZhdWx0VmlzaWJpbGl0eT86IHN0cmluZzsgYXV0b1N1Ym1pdD86IGJvb2xlYW47IHJlcG9zaXRvcnlOYW1lPzogc3RyaW5nfSk6IFByb21pc2U8YW55PjtcbiAgc3luY1BvcnRmb2xpbyhvcHRpb25zOiB7ZGlyZWN0aW9uOiBzdHJpbmc7IGZvcmNlOiBib29sZWFuOyBkcnlSdW46IGJvb2xlYW59KTogUHJvbWlzZTxhbnk+O1xuICBzZWFyY2hQb3J0Zm9saW8ob3B0aW9uczoge3F1ZXJ5OiBzdHJpbmc7IGVsZW1lbnRUeXBlPzogc3RyaW5nOyBmdXp6eU1hdGNoPzogYm9vbGVhbjsgbWF4UmVzdWx0cz86IG51bWJlcjsgaW5jbHVkZUtleXdvcmRzPzogYm9vbGVhbjsgaW5jbHVkZVRhZ3M/OiBib29sZWFuOyBpbmNsdWRlVHJpZ2dlcnM/OiBib29sZWFuOyBpbmNsdWRlRGVzY3JpcHRpb25zPzogYm9vbGVhbn0pOiBQcm9taXNlPGFueT47XG4gIHNlYXJjaEFsbChvcHRpb25zOiB7cXVlcnk6IHN0cmluZzsgc291cmNlcz86IHN0cmluZ1tdOyBlbGVtZW50VHlwZT86IHN0cmluZzsgcGFnZT86IG51bWJlcjsgcGFnZVNpemU/OiBudW1iZXI7IHNvcnRCeT86IHN0cmluZ30pOiBQcm9taXNlPGFueT47XG59Il19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZXJ2ZXIgaW50ZXJmYWNlIHR5cGVzIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY2llc1xuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2xIYW5kbGVyIHtcbiAgLy8gUGVyc29uYSB0b29scyAobGVnYWN5IC0gd2lsbCBjYWxsIGVsZW1lbnQgdG9vbHMgaW50ZXJuYWxseSlcbiAgbGlzdFBlcnNvbmFzKCk6IFByb21pc2U8YW55PjtcbiAgYWN0aXZhdGVQZXJzb25hKHBlcnNvbmE6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgZ2V0QWN0aXZlUGVyc29uYSgpOiBQcm9taXNlPGFueT47XG4gIGRlYWN0aXZhdGVQZXJzb25hKCk6IFByb21pc2U8YW55PjtcbiAgZ2V0UGVyc29uYURldGFpbHMocGVyc29uYTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICByZWxvYWRQZXJzb25hcygpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZVBlcnNvbmEobmFtZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCBjYXRlZ29yeTogc3RyaW5nLCBpbnN0cnVjdGlvbnM6IHN0cmluZywgdHJpZ2dlcnM/OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGVkaXRQZXJzb25hKHBlcnNvbmE6IHN0cmluZywgZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgdmFsaWRhdGVQZXJzb25hKHBlcnNvbmE6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgXG4gIC8vIEVsZW1lbnQgdG9vbHMgKGdlbmVyaWMgZm9yIGFsbCBlbGVtZW50IHR5cGVzKVxuICBsaXN0RWxlbWVudHModHlwZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBhY3RpdmF0ZUVsZW1lbnQobmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGdldEFjdGl2ZUVsZW1lbnRzKHR5cGU6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgZGVhY3RpdmF0ZUVsZW1lbnQobmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGdldEVsZW1lbnREZXRhaWxzKG5hbWU6IHN0cmluZywgdHlwZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICByZWxvYWRFbGVtZW50cyh0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZUVsZW1lbnQoYXJnczoge25hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nOyBkZXNjcmlwdGlvbjogc3RyaW5nOyBjb250ZW50Pzogc3RyaW5nOyBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT59KTogUHJvbWlzZTxhbnk+O1xuICBlZGl0RWxlbWVudChhcmdzOiB7bmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmc7IGZpZWxkOiBzdHJpbmc7IHZhbHVlOiBhbnl9KTogUHJvbWlzZTxhbnk+O1xuICB2YWxpZGF0ZUVsZW1lbnQoYXJnczoge25hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nOyBzdHJpY3Q/OiBib29sZWFufSk6IFByb21pc2U8YW55PjtcbiAgZGVsZXRlRWxlbWVudChhcmdzOiB7bmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmc7IGRlbGV0ZURhdGE/OiBib29sZWFufSk6IFByb21pc2U8YW55PjtcbiAgXG4gIC8vIEVsZW1lbnQtc3BlY2lmaWMgdG9vbHNcbiAgcmVuZGVyVGVtcGxhdGUobmFtZTogc3RyaW5nLCB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPGFueT47XG4gIGV4ZWN1dGVBZ2VudChuYW1lOiBzdHJpbmcsIGdvYWw6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgXG4gIC8vIENvbGxlY3Rpb24gdG9vbHNcbiAgYnJvd3NlQ29sbGVjdGlvbihzZWN0aW9uPzogc3RyaW5nLCB0eXBlPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBzZWFyY2hDb2xsZWN0aW9uKHF1ZXJ5OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIHNlYXJjaENvbGxlY3Rpb25FbmhhbmNlZChxdWVyeTogc3RyaW5nLCBvcHRpb25zPzogYW55KTogUHJvbWlzZTxhbnk+O1xuICBnZXRDb2xsZWN0aW9uQ29udGVudChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGluc3RhbGxDb250ZW50KHBhdGg6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgc3VibWl0Q29udGVudChjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGdldENvbGxlY3Rpb25DYWNoZUhlYWx0aCgpOiBQcm9taXNlPGFueT47XG4gIFxuICAvLyBVc2VyIHRvb2xzXG4gIHNldFVzZXJJZGVudGl0eSh1c2VybmFtZTogc3RyaW5nLCBlbWFpbD86IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgZ2V0VXNlcklkZW50aXR5KCk6IFByb21pc2U8YW55PjtcbiAgY2xlYXJVc2VySWRlbnRpdHkoKTogUHJvbWlzZTxhbnk+O1xuICBcbiAgLy8gQXV0aGVudGljYXRpb24gdG9vbHNcbiAgc2V0dXBHaXRIdWJBdXRoKCk6IFByb21pc2U8YW55PjtcbiAgY2hlY2tHaXRIdWJBdXRoKCk6IFByb21pc2U8YW55PjtcbiAgY2xlYXJHaXRIdWJBdXRoKCk6IFByb21pc2U8YW55PjtcbiAgY29uZmlndXJlT0F1dGgoY2xpZW50X2lkPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBnZXRPQXV0aEhlbHBlclN0YXR1cyh2ZXJib3NlPzogYm9vbGVhbik6IFByb21pc2U8YW55PjtcbiAgXG4gIFxuICAvLyBDb25maWcgdG9vbHNcbiAgY29uZmlndXJlSW5kaWNhdG9yKGNvbmZpZzogYW55KTogUHJvbWlzZTxhbnk+O1xuICBnZXRJbmRpY2F0b3JDb25maWcoKTogUHJvbWlzZTxhbnk+O1xuICBjb25maWd1cmVDb2xsZWN0aW9uU3VibWlzc2lvbihhdXRvU3VibWl0OiBib29sZWFuKTogUHJvbWlzZTxhbnk+O1xuICBnZXRDb2xsZWN0aW9uU3VibWlzc2lvbkNvbmZpZygpOiBQcm9taXNlPGFueT47XG4gIFxuICAvLyBFeHBvcnQvSW1wb3J0IHRvb2xzXG4gIGV4cG9ydFBlcnNvbmEocGVyc29uYTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBleHBvcnRBbGxQZXJzb25hcyhpbmNsdWRlRGVmYXVsdHM/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+O1xuICBpbXBvcnRQZXJzb25hKHNvdXJjZTogc3RyaW5nLCBvdmVyd3JpdGU/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+O1xuICBcbiAgLy8gUG9ydGZvbGlvIHRvb2xzXG4gIHBvcnRmb2xpb1N0YXR1cyh1c2VybmFtZT86IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgaW5pdFBvcnRmb2xpbyhvcHRpb25zOiB7cmVwb3NpdG9yeU5hbWU/OiBzdHJpbmc7IHByaXZhdGU/OiBib29sZWFuOyBkZXNjcmlwdGlvbj86IHN0cmluZ30pOiBQcm9taXNlPGFueT47XG4gIHBvcnRmb2xpb0NvbmZpZyhvcHRpb25zOiB7YXV0b1N5bmM/OiBib29sZWFuOyBkZWZhdWx0VmlzaWJpbGl0eT86IHN0cmluZzsgYXV0b1N1Ym1pdD86IGJvb2xlYW47IHJlcG9zaXRvcnlOYW1lPzogc3RyaW5nfSk6IFByb21pc2U8YW55PjtcbiAgc3luY1BvcnRmb2xpbyhvcHRpb25zOiB7ZGlyZWN0aW9uOiBzdHJpbmc7IGZvcmNlOiBib29sZWFuOyBkcnlSdW46IGJvb2xlYW59KTogUHJvbWlzZTxhbnk+O1xuICBzZWFyY2hQb3J0Zm9saW8ob3B0aW9uczoge3F1ZXJ5OiBzdHJpbmc7IGVsZW1lbnRUeXBlPzogc3RyaW5nOyBmdXp6eU1hdGNoPzogYm9vbGVhbjsgbWF4UmVzdWx0cz86IG51bWJlcjsgaW5jbHVkZUtleXdvcmRzPzogYm9vbGVhbjsgaW5jbHVkZVRhZ3M/OiBib29sZWFuOyBpbmNsdWRlVHJpZ2dlcnM/OiBib29sZWFuOyBpbmNsdWRlRGVzY3JpcHRpb25zPzogYm9vbGVhbn0pOiBQcm9taXNlPGFueT47XG4gIHNlYXJjaEFsbChvcHRpb25zOiB7cXVlcnk6IHN0cmluZzsgc291cmNlcz86IHN0cmluZ1tdOyBlbGVtZW50VHlwZT86IHN0cmluZzsgcGFnZT86IG51bWJlcjsgcGFnZVNpemU/OiBudW1iZXI7IHNvcnRCeT86IHN0cmluZ30pOiBQcm9taXNlPGFueT47XG59Il19
@@ -1 +1 @@
1
- {"version":3,"file":"PortfolioElementAdapter.d.ts","sourceRoot":"","sources":["../../../src/tools/portfolio/PortfolioElementAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EAGd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAQ9D;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,QAAQ;IACtD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;gBAExC,OAAO,EAAE,gBAAgB;IAsDrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,QAAQ,IAAI,uBAAuB;IAyBnC;;;;;OAKG;IACH,SAAS,IAAI,MAAM;IA2GnB;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,IAAI,aAAa;IAI1B;;OAEG;IACH,UAAU,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"PortfolioElementAdapter.d.ts","sourceRoot":"","sources":["../../../src/tools/portfolio/PortfolioElementAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EAGd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAQ9D;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,QAAQ;IACtD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;gBAExC,OAAO,EAAE,gBAAgB;IAsDrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,QAAQ,IAAI,uBAAuB;IAyBnC;;;;;OAKG;IACH,SAAS,IAAI,MAAM;IA6GnB;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,IAAI,aAAa;IAI1B;;OAEG;IACH,UAAU,IAAI,MAAM;CAGrB"}
@@ -169,6 +169,7 @@ export class PortfolioElementAdapter {
169
169
  ...existingMetadata, // Existing metadata first
170
170
  ...this.metadata, // Our validated metadata overwrites
171
171
  id: this.id, // Always use our ID
172
+ unique_id: this.id, // CRITICAL FIX: Add unique_id for collection workflow compatibility
172
173
  type: this.type, // Always use our type
173
174
  version: this.version // Always use our version
174
175
  };
@@ -192,6 +193,7 @@ export class PortfolioElementAdapter {
192
193
  // Fall back to minimal safe metadata
193
194
  const safeMetadata = {
194
195
  id: this.id,
196
+ unique_id: this.id, // CRITICAL FIX: Include unique_id for collection workflow
195
197
  type: this.type,
196
198
  version: this.version,
197
199
  name: this.normalizeString(this.metadata.name || 'Untitled'),
@@ -226,4 +228,4 @@ export class PortfolioElementAdapter {
226
228
  return this.portfolioElement.content;
227
229
  }
228
230
  }
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvcG9ydGZvbGlvL1BvcnRmb2xpb0VsZW1lbnRBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FTRztBQUVILE9BQU8sRUFJTCxhQUFhLEVBR2QsTUFBTSxrQ0FBa0MsQ0FBQztBQUcxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV0RTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQixFQUFFLENBQVM7SUFDWCxJQUFJLENBQWM7SUFDbEIsT0FBTyxDQUFTO0lBQ2hCLFFBQVEsQ0FBbUI7SUFDMUIsZ0JBQWdCLENBQW1CO0lBRXBELFlBQVksT0FBeUI7UUFDbkMsd0VBQXdFO1FBQ3hFLDhEQUE4RDtRQUM5RCxrRkFBa0Y7UUFDbEYsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1Qix5Q0FBeUM7WUFDekMsZUFBZSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQixJQUFJLEVBQUUsMEJBQTBCO2dCQUNoQyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsTUFBTSxFQUFFLHFDQUFxQztnQkFDN0MsT0FBTyxFQUFFLG9DQUFvQyxjQUFjLENBQUMs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QUM7WUFFRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDOUMsTUFBTSxFQUFFLElBQUk7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUNkLENBQUMsQ0FBQztZQUVILE9BQU8sUUFBUSxlQUFlLFVBQVUsV0FBVyxFQUFFLENBQUM7UUFDeEQsQ0FBQztRQUVELDJEQUEyRDtRQUMzRCxPQUFPLFFBQVEsWUFBWSxVQUFVLFdBQVcsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBZGFwdGVyIHRvIGNvbnZlcnQgc2ltcGxlIHBvcnRmb2xpbyBlbGVtZW50cyB0byBmdWxsIElFbGVtZW50IGludGVyZmFjZVxuICogVGhpcyByZXNvbHZlcyB0eXBlIHNhZmV0eSBpc3N1ZXMgd2l0aG91dCBjb21wbGV4IHR5cGUgY2FzdGluZ1xuICogXG4gKiBGSVhFUyBJTVBMRU1FTlRFRCAoUFIgIzUwMyk6XG4gKiAxLiBUWVBFIFNBRkVUWSAoSXNzdWUgIzQ5Nyk6IEVsaW1pbmF0ZXMgY29tcGxleCB0eXBlIGNhc3Rpbmcgd2l0aCBhZGFwdGVyIHBhdHRlcm5cbiAqIDIuIFNFQ1VSSVRZIEZJWCBETUNQLVNFQy0wMDQgKE1FRElVTSk6IEFkZGVkIFVuaWNvZGUgbm9ybWFsaXphdGlvbiBmb3IgYWxsIHVzZXIgaW5wdXRcbiAqIDMuIFNFQ1VSSVRZIEZJWCBETUNQLVNFQy0wMDYgKExPVyk6IEFkZGVkIGF1ZGl0IGxvZ2dpbmcgZm9yIGVsZW1lbnQgY3JlYXRpb25cbiAqIDQuIFBFUkZPUk1BTkNFOiBIZWxwZXIgbWV0aG9kcyBmb3IgZWZmaWNpZW50IHN0cmluZyBub3JtYWxpemF0aW9uXG4gKi9cblxuaW1wb3J0IHsgXG4gIElFbGVtZW50LCBcbiAgSUVsZW1lbnRNZXRhZGF0YSwgXG4gIEVsZW1lbnRWYWxpZGF0aW9uUmVzdWx0LCBcbiAgRWxlbWVudFN0YXR1cyxcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBWYWxpZGF0aW9uV2FybmluZ1xufSBmcm9tICcuLi8uLi90eXBlcy9lbGVtZW50cy9JRWxlbWVudC5qcyc7XG5pbXBvcnQgeyBFbGVtZW50VHlwZSB9IGZyb20gJy4uLy4uL3BvcnRmb2xpby90eXBlcy5qcyc7XG5pbXBvcnQgeyBQb3J0Zm9saW9FbGVtZW50IH0gZnJvbSAnLi9zdWJtaXRUb1BvcnRmb2xpb1Rvb2wuanMnO1xuaW1wb3J0IHsgVW5pY29kZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3NlY3VyaXR5L3ZhbGlkYXRvcnMvdW5pY29kZVZhbGlkYXRvci5qcyc7XG5pbXBvcnQgeyBTZWN1cml0eU1vbml0b3IgfSBmcm9tICcuLi8uLi9zZWN1cml0eS9zZWN1cml0eU1vbml0b3IuanMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9nZ2VyLmpzJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAnanMteWFtbCc7XG5pbXBvcnQgbWF0dGVyIGZyb20gJ2dyYXktbWF0dGVyJztcbmltcG9ydCB7IENvbnRlbnRWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9zZWN1cml0eS9jb250ZW50VmFsaWRhdG9yLmpzJztcblxuLyoqXG4gKiBBZGFwdGVyIGNsYXNzIHRoYXQgd3JhcHMgYSBzaW1wbGUgUG9ydGZvbGlvRWxlbWVudCBhbmQgaW1wbGVtZW50cyBJRWxlbWVudFxuICogVGhpcyBhbGxvd3MgdXMgdG8gcGFzcyBwb3J0Zm9saW8gZWxlbWVudHMgdG8gbWV0aG9kcyBleHBlY3RpbmcgSUVsZW1lbnRcbiAqIHdpdGhvdXQgY29tcGxleCB0eXBlIGNhc3RpbmdcbiAqL1xuZXhwb3J0IGNsYXNzIFBvcnRmb2xpb0VsZW1lbnRBZGFwdGVyIGltcGxlbWVudHMgSUVsZW1lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVsZW1lbnRUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0YWRhdGE6IElFbGVtZW50TWV0YWRhdGE7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9ydGZvbGlvRWxlbWVudDogUG9ydGZvbGlvRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBQb3J0Zm9saW9FbGVtZW50KSB7XG4gICAgLy8gU0VDVVJJVFkgRklYICMyIChETUNQLVNFQy0wMDQpOiBOb3JtYWxpemUgYW5kIHZhbGlkYXRlIGFsbCB1c2VyIGlucHV0XG4gICAgLy8gUHJldmlvdXNseTogVXNlciBpbnB1dCB3YXMgdXNlZCBkaXJlY3RseSB3aXRob3V0IHZhbGlkYXRpb25cbiAgICAvLyBOb3c6IEFsbCBzdHJpbmcgaW5wdXRzIGdvIHRocm91Z2ggVW5pY29kZVZhbGlkYXRvciB0byBwcmV2ZW50IGhvbW9ncmFwaCBhdHRhY2tzXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBVbmljb2RlVmFsaWRhdG9yLm5vcm1hbGl6ZShlbGVtZW50Lm1ldGFkYXRhLm5hbWUpO1xuICAgIGlmICghbm9ybWFsaXplZE5hbWUuaXNWYWxpZCkge1xuICAgICAgLy8gTG9nIHNlY3VyaXR5IGV2ZW50IGZvciBpbnZhbGlkIFVuaWNvZGVcbiAgICAgIFNlY3VyaXR5TW9uaXRvci5sb2dTZWN1cml0eUV2ZW50KHtcbiAgICAgICAgdHlwZTogJ1VOSUNPREVfVkFMSURBVElPTl9FUlJPUicsXG4gICAgICAgIHNldmVyaXR5OiAnTUVESVVNJyxcbiAgICAgICAgc291cmNlOiAnUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXIuY29uc3RydWN0b3InLFxuICAgICAgICBkZXRhaWxzOiBgSW52YWxpZCBVbmljb2RlIGluIGVsZW1lbnQgbmFtZTogJHtub3JtYWxpemVkTmFtZS5kZXRlY3RlZElzc3Vlcz8uWzBdIHx8ICd1bmtub3duJ31gXG4gICAgICB9KTtcbiAgICAgIGxvZ2dlci53YXJuKCdJbnZhbGlkIFVuaWNvZGUgZGV0ZWN0ZWQgaW4gZWxlbWVudCBuYW1lJywge1xuICAgICAgICBpc3N1ZXM6IG5vcm1hbGl6ZWROYW1lLmRldGVjdGVkSXNzdWVzXG4gICAgICB9KTtcbiAgICB9XG4gICAgXG4gICAgdGhpcy5wb3J0Zm9saW9FbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLnR5cGUgPSBlbGVtZW50LnR5cGU7XG4gICAgdGhpcy52ZXJzaW9uID0gZWxlbWVudC5tZXRhZGF0YS52ZXJzaW9uIHx8ICcxLjAuMCc7XG4gICAgXG4gICAgLy8gR2VuZXJhdGUgSUQgZnJvbSB0eXBlIGFuZCBub3JtYWxpemVkIG5hbWVcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvWzouXS9nLCAnLScpO1xuICAgIGNvbnN0IHNhZmVOYW1lID0gbm9ybWFsaXplZE5hbWUubm9ybWFsaXplZENvbnRlbnQgfHwgZWxlbWVudC5tZXRhZGF0YS5uYW1lO1xuICAgIGNvbnN0IG5hbWVTbHVnID0gc2FmZU5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJyk7XG4gICAgdGhpcy5pZCA9IGAke2VsZW1lbnQudHlwZX1fJHtuYW1lU2x1Z31fJHt0aW1lc3RhbXB9YDtcbiAgICBcbiAgICAvLyBDb252ZXJ0IG1ldGFkYXRhIHRvIElFbGVtZW50TWV0YWRhdGEgZm9ybWF0IHdpdGggbm9ybWFsaXplZCB2YWx1ZXNcbiAgICB0aGlzLm1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogc2FmZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5ub3JtYWxpemVTdHJpbmcoZWxlbWVudC5tZXRhZGF0YS5kZXNjcmlwdGlvbiB8fCAnJyksXG4gICAgICBhdXRob3I6IHRoaXMubm9ybWFsaXplU3RyaW5nKGVsZW1lbnQubWV0YWRhdGEuYXV0aG9yIHx8ICcnKSxcbiAgICAgIHZlcnNpb246IGVsZW1lbnQubWV0YWRhdGEudmVyc2lvbixcbiAgICAgIGNyZWF0ZWQ6IGVsZW1lbnQubWV0YWRhdGEuY3JlYXRlZCxcbiAgICAgIG1vZGlmaWVkOiBlbGVtZW50Lm1ldGFkYXRhLnVwZGF0ZWQsXG4gICAgICB0YWdzOiBbXVxuICAgIH07XG4gICAgXG4gICAgLy8gU0VDVVJJVFkgRklYICMzIChETUNQLVNFQy0wMDYpOiBMb2cgZWxlbWVudCBjcmVhdGlvbiBmb3IgYXVkaXQgdHJhaWxcbiAgICAvLyBQcmV2aW91c2x5OiBObyBhdWRpdCBsb2dnaW5nIGZvciBwb3J0Zm9saW8gb3BlcmF0aW9uc1xuICAgIC8vIE5vdzogQ29tcGxldGUgYXVkaXQgdHJhaWwgdXNpbmcgU2VjdXJpdHlNb25pdG9yLmxvZ1NlY3VyaXR5RXZlbnQoKVxuICAgIFNlY3VyaXR5TW9uaXRvci5sb2dTZWN1cml0eUV2ZW50KHtcbiAgICAgIHR5cGU6ICdFTEVNRU5UX0NSRUFURUQnLFxuICAgICAgc2V2ZXJpdHk6ICdMT1cnLFxuICAgICAgc291cmNlOiAnUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXIuY29uc3RydWN0b3InLFxuICAgICAgZGV0YWlsczogYENyZWF0ZWQgcG9ydGZvbGlvIGVsZW1lbnQgYWRhcHRlcjogJHt0aGlzLmlkfWAsXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBlbGVtZW50VHlwZTogdGhpcy50eXBlLFxuICAgICAgICBlbGVtZW50SWQ6IHRoaXMuaWRcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEhlbHBlciB0byBub3JtYWxpemUgc3RyaW5nIHZhbHVlcyBzYWZlbHlcbiAgICovXG4gIHByaXZhdGUgbm9ybWFsaXplU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHJldHVybiB2YWx1ZTtcbiAgICBjb25zdCBub3JtYWxpemVkID0gVW5pY29kZVZhbGlkYXRvci5ub3JtYWxpemUodmFsdWUpO1xuICAgIHJldHVybiBub3JtYWxpemVkLm5vcm1hbGl6ZWRDb250ZW50IHx8IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoZSBlbGVtZW50XG4gICAqL1xuICB2YWxpZGF0ZSgpOiBFbGVtZW50VmFsaWRhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JbXSA9IFtdO1xuICAgIGNvbnN0IHdhcm5pbmdzOiBWYWxpZGF0aW9uV2FybmluZ1tdID0gW107XG5cbiAgICBpZiAoIXRoaXMubWV0YWRhdGEubmFtZSkge1xuICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICBmaWVsZDogJ25hbWUnLFxuICAgICAgICBtZXNzYWdlOiAnRWxlbWVudCBuYW1lIGlzIHJlcXVpcmVkJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIFxuICAgIGlmICghdGhpcy5wb3J0Zm9saW9FbGVtZW50LmNvbnRlbnQpIHtcbiAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgZmllbGQ6ICdjb250ZW50JyxcbiAgICAgICAgbWVzc2FnZTogJ0VsZW1lbnQgY29udGVudCBpcyByZXF1aXJlZCdcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB2YWxpZDogZXJyb3JzLmxlbmd0aCA9PT0gMCxcbiAgICAgIGVycm9yczogZXJyb3JzLmxlbmd0aCA+IDAgPyBlcnJvcnMgOiB1bmRlZmluZWQsXG4gICAgICB3YXJuaW5nczogd2FybmluZ3MubGVuZ3RoID4gMCA/IHdhcm5pbmdzIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIGVsZW1lbnQgdG8gbWFya2Rvd24gd2l0aCBZQU1MIGZyb250bWF0dGVyXG4gICAqIEZJWDogQ2hhbmdlZCBmcm9tIEpTT04gdG8gbWFya2Rvd24gZm9ybWF0IGZvciBHaXRIdWIgcG9ydGZvbGlvIGNvbXBhdGliaWxpdHlcbiAgICogU0VDVVJJVFkgRklYICM1NDQ6IFBhcnNlIGFuZCB2YWxpZGF0ZSBleGlzdGluZyBmcm9udG1hdHRlciBpbnN0ZWFkIG9mIHJldHVybmluZyBhcy1pc1xuICAgKiBTRUNVUklUWSBGSVggIzU0MzogVXNlIGdyYXktbWF0dGVyIGZvciByb2J1c3QgZnJvbnRtYXR0ZXIgZGV0ZWN0aW9uXG4gICAqL1xuICBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICAvLyBTRUNVUklUWSBGSVggIzU0MzogVXNlIGdyYXktbWF0dGVyIGZvciByb2J1c3QgZnJvbnRtYXR0ZXIgZGV0ZWN0aW9uXG4gICAgLy8gVGhpcyBoYW5kbGVzIGRpZmZlcmVudCBsaW5lIGVuZGluZ3MsIHdoaXRlc3BhY2UgdmFyaWF0aW9ucywgYW5kIG1hbGZvcm1lZCBZQU1MXG4gICAgbGV0IGNvbnRlbnRUb1Byb2Nlc3MgPSB0aGlzLnBvcnRmb2xpb0VsZW1lbnQuY29udGVudDtcbiAgICBsZXQgZXhpc3RpbmdNZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIGxldCBib2R5Q29udGVudCA9IGNvbnRlbnRUb1Byb2Nlc3M7XG4gICAgXG4gICAgLy8gVHJ5IHRvIHBhcnNlIGV4aXN0aW5nIGZyb250bWF0dGVyIGlmIHByZXNlbnRcbiAgICB0cnkge1xuICAgICAgLy8gZ3JheS1tYXR0ZXIgaGFuZGxlcyBhbGwgZWRnZSBjYXNlczpcbiAgICAgIC8vIC0gRGlmZmVyZW50IGxpbmUgZW5kaW5ncyAoXFxuLCBcXHJcXG4pXG4gICAgICAvLyAtIFdoaXRlc3BhY2UgdmFyaWF0aW9uc1xuICAgICAgLy8gLSBNYWxmb3JtZWQgWUFNTCAocmV0dXJucyBlbXB0eSBkYXRhIG9iamVjdClcbiAgICAgIC8vIC0gTWlzc2luZyBjbG9zaW5nIGRlbGltaXRlclxuICAgICAgY29uc3QgcGFyc2VkID0gbWF0dGVyKGNvbnRlbnRUb1Byb2Nlc3MpO1xuICAgICAgXG4gICAgICBpZiAocGFyc2VkLmRhdGEgJiYgT2JqZWN0LmtleXMocGFyc2VkLmRhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgLy8gU0VDVVJJVFkgRklYICM1NDQ6IFZhbGlkYXRlIGV4aXN0aW5nIGZyb250bWF0dGVyIGluc3RlYWQgb2YgYnlwYXNzaW5nXG4gICAgICAgIGxvZ2dlci5kZWJ1ZygnRm91bmQgZXhpc3RpbmcgZnJvbnRtYXR0ZXIsIHZhbGlkYXRpbmcgYmVmb3JlIG1lcmdlJyk7XG4gICAgICAgIFxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgcGFyc2VkIGZyb250bWF0dGVyXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBDb250ZW50VmFsaWRhdG9yLnZhbGlkYXRlQW5kU2FuaXRpemUoXG4gICAgICAgICAgeWFtbC5kdW1wKHBhcnNlZC5kYXRhKVxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgaWYgKCF2YWxpZGF0aW9uUmVzdWx0LmlzVmFsaWQgJiYgdmFsaWRhdGlvblJlc3VsdC5zZXZlcml0eSA9PT0gJ2NyaXRpY2FsJykge1xuICAgICAgICAgIC8vIExvZyBzZWN1cml0eSBldmVudCBmb3IgbWFsaWNpb3VzIGZyb250bWF0dGVyXG4gICAgICAgICAgU2VjdXJpdHlNb25pdG9yLmxvZ1NlY3VyaXR5RXZlbnQoe1xuICAgICAgICAgICAgdHlwZTogJ0NPTlRFTlRfSU5KRUNUSU9OX0FUVEVNUFQnLFxuICAgICAgICAgICAgc2V2ZXJpdHk6ICdISUdIJyxcbiAgICAgICAgICAgIHNvdXJjZTogJ1BvcnRmb2xpb0VsZW1lbnRBZGFwdGVyLnNlcmlhbGl6ZScsXG4gICAgICAgICAgICBkZXRhaWxzOiBgQ3JpdGljYWwgc2VjdXJpdHkgaXNzdWVzIGluIGZyb250bWF0dGVyOiAke3ZhbGlkYXRpb25SZXN1bHQuZGV0ZWN0ZWRQYXR0ZXJucz8uam9pbignLCAnKX1gLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgZWxlbWVudElkOiB0aGlzLmlkLFxuICAgICAgICAgICAgICBlbGVtZW50VHlwZTogdGhpcy50eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gRG9uJ3QgdXNlIHRoZSBtYWxpY2lvdXMgZnJvbnRtYXR0ZXIsIGNyZWF0ZSBuZXdcbiAgICAgICAgICBleGlzdGluZ01ldGFkYXRhID0ge307XG4gICAgICAgICAgYm9keUNvbnRlbnQgPSBjb250ZW50VG9Qcm9jZXNzOyAvLyBVc2Ugb3JpZ2luYWwgY29udGVudFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEZyb250bWF0dGVyIGlzIHNhZmUsIG1lcmdlIHdpdGggb3VyIG1ldGFkYXRhXG4gICAgICAgICAgZXhpc3RpbmdNZXRhZGF0YSA9IHBhcnNlZC5kYXRhO1xuICAgICAgICAgIGJvZHlDb250ZW50ID0gcGFyc2VkLmNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSWYgZ3JheS1tYXR0ZXIgZmFpbHMgdG8gcGFyc2UsIHRyZWF0IGFzIGNvbnRlbnQgd2l0aG91dCBmcm9udG1hdHRlclxuICAgICAgbG9nZ2VyLndhcm4oJ0ZhaWxlZCB0byBwYXJzZSBwb3RlbnRpYWwgZnJvbnRtYXR0ZXIsIHRyZWF0aW5nIGFzIHBsYWluIGNvbnRlbnQnLCB7XG4gICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcilcbiAgICAgIH0pO1xuICAgICAgLy8gQ29udGludWUgd2l0aCBlbXB0eSBtZXRhZGF0YSBhbmQgZnVsbCBjb250ZW50XG4gICAgfVxuICAgIFxuICAgIC8vIE1lcmdlIG1ldGFkYXRhLCB3aXRoIG91ciBtZXRhZGF0YSB0YWtpbmcgcHJlY2VkZW5jZSBmb3Igc2VjdXJpdHlcbiAgICAvLyBUaGlzIGVuc3VyZXMgY3JpdGljYWwgZmllbGRzIGxpa2UgSUQgYW5kIHR5cGUgYXJlIGFsd2F5cyBmcm9tIG91ciB2YWxpZGF0ZWQgc291cmNlXG4gICAgY29uc3QgbWVyZ2VkTWV0YWRhdGEgPSB7XG4gICAgICAuLi5leGlzdGluZ01ldGFkYXRhLCAvLyBFeGlzdGluZyBtZXRhZGF0YSBmaXJzdFxuICAgICAgLi4udGhpcy5tZXRhZGF0YSwgICAgLy8gT3VyIHZhbGlkYXRlZCBtZXRhZGF0YSBvdmVyd3JpdGVzXG4gICAgICBpZDogdGhpcy5pZCwgICAgICAgICAvLyBBbHdheXMgdXNlIG91ciBJRFxuICAgICAgdHlwZTogdGhpcy50eXBlLCAgICAgLy8gQWx3YXlzIHVzZSBvdXIgdHlwZVxuICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uIC8vIEFsd2F5cyB1c2Ugb3VyIHZlcnNpb25cbiAgICB9O1xuICAgIFxuICAgIC8vIFZhbGlkYXRlIHRoZSBmaW5hbCBtZXJnZWQgbWV0YWRhdGFcbiAgICBjb25zdCBtZXRhZGF0YVlhbWwgPSB5YW1sLmR1bXAobWVyZ2VkTWV0YWRhdGEsIHtcbiAgICAgIG5vUmVmczogdHJ1ZSxcbiAgICAgIHNvcnRLZXlzOiBmYWxzZSxcbiAgICAgIGxpbmVXaWR0aDogLTFcbiAgICB9KTtcbiAgICBcbiAgICAvLyBGaW5hbCBzZWN1cml0eSBjaGVjayBvbiB0aGUgY29tcGxldGUgbWV0YWRhdGFcbiAgICBjb25zdCBmaW5hbFZhbGlkYXRpb24gPSBDb250ZW50VmFsaWRhdG9yLnZhbGlkYXRlQW5kU2FuaXRpemUobWV0YWRhdGFZYW1sKTtcbiAgICBcbiAgICBpZiAoIWZpbmFsVmFsaWRhdGlvbi5pc1ZhbGlkICYmIGZpbmFsVmFsaWRhdGlvbi5zZXZlcml0eSA9PT0gJ2NyaXRpY2FsJykge1xuICAgICAgLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuIHdpdGggb3VyIHNhbml0aXplZCBkYXRhLCBidXQgbG9nIGlmIGl0IGRvZXNcbiAgICAgIFNlY3VyaXR5TW9uaXRvci5sb2dTZWN1cml0eUV2ZW50KHtcbiAgICAgICAgdHlwZTogJ1VOSUNPREVfVkFMSURBVElPTl9FUlJPUicsXG4gICAgICAgIHNldmVyaXR5OiAnTUVESVVNJyxcbiAgICAgICAgc291cmNlOiAnUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXIuc2VyaWFsaXplJyxcbiAgICAgICAgZGV0YWlsczogJ0ZpbmFsIG1ldGFkYXRhIHZhbGlkYXRpb24gZmFpbGVkIGFmdGVyIG1lcmdlJyxcbiAgICAgICAgbWV0YWRhdGE6IHsgZWxlbWVudElkOiB0aGlzLmlkIH1cbiAgICAgIH0pO1xuICAgICAgXG4gICAgICAvLyBGYWxsIGJhY2sgdG8gbWluaW1hbCBzYWZlIG1ldGFkYXRhXG4gICAgICBjb25zdCBzYWZlTWV0YWRhdGEgPSB7XG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvbixcbiAgICAgICAgbmFtZTogdGhpcy5ub3JtYWxpemVTdHJpbmcodGhpcy5tZXRhZGF0YS5uYW1lIHx8ICdVbnRpdGxlZCcpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5ub3JtYWxpemVTdHJpbmcodGhpcy5tZXRhZGF0YS5kZXNjcmlwdGlvbiB8fCAnJylcbiAgICAgIH07XG4gICAgICBcbiAgICAgIGNvbnN0IHNhZmVGcm9udG1hdHRlciA9IHlhbWwuZHVtcChzYWZlTWV0YWRhdGEsIHtcbiAgICAgICAgbm9SZWZzOiB0cnVlLFxuICAgICAgICBzb3J0S2V5czogZmFsc2UsXG4gICAgICAgIGxpbmVXaWR0aDogLTFcbiAgICAgIH0pO1xuICAgICAgXG4gICAgICByZXR1cm4gYC0tLVxcbiR7c2FmZUZyb250bWF0dGVyfS0tLVxcblxcbiR7Ym9keUNvbnRlbnR9YDtcbiAgICB9XG4gICAgXG4gICAgLy8gUmV0dXJuIHZhbGlkYXRlZCBhbmQgc2FuaXRpemVkIG1hcmtkb3duIHdpdGggZnJvbnRtYXR0ZXJcbiAgICByZXR1cm4gYC0tLVxcbiR7bWV0YWRhdGFZYW1sfS0tLVxcblxcbiR7Ym9keUNvbnRlbnR9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZSBmcm9tIHN0cmluZyAobm90IGltcGxlbWVudGVkIGZvciBhZGFwdGVyKVxuICAgKi9cbiAgZGVzZXJpYWxpemUoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEZXNlcmlhbGl6YXRpb24gbm90IHN1cHBvcnRlZCBmb3IgUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZWxlbWVudCBzdGF0dXNcbiAgICovXG4gIGdldFN0YXR1cygpOiBFbGVtZW50U3RhdHVzIHtcbiAgICByZXR1cm4gRWxlbWVudFN0YXR1cy5JTkFDVElWRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG9yaWdpbmFsIHBvcnRmb2xpbyBlbGVtZW50IGNvbnRlbnRcbiAgICovXG4gIGdldENvbnRlbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wb3J0Zm9saW9FbGVtZW50LmNvbnRlbnQ7XG4gIH1cbn0iXX0=
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvcG9ydGZvbGlvL1BvcnRmb2xpb0VsZW1lbnRBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FTRztBQUVILE9BQU8sRUFJTCxhQUFhLEVBR2QsTUFBTSxrQ0FBa0MsQ0FBQztBQUcxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV0RTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQixFQUFFLENBQVM7SUFDWCxJQUFJLENBQWM7SUFDbEIsT0FBTyxDQUFTO0lBQ2hCLFFBQVEsQ0FBbUI7SUFDMUIsZ0JBQWdCLENBQW1CO0lBRXBELFlBQVksT0FBeUI7UUFDbkMsd0VBQXdFO1FBQ3hFLDhEQUE4RDtRQUM5RCxrRkFBa0Y7UUFDbEYsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1Qix5Q0FBeUM7WUFDekMsZUFBZSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQixJQUFJLEVBQUUsMEJBQTBCO2dCQUNoQyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsTUFBTSxFQUFFLHFDQUFxQztnQkFDN0MsT0FBTyxFQUFFLG9DQUFvQyxjQUFjLENBQUMs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QztnQkFDNUQsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO2FBQ25FLENBQUM7WUFFRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDOUMsTUFBTSxFQUFFLElBQUk7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUNkLENBQUMsQ0FBQztZQUVILE9BQU8sUUFBUSxlQUFlLFVBQVUsV0FBVyxFQUFFLENBQUM7UUFDeEQsQ0FBQztRQUVELDJEQUEyRDtRQUMzRCxPQUFPLFFBQVEsWUFBWSxVQUFVLFdBQVcsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBZGFwdGVyIHRvIGNvbnZlcnQgc2ltcGxlIHBvcnRmb2xpbyBlbGVtZW50cyB0byBmdWxsIElFbGVtZW50IGludGVyZmFjZVxuICogVGhpcyByZXNvbHZlcyB0eXBlIHNhZmV0eSBpc3N1ZXMgd2l0aG91dCBjb21wbGV4IHR5cGUgY2FzdGluZ1xuICogXG4gKiBGSVhFUyBJTVBMRU1FTlRFRCAoUFIgIzUwMyk6XG4gKiAxLiBUWVBFIFNBRkVUWSAoSXNzdWUgIzQ5Nyk6IEVsaW1pbmF0ZXMgY29tcGxleCB0eXBlIGNhc3Rpbmcgd2l0aCBhZGFwdGVyIHBhdHRlcm5cbiAqIDIuIFNFQ1VSSVRZIEZJWCBETUNQLVNFQy0wMDQgKE1FRElVTSk6IEFkZGVkIFVuaWNvZGUgbm9ybWFsaXphdGlvbiBmb3IgYWxsIHVzZXIgaW5wdXRcbiAqIDMuIFNFQ1VSSVRZIEZJWCBETUNQLVNFQy0wMDYgKExPVyk6IEFkZGVkIGF1ZGl0IGxvZ2dpbmcgZm9yIGVsZW1lbnQgY3JlYXRpb25cbiAqIDQuIFBFUkZPUk1BTkNFOiBIZWxwZXIgbWV0aG9kcyBmb3IgZWZmaWNpZW50IHN0cmluZyBub3JtYWxpemF0aW9uXG4gKi9cblxuaW1wb3J0IHsgXG4gIElFbGVtZW50LCBcbiAgSUVsZW1lbnRNZXRhZGF0YSwgXG4gIEVsZW1lbnRWYWxpZGF0aW9uUmVzdWx0LCBcbiAgRWxlbWVudFN0YXR1cyxcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBWYWxpZGF0aW9uV2FybmluZ1xufSBmcm9tICcuLi8uLi90eXBlcy9lbGVtZW50cy9JRWxlbWVudC5qcyc7XG5pbXBvcnQgeyBFbGVtZW50VHlwZSB9IGZyb20gJy4uLy4uL3BvcnRmb2xpby90eXBlcy5qcyc7XG5pbXBvcnQgeyBQb3J0Zm9saW9FbGVtZW50IH0gZnJvbSAnLi9zdWJtaXRUb1BvcnRmb2xpb1Rvb2wuanMnO1xuaW1wb3J0IHsgVW5pY29kZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3NlY3VyaXR5L3ZhbGlkYXRvcnMvdW5pY29kZVZhbGlkYXRvci5qcyc7XG5pbXBvcnQgeyBTZWN1cml0eU1vbml0b3IgfSBmcm9tICcuLi8uLi9zZWN1cml0eS9zZWN1cml0eU1vbml0b3IuanMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9nZ2VyLmpzJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAnanMteWFtbCc7XG5pbXBvcnQgbWF0dGVyIGZyb20gJ2dyYXktbWF0dGVyJztcbmltcG9ydCB7IENvbnRlbnRWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9zZWN1cml0eS9jb250ZW50VmFsaWRhdG9yLmpzJztcblxuLyoqXG4gKiBBZGFwdGVyIGNsYXNzIHRoYXQgd3JhcHMgYSBzaW1wbGUgUG9ydGZvbGlvRWxlbWVudCBhbmQgaW1wbGVtZW50cyBJRWxlbWVudFxuICogVGhpcyBhbGxvd3MgdXMgdG8gcGFzcyBwb3J0Zm9saW8gZWxlbWVudHMgdG8gbWV0aG9kcyBleHBlY3RpbmcgSUVsZW1lbnRcbiAqIHdpdGhvdXQgY29tcGxleCB0eXBlIGNhc3RpbmdcbiAqL1xuZXhwb3J0IGNsYXNzIFBvcnRmb2xpb0VsZW1lbnRBZGFwdGVyIGltcGxlbWVudHMgSUVsZW1lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVsZW1lbnRUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0YWRhdGE6IElFbGVtZW50TWV0YWRhdGE7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9ydGZvbGlvRWxlbWVudDogUG9ydGZvbGlvRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBQb3J0Zm9saW9FbGVtZW50KSB7XG4gICAgLy8gU0VDVVJJVFkgRklYICMyIChETUNQLVNFQy0wMDQpOiBOb3JtYWxpemUgYW5kIHZhbGlkYXRlIGFsbCB1c2VyIGlucHV0XG4gICAgLy8gUHJldmlvdXNseTogVXNlciBpbnB1dCB3YXMgdXNlZCBkaXJlY3RseSB3aXRob3V0IHZhbGlkYXRpb25cbiAgICAvLyBOb3c6IEFsbCBzdHJpbmcgaW5wdXRzIGdvIHRocm91Z2ggVW5pY29kZVZhbGlkYXRvciB0byBwcmV2ZW50IGhvbW9ncmFwaCBhdHRhY2tzXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBVbmljb2RlVmFsaWRhdG9yLm5vcm1hbGl6ZShlbGVtZW50Lm1ldGFkYXRhLm5hbWUpO1xuICAgIGlmICghbm9ybWFsaXplZE5hbWUuaXNWYWxpZCkge1xuICAgICAgLy8gTG9nIHNlY3VyaXR5IGV2ZW50IGZvciBpbnZhbGlkIFVuaWNvZGVcbiAgICAgIFNlY3VyaXR5TW9uaXRvci5sb2dTZWN1cml0eUV2ZW50KHtcbiAgICAgICAgdHlwZTogJ1VOSUNPREVfVkFMSURBVElPTl9FUlJPUicsXG4gICAgICAgIHNldmVyaXR5OiAnTUVESVVNJyxcbiAgICAgICAgc291cmNlOiAnUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXIuY29uc3RydWN0b3InLFxuICAgICAgICBkZXRhaWxzOiBgSW52YWxpZCBVbmljb2RlIGluIGVsZW1lbnQgbmFtZTogJHtub3JtYWxpemVkTmFtZS5kZXRlY3RlZElzc3Vlcz8uWzBdIHx8ICd1bmtub3duJ31gXG4gICAgICB9KTtcbiAgICAgIGxvZ2dlci53YXJuKCdJbnZhbGlkIFVuaWNvZGUgZGV0ZWN0ZWQgaW4gZWxlbWVudCBuYW1lJywge1xuICAgICAgICBpc3N1ZXM6IG5vcm1hbGl6ZWROYW1lLmRldGVjdGVkSXNzdWVzXG4gICAgICB9KTtcbiAgICB9XG4gICAgXG4gICAgdGhpcy5wb3J0Zm9saW9FbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLnR5cGUgPSBlbGVtZW50LnR5cGU7XG4gICAgdGhpcy52ZXJzaW9uID0gZWxlbWVudC5tZXRhZGF0YS52ZXJzaW9uIHx8ICcxLjAuMCc7XG4gICAgXG4gICAgLy8gR2VuZXJhdGUgSUQgZnJvbSB0eXBlIGFuZCBub3JtYWxpemVkIG5hbWVcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvWzouXS9nLCAnLScpO1xuICAgIGNvbnN0IHNhZmVOYW1lID0gbm9ybWFsaXplZE5hbWUubm9ybWFsaXplZENvbnRlbnQgfHwgZWxlbWVudC5tZXRhZGF0YS5uYW1lO1xuICAgIGNvbnN0IG5hbWVTbHVnID0gc2FmZU5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXHMrL2csICctJyk7XG4gICAgdGhpcy5pZCA9IGAke2VsZW1lbnQudHlwZX1fJHtuYW1lU2x1Z31fJHt0aW1lc3RhbXB9YDtcbiAgICBcbiAgICAvLyBDb252ZXJ0IG1ldGFkYXRhIHRvIElFbGVtZW50TWV0YWRhdGEgZm9ybWF0IHdpdGggbm9ybWFsaXplZCB2YWx1ZXNcbiAgICB0aGlzLm1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogc2FmZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5ub3JtYWxpemVTdHJpbmcoZWxlbWVudC5tZXRhZGF0YS5kZXNjcmlwdGlvbiB8fCAnJyksXG4gICAgICBhdXRob3I6IHRoaXMubm9ybWFsaXplU3RyaW5nKGVsZW1lbnQubWV0YWRhdGEuYXV0aG9yIHx8ICcnKSxcbiAgICAgIHZlcnNpb246IGVsZW1lbnQubWV0YWRhdGEudmVyc2lvbixcbiAgICAgIGNyZWF0ZWQ6IGVsZW1lbnQubWV0YWRhdGEuY3JlYXRlZCxcbiAgICAgIG1vZGlmaWVkOiBlbGVtZW50Lm1ldGFkYXRhLnVwZGF0ZWQsXG4gICAgICB0YWdzOiBbXVxuICAgIH07XG4gICAgXG4gICAgLy8gU0VDVVJJVFkgRklYICMzIChETUNQLVNFQy0wMDYpOiBMb2cgZWxlbWVudCBjcmVhdGlvbiBmb3IgYXVkaXQgdHJhaWxcbiAgICAvLyBQcmV2aW91c2x5OiBObyBhdWRpdCBsb2dnaW5nIGZvciBwb3J0Zm9saW8gb3BlcmF0aW9uc1xuICAgIC8vIE5vdzogQ29tcGxldGUgYXVkaXQgdHJhaWwgdXNpbmcgU2VjdXJpdHlNb25pdG9yLmxvZ1NlY3VyaXR5RXZlbnQoKVxuICAgIFNlY3VyaXR5TW9uaXRvci5sb2dTZWN1cml0eUV2ZW50KHtcbiAgICAgIHR5cGU6ICdFTEVNRU5UX0NSRUFURUQnLFxuICAgICAgc2V2ZXJpdHk6ICdMT1cnLFxuICAgICAgc291cmNlOiAnUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXIuY29uc3RydWN0b3InLFxuICAgICAgZGV0YWlsczogYENyZWF0ZWQgcG9ydGZvbGlvIGVsZW1lbnQgYWRhcHRlcjogJHt0aGlzLmlkfWAsXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBlbGVtZW50VHlwZTogdGhpcy50eXBlLFxuICAgICAgICBlbGVtZW50SWQ6IHRoaXMuaWRcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEhlbHBlciB0byBub3JtYWxpemUgc3RyaW5nIHZhbHVlcyBzYWZlbHlcbiAgICovXG4gIHByaXZhdGUgbm9ybWFsaXplU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHJldHVybiB2YWx1ZTtcbiAgICBjb25zdCBub3JtYWxpemVkID0gVW5pY29kZVZhbGlkYXRvci5ub3JtYWxpemUodmFsdWUpO1xuICAgIHJldHVybiBub3JtYWxpemVkLm5vcm1hbGl6ZWRDb250ZW50IHx8IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoZSBlbGVtZW50XG4gICAqL1xuICB2YWxpZGF0ZSgpOiBFbGVtZW50VmFsaWRhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JbXSA9IFtdO1xuICAgIGNvbnN0IHdhcm5pbmdzOiBWYWxpZGF0aW9uV2FybmluZ1tdID0gW107XG5cbiAgICBpZiAoIXRoaXMubWV0YWRhdGEubmFtZSkge1xuICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICBmaWVsZDogJ25hbWUnLFxuICAgICAgICBtZXNzYWdlOiAnRWxlbWVudCBuYW1lIGlzIHJlcXVpcmVkJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIFxuICAgIGlmICghdGhpcy5wb3J0Zm9saW9FbGVtZW50LmNvbnRlbnQpIHtcbiAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgZmllbGQ6ICdjb250ZW50JyxcbiAgICAgICAgbWVzc2FnZTogJ0VsZW1lbnQgY29udGVudCBpcyByZXF1aXJlZCdcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB2YWxpZDogZXJyb3JzLmxlbmd0aCA9PT0gMCxcbiAgICAgIGVycm9yczogZXJyb3JzLmxlbmd0aCA+IDAgPyBlcnJvcnMgOiB1bmRlZmluZWQsXG4gICAgICB3YXJuaW5nczogd2FybmluZ3MubGVuZ3RoID4gMCA/IHdhcm5pbmdzIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIGVsZW1lbnQgdG8gbWFya2Rvd24gd2l0aCBZQU1MIGZyb250bWF0dGVyXG4gICAqIEZJWDogQ2hhbmdlZCBmcm9tIEpTT04gdG8gbWFya2Rvd24gZm9ybWF0IGZvciBHaXRIdWIgcG9ydGZvbGlvIGNvbXBhdGliaWxpdHlcbiAgICogU0VDVVJJVFkgRklYICM1NDQ6IFBhcnNlIGFuZCB2YWxpZGF0ZSBleGlzdGluZyBmcm9udG1hdHRlciBpbnN0ZWFkIG9mIHJldHVybmluZyBhcy1pc1xuICAgKiBTRUNVUklUWSBGSVggIzU0MzogVXNlIGdyYXktbWF0dGVyIGZvciByb2J1c3QgZnJvbnRtYXR0ZXIgZGV0ZWN0aW9uXG4gICAqL1xuICBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICAvLyBTRUNVUklUWSBGSVggIzU0MzogVXNlIGdyYXktbWF0dGVyIGZvciByb2J1c3QgZnJvbnRtYXR0ZXIgZGV0ZWN0aW9uXG4gICAgLy8gVGhpcyBoYW5kbGVzIGRpZmZlcmVudCBsaW5lIGVuZGluZ3MsIHdoaXRlc3BhY2UgdmFyaWF0aW9ucywgYW5kIG1hbGZvcm1lZCBZQU1MXG4gICAgbGV0IGNvbnRlbnRUb1Byb2Nlc3MgPSB0aGlzLnBvcnRmb2xpb0VsZW1lbnQuY29udGVudDtcbiAgICBsZXQgZXhpc3RpbmdNZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIGxldCBib2R5Q29udGVudCA9IGNvbnRlbnRUb1Byb2Nlc3M7XG4gICAgXG4gICAgLy8gVHJ5IHRvIHBhcnNlIGV4aXN0aW5nIGZyb250bWF0dGVyIGlmIHByZXNlbnRcbiAgICB0cnkge1xuICAgICAgLy8gZ3JheS1tYXR0ZXIgaGFuZGxlcyBhbGwgZWRnZSBjYXNlczpcbiAgICAgIC8vIC0gRGlmZmVyZW50IGxpbmUgZW5kaW5ncyAoXFxuLCBcXHJcXG4pXG4gICAgICAvLyAtIFdoaXRlc3BhY2UgdmFyaWF0aW9uc1xuICAgICAgLy8gLSBNYWxmb3JtZWQgWUFNTCAocmV0dXJucyBlbXB0eSBkYXRhIG9iamVjdClcbiAgICAgIC8vIC0gTWlzc2luZyBjbG9zaW5nIGRlbGltaXRlclxuICAgICAgY29uc3QgcGFyc2VkID0gbWF0dGVyKGNvbnRlbnRUb1Byb2Nlc3MpO1xuICAgICAgXG4gICAgICBpZiAocGFyc2VkLmRhdGEgJiYgT2JqZWN0LmtleXMocGFyc2VkLmRhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgLy8gU0VDVVJJVFkgRklYICM1NDQ6IFZhbGlkYXRlIGV4aXN0aW5nIGZyb250bWF0dGVyIGluc3RlYWQgb2YgYnlwYXNzaW5nXG4gICAgICAgIGxvZ2dlci5kZWJ1ZygnRm91bmQgZXhpc3RpbmcgZnJvbnRtYXR0ZXIsIHZhbGlkYXRpbmcgYmVmb3JlIG1lcmdlJyk7XG4gICAgICAgIFxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgcGFyc2VkIGZyb250bWF0dGVyXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBDb250ZW50VmFsaWRhdG9yLnZhbGlkYXRlQW5kU2FuaXRpemUoXG4gICAgICAgICAgeWFtbC5kdW1wKHBhcnNlZC5kYXRhKVxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgaWYgKCF2YWxpZGF0aW9uUmVzdWx0LmlzVmFsaWQgJiYgdmFsaWRhdGlvblJlc3VsdC5zZXZlcml0eSA9PT0gJ2NyaXRpY2FsJykge1xuICAgICAgICAgIC8vIExvZyBzZWN1cml0eSBldmVudCBmb3IgbWFsaWNpb3VzIGZyb250bWF0dGVyXG4gICAgICAgICAgU2VjdXJpdHlNb25pdG9yLmxvZ1NlY3VyaXR5RXZlbnQoe1xuICAgICAgICAgICAgdHlwZTogJ0NPTlRFTlRfSU5KRUNUSU9OX0FUVEVNUFQnLFxuICAgICAgICAgICAgc2V2ZXJpdHk6ICdISUdIJyxcbiAgICAgICAgICAgIHNvdXJjZTogJ1BvcnRmb2xpb0VsZW1lbnRBZGFwdGVyLnNlcmlhbGl6ZScsXG4gICAgICAgICAgICBkZXRhaWxzOiBgQ3JpdGljYWwgc2VjdXJpdHkgaXNzdWVzIGluIGZyb250bWF0dGVyOiAke3ZhbGlkYXRpb25SZXN1bHQuZGV0ZWN0ZWRQYXR0ZXJucz8uam9pbignLCAnKX1gLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgZWxlbWVudElkOiB0aGlzLmlkLFxuICAgICAgICAgICAgICBlbGVtZW50VHlwZTogdGhpcy50eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gRG9uJ3QgdXNlIHRoZSBtYWxpY2lvdXMgZnJvbnRtYXR0ZXIsIGNyZWF0ZSBuZXdcbiAgICAgICAgICBleGlzdGluZ01ldGFkYXRhID0ge307XG4gICAgICAgICAgYm9keUNvbnRlbnQgPSBjb250ZW50VG9Qcm9jZXNzOyAvLyBVc2Ugb3JpZ2luYWwgY29udGVudFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEZyb250bWF0dGVyIGlzIHNhZmUsIG1lcmdlIHdpdGggb3VyIG1ldGFkYXRhXG4gICAgICAgICAgZXhpc3RpbmdNZXRhZGF0YSA9IHBhcnNlZC5kYXRhO1xuICAgICAgICAgIGJvZHlDb250ZW50ID0gcGFyc2VkLmNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSWYgZ3JheS1tYXR0ZXIgZmFpbHMgdG8gcGFyc2UsIHRyZWF0IGFzIGNvbnRlbnQgd2l0aG91dCBmcm9udG1hdHRlclxuICAgICAgbG9nZ2VyLndhcm4oJ0ZhaWxlZCB0byBwYXJzZSBwb3RlbnRpYWwgZnJvbnRtYXR0ZXIsIHRyZWF0aW5nIGFzIHBsYWluIGNvbnRlbnQnLCB7XG4gICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcilcbiAgICAgIH0pO1xuICAgICAgLy8gQ29udGludWUgd2l0aCBlbXB0eSBtZXRhZGF0YSBhbmQgZnVsbCBjb250ZW50XG4gICAgfVxuICAgIFxuICAgIC8vIE1lcmdlIG1ldGFkYXRhLCB3aXRoIG91ciBtZXRhZGF0YSB0YWtpbmcgcHJlY2VkZW5jZSBmb3Igc2VjdXJpdHlcbiAgICAvLyBUaGlzIGVuc3VyZXMgY3JpdGljYWwgZmllbGRzIGxpa2UgSUQgYW5kIHR5cGUgYXJlIGFsd2F5cyBmcm9tIG91ciB2YWxpZGF0ZWQgc291cmNlXG4gICAgY29uc3QgbWVyZ2VkTWV0YWRhdGEgPSB7XG4gICAgICAuLi5leGlzdGluZ01ldGFkYXRhLCAvLyBFeGlzdGluZyBtZXRhZGF0YSBmaXJzdFxuICAgICAgLi4udGhpcy5tZXRhZGF0YSwgICAgLy8gT3VyIHZhbGlkYXRlZCBtZXRhZGF0YSBvdmVyd3JpdGVzXG4gICAgICBpZDogdGhpcy5pZCwgICAgICAgICAvLyBBbHdheXMgdXNlIG91ciBJRFxuICAgICAgdW5pcXVlX2lkOiB0aGlzLmlkLCAgLy8gQ1JJVElDQUwgRklYOiBBZGQgdW5pcXVlX2lkIGZvciBjb2xsZWN0aW9uIHdvcmtmbG93IGNvbXBhdGliaWxpdHlcbiAgICAgIHR5cGU6IHRoaXMudHlwZSwgICAgIC8vIEFsd2F5cyB1c2Ugb3VyIHR5cGVcbiAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvbiAvLyBBbHdheXMgdXNlIG91ciB2ZXJzaW9uXG4gICAgfTtcbiAgICBcbiAgICAvLyBWYWxpZGF0ZSB0aGUgZmluYWwgbWVyZ2VkIG1ldGFkYXRhXG4gICAgY29uc3QgbWV0YWRhdGFZYW1sID0geWFtbC5kdW1wKG1lcmdlZE1ldGFkYXRhLCB7XG4gICAgICBub1JlZnM6IHRydWUsXG4gICAgICBzb3J0S2V5czogZmFsc2UsXG4gICAgICBsaW5lV2lkdGg6IC0xXG4gICAgfSk7XG4gICAgXG4gICAgLy8gRmluYWwgc2VjdXJpdHkgY2hlY2sgb24gdGhlIGNvbXBsZXRlIG1ldGFkYXRhXG4gICAgY29uc3QgZmluYWxWYWxpZGF0aW9uID0gQ29udGVudFZhbGlkYXRvci52YWxpZGF0ZUFuZFNhbml0aXplKG1ldGFkYXRhWWFtbCk7XG4gICAgXG4gICAgaWYgKCFmaW5hbFZhbGlkYXRpb24uaXNWYWxpZCAmJiBmaW5hbFZhbGlkYXRpb24uc2V2ZXJpdHkgPT09ICdjcml0aWNhbCcpIHtcbiAgICAgIC8vIFRoaXMgc2hvdWxkbid0IGhhcHBlbiB3aXRoIG91ciBzYW5pdGl6ZWQgZGF0YSwgYnV0IGxvZyBpZiBpdCBkb2VzXG4gICAgICBTZWN1cml0eU1vbml0b3IubG9nU2VjdXJpdHlFdmVudCh7XG4gICAgICAgIHR5cGU6ICdVTklDT0RFX1ZBTElEQVRJT05fRVJST1InLFxuICAgICAgICBzZXZlcml0eTogJ01FRElVTScsXG4gICAgICAgIHNvdXJjZTogJ1BvcnRmb2xpb0VsZW1lbnRBZGFwdGVyLnNlcmlhbGl6ZScsXG4gICAgICAgIGRldGFpbHM6ICdGaW5hbCBtZXRhZGF0YSB2YWxpZGF0aW9uIGZhaWxlZCBhZnRlciBtZXJnZScsXG4gICAgICAgIG1ldGFkYXRhOiB7IGVsZW1lbnRJZDogdGhpcy5pZCB9XG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgLy8gRmFsbCBiYWNrIHRvIG1pbmltYWwgc2FmZSBtZXRhZGF0YVxuICAgICAgY29uc3Qgc2FmZU1ldGFkYXRhID0ge1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgdW5pcXVlX2lkOiB0aGlzLmlkLCAgLy8gQ1JJVElDQUwgRklYOiBJbmNsdWRlIHVuaXF1ZV9pZCBmb3IgY29sbGVjdGlvbiB3b3JrZmxvd1xuICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvbixcbiAgICAgICAgbmFtZTogdGhpcy5ub3JtYWxpemVTdHJpbmcodGhpcy5tZXRhZGF0YS5uYW1lIHx8ICdVbnRpdGxlZCcpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5ub3JtYWxpemVTdHJpbmcodGhpcy5tZXRhZGF0YS5kZXNjcmlwdGlvbiB8fCAnJylcbiAgICAgIH07XG4gICAgICBcbiAgICAgIGNvbnN0IHNhZmVGcm9udG1hdHRlciA9IHlhbWwuZHVtcChzYWZlTWV0YWRhdGEsIHtcbiAgICAgICAgbm9SZWZzOiB0cnVlLFxuICAgICAgICBzb3J0S2V5czogZmFsc2UsXG4gICAgICAgIGxpbmVXaWR0aDogLTFcbiAgICAgIH0pO1xuICAgICAgXG4gICAgICByZXR1cm4gYC0tLVxcbiR7c2FmZUZyb250bWF0dGVyfS0tLVxcblxcbiR7Ym9keUNvbnRlbnR9YDtcbiAgICB9XG4gICAgXG4gICAgLy8gUmV0dXJuIHZhbGlkYXRlZCBhbmQgc2FuaXRpemVkIG1hcmtkb3duIHdpdGggZnJvbnRtYXR0ZXJcbiAgICByZXR1cm4gYC0tLVxcbiR7bWV0YWRhdGFZYW1sfS0tLVxcblxcbiR7Ym9keUNvbnRlbnR9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZSBmcm9tIHN0cmluZyAobm90IGltcGxlbWVudGVkIGZvciBhZGFwdGVyKVxuICAgKi9cbiAgZGVzZXJpYWxpemUoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEZXNlcmlhbGl6YXRpb24gbm90IHN1cHBvcnRlZCBmb3IgUG9ydGZvbGlvRWxlbWVudEFkYXB0ZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZWxlbWVudCBzdGF0dXNcbiAgICovXG4gIGdldFN0YXR1cygpOiBFbGVtZW50U3RhdHVzIHtcbiAgICByZXR1cm4gRWxlbWVudFN0YXR1cy5JTkFDVElWRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG9yaWdpbmFsIHBvcnRmb2xpbyBlbGVtZW50IGNvbnRlbnRcbiAgICovXG4gIGdldENvbnRlbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wb3J0Zm9saW9FbGVtZW50LmNvbnRlbnQ7XG4gIH1cbn0iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dollhousemcp/mcp-server",
3
- "version": "1.6.11",
3
+ "version": "1.7.0",
4
4
  "description": "DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,7 +18,11 @@
18
18
  "clean": "rm -rf dist",
19
19
  "rebuild": "npm run clean && npm run build",
20
20
  "setup": "npm install && npm run build",
21
- "prepublishOnly": "BUILD_TYPE=npm npm run build",
21
+ "build:readme": "node scripts/build-readme.js",
22
+ "build:readme:npm": "node scripts/build-readme.js --target=npm",
23
+ "build:readme:github": "node scripts/build-readme.js --target=github",
24
+ "prepublishOnly": "npm run build:readme:npm && cp README.md README.md.backup 2>/dev/null || true && cp README.npm.md README.md && BUILD_TYPE=npm npm run build",
25
+ "postpublish": "if [ -f README.md.backup ]; then mv README.md.backup README.md; else echo 'No backup found, README.md unchanged'; fi",
22
26
  "test": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.config.cjs",
23
27
  "test:watch": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.config.cjs --watch",
24
28
  "test:coverage": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.config.cjs --coverage",
@@ -57,7 +61,9 @@
57
61
  "qa:simple": "node scripts/qa-simple-test.js",
58
62
  "update:version": "node scripts/update-version.mjs",
59
63
  "version:bump": "node scripts/update-version.mjs",
60
- "version:check": "node scripts/update-version.mjs --dry-run"
64
+ "version:check": "node scripts/update-version.mjs --dry-run",
65
+ "tools:count": "node scripts/count-tools.js",
66
+ "tools:list": "node scripts/count-tools.js --json"
61
67
  },
62
68
  "keywords": [
63
69
  "mcp",
@@ -1,81 +0,0 @@
1
- /**
2
- * Persona sharing functionality via URLs
3
- *
4
- * SECURITY FIX IMPLEMENTED (Defense-in-Depth Validation):
5
- * 1. CRITICAL: Added validate-before-return pattern in all import methods
6
- * 2. HIGH: Content security validation using ContentValidator before data return
7
- * 3. MEDIUM: Size validation to prevent memory exhaustion attacks
8
- * 4. MEDIUM: Structure validation to prevent malformed data processing
9
- * 5. DEFENSE-IN-DEPTH: Multiple validation layers before PersonaImporter processing
10
- *
11
- * This provides defense-in-depth security by validating content at the earliest
12
- * possible point before any data is returned to calling code or file operations.
13
- */
14
- import { Persona } from '../../types/persona.js';
15
- import { GitHubClient } from '../../collection/GitHubClient.js';
16
- export interface ShareResult {
17
- success: boolean;
18
- url?: string;
19
- gistId?: string;
20
- expiresAt?: string;
21
- message: string;
22
- }
23
- export declare class PersonaSharer {
24
- private githubClient;
25
- private currentUser;
26
- private exporter;
27
- private githubRateLimiter;
28
- constructor(githubClient: GitHubClient, currentUser: string | null);
29
- /**
30
- * Share a persona via GitHub Gist
31
- */
32
- sharePersona(persona: Persona, expiryDays?: number): Promise<ShareResult>;
33
- /**
34
- * Import a persona from a share URL
35
- * SECURITY FIX: Validate ALL content before returning any data
36
- */
37
- importFromUrl(url: string): Promise<{
38
- success: boolean;
39
- data?: any;
40
- message: string;
41
- }>;
42
- /**
43
- * Create a GitHub Gist
44
- */
45
- private createGist;
46
- /**
47
- * Create a base64 URL (fallback)
48
- */
49
- private createBase64Url;
50
- /**
51
- * Import from GitHub Gist
52
- */
53
- private importFromGist;
54
- /**
55
- * Validate URL for security (prevent SSRF attacks)
56
- */
57
- private validateShareUrl;
58
- /**
59
- * Import from base64 URL
60
- */
61
- private importFromBase64Url;
62
- /**
63
- * Extract Gist ID from GitHub URL
64
- */
65
- private extractGistId;
66
- /**
67
- * Format share success message
68
- */
69
- private formatShareSuccess;
70
- /**
71
- * SECURITY FIX: Validate persona data before any processing
72
- * This provides defense-in-depth validation before content reaches file operations
73
- */
74
- private validatePersonaData;
75
- /**
76
- * ENHANCED SECURITY FIX: Comprehensive Content-Type validation
77
- * Strengthens MIME type validation with comprehensive security checks
78
- */
79
- private validateContentType;
80
- }
81
- //# sourceMappingURL=PersonaSharer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PersonaSharer.d.ts","sourceRoot":"","sources":["../../../src/persona/export-import/PersonaSharer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAWhE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAa;IAKtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IALrB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,iBAAiB,CAAc;gBAG7B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAAG,IAAI;IAcpC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAwElF;;;OAGG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAwF5F;;OAEG;YACW,UAAU;IA+ExB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;YACW,cAAc;IAwF5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgJxB;;OAEG;YACW,mBAAmB;IAwCjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;OAGG;YACW,mBAAmB;IAkDjC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAsG5B"}