tiro-notes 0.30.39-dev → 0.30.42

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,63 +1,30 @@
1
1
  # Tiro Notes
2
2
 
3
- An Open-source, cross-platform and extensible web markdown editor
3
+ An open-source, cross-platform markdown editor designed for extensibility & flexibility
4
4
 
5
- ![Tiro S2](https://user-images.githubusercontent.com/2981891/161093353-e9c2df15-ffca-4d2f-839d-ced9ced659b1.jpg)
5
+ 🌐 website| 📘 guides| ⬇️ downloads| 💬 forum | 📢 news| Version |
6
+ -|-|-|-|-|-
7
+ [tiro-notes.org](https://tiro-notes.org)|[guides](https://tiro-notes.org/#/guide-custom-tags)|[download](https://tiro-notes.org/#/downloads)|[forum](https://github.com/dotgreg/tiro-notes/discussions)|[twitter](https://twitter.com/NotesTiro)| 0.30 (beta)
6
8
 
7
- Twitter News & Updates : https://twitter.com/NotesTiro
8
9
 
9
- ## WHY
10
-
11
- Tiro Notes is designed to be a viable open source alternative to proprietary software like Evernote, OneNote etc.
10
+ ![Tiro 0.30](https://user-images.githubusercontent.com/2981891/171833721-2acdc59d-8c21-4280-bd62-a78023731c22.png)
12
11
 
13
12
  Tiro Notes focus points are :
14
13
 
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)
14
+ - 🏋 **Extensibility** : Tiro Notes uses a system of custom tags to extend its capabilities :
15
+ - Add [```[[latex]]```](https://tiro-notes.org/#/custom-tags?id=latex), [```[[uml]]```](https://tiro-notes.org/#/custom-tags?id=mermaid) or [```[[charts]]```](https://tiro-notes.org/#/custom-tags?id=mermaid), preview your pdf, mp4 or youtube links using [```[[view]]```](https://tiro-notes.org/#/custom-tags?id=view). Add [```[[spreadsheet]]```](https://tiro-notes.org/#/custom-tags?id=spreadsheet) logic to your markdown tables.
16
+ - Use Tiro as an app platform with a [```[[rss]]```](https://tiro-notes.org/#/custom-tags?id=rss) reader or a [```[[calendar]]```](https://tiro-notes.org/#/custom-tags?id=calendar) in it.
17
+ - [Create your own custom tags](https://tiro-notes.org/#/guide-custom-tags) and use the [Client API](https://tiro-notes.org/#/guide-custom-tags?id=using-tiro-client-api).
40
18
 
41
- ## USAGE
19
+ - 🎛️ **Flexibility** : multi-window interface to create a custom workspace. Create multiple workspaces organized by tabs. Keep these workspaces synced accross your devices.
42
20
 
43
- ### DESKTOP APPLICATIONS
21
+ - 👑 **Open source & Open Data**: Code is open source and free. No database required. Markdown files only. You can edit and sync your files with external software as you need.
44
22
 
45
- Mac/Linux/Windows Applications can be downloaded [here](https://github.com/dotgreg/tiro-notes/releases/tag/production)
46
-
47
- ### COMMAND LINE
48
- - Requirements : [NodeJs](https://nodejs.org/en/download/) and [RipGrep](https://github.com/BurntSushi/ripgrep)
49
-
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"/>
23
+ - ☁️ / 🖥️ / 💻 / 📱 **Cross-platform & Web** : Windows, macOS, Android, Linux, Web. Start an App or with CLI and access it anywhere on your local network.
55
24
 
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
25
 
59
26
 
60
- ## FUNCTIONALITIES LIST
27
+ # Functionalities
61
28
 
62
29
  **Note Edition**
63
30
  - 🖊️ Mardown notes edition
@@ -66,16 +33,18 @@ npx tiro-notes
66
33
  - 🔑 End to end (E2E) note encryption (RSA 2048)
67
34
  - 🏛 Note changes history
68
35
  - 📄 Export to PDF
69
- - 🏋 Embed videos and other web content (with iframe)
70
- - 🏋 create javascript applications within your note with [[script]]
71
- - 💱 display math formulas with [[latex]]
72
- - 🧬 display UML and other diagrams with [[diagram]] (custom tags)
73
36
  - (🔧) 💬 Text to Speech (beta)
74
- - (🔧) 📡 Server Collaborative edition (planned...)
37
+
38
+ **Custom Tags**
39
+ - 💱 display math formulas with [[latex]]
40
+ - 🧬 display UML and other diagrams with [[diagram]]
41
+ - 🏋 Embed videos, pdf and web content with [[view]]
42
+ - 🏋 create javascript applications within your note with [[script]]
43
+ - 🧬 leverage the full [Client API](guide-custom-tags?id=using-tiro-client-api) in [[script]]
75
44
 
76
45
  **Search**
77
46
  - 🔍 Fast search (~2s for 30k notes)
78
- - 🔬 Search filters (intitle: etc...)
47
+ - 🔬 Search filters (intitle: etc.)
79
48
 
80
49
  **Folders Tree & Notes List**
81
50
  - 🗂️ Folders management (create/rename/move/delete)
@@ -97,183 +66,4 @@ npx tiro-notes
97
66
  - 📟 Use it on any device with a browser (Mobile, tablet and Desktop interface)
98
67
  - (🔧)📱 Install on iOS with iSH and NPX (to be tested...)
99
68
 
100
-
101
- ## DOCUMENTATION
102
-
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)
106
-
107
- ### Add scripts in your note
108
-
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>
138
-
139
- ### Create your own custom tags
140
-
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>
220
-
221
-
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)
229
-
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?
249
- You can use any sync solution like dropbox, google drive, resilio sync, syncthings etc...
250
-
251
- ### Can I edit my notes on another application?
252
- Yes, all the datas Tiro uses is coming from markdown notes. So you can edit your notes in other applications without any problem.
253
-
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
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.
263
-
264
- ### What is the current status of Tiro Notes?
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.
266
- I haven't been loosing any data so far, and there is always the history note functionality in that case.
267
-
268
- However, I consider that application still in alpha phase, it still needs a lot of testing to be considered robust.
269
- So use it at your own risk, and always with data you can afford to lose.
270
-
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.
278
-
279
- Twitter News & Updates : https://twitter.com/NotesTiro
69
+ >"Marcus Tullius Tiro, a learned freedman who was a member of Cicero’s household, invented the Tironian notes, the first Latin shorthand system. Tironian notes consist of letters of the alphabet, simplified and modified to achieve greater speed in their writing."
@@ -2,14 +2,14 @@
2
2
  "files": {
3
3
  "static/js/0.1d1d7dbf.chunk.js": "/static/js/0.1d1d7dbf.chunk.js",
4
4
  "static/js/1.57c8a6a7.chunk.js": "/static/js/1.57c8a6a7.chunk.js",
5
- "main.js": "/static/js/main.ee02099a.chunk.js",
6
- "runtime-main.js": "/static/js/runtime-main.a82935bd.js",
5
+ "main.js": "/static/js/main.b32cee8f.chunk.js",
6
+ "runtime-main.js": "/static/js/runtime-main.0bda201a.js",
7
7
  "static/css/4.992ae4ff.chunk.css": "/static/css/4.992ae4ff.chunk.css",
8
- "static/js/4.a753c1e6.chunk.js": "/static/js/4.a753c1e6.chunk.js",
8
+ "static/js/4.a0db4c16.chunk.js": "/static/js/4.a0db4c16.chunk.js",
9
9
  "static/js/5.831e7652.chunk.js": "/static/js/5.831e7652.chunk.js",
10
- "static/js/6.1634b042.chunk.js": "/static/js/6.1634b042.chunk.js",
11
- "static/js/7.d9c47d33.chunk.js": "/static/js/7.d9c47d33.chunk.js",
12
- "static/js/8.87a9314e.chunk.js": "/static/js/8.87a9314e.chunk.js",
10
+ "static/js/6.969a81f6.chunk.js": "/static/js/6.969a81f6.chunk.js",
11
+ "static/js/7.31830af3.chunk.js": "/static/js/7.31830af3.chunk.js",
12
+ "static/js/8.767854df.chunk.js": "/static/js/8.767854df.chunk.js",
13
13
  "static/js/9.9402e872.chunk.js": "/static/js/9.9402e872.chunk.js",
14
14
  "static/js/10.0098013d.chunk.js": "/static/js/10.0098013d.chunk.js",
15
15
  "static/js/11.e2cbadb3.chunk.js": "/static/js/11.e2cbadb3.chunk.js",
@@ -80,7 +80,7 @@
80
80
  "static/js/76.fed9480c.chunk.js": "/static/js/76.fed9480c.chunk.js",
81
81
  "static/js/77.8c468a09.chunk.js": "/static/js/77.8c468a09.chunk.js",
82
82
  "index.html": "/index.html",
83
- "static/js/4.a753c1e6.chunk.js.LICENSE.txt": "/static/js/4.a753c1e6.chunk.js.LICENSE.txt",
83
+ "static/js/4.a0db4c16.chunk.js.LICENSE.txt": "/static/js/4.a0db4c16.chunk.js.LICENSE.txt",
84
84
  "static/js/70.aa00da61.chunk.js.LICENSE.txt": "/static/js/70.aa00da61.chunk.js.LICENSE.txt",
85
85
  "static/media/book-solid.87f5b737.svg": "/static/media/book-solid.87f5b737.svg",
86
86
  "static/media/codicon.css": "/static/media/codicon.0e0f4555.ttf",
@@ -102,9 +102,9 @@
102
102
  "static/media/search-solid.cc51b702.svg": "/static/media/search-solid.cc51b702.svg"
103
103
  },
104
104
  "entrypoints": [
105
- "static/js/runtime-main.a82935bd.js",
105
+ "static/js/runtime-main.0bda201a.js",
106
106
  "static/css/4.992ae4ff.chunk.css",
107
- "static/js/4.a753c1e6.chunk.js",
108
- "static/js/main.ee02099a.chunk.js"
107
+ "static/js/4.a0db4c16.chunk.js",
108
+ "static/js/main.b32cee8f.chunk.js"
109
109
  ]
110
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.992ae4ff.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,c,f=t[0],d=t[1],u=t[2],l=0,b=[];l<f.length;l++)c=f[l],Object.prototype.hasOwnProperty.call(a,c)&&a[c]&&b.push(a[c][0]),a[c]=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!==a[d]&&(n=!1)}n&&(o.splice(t--,1),e=c(c.s=r[0]))}return e}var n={},a={3:0},o=[];function c(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,c),r.l=!0,r.exports}c.e=function(e){var t=[],r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var o,f=document.createElement("script");f.charset="utf-8",f.timeout=120,c.nc&&f.setAttribute("nonce",c.nc),f.src=function(e){return c.p+"static/js/"+({}[e]||e)+"."+{0:"1d1d7dbf",1:"57c8a6a7",5:"831e7652",6:"1634b042",7:"d9c47d33",8:"87a9314e",9:"9402e872",10:"0098013d",11:"e2cbadb3",12:"2c4b06ad",13:"50cd035b",14:"90d94a62",15:"56ecea35",16:"e70b4a61",17:"b242f70b",18:"18b26ea2",19:"863c3a71",20:"62f721d4",21:"cfa19b19",22:"7f7f5bc3",23:"12bf38ae",24:"66483115",25:"9b65bcf1",26:"6455c501",27:"0d1b13c6",28:"58350100",29:"4015a2f9",30:"538771dd",31:"db52efce",32:"a97d4b5a",33:"4600ed65",34:"67f6c9e4",35:"56667bb1",36:"395e14c9",37:"5925b77c",38:"12883a2f",39:"2c713c88",40:"d6d03dfb",41:"cfa2e1c1",42:"a6fd6ad9",43:"688b0c4e",44:"1430303d",45:"5fa4936d",46:"4706d0ab",47:"5ebdca65",48:"c907cfe1",49:"a576d11f",50:"c9e81d63",51:"39408f67",52:"a5a8627b",53:"45c25dce",54:"a3f6ae5f",55:"2254e2d1",56:"94fef07d",57:"c94d31d3",58:"d9579ea0",59:"daf0f60f",60:"95e76151",61:"f7a6679d",62:"89412d50",63:"52aba27f",64:"45f0c211",65:"991066b1",66:"9dd36919",67:"de01b677",68:"53c41afd",69:"60442ea2",70:"aa00da61",71:"45e065a8",72:"1db6f3a7",73:"6cdf2975",74:"52e78217",75:"c230e384",76:"fed9480c",77:"8c468a09"}[e]+".chunk.js"}(e);var d=new Error;o=function(t){f.onerror=f.onload=null,clearTimeout(u);var r=a[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)}a[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)},c.m=e,c.c=n,c.d=function(e,t,r){c.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,t){if(1&t&&(e=c(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(c.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)c.d(r,n,function(t){return e[t]}.bind(null,n));return r},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,"a",t),t},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.p="/",c.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.a753c1e6.chunk.js"></script><script src="/static/js/main.ee02099a.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.992ae4ff.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,c,f=t[0],d=t[1],u=t[2],l=0,b=[];l<f.length;l++)c=f[l],Object.prototype.hasOwnProperty.call(a,c)&&a[c]&&b.push(a[c][0]),a[c]=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!==a[d]&&(n=!1)}n&&(o.splice(t--,1),e=c(c.s=r[0]))}return e}var n={},a={3:0},o=[];function c(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,c),r.l=!0,r.exports}c.e=function(e){var t=[],r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var o,f=document.createElement("script");f.charset="utf-8",f.timeout=120,c.nc&&f.setAttribute("nonce",c.nc),f.src=function(e){return c.p+"static/js/"+({}[e]||e)+"."+{0:"1d1d7dbf",1:"57c8a6a7",5:"831e7652",6:"969a81f6",7:"31830af3",8:"767854df",9:"9402e872",10:"0098013d",11:"e2cbadb3",12:"2c4b06ad",13:"50cd035b",14:"90d94a62",15:"56ecea35",16:"e70b4a61",17:"b242f70b",18:"18b26ea2",19:"863c3a71",20:"62f721d4",21:"cfa19b19",22:"7f7f5bc3",23:"12bf38ae",24:"66483115",25:"9b65bcf1",26:"6455c501",27:"0d1b13c6",28:"58350100",29:"4015a2f9",30:"538771dd",31:"db52efce",32:"a97d4b5a",33:"4600ed65",34:"67f6c9e4",35:"56667bb1",36:"395e14c9",37:"5925b77c",38:"12883a2f",39:"2c713c88",40:"d6d03dfb",41:"cfa2e1c1",42:"a6fd6ad9",43:"688b0c4e",44:"1430303d",45:"5fa4936d",46:"4706d0ab",47:"5ebdca65",48:"c907cfe1",49:"a576d11f",50:"c9e81d63",51:"39408f67",52:"a5a8627b",53:"45c25dce",54:"a3f6ae5f",55:"2254e2d1",56:"94fef07d",57:"c94d31d3",58:"d9579ea0",59:"daf0f60f",60:"95e76151",61:"f7a6679d",62:"89412d50",63:"52aba27f",64:"45f0c211",65:"991066b1",66:"9dd36919",67:"de01b677",68:"53c41afd",69:"60442ea2",70:"aa00da61",71:"45e065a8",72:"1db6f3a7",73:"6cdf2975",74:"52e78217",75:"c230e384",76:"fed9480c",77:"8c468a09"}[e]+".chunk.js"}(e);var d=new Error;o=function(t){f.onerror=f.onload=null,clearTimeout(u);var r=a[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)}a[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)},c.m=e,c.c=n,c.d=function(e,t,r){c.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,t){if(1&t&&(e=c(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(c.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)c.d(r,n,function(t){return e[t]}.bind(null,n));return r},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,"a",t),t},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.p="/",c.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.a0db4c16.chunk.js"></script><script src="/static/js/main.b32cee8f.chunk.js"></script></body></html>