obsidian-typings 2.2.1-beta.3 → 2.2.1-beta.31

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/.gitattributes ADDED
@@ -0,0 +1 @@
1
+ * text=auto eol=lf
package/README.md CHANGED
@@ -79,20 +79,20 @@ Be aware that the typings currently only cover a subset of the full API: while m
79
79
 
80
80
  3. **Explicit type importing**
81
81
 
82
- If you prefer not to add `obsidian-typings` to your `types`, you can also add `import "obsidian-typings";` to any project file.
82
+ If you prefer not to add `obsidian-typings` to your `types`, you can also add `import 'obsidian-typings';` to any project file.
83
83
 
84
84
 
85
85
 
86
86
  4. **Using `obsidian-typings/implementations`** <span id="using-obsidian-typings-implementations"></span>
87
87
 
88
- Depending on how your project is set up, `import { X } from "obsidian-typings/implementations";` may not work straight out of the box, e.g., if you have `"moduleResolution": "node"` or `"node10"` in your `tsconfig.json`
88
+ Depending on how your project is set up, `import { X } from 'obsidian-typings/implementations';` may not work straight out of the box, e.g., if you have `"moduleResolution": "node"` or `"node10"` in your `tsconfig.json`
89
89
 
90
90
  To solve this, you can add the following to your `tsconfig.json`:
91
91
 
92
92
  ```json
93
93
  {
94
94
  "compilerOptions": {
95
- ...
95
+ "...": "...",
96
96
  "paths": {
97
97
  "obsidian-typings/implementations": [
98
98
  "./node_modules/obsidian-typings/dist/implementations.d.ts",
@@ -110,7 +110,7 @@ Be aware that the typings currently only cover a subset of the full API: while m
110
110
  To access types from the `obsidian` module, the import syntax does not change:
111
111
 
112
112
  ```ts
113
- import { App } from "obsidian";
113
+ import { App } from 'obsidian';
114
114
 
