tiro-notes 0.27.56 → 0.27.59

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/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # Tiro Notes
2
2
 
3
- Open-source, fast and supercharged markdown editor to be used anywhere
3
+ An Open-source, cross-platform and extensible web markdown editor
4
4
 
5
- ![Tiro Notes S1](https://user-images.githubusercontent.com/2981891/159969275-57e1e0a1-9b77-4e7d-b814-9367ce5830ad.jpg)
5
+ ![Tiro S2](https://user-images.githubusercontent.com/2981891/161093353-e9c2df15-ffca-4d2f-839d-ced9ced659b1.jpg)
6
+
7
+ Twitter News & Updates : https://twitter.com/NotesTiro
6
8
 
7
9
  ## WHY
8
10
 
@@ -10,21 +12,52 @@ Tiro Notes is designed to be a viable open source alternative to proprietary sof
10
12
 
11
13
  Tiro Notes focus points are :
12
14
 
13
- - 👼 **Open source & free**: Code is open source, free forever. Optimistically reaching a GNU GPLv3 license in the future.
14
- - 👑 **Own your data**: No database, no hidden ties. Markdown files only. You can edit and sync your files with external software as you need.
15
+ - 👑 **Open source & Open Data**: Code is open source, free forever. No database, no hidden ties. Markdown files only. You can edit and sync your files with external software as you need.
16
+
17
+ - ☁️ / 🖥️ / 💻 / 📱 **Cross-platform & Web** : Windows, macOS, Android, Linux, Web. Start an App or with CLI and access it anywhere on your local network.
18
+
19
+ - 🏋 **Extensible** : create custom markdown tag like [[calendar]], [[uml]] and other within seconds. Use [[latex]]. Create your own tag with [[script]] and the client api
20
+
21
+ ## MENU
22
+ * [Why](#why)
23
+ * [Usage](#usage)
24
+ + [Desktop Applications](#desktop-applications)
25
+ + [Command Line](#command-line)
26
+ * [Functionalities List](#functionalities-list)
27
+ * [Documentation](#documentation)
28
+ + [Available Custom Tags](#available-custom-tags)
29
+ + [Add scripts in your note](#add-scripts-in-your-note)
30
+ + [Create your own custom tags](#create-your-own-custom-tags)
31
+ - [1) How to create a new custom tag [[mail-address]]](#1--how-to-create-a-new-custom-tag--)
32
+ - [2) Using {{InnerTag}}](#2--using---innertag--)
33
+ - [3) Add script logic in your tag](#3--add-script-logic-in-your-tag--)
34
+ + [Client API](#client-api)
35
+ * [Faq](#faq)
36
+ + [How can I sync my notes folder on other devices?](#how-can-i-sync-my-notes-folder-on-other-devices)
37
+ + [Can I edit my notes on another application?](#can-i-edit-my-notes-on-another-application)
38
+ + [How can I access to Tiro on my device](#how-can-i-access-to-tiro-on-my-device)
39
+ + [What is the current status of Tiro Notes?](#what-is-the-current-status-of-tiro-notes)
15
40
 
41
+ ## USAGE
16
42
 
17
- - 🚅 **Fast**: Search is really fast (using ripgrep). You can scroll list of several thousands of items without slowdown.
18
- - 💅 **Nice**: Usability & nice user experience is key aspect of Tiro.
43
+ ### DESKTOP APPLICATIONS
19
44
 
45
+ Mac/Linux/Windows Applications can be downloaded [here](https://github.com/dotgreg/tiro-notes/releases/tag/production)
20
46
 
21
- - 📟 **Use it anywhere** : Apps for Windows, Mac, Linux. You can install and start Tiro within seconds with npx. You can install it on Android and iOS. You can use it as web server and use it with any device with a browser.
22
- - 🏋 **Extensible** : custom and extensible markdown tags like [[latex]] or [[script]] or with third party plugins (planned).
47
+ ### COMMAND LINE
48
+ - Requirements : [NodeJs](https://nodejs.org/en/download/) and [RipGrep](https://github.com/BurntSushi/ripgrep)
23
49
 
24
- ## FUNCTIONALITIES
25
- <details>
26
- <summary>Expand all functionalities</summary>
27
-
50
+ ```
51
+ npx tiro-notes
52
+ ```
53
+
54
+ <img src="https://user-images.githubusercontent.com/2981891/159723396-b5e81dcd-a4aa-4581-9b7f-e3b62bcdef65.gif" width="600"/>
55
+
56
+ - This works with any platform/device, including unrooted Android with [Termux](https://termux.com) and possibly iOS with iSH (untested)
57
+ - ```npx tiro-notes --help``` for all available options
58
+
59
+
60
+ ## FUNCTIONALITIES LIST
28
61
 
29
62
  **Note Edition**
30
63
  - 🖊️ Mardown notes edition
@@ -36,8 +69,8 @@ Tiro Notes focus points are :
36
69
  - 🏋 Embed videos and other web content (with iframe)
37
70
  - 🏋 create javascript applications within your note with [[script]]
38
71
  - 💱 display math formulas with [[latex]]
72
+ - 🧬 display UML and other diagrams with [[diagram]] (custom tags)
39
73
  - (🔧) 💬 Text to Speech (beta)
40
- - (🔧) 🧬 display UML and other diagrams with [[diagram]] (planned...)
41
74
  - (🔧) 📡 Server Collaborative edition (planned...)
42
75
 
43
76
  **Search**
@@ -63,50 +96,184 @@ Tiro Notes focus points are :
63
96
  - ☁️ Use it as a local application, as a local or cloud server.
64
97
  - 📟 Use it on any device with a browser (Mobile, tablet and Desktop interface)
65
98
  - (🔧)📱 Install on iOS with iSH and NPX (to be tested...)
66
- </details>
67
99
 
68
- ## USAGE
69
100
 
70
- ### 1) DESKTOP APPLICATIONS
101
+ ## DOCUMENTATION
71
102
 
72
- Mac/Linux/Windows Applications can be downloaded [here](https://github.com/dotgreg/tiro-notes/releases/tag/production)
103
+ ### Available Custom Tags
104
+ - [[calendar]] a fully functional calendar that stored data on a note : [install instructions & screenshot](https://github.com/dotgreg/tiro-notes/blob/master/documentation/custom-tag-calendar.md)
105
+ - [[mermaid]] Uml, Gantt and flowcharts : [install instructions & screenshot](https://github.com/dotgreg/tiro-notes/blob/master/documentation/custom-tag-mermaid.md)
73
106
 
74
- ### 2) COMMAND LINE
75
- - Requirements : [NodeJs](https://nodejs.org/en/download/) and [RipGrep](https://github.com/BurntSushi/ripgrep)
107
+ ### Add scripts in your note
76
108
 
77
- ```
78
- npx tiro-notes
79
- ```
109
+ <details>
110
+ <summary>Expand for details</summary>
111
+ You can add javascript logic in your note with the special tag [[script]]
112
+
113
+ You need to use ```return``` to output it in the preview.
114
+
115
+ ```
116
+ .... Note content ....
117
+
118
+ [[script]]]
119
+ const stringToDisplay = `this is a hello world from javascript`
120
+ const randomNumber = Math.round(Math.random() * 1000)
121
+ return `${stringToDisplay} ${randomNumber} `
122
+ [[script]]
123
+
124
+ .... Note content ....
125
+ ```
126
+
127
+ will output something like
128
+
129
+ ```
130
+ .... Note content ....
131
+
132
+ this is a hello world from javascript 102
133
+
134
+ .... Note content ....
135
+
136
+ ```
137
+ </details>
80
138
 
81
- <img src="https://user-images.githubusercontent.com/2981891/159723396-b5e81dcd-a4aa-4581-9b7f-e3b62bcdef65.gif" width="600"/>
139
+ ### Create your own custom tags
82
140
 
83
- - This works with any platform/device, including unrooted Android with [Termux](https://termux.com) and possibly iOS with iSH (untested)
84
- - ```npx tiro-notes --help``` for all available options
141
+ <details>
142
+ <summary>Expand for details</summary>
143
+
144
+ #### 1) How to create a new custom tag [[mail-address]]
145
+ In order to install a new tag, you need to create a new note in ```/.tiro/tags/``` folder. (create the /tags directory if doesn't exists).
146
+
147
+ The content of that note will then be placed instead of the tag.
148
+
149
+ So in order to create a custom tag [[mail-address]], you will need to create ```/.tiro/tags/mail-address.md```
150
+
151
+ So with ```/.tiro/tags/mail-address.md``` content being :
152
+ ```
153
+ 10 Downing Street
154
+ City of Westminster
155
+ London, SW1
156
+ ```
157
+
158
+ And your note content being
159
+
160
+ ```
161
+ .... Note content ....
162
+
163
+ [[mail-address]] [[mail-address]]
164
+
165
+ .... Note content ....
166
+
167
+ ```
168
+
169
+ The result will give
170
+
171
+ ```
172
+ .... Note content ....
173
+
174
+ 10 Downing Street
175
+ City of Westminster
176
+ London, SW1
177
+
178
+ .... Note content ....
179
+
180
+ ```
181
+
182
+
183
+ #### 2) Using {{InnerTag}}
184
+ The content inside the custom tags can be fetched with the special tag ```{{innerTag}}```
185
+
186
+ So with ```/.tiro/tags/mail-address.md``` content being :
187
+ ```
188
+ 10 Downing Street
189
+ City of Westminster
190
+ London, SW1
191
+ {{innerTag}}
192
+ ```
193
+
194
+ Calling ```[[mail-address]] John Foo [[mail-address]]``` in any note will be replaced by
195
+
196
+ ```
197
+ 10 Downing Street
198
+ City of Westminster
199
+ London, SW1
200
+ John Foo
201
+ ```
202
+
203
+ ### 3) Add script logic in your tag
204
+
205
+ You can add javascript to your custom tag with the special tag [[script]]
206
+
207
+ If we have ```/.tiro/tags/square-number.md``` with the following content :
208
+ ```
209
+ The multiplied result is :
210
+ [[script]]]
211
+ const numberToSquare = {{innerTag}}
212
+ return `${numberToSquare * numberToSquare}`
213
+ [[script]]
214
+ ```
215
+
216
+ Using ```[[square-number]] 4 [[square-number]]``` will return ```The multiplied result is : 16```
217
+
218
+
219
+ </details>
85
220
 
86
221
 
87
- # FAQ
222
+ ### Client API (Beta)
223
+ <details>
224
+ <summary>Expand for details</summary>
225
+
226
+
227
+ Tiro Notes provides a Client API accessible using the developer console of your browser :
228
+ ![Screenshot 2022-03-31 at 18 39 22](https://user-images.githubusercontent.com/2981891/161106559-b27890d1-fca4-4e66-a6ff-0bdf38f679b3.jpg)
88
229
 
89
- ## How can I sync my notes folder on other devices?
230
+ typing ``` window.tiroCli ``` will give you the updated list of available functions. Each function has a description ```window.tiroCli.FUNCTION.description``` and can be called like that ```window.tiroCli.FUNCTION.f()```
231
+
232
+ The Tiro Cli allows you to :
233
+ - fetch a note content : ```window.tiroCli.clientApiGetFileContent```
234
+ - modify a note content : ```window.tiroCli.clientApiSetFileContent```
235
+ - Load an external javascript file : ```window.tiroCli.loadScripts(['https://', 'https://', ...], function () => {})```
236
+ - Show the current note content : ```window.tiroCli.fileContent```
237
+ - Trigger a search in the interface : ```window.tiroCli.triggerSearch```
238
+ - Set the Dual Editor view type temporarily : ```window.tiroCli.setTempViewType ("both", "editor", "preview")```
239
+
240
+ /!\ this API and CLI structure is meant to change in term of structure, make sure to check window.tiroCli when upgrading to a new version /!\
241
+
242
+ </details>
243
+
244
+
245
+
246
+ ## FAQ
247
+
248
+ ### How can I sync my notes folder on other devices?
90
249
  You can use any sync solution like dropbox, google drive, resilio sync, syncthings etc...
91
250
 
92
- ## Can I edit my notes on another application?
251
+ ### Can I edit my notes on another application?
93
252
  Yes, all the datas Tiro uses is coming from markdown notes. So you can edit your notes in other applications without any problem.
94
253
 
95
- ## How can I access to Tiro on my device
96
- 1) Device where tiro is installed : http://localhost:3023
97
- 2) If on same local network: http://192.168.xx.xx:3023 where that ip is the ip of the device where tiro is installed
254
+ ### Where are located the configuration file and the logs of Tiro?
255
+ The configuration file is located at ```~/.tiro-config.json``` for linux, mac and termux android and under ```/Users/USER_NAME/.tiro-config.json```in windows.
256
+ The logs are also located at the same path ```.tiro-logs.txt``` if using NPX or Node directly and ```.tiro-electron-log.txt``` if using Tiro Notes Desktop Apps.
257
+
258
+ ### How can I use Tiro in the Web?
259
+ 1) Device where tiro is installed : http://localhost:3023
260
+ 2) If on same Wifi/local network: http://192.168.xx.xx:3023 where that ip is the ip of the device where tiro is installed
98
261
  3) Not on same network : Tiro works great using SSH tunneling, AutoSSH or similar (free ssh tunnels solutions exists like https://opentunnel.net/). Npx tiro-notes also includes a --tunnel option for easy tunneling.
262
+ 4) On the cloud: You can self-host/install Tiro Notes on your server and access it from anywhere.
99
263
 
100
- ## What is the current status of Tiro Notes?
264
+ ### What is the current status of Tiro Notes?
101
265
  I have been developing it for over a year and using it as my daily note app for over 6 months now, its core functionalities seems stable enough for my use so far.
102
266
  I haven't been loosing any data so far, and there is always the history note functionality in that case.
103
267
 
104
268
  However, I consider that application still in alpha phase, it still needs a lot of testing to be considered robust.
105
-
106
269
  So use it at your own risk, and always with data you can afford to lose.
107
270
 
108
- I am not responsible of any data loss!
271
+ ### How can I contribute?
272
+
273
+ Contributions and PR are welcome! You can contact me for more details on the ROADMAP and how to be involved.
274
+
275
+ Right now, Tiro Notes needs testers to stabilize the current scope of functionalities and to give feedbacks on it.
276
+
277
+ Also translation can be a nice thing to have in the future.
109
278
 
110
- # ADVANCED
111
- ## Applications within Tiro with [[script]] and window.tiroCli
112
- - Add a calendar app within Tiro : [instructions](https://gist.github.com/dotgreg/cb758ff85be8f9afb9c7854be494c945#comments)
279
+ Twitter News & Updates : https://twitter.com/NotesTiro
@@ -2,14 +2,14 @@
2
2
  "files": {
3
3
  "static/js/0.ea8a0557.chunk.js": "/static/js/0.ea8a0557.chunk.js",
4
4
  "static/js/1.5165368f.chunk.js": "/static/js/1.5165368f.chunk.js",
5
- "main.js": "/static/js/main.0ba07f45.chunk.js",
6
- "runtime-main.js": "/static/js/runtime-main.85e6c3a1.js",
5
+ "main.js": "/static/js/main.5d502c9b.chunk.js",
6
+ "runtime-main.js": "/static/js/runtime-main.f2bea2bc.js",
7
7
  "static/css/4.f758ca10.chunk.css": "/static/css/4.f758ca10.chunk.css",
8
- "static/js/4.76ccc8f5.chunk.js": "/static/js/4.76ccc8f5.chunk.js",
8
+ "static/js/4.a145a1f9.chunk.js": "/static/js/4.a145a1f9.chunk.js",
9
9
  "static/js/5.5a164537.chunk.js": "/static/js/5.5a164537.chunk.js",
10
- "static/js/6.697e1b7d.chunk.js": "/static/js/6.697e1b7d.chunk.js",
11
- "static/js/7.14d55754.chunk.js": "/static/js/7.14d55754.chunk.js",
12
- "static/js/8.15f8b019.chunk.js": "/static/js/8.15f8b019.chunk.js",
10
+ "static/js/6.f0addc68.chunk.js": "/static/js/6.f0addc68.chunk.js",
11
+ "static/js/7.56ba23b6.chunk.js": "/static/js/7.56ba23b6.chunk.js",
12
+ "static/js/8.6e8c9a89.chunk.js": "/static/js/8.6e8c9a89.chunk.js",
13
13
  "static/js/9.d6f9119c.chunk.js": "/static/js/9.d6f9119c.chunk.js",
14
14
  "static/js/10.0cad3458.chunk.js": "/static/js/10.0cad3458.chunk.js",
15
15
  "static/js/11.2b0ce64e.chunk.js": "/static/js/11.2b0ce64e.chunk.js",
@@ -80,8 +80,9 @@
80
80
  "static/js/76.9c28f408.chunk.js": "/static/js/76.9c28f408.chunk.js",
81
81
  "static/js/77.da25a9dd.chunk.js": "/static/js/77.da25a9dd.chunk.js",
82
82
  "index.html": "/index.html",
83
- "static/js/4.76ccc8f5.chunk.js.LICENSE.txt": "/static/js/4.76ccc8f5.chunk.js.LICENSE.txt",
83
+ "static/js/4.a145a1f9.chunk.js.LICENSE.txt": "/static/js/4.a145a1f9.chunk.js.LICENSE.txt",
84
84
  "static/js/70.c94c4057.chunk.js.LICENSE.txt": "/static/js/70.c94c4057.chunk.js.LICENSE.txt",
85
+ "static/media/book-solid.87f5b737.svg": "/static/media/book-solid.87f5b737.svg",
85
86
  "static/media/codicon.css": "/static/media/codicon.0e0f4555.ttf",
86
87
  "static/media/compact-disc-solid.55b6e50c.svg": "/static/media/compact-disc-solid.55b6e50c.svg",
87
88
  "static/media/deco-bg-map.7ca9103b.png": "/static/media/deco-bg-map.7ca9103b.png",
@@ -101,9 +102,9 @@
101
102
  "static/media/search-solid.cc51b702.svg": "/static/media/search-solid.cc51b702.svg"
102
103
  },
103
104
  "entrypoints": [
104
- "static/js/runtime-main.85e6c3a1.js",
105
+ "static/js/runtime-main.f2bea2bc.js",
105
106
  "static/css/4.f758ca10.chunk.css",
106
- "static/js/4.76ccc8f5.chunk.js",
107
- "static/js/main.0ba07f45.chunk.js"
107
+ "static/js/4.a145a1f9.chunk.js",
108
+ "static/js/main.5d502c9b.chunk.js"
108
109
  ]
109
110
  }
package/client/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Tiro</title><link href="/static/css/4.f758ca10.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,a,f=t[0],d=t[1],u=t[2],l=0,b=[];l<f.length;l++)a=f[l],Object.prototype.hasOwnProperty.call(c,a)&&c[a]&&b.push(c[a][0]),c[a]=0;for(n in d)Object.prototype.hasOwnProperty.call(d,n)&&(e[n]=d[n]);for(i&&i(t);b.length;)b.shift()();return o.push.apply(o,u||[]),r()}function r(){for(var e,t=0;t<o.length;t++){for(var r=o[t],n=!0,f=1;f<r.length;f++){var d=r[f];0!==c[d]&&(n=!1)}n&&(o.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},c={3:0},o=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=c[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=c[e]=[t,n]}));t.push(r[2]=n);var o,f=document.createElement("script");f.charset="utf-8",f.timeout=120,a.nc&&f.setAttribute("nonce",a.nc),f.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{0:"ea8a0557",1:"5165368f",5:"5a164537",6:"697e1b7d",7:"14d55754",8:"15f8b019",9:"d6f9119c",10:"0cad3458",11:"2b0ce64e",12:"92514d67",13:"69e5059f",14:"117692f4",15:"dea3d779",16:"e8e8033d",17:"62bb08b2",18:"adb3422a",19:"e3714478",20:"62600c4c",21:"f89ecbc5",22:"89747807",23:"58fe2d2d",24:"571a9e16",25:"4d44c618",26:"362ceb27",27:"ca2e80c3",28:"7e438b2a",29:"5027ee80",30:"3e109afb",31:"a097b7ac",32:"0a2041de",33:"a2154eb9",34:"f77c022a",35:"151dffa4",36:"8349f6d8",37:"c1cd83f1",38:"00342a1f",39:"bd59d75f",40:"4c05ccf2",41:"5162463b",42:"911e59b0",43:"013161fd",44:"d42d9495",45:"6e3355b4",46:"92cec6d7",47:"c11e93b5",48:"161a44a2",49:"37b10bc2",50:"2f298839",51:"4f5ddb55",52:"68b1718e",53:"0ce22e26",54:"869bdc2f",55:"794936d9",56:"a5aae177",57:"73abd3b1",58:"b2871647",59:"7124c8a3",60:"d4812f0c",61:"242cd07c",62:"d8cf9e3d",63:"c1fcda28",64:"46d04682",65:"ae667b7e",66:"e1b5e96b",67:"ad5ce699",68:"32d99a48",69:"d53139ee",70:"c94c4057",71:"fe4cebc2",72:"4d2f6ab7",73:"2611f005",74:"c22413f1",75:"60443035",76:"9c28f408",77:"da25a9dd"}[e]+".chunk.js"}(e);var d=new Error;o=function(t){f.onerror=f.onload=null,clearTimeout(u);var r=c[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;d.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",d.name="ChunkLoadError",d.type=n,d.request=o,r[1](d)}c[e]=void 0}};var u=setTimeout((function(){o({type:"timeout",target:f})}),12e4);f.onerror=f.onload=o,document.head.appendChild(f)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var f=this["webpackJsonptiro-notes-client"]=this["webpackJsonptiro-notes-client"]||[],d=f.push.bind(f);f.push=t,f=f.slice();for(var u=0;u<f.length;u++)t(f[u]);var i=d;r()}([])</script><script src="/static/js/4.76ccc8f5.chunk.js"></script><script src="/static/js/main.0ba07f45.chunk.js"></script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Tiro</title><link href="/static/css/4.f758ca10.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,o,f=t[0],d=t[1],u=t[2],l=0,b=[];l<f.length;l++)o=f[l],Object.prototype.hasOwnProperty.call(c,o)&&c[o]&&b.push(c[o][0]),c[o]=0;for(n in d)Object.prototype.hasOwnProperty.call(d,n)&&(e[n]=d[n]);for(i&&i(t);b.length;)b.shift()();return a.push.apply(a,u||[]),r()}function r(){for(var e,t=0;t<a.length;t++){for(var r=a[t],n=!0,f=1;f<r.length;f++){var d=r[f];0!==c[d]&&(n=!1)}n&&(a.splice(t--,1),e=o(o.s=r[0]))}return e}var n={},c={3:0},a=[];function o(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var t=[],r=c[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=c[e]=[t,n]}));t.push(r[2]=n);var a,f=document.createElement("script");f.charset="utf-8",f.timeout=120,o.nc&&f.setAttribute("nonce",o.nc),f.src=function(e){return o.p+"static/js/"+({}[e]||e)+"."+{0:"ea8a0557",1:"5165368f",5:"5a164537",6:"f0addc68",7:"56ba23b6",8:"6e8c9a89",9:"d6f9119c",10:"0cad3458",11:"2b0ce64e",12:"92514d67",13:"69e5059f",14:"117692f4",15:"dea3d779",16:"e8e8033d",17:"62bb08b2",18:"adb3422a",19:"e3714478",20:"62600c4c",21:"f89ecbc5",22:"89747807",23:"58fe2d2d",24:"571a9e16",25:"4d44c618",26:"362ceb27",27:"ca2e80c3",28:"7e438b2a",29:"5027ee80",30:"3e109afb",31:"a097b7ac",32:"0a2041de",33:"a2154eb9",34:"f77c022a",35:"151dffa4",36:"8349f6d8",37:"c1cd83f1",38:"00342a1f",39:"bd59d75f",40:"4c05ccf2",41:"5162463b",42:"911e59b0",43:"013161fd",44:"d42d9495",45:"6e3355b4",46:"92cec6d7",47:"c11e93b5",48:"161a44a2",49:"37b10bc2",50:"2f298839",51:"4f5ddb55",52:"68b1718e",53:"0ce22e26",54:"869bdc2f",55:"794936d9",56:"a5aae177",57:"73abd3b1",58:"b2871647",59:"7124c8a3",60:"d4812f0c",61:"242cd07c",62:"d8cf9e3d",63:"c1fcda28",64:"46d04682",65:"ae667b7e",66:"e1b5e96b",67:"ad5ce699",68:"32d99a48",69:"d53139ee",70:"c94c4057",71:"fe4cebc2",72:"4d2f6ab7",73:"2611f005",74:"c22413f1",75:"60443035",76:"9c28f408",77:"da25a9dd"}[e]+".chunk.js"}(e);var d=new Error;a=function(t){f.onerror=f.onload=null,clearTimeout(u);var r=c[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;d.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",d.name="ChunkLoadError",d.type=n,d.request=a,r[1](d)}c[e]=void 0}};var u=setTimeout((function(){a({type:"timeout",target:f})}),12e4);f.onerror=f.onload=a,document.head.appendChild(f)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(r,n,function(t){return e[t]}.bind(null,n));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o.oe=function(e){throw console.error(e),e};var f=this["webpackJsonptiro-notes-client"]=this["webpackJsonptiro-notes-client"]||[],d=f.push.bind(f);f.push=t,f=f.slice();for(var u=0;u<f.length;u++)t(f[u]);var i=d;r()}([])</script><script src="/static/js/4.a145a1f9.chunk.js"></script><script src="/static/js/main.5d502c9b.chunk.js"></script></body></html>