115
115
  function printInternalPlugins(app: App): void {
116
116
  console.log(app.internalPlugins);
@@ -122,7 +122,7 @@ function printInternalPlugins(app: App): void {
122
122
  Additional interfaces added by this package (which do not exist in the official API), can be imported using:
123
123
 
124
124
  ```ts
125
- import { InternalPlugins } from "obsidian-typings";
125
+ import { InternalPlugins } from 'obsidian-typings';
126
126
 
127
127
  const internalPlugins: InternalPlugins = this.app.internalPlugins;
128
128
  ```
@@ -132,7 +132,7 @@ const internalPlugins: InternalPlugins = this.app.internalPlugins;
132
132
  Additional helper functions/types/... added by this package can be used by importing from `obsidian-typings/implementations`:
133
133
 
134
134
  ```ts
135
- import { InternalPluginName } from "obsidian-typings/implementations";
135
+ import { InternalPluginName } from 'obsidian-typings/implementations';
136
136
 
137
137
  this.app.internalPlugins.getEnabledPluginById(InternalPluginName.FileExplorer);
138
138
  ```
@@ -145,7 +145,7 @@ If you need to extend the typings provided by this package, add the following to
145
145
 
146
146
  ```ts
147
147
  export {}; // This is a very essential line. If you don't have any other top-level `import/export` statements, those typings will work not as expected.
148
- declare module "obsidian-typings" {
148
+ declare module 'obsidian-typings' {
149
149
  interface PluginsPluginsRecord {
150
150
  myPlugin: MyPlugin;
151
151
  }
@@ -26,37 +26,40 @@ var implementations_exports = {};
26
26
  __export(implementations_exports, {
27
27
  CustomArrayDictImpl: () => CustomArrayDictImpl,
28
28
  InternalPluginName: () => InternalPluginName,
29
+ constructApp: () => constructApp,
30
+ constructInternalPlugin: () => constructInternalPlugin,
31
+ constructInternalPlugins: () => constructInternalPlugins,
32
+ constructTFile: () => constructTFile,
33
+ constructTFolder: () => constructTFolder,
29
34
  createTFileInstance: () => createTFileInstance,
30
- createTFolderInstance: () => createTFolderInstance
35
+ createTFolderInstance: () => createTFolderInstance,
36
+ parentFolderPath: () => parentFolderPath
31
37
  });
32
38
  module.exports = __toCommonJS(implementations_exports);
33
39
 
34
- // src/obsidian/implementations/createTFolderInstance.ts
40
+ // src/obsidian/implementations/PathUtils.ts
41
+ function parentFolderPath(path) {
42
+ return path.replace(/\/?[^\/]*$/, "") || "/";
43
+ }
44
+
45
+ // src/obsidian/implementations/Constructors/constructTFolder.ts
35
46
  var import_obsidian = require("obsidian");
47
+ function constructTFolder(vault, path) {
48
+ return new import_obsidian.TFolder(vault, path);
49
+ }
50
+
51
+ // src/obsidian/implementations/createTFolderInstance.ts
36
52
  function createTFolderInstance(vault, path) {
37
53
  let folder = vault.getFolderByPath(path);
38
54
  if (folder) {
39
55
  return folder;
40
56
  }
41
- folder = new import_obsidian.TFolder(vault, path);
42
- folder.parent = createTFolderInstance(vault, vault.adapter.path.dirname(path));
57
+ folder = constructTFolder(vault, path);
58
+ folder.parent = createTFolderInstance(vault, parentFolderPath(path));
43
59
  folder.deleted = true;
44
60
  return folder;
45
61
  }
46
62
 
47
- // src/obsidian/implementations/createTFileInstance.ts
48
- var import_obsidian2 = require("obsidian");
49
- function createTFileInstance(vault, path) {
50
- let file = vault.getFileByPath(path);
51
- if (file) {
52
- return file;
53
- }
54
- file = new import_obsidian2.TFile(vault, path);
55
- file.parent = createTFolderInstance(vault, vault.adapter.path.dirname(path));
56
- file.deleted = true;
57
- return file;
58
- }
59
-
60
63
  // src/obsidian/implementations/CustomArrayDictImpl.ts
61
64
  var CustomArrayDictImpl = class {
62
65
  data = {};
@@ -132,7 +135,6 @@ var InternalPluginName = {
132
135
  RandomNote: "random-note",
133
136
  SlashCommand: "slash-command",
134
137
  Slides: "slides",
135
- Starred: "starred",
136
138
  Switcher: "switcher",
137
139
  Sync: "sync",
138
140
  TagPane: "tag-pane",
@@ -141,4 +143,42 @@ var InternalPluginName = {
141
143
  Workspaces: "workspaces",
142
144
  ZkPrefixer: "zk-prefixer"
143
145
  };
144
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGb2xkZXJJbnN0YW5jZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGaWxlSW5zdGFuY2UudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9DdXN0b21BcnJheURpY3RJbXBsLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvSW50ZXJuYWxQbHVnaW5OYW1lLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vY3JlYXRlVEZvbGRlckluc3RhbmNlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jcmVhdGVURmlsZUluc3RhbmNlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9DdXN0b21BcnJheURpY3RJbXBsLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9JbnRlcm5hbFBsdWdpbk5hbWUuanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4LmpzXCI7XG4iLCAiaW1wb3J0IHtcbiAgICBURm9sZGVyLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbnR5cGUgVEZvbGRlckNvbnN0cnVjdG9yID0geyBuZXcodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURm9sZGVyIH07XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgcHJvcGVybHkgaW5pdGlhbGl6ZXMgdGhlIGluc3RhbmNlIG9mIFRGb2xkZXIgZXZlbiB0aGUgdW5kZXJseWluZyBmb2xkZXIgZG9lcyBub3QgZXhpc3QuXG4gKiBUaGlzIGRvZXNuJ3QgY3JlYXRlIHRoZSBtaXNzaW5nIGZvbGRlciBvbiB0aGUgZmlsZSBzeXN0ZW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURm9sZGVyIHtcbiAgICBsZXQgZm9sZGVyID0gdmF1bHQuZ2V0Rm9sZGVyQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgICAgcmV0dXJuIGZvbGRlcjtcbiAgICB9XG5cbiAgICBmb2xkZXIgPSBuZXcgKFRGb2xkZXIgYXMgVEZvbGRlckNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG4gICAgZm9sZGVyLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgdmF1bHQuYWRhcHRlci5wYXRoLmRpcm5hbWUocGF0aCkpO1xuICAgIGZvbGRlci5kZWxldGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gZm9sZGVyO1xufVxuIiwgImltcG9ydCB7XG4gICAgVEZpbGUsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSB9IGZyb20gXCIuL2NyZWF0ZVRGb2xkZXJJbnN0YW5jZS50c1wiO1xuXG50eXBlIFRGaWxlQ29uc3RydWN0b3IgPSB7IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIH07XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgcHJvcGVybHkgaW5pdGlhbGl6ZXMgdGhlIGluc3RhbmNlIG9mIFRGaWxlIGV2ZW4gdGhlIHVuZGVybHlpbmcgZmlsZSBkb2VzIG5vdCBleGlzdC5cbiAqIFRoaXMgZG9lc24ndCBjcmVhdGUgdGhlIG1pc3NpbmcgZmlsZSBvbiB0aGUgZmlsZSBzeXN0ZW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVURmlsZUluc3RhbmNlKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZpbGUge1xuICAgIGxldCBmaWxlID0gdmF1bHQuZ2V0RmlsZUJ5UGF0aChwYXRoKTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgICByZXR1cm4gZmlsZTtcbiAgICB9XG5cbiAgICBmaWxlID0gbmV3IChURmlsZSBhcyBURmlsZUNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG4gICAgZmlsZS5wYXJlbnQgPSBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQsIHZhdWx0LmFkYXB0ZXIucGF0aC5kaXJuYW1lKHBhdGgpKTtcbiAgICBmaWxlLmRlbGV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiBmaWxlO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQ3VzdG9tQXJyYXlEaWN0IH0gZnJvbSBcIi4uL2ludGVybmFscy9DdXN0b21BcnJheURpY3QvQ3VzdG9tQXJyYXlEaWN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUFycmF5RGljdERhdGFSZWNvcmQgfSBmcm9tIFwiLi4vaW50ZXJuYWxzL0N1c3RvbUFycmF5RGljdC9DdXN0b21BcnJheURpY3REYXRhUmVjb3JkLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21BcnJheURpY3RJbXBsPFQ+IGltcGxlbWVudHMgQ3VzdG9tQXJyYXlEaWN0PFQ+IHtcbiAgICBwdWJsaWMgZGF0YTogQ3VzdG9tQXJyYXlEaWN0RGF0YVJlY29yZDxUPiA9IHt9O1xuXG4gICAgcHVibGljIGFkZChrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEodGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IFtdIGFzIFRbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YVtrZXldITtcblxuICAgICAgICBpZiAoIXZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YVtrZXldO1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlcy5yZW1vdmUodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5kYXRhW2tleV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlS2V5KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmRhdGFba2V5XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogVFtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSA/IHRoaXMuZGF0YVtrZXldISA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuZGF0YVtrZXldO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhID0ge307XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmRhdGFba2V5XTtcbiAgICAgICAgcmV0dXJuIHZhbHVlcyAmJiB2YWx1ZXMuY29udGFpbnModmFsdWUpIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICBsZXQgYW5zID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICBhbnMgKz0gdGhpcy5kYXRhW2tleV0hLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhbnM7XG4gICAgfVxufVxuIiwgImV4cG9ydCBjb25zdCBJbnRlcm5hbFBsdWdpbk5hbWUgPSB7XG4gICAgQXVkaW9SZWNvcmRlcjogXCJhdWRpby1yZWNvcmRlclwiLFxuICAgIEJhY2tsaW5rOiBcImJhY2tsaW5rXCIsXG4gICAgQm9va21hcmtzOiBcImJvb2ttYXJrc1wiLFxuICAgIENhbnZhczogXCJjYW52YXNcIixcbiAgICBDb21tYW5kUGFsZXR0ZTogXCJjb21tYW5kLXBhbGV0dGVcIixcbiAgICBEYWlseU5vdGVzOiBcImRhaWx5LW5vdGVzXCIsXG4gICAgRWRpdG9yU3RhdHVzOiBcImVkaXRvci1zdGF0dXNcIixcbiAgICBGaWxlRXhwbG9yZXI6IFwiZmlsZS1leHBsb3JlclwiLFxuICAgIEZpbGVSZWNvdmVyeTogXCJmaWxlLXJlY292ZXJ5XCIsXG4gICAgR2xvYmFsU2VhcmNoOiBcImdsb2JhbC1zZWFyY2hcIixcbiAgICBHcmFwaDogXCJncmFwaFwiLFxuICAgIE1hcmtkb3duSW1wb3J0ZXI6IFwibWFya2Rvd24taW1wb3J0ZXJcIixcbiAgICBOb3RlQ29tcG9zZXI6IFwibm90ZS1jb21wb3NlclwiLFxuICAgIE91dGdvaW5nTGluazogXCJvdXRnb2luZy1saW5rXCIsXG4gICAgT3V0bGluZTogXCJvdXRsaW5lXCIsXG4gICAgUGFnZVByZXZpZXc6IFwicGFnZS1wcmV2aWV3XCIsXG4gICAgUHJvcGVydGllczogXCJwcm9wZXJ0aWVzXCIsXG4gICAgUHVibGlzaDogXCJwdWJsaXNoXCIsXG4gICAgUmFuZG9tTm90ZTogXCJyYW5kb20tbm90ZVwiLFxuICAgIFNsYXNoQ29tbWFuZDogXCJzbGFzaC1jb21tYW5kXCIsXG4gICAgU2xpZGVzOiBcInNsaWRlc1wiLFxuICAgIFN0YXJyZWQ6IFwic3RhcnJlZFwiLFxuICAgIFN3aXRjaGVyOiBcInN3aXRjaGVyXCIsXG4gICAgU3luYzogXCJzeW5jXCIsXG4gICAgVGFnUGFuZTogXCJ0YWctcGFuZVwiLFxuICAgIFRlbXBsYXRlczogXCJ0ZW1wbGF0ZXNcIixcbiAgICBXb3JkQ291bnQ6IFwid29yZC1jb3VudFwiLFxuICAgIFdvcmtzcGFjZXM6IFwid29ya3NwYWNlc1wiLFxuICAgIFprUHJlZml4ZXI6IFwiemstcHJlZml4ZXJcIlxufSBhcyBjb25zdDtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ0FBLHNCQUdPO0FBUUEsU0FBUyxzQkFBc0IsT0FBYyxNQUF1QjtBQUN2RSxNQUFJLFNBQVMsTUFBTSxnQkFBZ0IsSUFBSTtBQUN2QyxNQUFJLFFBQVE7QUFDUixXQUFPO0FBQUEsRUFDWDtBQUVBLFdBQVMsSUFBSyx3QkFBK0IsT0FBTyxJQUFJO0FBQ3hELFNBQU8sU0FBUyxzQkFBc0IsT0FBTyxNQUFNLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQztBQUM3RSxTQUFPLFVBQVU7QUFDakIsU0FBTztBQUNYOzs7QUNyQkEsSUFBQUEsbUJBR087QUFTQSxTQUFTLG9CQUFvQixPQUFjLE1BQXFCO0FBQ25FLE1BQUksT0FBTyxNQUFNLGNBQWMsSUFBSTtBQUNuQyxNQUFJLE1BQU07QUFDTixXQUFPO0FBQUEsRUFDWDtBQUVBLFNBQU8sSUFBSyx1QkFBMkIsT0FBTyxJQUFJO0FBQ2xELE9BQUssU0FBUyxzQkFBc0IsT0FBTyxNQUFNLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQztBQUMzRSxPQUFLLFVBQVU7QUFDZixTQUFPO0FBQ1g7OztBQ25CTyxJQUFNLHNCQUFOLE1BQTJEO0FBQUEsRUFDdkQsT0FBcUMsQ0FBQztBQUFBLEVBRXRDLElBQUksS0FBYSxPQUFnQjtBQUNwQyxRQUFJLENBQUUsS0FBSyxLQUFLLGVBQWUsR0FBRyxHQUFJO0FBQ2xDLFdBQUssS0FBSyxHQUFHLElBQUksQ0FBQztBQUFBLElBQ3RCO0FBRUEsVUFBTSxTQUFTLEtBQUssS0FBSyxHQUFHO0FBRTVCLFFBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxHQUFHO0FBQ3pCLGFBQU8sS0FBSyxLQUFLO0FBQUEsSUFDckI7QUFBQSxFQUNKO0FBQUEsRUFFTyxPQUFPLEtBQWEsT0FBZ0I7QUFDdkMsVUFBTSxTQUFTLEtBQUssS0FBSyxHQUFHO0FBQzVCLFFBQUksQ0FBQyxRQUFRO0FBQ1Q7QUFBQSxJQUNKO0FBQ0EsV0FBTyxPQUFPLEtBQUs7QUFFbkIsUUFBSSxPQUFPLFdBQVcsR0FBRztBQUNyQixhQUFPLEtBQUssS0FBSyxHQUFHO0FBQUEsSUFDeEI7QUFBQSxFQUNKO0FBQUEsRUFFTyxVQUFVLEtBQW1CO0FBQ2hDLFdBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxFQUN4QjtBQUFBLEVBRU8sSUFBSSxLQUF5QjtBQUNoQyxXQUFPLEtBQUssS0FBSyxlQUFlLEdBQUcsSUFBSSxLQUFLLEtBQUssR0FBRyxJQUFLO0FBQUEsRUFDN0Q7QUFBQSxFQUVPLE9BQWlCO0FBQ3BCLFdBQU8sT0FBTyxLQUFLLEtBQUssSUFBSTtBQUFBLEVBQ2hDO0FBQUEsRUFFTyxNQUFNLEtBQW1CO0FBQzVCLFdBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxFQUN4QjtBQUFBLEVBRU8sV0FBaUI7QUFDcEIsU0FBSyxPQUFPLENBQUM7QUFBQSxFQUNqQjtBQUFBLEVBRU8sU0FBUyxLQUFhLE9BQW1CO0FBQzVDLFVBQU0sU0FBUyxLQUFLLEtBQUssR0FBRztBQUM1QixXQUFPLFVBQVUsT0FBTyxTQUFTLEtBQUssS0FBSztBQUFBLEVBQy9DO0FBQUEsRUFFTyxRQUFnQjtBQUNuQixRQUFJLE1BQU07QUFDVixlQUFXLE9BQU8sS0FBSyxNQUFNO0FBQ3pCLFVBQUksS0FBSyxLQUFLLGVBQWUsR0FBRyxHQUFHO0FBQy9CLGVBQU8sS0FBSyxLQUFLLEdBQUcsRUFBRztBQUFBLE1BQzNCO0FBQUEsSUFDSjtBQUVBLFdBQU87QUFBQSxFQUNYO0FBQ0o7OztBQ2pFTyxJQUFNLHFCQUFxQjtBQUFBLEVBQzlCLGVBQWU7QUFBQSxFQUNmLFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLFFBQVE7QUFBQSxFQUNSLGdCQUFnQjtBQUFBLEVBQ2hCLFlBQVk7QUFBQSxFQUNaLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLE9BQU87QUFBQSxFQUNQLGtCQUFrQjtBQUFBLEVBQ2xCLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLFNBQVM7QUFBQSxFQUNULGFBQWE7QUFBQSxFQUNiLFlBQVk7QUFBQSxFQUNaLFNBQVM7QUFBQSxFQUNULFlBQVk7QUFBQSxFQUNaLGNBQWM7QUFBQSxFQUNkLFFBQVE7QUFBQSxFQUNSLFNBQVM7QUFBQSxFQUNULFVBQVU7QUFBQSxFQUNWLE1BQU07QUFBQSxFQUNOLFNBQVM7QUFBQSxFQUNULFdBQVc7QUFBQSxFQUNYLFdBQVc7QUFBQSxFQUNYLFlBQVk7QUFBQSxFQUNaLFlBQVk7QUFDaEI7IiwKICAibmFtZXMiOiBbImltcG9ydF9vYnNpZGlhbiJdCn0K
146
+
147
+ // src/obsidian/implementations/Constructors/constructTFile.ts
148
+ var import_obsidian2 = require("obsidian");
149
+ function constructTFile(vault, path) {
150
+ return new import_obsidian2.TFile(vault, path);
151
+ }
152
+
153
+ // src/obsidian/implementations/createTFileInstance.ts
154
+ function createTFileInstance(vault, path) {
155
+ let file = vault.getFileByPath(path);
156
+ if (file) {
157
+ return file;
158
+ }
159
+ file = constructTFile(vault, path);
160
+ file.parent = createTFolderInstance(vault, parentFolderPath(path));
161
+ file.deleted = true;
162
+ return file;
163
+ }
164
+
165
+ // src/obsidian/implementations/Constructors/constructInternalPlugins.ts
166
+ function constructInternalPlugins(app) {
167
+ return new app.internalPlugins.constructor(app);
168
+ }
169
+
170
+ // src/obsidian/implementations/Constructors/constructInternalPlugin.ts
171
+ function constructInternalPlugin(app, instance, internalPlugins) {
172
+ const anyPlugin = Object.values(app.internalPlugins.plugins)[0];
173
+ if (!anyPlugin) {
174
+ throw new Error("No internal plugin found");
175
+ }
176
+ return new anyPlugin.constructor(app, instance, internalPlugins);
177
+ }
178
+
179
+ // src/obsidian/implementations/Constructors/constructApp.ts
180
+ var import_obsidian3 = require("obsidian");
181
+ function constructApp(adapter, appId) {
182
+ return new import_obsidian3.App(adapter, appId);
183
+ }
184
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1BhdGhVdGlscy50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURm9sZGVyLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ3VzdG9tQXJyYXlEaWN0SW1wbC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0ludGVybmFsUGx1Z2luTmFtZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGaWxlSW5zdGFuY2UudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2luLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEFwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGZyb20gJy4vUGF0aFV0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlVEZvbGRlckluc3RhbmNlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ3VzdG9tQXJyYXlEaWN0SW1wbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0ludGVybmFsUGx1Z2luTmFtZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVRGaWxlSW5zdGFuY2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW4uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0QXBwLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGaWxlLmpzJztcbmltcG9ydCAnLi4vLi4vaW5kZXguanMnO1xuIiwgImV4cG9ydCBmdW5jdGlvbiBwYXJlbnRGb2xkZXJQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucmVwbGFjZSgvXFwvP1teXFwvXSokLywgJycpIHx8ICcvJztcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZvbGRlckNvbnN0cnVjdG9yID0gbmV3KHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKSA9PiBURm9sZGVyO1xuXG4vKipcbiAqIENvbnN0cnVjdHMgYSBuZXcgVEZvbGRlciBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZvbGRlciBiZWxvbmdzLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIFRGb2xkZXIgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURm9sZGVyKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgcmV0dXJuIG5ldyAoVEZvbGRlciBhcyBURm9sZGVyQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBjb25zdHJ1Y3RURm9sZGVyIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi9QYXRoVXRpbHMudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURm9sZGVyIGV2ZW4gdGhlIHVuZGVybHlpbmcgZm9sZGVyIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmb2xkZXIgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZvbGRlckluc3RhbmNlKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgbGV0IGZvbGRlciA9IHZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIHJldHVybiBmb2xkZXI7XG4gICAgfVxuXG4gICAgZm9sZGVyID0gY29uc3RydWN0VEZvbGRlcih2YXVsdCwgcGF0aCk7XG4gICAgZm9sZGVyLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZm9sZGVyLmRlbGV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiBmb2xkZXI7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICcuLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0L0N1c3RvbUFycmF5RGljdC5qcyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUFycmF5RGljdERhdGFSZWNvcmQgfSBmcm9tICcuLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0L0N1c3RvbUFycmF5RGljdERhdGFSZWNvcmQuanMnO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tQXJyYXlEaWN0SW1wbDxUPiBpbXBsZW1lbnRzIEN1c3RvbUFycmF5RGljdDxUPiB7XG4gICAgcHVibGljIGRhdGE6IEN1c3RvbUFycmF5RGljdERhdGFSZWNvcmQ8VD4gPSB7fTtcblxuICAgIHB1YmxpYyBhZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICghKHRoaXMuZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhW2tleV0gPSBbXSBhcyBUW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmRhdGFba2V5XSE7XG5cbiAgICAgICAgaWYgKCF2YWx1ZXMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmRhdGFba2V5XTtcbiAgICAgICAgaWYgKCF2YWx1ZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMucmVtb3ZlKHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMuZGF0YVtrZXldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUtleShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBkZWxldGUgdGhpcy5kYXRhW2tleV07XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IFRbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkgPyB0aGlzLmRhdGFba2V5XSEgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmRhdGFba2V5XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHt9O1xuICAgIH1cblxuICAgIHB1YmxpYyBjb250YWlucyhrZXk6IHN0cmluZywgdmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5kYXRhW2tleV07XG4gICAgICAgIHJldHVybiB2YWx1ZXMgJiYgdmFsdWVzLmNvbnRhaW5zKHZhbHVlKSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGFucyA9IDA7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuZGF0YSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgYW5zICs9IHRoaXMuZGF0YVtrZXldIS5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbiIsICJleHBvcnQgY29uc3QgSW50ZXJuYWxQbHVnaW5OYW1lID0ge1xuICAgIEF1ZGlvUmVjb3JkZXI6ICdhdWRpby1yZWNvcmRlcicsXG4gICAgQmFja2xpbms6ICdiYWNrbGluaycsXG4gICAgQm9va21hcmtzOiAnYm9va21hcmtzJyxcbiAgICBDYW52YXM6ICdjYW52YXMnLFxuICAgIENvbW1hbmRQYWxldHRlOiAnY29tbWFuZC1wYWxldHRlJyxcbiAgICBEYWlseU5vdGVzOiAnZGFpbHktbm90ZXMnLFxuICAgIEVkaXRvclN0YXR1czogJ2VkaXRvci1zdGF0dXMnLFxuICAgIEZpbGVFeHBsb3JlcjogJ2ZpbGUtZXhwbG9yZXInLFxuICAgIEZpbGVSZWNvdmVyeTogJ2ZpbGUtcmVjb3ZlcnknLFxuICAgIEdsb2JhbFNlYXJjaDogJ2dsb2JhbC1zZWFyY2gnLFxuICAgIEdyYXBoOiAnZ3JhcGgnLFxuICAgIE1hcmtkb3duSW1wb3J0ZXI6ICdtYXJrZG93bi1pbXBvcnRlcicsXG4gICAgTm90ZUNvbXBvc2VyOiAnbm90ZS1jb21wb3NlcicsXG4gICAgT3V0Z29pbmdMaW5rOiAnb3V0Z29pbmctbGluaycsXG4gICAgT3V0bGluZTogJ291dGxpbmUnLFxuICAgIFBhZ2VQcmV2aWV3OiAncGFnZS1wcmV2aWV3JyxcbiAgICBQcm9wZXJ0aWVzOiAncHJvcGVydGllcycsXG4gICAgUHVibGlzaDogJ3B1Ymxpc2gnLFxuICAgIFJhbmRvbU5vdGU6ICdyYW5kb20tbm90ZScsXG4gICAgU2xhc2hDb21tYW5kOiAnc2xhc2gtY29tbWFuZCcsXG4gICAgU2xpZGVzOiAnc2xpZGVzJyxcbiAgICBTd2l0Y2hlcjogJ3N3aXRjaGVyJyxcbiAgICBTeW5jOiAnc3luYycsXG4gICAgVGFnUGFuZTogJ3RhZy1wYW5lJyxcbiAgICBUZW1wbGF0ZXM6ICd0ZW1wbGF0ZXMnLFxuICAgIFdvcmRDb3VudDogJ3dvcmQtY291bnQnLFxuICAgIFdvcmtzcGFjZXM6ICd3b3Jrc3BhY2VzJyxcbiAgICBaa1ByZWZpeGVyOiAnemstcHJlZml4ZXInXG59IGFzIGNvbnN0O1xuIiwgImltcG9ydCB7XG4gICAgVEZpbGUsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZpbGVDb25zdHJ1Y3RvciA9IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZykgPT4gVEZpbGU7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBURmlsZSBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZpbGUgYmVsb25ncy5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgVEZpbGUgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURmlsZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICByZXR1cm4gbmV3IChURmlsZSBhcyBURmlsZUNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZSxcbiAgICB0eXBlIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGNvbnN0cnVjdFRGaWxlIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZpbGUudHMnO1xuaW1wb3J0IHsgY3JlYXRlVEZvbGRlckluc3RhbmNlIH0gZnJvbSAnLi9jcmVhdGVURm9sZGVySW5zdGFuY2UudHMnO1xuaW1wb3J0IHsgcGFyZW50Rm9sZGVyUGF0aCB9IGZyb20gJy4vUGF0aFV0aWxzLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZpbGUgZXZlbiB0aGUgdW5kZXJseWluZyBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGaWxlSW5zdGFuY2UodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURmlsZSB7XG4gICAgbGV0IGZpbGUgPSB2YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIGZpbGUgPSBjb25zdHJ1Y3RURmlsZSh2YXVsdCwgcGF0aCk7XG4gICAgZmlsZS5wYXJlbnQgPSBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQsIHBhcmVudEZvbGRlclBhdGgocGF0aCkpO1xuICAgIGZpbGUuZGVsZXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIGZpbGU7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2lucyB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbnMuanMnO1xuXG50eXBlIEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yID0gbmV3KGFwcDogQXBwKSA9PiBJbnRlcm5hbFBsdWdpbnM7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBJbnRlcm5hbFBsdWdpbnMgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgSW50ZXJuYWxQbHVnaW5zIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zKGFwcDogQXBwKTogSW50ZXJuYWxQbHVnaW5zIHtcbiAgICByZXR1cm4gbmV3IChhcHAuaW50ZXJuYWxQbHVnaW5zLmNvbnN0cnVjdG9yIGFzIEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yKShhcHApO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFBsdWdpbiB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbi5qcyc7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2lucyB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbnMuanMnO1xuXG50eXBlIEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+ID0gbmV3KFxuICAgIGFwcDogQXBwLFxuICAgIGluc3RhbmNlOiBJbnN0YW5jZSxcbiAgICBpbnRlcm5hbFBsdWdpbnM6IEludGVybmFsUGx1Z2luc1xuKSA9PiBJbnRlcm5hbFBsdWdpbjxJbnN0YW5jZT47XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBJbnRlcm5hbFBsdWdpbiBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBpbnN0YW5jZSAtIFRoZSBpbnN0YW5jZSBvZiB0aGUgcGx1Z2luLlxuICogQHBhcmFtIGludGVybmFsUGx1Z2lucyAtIFRoZSBpbnRlcm5hbCBwbHVnaW5zIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEludGVybmFsUGx1Z2luIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0SW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+KFxuICAgIGFwcDogQXBwLFxuICAgIGluc3RhbmNlOiBJbnN0YW5jZSxcbiAgICBpbnRlcm5hbFBsdWdpbnM6IEludGVybmFsUGx1Z2luc1xuKTogSW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+IHtcbiAgICBjb25zdCBhbnlQbHVnaW4gPSBPYmplY3QudmFsdWVzKGFwcC5pbnRlcm5hbFBsdWdpbnMucGx1Z2lucylbMF07XG4gICAgaWYgKCFhbnlQbHVnaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnRlcm5hbCBwbHVnaW4gZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyAoYW55UGx1Z2luLmNvbnN0cnVjdG9yIGFzIEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+KShhcHAsIGluc3RhbmNlLCBpbnRlcm5hbFBsdWdpbnMpO1xufVxuIiwgImltcG9ydCB7XG4gICAgQXBwLFxuICAgIHR5cGUgRGF0YUFkYXB0ZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG50eXBlIEFwcENvbnN0cnVjdG9yID0gbmV3KGFkYXB0ZXI6IERhdGFBZGFwdGVyLCBhcHBJZDogc3RyaW5nKSA9PiBBcHA7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBBcHAgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFkYXB0ZXIgLSBUaGUgZGF0YSBhZGFwdGVyIHRvIHVzZS5cbiAqIEBwYXJhbSBhcHBJZCAtIFRoZSBJRCBvZiB0aGUgYXBwLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEFwcCBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdEFwcChhZGFwdGVyOiBEYXRhQWRhcHRlciwgYXBwSWQ6IHN0cmluZyk6IEFwcCB7XG4gICAgcmV0dXJuIG5ldyAoQXBwIGFzIEFwcENvbnN0cnVjdG9yKShhZGFwdGVyLCBhcHBJZCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNBTyxTQUFTLGlCQUFpQixNQUFzQjtBQUNuRCxTQUFPLEtBQUssUUFBUSxjQUFjLEVBQUUsS0FBSztBQUM3Qzs7O0FDRkEsc0JBR087QUFXQSxTQUFTLGlCQUFpQixPQUFjLE1BQXVCO0FBQ2xFLFNBQU8sSUFBSyx3QkFBK0IsT0FBTyxJQUFJO0FBQzFEOzs7QUNMTyxTQUFTLHNCQUFzQixPQUFjLE1BQXVCO0FBQ3ZFLE1BQUksU0FBUyxNQUFNLGdCQUFnQixJQUFJO0FBQ3ZDLE1BQUksUUFBUTtBQUNSLFdBQU87QUFBQSxFQUNYO0FBRUEsV0FBUyxpQkFBaUIsT0FBTyxJQUFJO0FBQ3JDLFNBQU8sU0FBUyxzQkFBc0IsT0FBTyxpQkFBaUIsSUFBSSxDQUFDO0FBQ25FLFNBQU8sVUFBVTtBQUNqQixTQUFPO0FBQ1g7OztBQ2xCTyxJQUFNLHNCQUFOLE1BQTJEO0FBQUEsRUFDdkQsT0FBcUMsQ0FBQztBQUFBLEVBRXRDLElBQUksS0FBYSxPQUFnQjtBQUNwQyxRQUFJLENBQUUsS0FBSyxLQUFLLGVBQWUsR0FBRyxHQUFJO0FBQ2xDLFdBQUssS0FBSyxHQUFHLElBQUksQ0FBQztBQUFBLElBQ3RCO0FBRUEsVUFBTSxTQUFTLEtBQUssS0FBSyxHQUFHO0FBRTVCLFFBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxHQUFHO0FBQ3pCLGFBQU8sS0FBSyxLQUFLO0FBQUEsSUFDckI7QUFBQSxFQUNKO0FBQUEsRUFFTyxPQUFPLEtBQWEsT0FBZ0I7QUFDdkMsVUFBTSxTQUFTLEtBQUssS0FBSyxHQUFHO0FBQzVCLFFBQUksQ0FBQyxRQUFRO0FBQ1Q7QUFBQSxJQUNKO0FBQ0EsV0FBTyxPQUFPLEtBQUs7QUFFbkIsUUFBSSxPQUFPLFdBQVcsR0FBRztBQUNyQixhQUFPLEtBQUssS0FBSyxHQUFHO0FBQUEsSUFDeEI7QUFBQSxFQUNKO0FBQUEsRUFFTyxVQUFVLEtBQW1CO0FBQ2hDLFdBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxFQUN4QjtBQUFBLEVBRU8sSUFBSSxLQUF5QjtBQUNoQyxXQUFPLEtBQUssS0FBSyxlQUFlLEdBQUcsSUFBSSxLQUFLLEtBQUssR0FBRyxJQUFLO0FBQUEsRUFDN0Q7QUFBQSxFQUVPLE9BQWlCO0FBQ3BCLFdBQU8sT0FBTyxLQUFLLEtBQUssSUFBSTtBQUFBLEVBQ2hDO0FBQUEsRUFFTyxNQUFNLEtBQW1CO0FBQzVCLFdBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxFQUN4QjtBQUFBLEVBRU8sV0FBaUI7QUFDcEIsU0FBSyxPQUFPLENBQUM7QUFBQSxFQUNqQjtBQUFBLEVBRU8sU0FBUyxLQUFhLE9BQW1CO0FBQzVDLFVBQU0sU0FBUyxLQUFLLEtBQUssR0FBRztBQUM1QixXQUFPLFVBQVUsT0FBTyxTQUFTLEtBQUssS0FBSztBQUFBLEVBQy9DO0FBQUEsRUFFTyxRQUFnQjtBQUNuQixRQUFJLE1BQU07QUFDVixlQUFXLE9BQU8sS0FBSyxNQUFNO0FBQ3pCLFVBQUksS0FBSyxLQUFLLGVBQWUsR0FBRyxHQUFHO0FBQy9CLGVBQU8sS0FBSyxLQUFLLEdBQUcsRUFBRztBQUFBLE1BQzNCO0FBQUEsSUFDSjtBQUVBLFdBQU87QUFBQSxFQUNYO0FBQ0o7OztBQ2pFTyxJQUFNLHFCQUFxQjtBQUFBLEVBQzlCLGVBQWU7QUFBQSxFQUNmLFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLFFBQVE7QUFBQSxFQUNSLGdCQUFnQjtBQUFBLEVBQ2hCLFlBQVk7QUFBQSxFQUNaLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLE9BQU87QUFBQSxFQUNQLGtCQUFrQjtBQUFBLEVBQ2xCLGNBQWM7QUFBQSxFQUNkLGNBQWM7QUFBQSxFQUNkLFNBQVM7QUFBQSxFQUNULGFBQWE7QUFBQSxFQUNiLFlBQVk7QUFBQSxFQUNaLFNBQVM7QUFBQSxFQUNULFlBQVk7QUFBQSxFQUNaLGNBQWM7QUFBQSxFQUNkLFFBQVE7QUFBQSxFQUNSLFVBQVU7QUFBQSxFQUNWLE1BQU07QUFBQSxFQUNOLFNBQVM7QUFBQSxFQUNULFdBQVc7QUFBQSxFQUNYLFdBQVc7QUFBQSxFQUNYLFlBQVk7QUFBQSxFQUNaLFlBQVk7QUFDaEI7OztBQzdCQSxJQUFBQSxtQkFHTztBQVdBLFNBQVMsZUFBZSxPQUFjLE1BQXFCO0FBQzlELFNBQU8sSUFBSyx1QkFBMkIsT0FBTyxJQUFJO0FBQ3REOzs7QUNKTyxTQUFTLG9CQUFvQixPQUFjLE1BQXFCO0FBQ25FLE1BQUksT0FBTyxNQUFNLGNBQWMsSUFBSTtBQUNuQyxNQUFJLE1BQU07QUFDTixXQUFPO0FBQUEsRUFDWDtBQUVBLFNBQU8sZUFBZSxPQUFPLElBQUk7QUFDakMsT0FBSyxTQUFTLHNCQUFzQixPQUFPLGlCQUFpQixJQUFJLENBQUM7QUFDakUsT0FBSyxVQUFVO0FBQ2YsU0FBTztBQUNYOzs7QUNYTyxTQUFTLHlCQUF5QixLQUEyQjtBQUNoRSxTQUFPLElBQUssSUFBSSxnQkFBZ0IsWUFBMkMsR0FBRztBQUNsRjs7O0FDS08sU0FBUyx3QkFDWixLQUNBLFVBQ0EsaUJBQ3dCO0FBQ3hCLFFBQU0sWUFBWSxPQUFPLE9BQU8sSUFBSSxnQkFBZ0IsT0FBTyxFQUFFLENBQUM7QUFDOUQsTUFBSSxDQUFDLFdBQVc7QUFDWixVQUFNLElBQUksTUFBTSwwQkFBMEI7QUFBQSxFQUM5QztBQUNBLFNBQU8sSUFBSyxVQUFVLFlBQW9ELEtBQUssVUFBVSxlQUFlO0FBQzVHOzs7QUM1QkEsSUFBQUMsbUJBR087QUFXQSxTQUFTLGFBQWEsU0FBc0IsT0FBb0I7QUFDbkUsU0FBTyxJQUFLLHFCQUF1QixTQUFTLEtBQUs7QUFDckQ7IiwKICAibmFtZXMiOiBbImltcG9ydF9vYnNpZGlhbiIsICJpbXBvcnRfb2JzaWRpYW4iXQp9Cg==