{{Discharging#️⃣EWSGLK||tAsDc}}
!!! [[♻]] Quick-Access Reusable stuff * Unicode characters/emojis ** Tiddler Title Suffix Separator: #️⃣ ** Folder: 📁 ** File: 📄 ** Separators: 🔹🔸◾ ** Comments: 🔴 ** Warning: ☢ ** Ratings: ⭐ ** Together: ⚭ ** More: [[unicode.org|https://unicode.org/emoji/charts/full-emoji-list.html]], [[Wikipedia|https://en.wikipedia.org/wiki/List_of_Unicode_characters]] * [[Indent]]: `{{Indent}}` to indent the first line of a paragraph
* [[Battery University|https://batteryuniversity.com/]] * [[The Basics of Power Banks and Solar Panels|https://www.xtpower.de/Technology-The-Basics-of-Power-Banks-and-Solar-Panels]] * [[The perfect duo – powerbank and solar charger|https://blog.tinned-software.net/review-the-perfect-duo-powerbank-and-solar-charger/]]] {{Lead Acid Batteries||tAsDc}} {{Lithium Ion Batteries||tAsDc}}
!!! [[🔧]] Customizations {{Macros||tAsDc}} {{StyleSheets||tAsDc}} {{Transclusion Templates||tAsDc}} {{Context Configuration||tAsDc}}
<!-- <<list-links "[tag[$:/Charlie/Templates]]">> --> <ul> <$list filter="[tag[$:/C/Templates]sort[title]]"> <li><$link/>: {{!!description}}</li> </$list> </ul>
title
title
YYYY-0MM-0DD
show
show
hide
show
show
show
show
yes
tc-btn-boxed
hide
show
disable
{ "tiddlers": { "$:/Acknowledgements": { "title": "$:/Acknowledgements", "text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n" }, "$:/core/copyright.txt": { "title": "$:/core/copyright.txt", "type": "text/plain", "text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2020, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, "$:/core/icon": { "title": "$:/core/icon", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>" }, "$:/core/images/add-comment": { "title": "$:/core/images/add-comment", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-add-comment tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 56H36a8 8 0 100 16h20v20a8 8 0 1016 0V72h20a8 8 0 100-16H72V36a8 8 0 10-16 0v20zm-12.595 58.362c-6.683 7.659-20.297 12.903-36.006 12.903-2.196 0-4.35-.102-6.451-.3 9.652-3.836 17.356-12.24 21.01-22.874C8.516 94.28 0 79.734 0 63.5 0 33.953 28.206 10 63 10s63 23.953 63 53.5S97.794 117 63 117c-6.841 0-13.428-.926-19.595-2.638z\"/></svg>" }, "$:/core/images/advanced-search-button": { "title": "$:/core/images/advanced-search-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-advanced-search-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M74.565 87.985A47.776 47.776 0 0148 96C21.49 96 0 74.51 0 48S21.49 0 48 0s48 21.49 48 48c0 9.854-2.97 19.015-8.062 26.636l34.347 34.347a9.443 9.443 0 010 13.36 9.446 9.446 0 01-13.36 0l-34.36-34.358zM48 80c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/><circle cx=\"48\" cy=\"48\" r=\"8\"/><circle cx=\"28\" cy=\"48\" r=\"8\"/><circle cx=\"68\" cy=\"48\" r=\"8\"/></g></svg>" }, "$:/core/images/auto-height": { "title": "$:/core/images/auto-height", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-auto-height tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M67.987 114.356l-.029-14.477a4 4 0 00-2.067-3.494l-15.966-8.813-1.933 7.502H79.9c4.222 0 5.564-5.693 1.786-7.58L49.797 71.572 48.01 79.15h31.982c4.217 0 5.564-5.682 1.795-7.575L49.805 55.517l-1.795 7.575h31.982c4.212 0 5.563-5.67 1.805-7.57l-16.034-8.105 2.195 3.57V35.614l9.214 9.213a4 4 0 105.656-5.656l-16-16a4 4 0 00-5.656 0l-16 16a4 4 0 105.656 5.656l9.13-9.13v15.288a4 4 0 002.195 3.57l16.035 8.106 1.804-7.57H48.01c-4.217 0-5.564 5.682-1.795 7.574l31.982 16.059 1.795-7.575H48.01c-4.222 0-5.564 5.693-1.787 7.579l31.89 15.923 1.787-7.578H47.992c-4.133 0-5.552 5.504-1.933 7.501l15.966 8.813-2.067-3.494.029 14.436-9.159-9.158a4 4 0 00-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656l-9.185 9.184zM16 20h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>" }, "$:/core/images/blank": { "title": "$:/core/images/blank", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\"/>" }, "$:/core/images/bold": { "title": "$:/core/images/bold", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-bold tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.146 51.81V21.87h26.353c2.51 0 4.93.21 7.26.628 2.33.418 4.392 1.165 6.185 2.24 1.793 1.076 3.227 2.57 4.302 4.482 1.076 1.913 1.614 4.363 1.614 7.35 0 5.379-1.613 9.263-4.84 11.653-3.227 2.39-7.35 3.586-12.37 3.586H41.146zM13 0v128h62.028a65.45 65.45 0 0016.762-2.151c5.438-1.434 10.278-3.645 14.52-6.633 4.244-2.988 7.62-6.842 10.13-11.563 2.51-4.721 3.764-10.308 3.764-16.762 0-8.008-1.942-14.85-5.826-20.527-3.884-5.677-9.77-9.65-17.658-11.921 5.737-2.75 10.069-6.275 12.997-10.577 2.928-4.303 4.392-9.681 4.392-16.135 0-5.976-.986-10.995-2.958-15.059-1.972-4.063-4.75-7.32-8.336-9.77-3.585-2.45-7.888-4.213-12.907-5.289C84.888.538 79.33 0 73.235 0H13zm28.146 106.129V70.992H71.8c6.095 0 10.995 1.404 14.7 4.212 3.705 2.81 5.558 7.5 5.558 14.073 0 3.347-.568 6.096-1.703 8.247-1.136 2.151-2.66 3.854-4.572 5.11-1.912 1.254-4.123 2.15-6.633 2.688-2.51.538-5.139.807-7.888.807H41.146z\"/></svg>" }, "$:/core/images/cancel-button": { "title": "$:/core/images/cancel-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 76.314l-16.97 16.97a7.999 7.999 0 01-11.314 0c-3.118-3.118-3.124-8.19 0-11.313L52.686 65l-16.97-16.97a7.999 7.999 0 010-11.314c3.118-3.118 8.19-3.124 11.313 0L64 53.686l16.97-16.97a7.999 7.999 0 0111.314 0c3.118 3.118 3.124 8.19 0 11.313L75.314 65l16.97 16.97a7.999 7.999 0 010 11.314c-3.118 3.118-8.19 3.124-11.313 0L64 76.314zM64 129c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 1 0 29.654 0 65c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 17 64 17 16 38.49 16 65s21.49 48 48 48z\"/></svg>" }, "$:/core/images/chevron-down": { "title": "$:/core/images/chevron-down", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-down tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.053 85.456a7.889 7.889 0 01-5.6-2.316L2.473 27.16a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0L64.05 66.344l50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.105 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.317z\"/><path d=\"M64.053 124.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></g></svg>" }, "$:/core/images/chevron-left": { "title": "$:/core/images/chevron-left", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M47.544 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L66.656 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.105 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.317-5.595z\"/><path d=\"M8.931 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L28.041 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.104 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.316-5.595z\"/></g></svg>" }, "$:/core/images/chevron-right": { "title": "$:/core/images/chevron-right", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-right tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M83.456 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196L64.344 63.95 13.963 13.567a7.92 7.92 0 010-11.195c3.086-3.085 8.105-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.317 5.595z\"/><path d=\"M122.069 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></g></svg>" }, "$:/core/images/chevron-up": { "title": "$:/core/images/chevron-up", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-up tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M63.947 44.544c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 63.656l-50.382 50.382a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.317z\"/><path d=\"M63.947 5.931c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 25.041 13.567 75.423a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.104 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.316z\"/></g></svg>" }, "$:/core/images/clone-button": { "title": "$:/core/images/clone-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-clone-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M32.265 96v24.002A7.996 7.996 0 0040.263 128h79.74a7.996 7.996 0 007.997-7.998v-79.74a7.996 7.996 0 00-7.998-7.997H96V48h12.859a2.99 2.99 0 012.994 2.994v57.865a2.99 2.99 0 01-2.994 2.994H50.994A2.99 2.99 0 0148 108.859V96H32.265z\"/><path d=\"M40 56h-7.993C27.588 56 24 52.418 24 48c0-4.41 3.585-8 8.007-8H40v-7.993C40 27.588 43.582 24 48 24c4.41 0 8 3.585 8 8.007V40h7.993C68.412 40 72 43.582 72 48c0 4.41-3.585 8-8.007 8H56v7.993C56 68.412 52.418 72 48 72c-4.41 0-8-3.585-8-8.007V56zM8 0C3.58 0 0 3.588 0 8v80c0 4.419 3.588 8 8 8h80c4.419 0 8-3.588 8-8V8c0-4.419-3.588-8-8-8H8zM19 16A2.997 2.997 0 0016 19.001v57.998A2.997 2.997 0 0019.001 80h57.998A2.997 2.997 0 0080 76.999V19.001A2.997 2.997 0 0076.999 16H19.001z\"/></g></svg>" }, "$:/core/images/close-all-button": { "title": "$:/core/images/close-all-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-close-all-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M28 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L16.686 100 2.543 85.856a8 8 0 0111.313-11.313L28 88.686l14.144-14.143a8 8 0 0111.313 11.313L39.314 100l14.143 14.144a8 8 0 01-11.313 11.313L28 111.314zM28 39.314L13.856 53.457A8 8 0 012.543 42.144L16.686 28 2.543 13.856A8 8 0 0113.856 2.543L28 16.686 42.144 2.543a8 8 0 0111.313 11.313L39.314 28l14.143 14.144a8 8 0 01-11.313 11.313L28 39.314zM100 39.314L85.856 53.457a8 8 0 01-11.313-11.313L88.686 28 74.543 13.856A8 8 0 0185.856 2.543L100 16.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 28l14.143 14.144a8 8 0 01-11.313 11.313L100 39.314zM100 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L88.686 100 74.543 85.856a8 8 0 0111.313-11.313L100 88.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 100l14.143 14.144a8 8 0 01-11.313 11.313L100 111.314z\"/></g></svg>" }, "$:/core/images/close-button": { "title": "$:/core/images/close-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M65.086 75.41l-50.113 50.113c-3.121 3.121-8.192 3.126-11.316.002-3.118-3.118-3.123-8.19.002-11.316l50.114-50.114L3.659 13.982C.538 10.86.533 5.79 3.657 2.666c3.118-3.118 8.19-3.123 11.316.002l50.113 50.114L115.2 2.668c3.121-3.121 8.192-3.126 11.316-.002 3.118 3.118 3.123 8.19-.002 11.316L76.4 64.095l50.114 50.114c3.121 3.121 3.126 8.192.002 11.316-3.118 3.118-8.19 3.123-11.316-.002L65.086 75.409z\"/></svg>" }, "$:/core/images/close-others-button": { "title": "$:/core/images/close-others-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-others-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48zm0-16c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32zm0-16c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16z\"/></svg>" }, "$:/core/images/copy-clipboard": { "title": "$:/core/images/copy-clipboard", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-copy-clipboard tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"33\" height=\"8\" x=\"40\" y=\"40\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"82\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"54\" rx=\"4\"/><rect width=\"33\" height=\"8\" x=\"40\" y=\"96\" rx=\"4\"/><rect width=\"12\" height=\"8\" x=\"40\" y=\"68\" rx=\"4\"/><path d=\"M40 16H24c-4.419 0-8 3.59-8 8a8.031 8.031 0 000 .01v95.98a8.03 8.03 0 000 .01c0 4.41 3.581 8 8 8h80a7.975 7.975 0 005.652-2.34 7.958 7.958 0 002.348-5.652v-16.016c0-4.414-3.582-7.992-8-7.992-4.41 0-8 3.578-8 7.992V112H32V32h64v8.008C96 44.422 99.582 48 104 48c4.41 0 8-3.578 8-7.992V23.992a7.963 7.963 0 00-2.343-5.651A7.995 7.995 0 00104.001 16H88c0-4.41-3.585-8-8.007-8H48.007C43.588 8 40 11.582 40 16zm4-1.004A4.001 4.001 0 0148 11h32c2.21 0 4 1.797 4 3.996v4.008A4.001 4.001 0 0180 23H48c-2.21 0-4-1.797-4-3.996v-4.008z\"/><rect width=\"66\" height=\"16\" x=\"62\" y=\"64\" rx=\"8\"/><path d=\"M84.657 82.343l-16-16v11.314l16-16a8 8 0 10-11.314-11.314l-16 16a8 8 0 000 11.314l16 16a8 8 0 1011.314-11.314z\"/></g></svg>" }, "$:/core/images/delete-button": { "title": "$:/core/images/delete-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(12)\"><rect width=\"105\" height=\"16\" y=\"11\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"28\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"8\" y=\"16\" rx=\"8\"/><rect width=\"88\" height=\"16\" x=\"8\" y=\"112\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"80\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"56\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"32\" y=\"16\" rx=\"8\"/></g></svg>" }, "$:/core/images/done-button": { "title": "$:/core/images/done-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M42.26 111.032c-2.051.001-4.103-.78-5.668-2.345L2.662 74.758a8 8 0 01-.005-11.32c3.118-3.117 8.192-3.12 11.32.007l28.278 28.278 72.124-72.124a8.002 8.002 0 0111.314-.001c3.118 3.118 3.124 8.19 0 11.315l-77.78 77.78a7.978 7.978 0 01-5.658 2.343z\"/></svg>" }, "$:/core/images/down-arrow": { "title": "$:/core/images/down-arrow", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.177 100.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.086 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></svg>" }, "$:/core/images/download-button": { "title": "$:/core/images/download-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-download-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\" class=\"tc-image-download-button-ring\"/><path d=\"M34.35 66.43l26.892 27.205a4.57 4.57 0 006.516 0L94.65 66.43a4.7 4.7 0 000-6.593 4.581 4.581 0 00-3.258-1.365h-8.46c-2.545 0-4.608-2.087-4.608-4.661v-15.15c0-2.575-2.063-4.662-4.608-4.662H55.284c-2.545 0-4.608 2.087-4.608 4.662v15.15c0 2.574-2.063 4.661-4.608 4.661h-8.46c-2.545 0-4.608 2.087-4.608 4.662a4.69 4.69 0 001.35 3.296z\"/></g></svg>" }, "$:/core/images/edit-button": { "title": "$:/core/images/edit-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M95.627 10.059l-5.656 5.657 11.313 11.313 5.657-5.656-11.314-11.314zm5.657-5.657l1.966-1.966c3.123-3.122 8.194-3.129 11.319-.005 3.117 3.118 3.122 8.192-.005 11.32l-1.966 1.965-11.314-11.314zm-16.97 16.97l-60.25 60.25a8.12 8.12 0 00-.322.342c-.1.087-.198.179-.295.275-5.735 5.735-10.702 22.016-10.702 22.016s16.405-5.09 22.016-10.702c.095-.096.186-.193.272-.292a8.12 8.12 0 00.345-.325l60.25-60.25-11.314-11.313zM35.171 124.19c6.788-.577 13.898-2.272 23.689-5.348 1.825-.573 3.57-1.136 6.336-2.04 16-5.226 21.877-6.807 28.745-7.146 8.358-.413 13.854 2.13 17.58 8.699a4 4 0 006.959-3.946c-5.334-9.406-13.745-13.296-24.933-12.744-7.875.39-14.057 2.052-30.835 7.533-2.739.894-4.46 1.45-6.25 2.012-19.46 6.112-30.77 7.072-39.597 1.747a4 4 0 10-4.132 6.85c6.333 3.82 13.754 5.12 22.438 4.383z\"/></g></svg>" }, "$:/core/images/erase": { "title": "$:/core/images/erase", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-erase tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.087 127.996l63.015-63.015c6.535-6.535 6.528-17.115-.003-23.646L99.466 17.702c-6.539-6.538-17.117-6.532-23.646-.003L4.898 88.62c-6.535 6.534-6.528 17.115.003 23.646l15.73 15.73h39.456zm-34.95-7.313l-14.324-14.325c-3.267-3.268-3.268-8.564-.008-11.824L46.269 59.07l35.462 35.462-26.15 26.15H25.137z\"/></svg>" }, "$:/core/images/excise": { "title": "$:/core/images/excise", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-excise tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 107.314l-2.343 2.343a8 8 0 11-11.314-11.314l16-16a8 8 0 0111.314 0l16 16a8 8 0 11-11.314 11.314L72 107.314v14.284c0 3.536-3.582 6.402-8 6.402s-8-2.866-8-6.402v-14.284zM0 40.007C0 35.585 3.59 32 8 32c4.418 0 8 3.588 8 8.007v31.986C16 76.415 12.41 80 8 80c-4.418 0-8-3.588-8-8.007V40.007zm32 0C32 35.585 35.59 32 40 32c4.418 0 8 3.588 8 8.007v31.986C48 76.415 44.41 80 40 80c-4.418 0-8-3.588-8-8.007V40.007zm48 0C80 35.585 83.59 32 88 32c4.418 0 8 3.588 8 8.007v31.986C96 76.415 92.41 80 88 80c-4.418 0-8-3.588-8-8.007V40.007zm-24-32C56 3.585 59.59 0 64 0c4.418 0 8 3.588 8 8.007v31.986C72 44.415 68.41 48 64 48c-4.418 0-8-3.588-8-8.007V8.007zm56 32c0-4.422 3.59-8.007 8-8.007 4.418 0 8 3.588 8 8.007v31.986c0 4.422-3.59 8.007-8 8.007-4.418 0-8-3.588-8-8.007V40.007z\"/></svg>" }, "$:/core/images/export-button": { "title": "$:/core/images/export-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-export-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.003 128H119.993a7.984 7.984 0 005.664-2.349v.007A7.975 7.975 0 00128 120V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v56H16V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v64c0 4.418 3.59 8 8 8h.003zm48.62-100.689l-8.965 8.966c-3.125 3.125-8.195 3.13-11.319.005-3.118-3.118-3.122-8.192.005-11.319L58.962 2.346A7.986 7.986 0 0164.625 0l-.006.002c2.05-.001 4.102.78 5.666 2.344l22.618 22.617c3.124 3.125 3.129 8.195.005 11.319-3.118 3.118-8.192 3.122-11.319-.005l-8.965-8.966v61.256c0 4.411-3.582 8-8 8-4.41 0-8-3.582-8-8V27.311z\"/></svg>" }, "$:/core/images/file": { "title": "$:/core/images/file", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-file tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M111.968 30.5H112V120a8 8 0 01-8 8H24a8 8 0 01-8-8V8a8 8 0 018-8h57v.02a7.978 7.978 0 015.998 2.337l22.627 22.627a7.975 7.975 0 012.343 5.516zM81 8H24v112h80V30.5H89c-4.418 0-8-3.578-8-8V8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"68\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"84\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"100\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/></svg>" }, "$:/core/images/fixed-height": { "title": "$:/core/images/fixed-height", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fixed-height tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60 35.657l-9.172 9.171a4 4 0 11-5.656-5.656l16-16a4 4 0 015.656 0l16 16a4 4 0 01-5.656 5.656L68 35.657v57.686l9.172-9.171a4 4 0 115.656 5.656l-16 16a4 4 0 01-5.656 0l-16-16a4 4 0 115.656-5.656L60 93.343V35.657zM16 116h96a4 4 0 100-8H16a4 4 0 100 8zm0-96h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>" }, "$:/core/images/fold-all-button": { "title": "$:/core/images/fold-all-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M64.03 20.004c-2.05 0-4.102.78-5.667 2.344L35.746 44.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 22.348a7.986 7.986 0 00-5.663-2.346zM64.03 85.002c-2.05-.001-4.102.78-5.667 2.344l-22.617 22.617c-3.125 3.125-3.13 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.966 16.966 16.966c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.192-.005-11.319L69.687 87.346A7.986 7.986 0 0064.024 85z\"/></g></svg>" }, "$:/core/images/fold-button": { "title": "$:/core/images/fold-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M64.03 25.004c-2.05 0-4.102.78-5.667 2.344L35.746 49.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 27.348a7.986 7.986 0 00-5.663-2.346zM64.005 67.379c-2.05 0-4.102.78-5.666 2.344L35.722 92.34c-3.125 3.125-3.13 8.195-.006 11.32 3.118 3.117 8.192 3.121 11.32-.006L64 86.69l16.965 16.965c3.125 3.125 8.195 3.13 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L69.663 69.723A7.986 7.986 0 0064 67.377z\"/></g></svg>" }, "$:/core/images/fold-others-button": { "title": "$:/core/images/fold-others-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-others tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" y=\"56.031\" rx=\"8\"/><path d=\"M86.632 79.976c-2.05 0-4.102.78-5.666 2.345L64 99.286 47.034 82.321a7.986 7.986 0 00-5.662-2.346l.005.001c-2.05 0-4.102.78-5.666 2.345l-22.618 22.617c-3.124 3.125-3.129 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.966-16.966 16.965 16.966a7.986 7.986 0 005.663 2.346l-.005-.002c2.05 0 4.102-.78 5.666-2.344l16.965-16.966 16.966 16.966c3.125 3.124 8.194 3.129 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L92.289 82.321a7.986 7.986 0 00-5.663-2.346zM86.7 48.024c-2.05 0-4.102-.78-5.666-2.345L64.07 28.714 47.103 45.679a7.986 7.986 0 01-5.663 2.346l.005-.001c-2.05 0-4.101-.78-5.666-2.345L13.162 23.062c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L41.44 28.714l16.966-16.966a7.986 7.986 0 015.662-2.346l-.005.002c2.05 0 4.102.78 5.666 2.344l16.966 16.966 16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L92.358 45.679a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>" }, "$:/core/images/folder": { "title": "$:/core/images/folder", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-folder tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.694 128H8C3.58 128 0 124.414 0 119.996V48.004C0 43.584 3.584 40 7.999 40H16v-8c0-4.418 3.578-8 8-8h32a8 8 0 018 8v8h40.001c4.418 0 7.999 3.586 7.999 8.004V59.83l-8-.082v-7.749A4 4 0 0099.997 48H56V36c0-2.21-1.793-4-4.004-4H28.004A4 4 0 0024 36v12H12.003A4 4 0 008 52v64a4 4 0 004.003 4h46.76l-3.069 8z\"/><path d=\"M23.873 55.5h96.003c4.417 0 7.004 4.053 5.774 9.063l-13.344 54.374c-1.228 5.005-5.808 9.063-10.223 9.063H6.08c-4.417 0-7.003-4.053-5.774-9.063L13.65 64.563c1.228-5.005 5.808-9.063 10.223-9.063zm1.78 8.5h87.994c2.211 0 3.504 2.093 2.891 4.666l-11.12 46.668c-.614 2.577-2.902 4.666-5.115 4.666H12.31c-2.211 0-3.504-2.093-2.891-4.666l11.12-46.668C21.152 66.09 23.44 64 25.653 64z\"/></g></svg>" }, "$:/core/images/full-screen-button": { "title": "$:/core/images/full-screen-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-full-screen-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 8a8 8 0 018-8h32a8 8 0 110 16H16v24a8 8 0 11-16 0V8zM128 120a8 8 0 01-8 8H88a8 8 0 110-16h24V88a8 8 0 1116 0v32zM8 128a8 8 0 01-8-8V88a8 8 0 1116 0v24h24a8 8 0 110 16H8zM120 0a8 8 0 018 8v32a8 8 0 11-16 0V16H88a8 8 0 110-16h32z\"/></svg>" }, "$:/core/images/github": { "title": "$:/core/images/github", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-github tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M63.938 1.607c-35.336 0-63.994 28.69-63.994 64.084 0 28.312 18.336 52.329 43.768 60.802 3.202.59 4.37-1.388 4.37-3.088 0-1.518-.056-5.55-.087-10.897-17.802 3.871-21.558-8.591-21.558-8.591-2.911-7.404-7.108-9.375-7.108-9.375-5.81-3.973.44-3.895.44-3.895 6.424.453 9.803 6.606 9.803 6.606 5.709 9.791 14.981 6.963 18.627 5.322.582-4.138 2.236-6.963 4.063-8.564-14.211-1.617-29.153-7.117-29.153-31.672 0-6.995 2.495-12.718 6.589-17.195-.66-1.621-2.856-8.14.629-16.96 0 0 5.37-1.722 17.597 6.57 5.104-1.424 10.58-2.132 16.022-2.16 5.438.028 10.91.736 16.022 2.16 12.22-8.292 17.582-6.57 17.582-6.57 3.493 8.82 1.297 15.339.64 16.96 4.102 4.477 6.578 10.2 6.578 17.195 0 24.618-14.966 30.035-29.22 31.62 2.295 1.98 4.342 5.89 4.342 11.87 0 8.564-.079 15.476-.079 17.576 0 1.715 1.155 3.71 4.4 3.084 25.413-8.493 43.733-32.494 43.733-60.798 0-35.394-28.657-64.084-64.006-64.084\"/></svg>" }, "$:/core/images/gitter": { "title": "$:/core/images/gitter", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-gitter tc-image-button\" viewBox=\"0 0 18 25\"><path d=\"M15 5h2v10h-2zM10 5h2v20h-2zM5 5h2v20H5zM0 0h2v15H0z\"/></svg>" }, "$:/core/images/globe": { "title": "$:/core/images/globe", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-globe tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M72.811 37.128v2.554c0 2.196.978 6.881 0 8.832-1.466 2.928-4.65 3.54-6.394 5.867-1.182 1.577-4.618 10.601-3.69 12.92 3.969 9.922 11.534 3.187 17.962 9.293.864.821 2.887 2.273 3.296 3.296 3.29 8.223-7.576 15.009 3.757 26.3 1.245 1.24 3.813-3.817 4.079-4.614.852-2.563 6.725-5.45 9.088-7.053 2.02-1.37 4.873-2.667 6.328-4.745 2.27-3.244 1.48-7.514 3.098-10.745 2.139-4.274 3.828-9.635 5.998-13.966 3.898-7.781 4.721 2.093 5.067 2.439.358.357 1.011 0 1.517 0 .094 0 1.447.099 1.516 0 .65-.935-1.043-17.92-1.318-19.297-1.404-7.01-6.944-15.781-11.865-20.5-6.274-6.015-7.09-16.197-18.259-14.954-.204.022-5.084 10.148-7.777 13.512-3.728 4.657-2.47-4.153-6.526-4.153-.081 0-1.183-.103-1.253 0-.586.88-1.44 3.896-2.306 4.417-.265.16-1.722-.239-1.846 0-2.243 4.3 8.256 2.212 5.792 7.952-2.352 5.481-6.328-1.997-6.328 8.56M44.467 7.01c9.685 6.13.682 12.198 2.694 16.215 1.655 3.303 4.241 5.395 1.714 9.814-2.063 3.608-6.87 3.966-9.623 6.723-3.04 3.044-5.464 8.94-6.79 12.911-1.617 4.843 14.547 6.866 12.063 11.008-1.386 2.311-6.746 1.466-8.437.198-1.165-.873-3.593-.546-4.417-1.78-2.613-3.915-2.26-8.023-3.625-12.128-.938-2.822-6.313-2.12-7.844-.593-.523.522-.33 1.792-.33 2.505 0 5.285 7.12 3.316 7.12 6.46 0 14.636 3.927 6.534 11.14 11.336 10.036 6.683 7.844 7.303 14.946 14.404 3.673 3.673 7.741 3.686 9.425 9.294 1.602 5.331-9.327 5.339-11.716 7.448-1.123.991-2.813 4.146-4.219 4.615-1.792.598-3.234.496-4.944 1.78-2.427 1.82-3.9 4.932-4.02 4.81-2.148-2.147-3.52-15.479-3.89-18.257-.588-4.42-5.59-5.54-6.986-9.03-1.57-3.927 1.524-9.52-1.129-13.761-6.52-10.424-11.821-14.5-15.35-26.292-.942-3.148 3.342-6.529 4.877-8.833 1.877-2.816 2.662-5.854 4.746-8.635C22.147 24.19 40.855 9.461 43.857 8.635l.61-1.625z\"/><path d=\"M64 126c34.242 0 62-27.758 62-62 0-34.242-27.758-62-62-62C29.758 2 2 29.758 2 64c0 34.242 27.758 62 62 62zm0-6c30.928 0 56-25.072 56-56S94.928 8 64 8 8 33.072 8 64s25.072 56 56 56z\"/></g></svg>" }, "$:/core/images/heading-1": { "title": "$:/core/images/heading-1", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-1 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M14 30h13.25v30.104H61.7V30h13.25v75.684H61.7V71.552H27.25v34.132H14V30zm70.335 13.78c2.544 0 5.017-.212 7.42-.636 2.403-.424 4.576-1.13 6.52-2.12 1.942-.99 3.603-2.261 4.981-3.816 1.378-1.555 2.28-3.463 2.703-5.724h9.858v74.2h-13.25V53.32H84.335v-9.54z\"/></svg>" }, "$:/core/images/heading-2": { "title": "$:/core/images/heading-2", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-2 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm119.52 75.684H74.85c.07-6.148 1.555-11.519 4.452-16.112 2.897-4.593 6.855-8.586 11.872-11.978a133.725 133.725 0 017.526-5.141 59.6 59.6 0 007.208-5.353c2.19-1.908 3.993-3.975 5.406-6.201 1.413-2.226 2.155-4.788 2.226-7.685 0-1.343-.159-2.774-.477-4.293a11.357 11.357 0 00-1.855-4.24c-.919-1.307-2.19-2.403-3.816-3.286-1.625-.883-3.745-1.325-6.36-1.325-2.403 0-4.399.477-5.989 1.431-1.59.954-2.862 2.261-3.816 3.922-.954 1.66-1.66 3.622-2.12 5.883-.46 2.261-.724 4.7-.795 7.314H76.23c0-4.099.548-7.897 1.643-11.395 1.095-3.498 2.738-6.519 4.93-9.063 2.19-2.544 4.857-4.54 8.002-5.989C93.95 30.724 97.606 30 101.775 30c4.523 0 8.303.742 11.342 2.226 3.039 1.484 5.494 3.357 7.367 5.618 1.873 2.261 3.198 4.717 3.975 7.367.777 2.65 1.166 5.176 1.166 7.579 0 2.968-.46 5.653-1.378 8.056a25.942 25.942 0 01-3.71 6.625 37.5 37.5 0 01-5.3 5.565 79.468 79.468 0 01-6.148 4.77 165.627 165.627 0 01-6.36 4.24 94.28 94.28 0 00-5.883 4.028c-1.802 1.343-3.374 2.738-4.717 4.187-1.343 1.449-2.261 2.986-2.756 4.611h36.146v10.812z\"/></svg>" }, "$:/core/images/heading-3": { "title": "$:/core/images/heading-3", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-3 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm88.885 32.224c1.979.07 3.957-.07 5.936-.424 1.979-.353 3.745-.972 5.3-1.855a10.365 10.365 0 003.763-3.657c.954-1.555 1.431-3.463 1.431-5.724 0-3.18-1.078-5.724-3.233-7.632-2.155-1.908-4.929-2.862-8.32-2.862-2.12 0-3.958.424-5.513 1.272a11.318 11.318 0 00-3.869 3.445c-1.025 1.449-1.784 3.074-2.279 4.876a18.335 18.335 0 00-.636 5.565H75.381c.141-3.604.813-6.943 2.014-10.017 1.201-3.074 2.844-5.742 4.93-8.003 2.084-2.261 4.61-4.028 7.578-5.3C92.871 30.636 96.228 30 99.973 30a29.2 29.2 0 018.533 1.272c2.791.848 5.3 2.085 7.526 3.71s4.01 3.692 5.353 6.201c1.343 2.509 2.014 5.388 2.014 8.639 0 3.745-.848 7.014-2.544 9.805-1.696 2.791-4.346 4.823-7.95 6.095v.212c4.24.848 7.544 2.95 9.911 6.307s3.551 7.438 3.551 12.243c0 3.533-.707 6.696-2.12 9.487a21.538 21.538 0 01-5.724 7.102c-2.403 1.943-5.194 3.445-8.374 4.505-3.18 1.06-6.537 1.59-10.07 1.59-4.31 0-8.074-.618-11.289-1.855s-5.9-2.986-8.056-5.247c-2.155-2.261-3.798-4.982-4.929-8.162-1.13-3.18-1.731-6.713-1.802-10.6h12.084c-.141 4.523.972 8.286 3.34 11.289 2.366 3.003 5.917 4.505 10.652 4.505 4.028 0 7.402-1.148 10.123-3.445 2.72-2.297 4.081-5.565 4.081-9.805 0-2.897-.565-5.194-1.696-6.89a10.97 10.97 0 00-4.452-3.869c-1.837-.883-3.904-1.431-6.2-1.643a58.067 58.067 0 00-7.05-.212v-9.01z\"/></svg>" }, "$:/core/images/heading-4": { "title": "$:/core/images/heading-4", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-4 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8 30h13.25v30.104H55.7V30h13.25v75.684H55.7V71.552H21.25v34.132H8V30zm76.59 48.548h22.471V45.9h-.212L84.59 78.548zm43.46 9.54h-9.54v17.596H107.06V88.088h-31.8V76.11l31.8-44.626h11.448v47.064h9.54v9.54z\"/></svg>" }, "$:/core/images/heading-5": { "title": "$:/core/images/heading-5", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-5 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm77.755 1.484h38.372v10.812H92.765L88.95 61.164l.212.212c1.625-1.837 3.692-3.233 6.201-4.187 2.509-.954 5-1.431 7.473-1.431 3.675 0 6.96.618 9.858 1.855 2.897 1.237 5.335 2.968 7.314 5.194s3.48 4.858 4.505 7.897c1.025 3.039 1.537 6.325 1.537 9.858 0 2.968-.477 6.024-1.43 9.169a25.161 25.161 0 01-4.559 8.586c-2.085 2.58-4.752 4.7-8.003 6.36-3.25 1.66-7.137 2.491-11.66 2.491-3.604 0-6.943-.477-10.017-1.431-3.074-.954-5.777-2.385-8.109-4.293-2.332-1.908-4.187-4.258-5.565-7.049-1.378-2.791-2.138-6.06-2.279-9.805h12.084c.353 4.028 1.731 7.12 4.134 9.275 2.403 2.155 5.583 3.233 9.54 3.233 2.544 0 4.7-.424 6.466-1.272 1.767-.848 3.198-2.014 4.293-3.498 1.095-1.484 1.873-3.215 2.332-5.194.46-1.979.69-4.099.69-6.36 0-2.05-.284-4.01-.849-5.883-.565-1.873-1.413-3.516-2.544-4.929-1.13-1.413-2.597-2.544-4.399-3.392-1.802-.848-3.904-1.272-6.307-1.272-2.544 0-4.929.477-7.155 1.431-2.226.954-3.834 2.738-4.823 5.353H75.805l7.95-40.598z\"/></svg>" }, "$:/core/images/heading-6": { "title": "$:/core/images/heading-6", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-6 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm106.587 20.246c-.283-3.039-1.36-5.494-3.233-7.367-1.873-1.873-4.399-2.809-7.579-2.809-2.19 0-4.08.406-5.67 1.219a12.435 12.435 0 00-4.029 3.233c-1.095 1.343-1.979 2.88-2.65 4.611a37.696 37.696 0 00-1.643 5.459 46.08 46.08 0 00-.9 5.671 722.213 722.213 0 00-.478 5.247l.212.212c1.625-2.968 3.87-5.176 6.731-6.625 2.862-1.449 5.954-2.173 9.275-2.173 3.675 0 6.96.636 9.858 1.908 2.897 1.272 5.353 3.021 7.367 5.247 2.014 2.226 3.551 4.858 4.611 7.897 1.06 3.039 1.59 6.325 1.59 9.858 0 3.604-.583 6.943-1.749 10.017-1.166 3.074-2.844 5.76-5.035 8.056-2.19 2.297-4.805 4.081-7.844 5.353-3.039 1.272-6.395 1.908-10.07 1.908-5.441 0-9.91-1.007-13.409-3.021-3.498-2.014-6.254-4.77-8.268-8.268-2.014-3.498-3.41-7.597-4.187-12.296-.777-4.7-1.166-9.77-1.166-15.211 0-4.452.477-8.94 1.431-13.462.954-4.523 2.526-8.639 4.717-12.349 2.19-3.71 5.07-6.731 8.64-9.063C92.676 31.166 97.075 30 102.304 30c2.968 0 5.76.495 8.374 1.484 2.615.99 4.93 2.367 6.943 4.134 2.014 1.767 3.657 3.887 4.93 6.36 1.271 2.473 1.978 5.23 2.12 8.268h-12.085zm-11.66 46.852c2.19 0 4.099-.442 5.724-1.325a12.869 12.869 0 004.081-3.445c1.095-1.413 1.908-3.056 2.438-4.929.53-1.873.795-3.798.795-5.777s-.265-3.887-.795-5.724c-.53-1.837-1.343-3.445-2.438-4.823-1.095-1.378-2.456-2.491-4.08-3.339-1.626-.848-3.534-1.272-5.725-1.272-2.19 0-4.116.406-5.777 1.219-1.66.813-3.056 1.908-4.187 3.286-1.13 1.378-1.979 2.986-2.544 4.823-.565 1.837-.848 3.78-.848 5.83 0 2.05.283 3.993.848 5.83.565 1.837 1.413 3.48 2.544 4.929a12.39 12.39 0 004.187 3.445c1.66.848 3.586 1.272 5.777 1.272z\"/></svg>" }, "$:/core/images/help": { "title": "$:/core/images/help", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-help tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M36.055 111.441c-5.24 4.396-15.168 7.362-26.555 7.362-1.635 0-3.24-.06-4.806-.179 7.919-2.64 14.062-8.6 16.367-16.014C8.747 92.845 1.05 78.936 1.05 63.5c0-29.547 28.206-53.5 63-53.5s63 23.953 63 53.5-28.206 53.5-63 53.5c-10.055 0-19.56-2-27.994-5.559zm35.35-33.843a536.471 536.471 0 00.018-4.682 199.02 199.02 0 00-.023-3.042c.008-1.357.595-2.087 3.727-4.235.112-.077 1.085-.74 1.386-.948 3.093-2.133 5.022-3.786 6.762-6.187 2.34-3.228 3.558-7.077 3.558-11.649 0-13.292-9.86-21.952-21.455-21.952-11.103 0-22.499 9.609-24.066 22.295a6.023 6.023 0 1011.956 1.477c.806-6.527 6.972-11.726 12.11-11.726 5.265 0 9.408 3.64 9.408 9.906 0 3.634-1.1 5.153-5.111 7.919l-1.362.93c-2.682 1.84-4.227 3.1-5.7 4.931-2.109 2.62-3.242 5.717-3.258 9.314.013.892.02 1.86.022 2.981a470.766 470.766 0 01-.022 4.943 6.023 6.023 0 1012.046.12l.003-.395zm-6.027 24.499a7.529 7.529 0 100-15.058 7.529 7.529 0 000 15.058z\"/></svg>" }, "$:/core/images/home-button": { "title": "$:/core/images/home-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112.985 119.502c.01-.165.015-.331.015-.499V67.568c3.137 2.948 8.076 2.884 11.134-.174a7.999 7.999 0 00-.002-11.316L70.396 2.343A7.978 7.978 0 0064.734 0a7.957 7.957 0 00-5.656 2.343L33 28.42V8.007C33 3.585 29.41 0 25 0c-4.418 0-8 3.59-8 8.007V44.42L5.342 56.078c-3.125 3.125-3.12 8.198-.002 11.316a7.999 7.999 0 0011.316-.003l.344-.343v52.945a8.11 8.11 0 000 .007c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8a8.11 8.11 0 00-.015-.498zM97 112V51.574L64.737 19.31 33 51.048V112h64z\"/></svg>" }, "$:/core/images/import-button": { "title": "$:/core/images/import-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-import-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M114.832 60.436s3.235-3.27 6.921.417c3.686 3.686.231 7.14.231 7.14l-42.153 42.92s-30.765 32.367-58.798 4.333C-7 87.213 24.59 55.623 24.59 55.623L67.363 12.85s22.725-24.6 43.587-3.738c20.862 20.862-3.96 43.09-3.96 43.09l-35.04 35.04S49.903 112.546 36.426 99.07c-13.476-13.477 11.83-35.523 11.83-35.523l35.04-35.04s3.902-3.902 7.78-.023c3.879 3.878.118 7.921.118 7.921l-35.04 35.04s-13.212 13.212-8.872 17.551c4.34 4.34 16.77-9.653 16.77-9.653l35.04-35.04s16.668-14.598 3.966-27.3c-13.893-13.892-27.565 3.702-27.565 3.702l-42.91 42.91s-23.698 23.698-3.658 43.738 43.012-4.385 43.012-4.385l42.895-42.533z\"/></svg>" }, "$:/core/images/info-button": { "title": "$:/core/images/info-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/><circle cx=\"64\" cy=\"32\" r=\"8\"/><rect width=\"16\" height=\"56\" x=\"56\" y=\"48\" rx=\"8\"/></g></svg>" }, "$:/core/images/italic": { "title": "$:/core/images/italic", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-italic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M66.711 0h22.41L62.408 128H40z\"/></svg>" }, "$:/core/images/left-arrow": { "title": "$:/core/images/left-arrow", "created": "20150315234410875", "modified": "20150315235324760", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-left-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 64.177c0-2.026.771-4.054 2.317-5.6l55.98-55.98a7.92 7.92 0 0111.195.001c3.086 3.085 3.092 8.104.001 11.195L19.111 64.175l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.086-8.105 3.092-11.196.001l-55.98-55.98A7.892 7.892 0 010 64.177z\"/></svg>" }, "$:/core/images/line-width": { "title": "$:/core/images/line-width", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-line-width tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M16 18h96a2 2 0 000-4H16a2 2 0 100 4zm0 17h96a4 4 0 100-8H16a4 4 0 100 8zm0 21h96a6 6 0 000-12H16a6 6 0 100 12zm0 29h96c5.523 0 10-4.477 10-10s-4.477-10-10-10H16c-5.523 0-10 4.477-10 10s4.477 10 10 10zm0 43h96c8.837 0 16-7.163 16-16s-7.163-16-16-16H16c-8.837 0-16 7.163-16 16s7.163 16 16 16z\"/></svg>" }, "$:/core/images/link": { "title": "$:/core/images/link", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-link tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M42.263 69.38a31.919 31.919 0 006.841 10.13c12.5 12.5 32.758 12.496 45.255 0l22.627-22.628c12.502-12.501 12.497-32.758 0-45.255-12.5-12.5-32.758-12.496-45.254 0L49.104 34.255a32.333 32.333 0 00-2.666 3.019 36.156 36.156 0 0121.94.334l14.663-14.663c6.25-6.25 16.382-6.254 22.632-.004 6.248 6.249 6.254 16.373-.004 22.631l-22.62 22.62c-6.25 6.25-16.381 6.254-22.631.004a15.93 15.93 0 01-4.428-8.433 11.948 11.948 0 00-7.59 3.48l-6.137 6.137z\"/><path d=\"M86.35 59.234a31.919 31.919 0 00-6.84-10.13c-12.5-12.5-32.758-12.497-45.255 0L11.627 71.732c-12.501 12.5-12.496 32.758 0 45.254 12.5 12.5 32.758 12.497 45.255 0L79.51 94.36a32.333 32.333 0 002.665-3.02 36.156 36.156 0 01-21.94-.333l-14.663 14.663c-6.25 6.25-16.381 6.253-22.63.004-6.25-6.249-6.255-16.374.003-22.632l22.62-22.62c6.25-6.25 16.381-6.253 22.631-.003a15.93 15.93 0 014.428 8.432 11.948 11.948 0 007.59-3.48l6.137-6.136z\"/></g></svg>" }, "$:/core/images/linkify": { "title": "$:/core/images/linkify", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-linkify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M17.031 31.919H9.048V96.85h7.983v6.92H0V25h17.031v6.919zm24.66 0h-7.983V96.85h7.983v6.92H24.66V25h17.03v6.919zM67.77 56.422l11.975-3.903 2.306 7.096-12.063 3.903 7.628 10.379-6.12 4.435-7.63-10.467-7.45 10.2-5.943-4.523L58.1 63.518 45.95 59.35l2.306-7.096 12.064 4.17V43.825h7.45v12.596zM86.31 96.85h7.982V31.92H86.31V25h17.031v78.77H86.31v-6.92zm24.659 0h7.983V31.92h-7.983V25H128v78.77h-17.031v-6.92z\"/></svg>" }, "$:/core/images/list-bullet": { "title": "$:/core/images/list-bullet", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-bullet tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M11.636 40.273c6.427 0 11.637-5.21 11.637-11.637C23.273 22.21 18.063 17 11.636 17 5.21 17 0 22.21 0 28.636c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.637 0-6.426-5.21-11.636-11.637-11.636C5.21 51.91 0 57.12 0 63.545c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.636 0-6.427-5.21-11.637-11.637-11.637C5.21 86.818 0 92.028 0 98.455c0 6.426 5.21 11.636 11.636 11.636zM34.91 22.818H128v11.637H34.91V22.818zm0 34.91H128v11.636H34.91V57.727zm0 34.908H128v11.637H34.91V92.636z\"/></svg>" }, "$:/core/images/list-number": { "title": "$:/core/images/list-number", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-number tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M33.84 22.356H128v11.77H33.84v-11.77zm0 35.31H128v11.77H33.84v-11.77zm0 35.311H128v11.77H33.84v-11.77zM.38 42.631v-2.223h.998c.826 0 1.445-.14 1.858-.42.413-.28.619-.948.619-2.002V22.769c0-1.442-.193-2.336-.58-2.683-.385-.347-1.477-.52-3.275-.52v-2.143c3.502-.147 6.252-.955 8.25-2.423h2.117v22.865c0 .921.15 1.575.449 1.963.3.387.949.58 1.948.58h.998v2.223H.38zm-.3 35.356v-1.902c7.19-6.554 10.786-12.58 10.786-18.08 0-1.562-.326-2.81-.979-3.744-.652-.934-1.524-1.402-2.616-1.402-.893 0-1.655.317-2.287.952-.633.634-.95 1.364-.95 2.192 0 .974.247 1.829.74 2.563.106.16.16.28.16.36 0 .147-.16.28-.48.4-.213.08-.752.308-1.618.681-.839.374-1.358.561-1.558.561-.24 0-.512-.37-.819-1.111A6.2 6.2 0 010 57.064c0-1.949.849-3.544 2.547-4.785 1.698-1.242 3.798-1.862 6.302-1.862 2.463 0 4.53.67 6.202 2.012 1.67 1.341 2.506 3.093 2.506 5.256a8.644 8.644 0 01-.849 3.724c-.566 1.201-1.92 3.053-4.064 5.556a165.471 165.471 0 01-6.272 6.938h11.445l-1.019 5.726h-2.117c.08-.28.12-.534.12-.76 0-.388-.1-.631-.3-.731-.2-.1-.599-.15-1.198-.15H.08zm12.124 19.207c1.745.04 3.236.637 4.474 1.792 1.239 1.154 1.858 2.773 1.858 4.855 0 2.99-1.132 5.393-3.396 7.208-2.263 1.815-5 2.723-8.209 2.723-2.01 0-3.669-.384-4.974-1.151C.652 111.853 0 110.849 0 109.607c0-.774.27-1.398.809-1.872.54-.474 1.128-.71 1.768-.71.639 0 1.162.2 1.568.6.406.4.782 1.055 1.128 1.962.466 1.268 1.239 1.902 2.317 1.902 1.265 0 2.287-.477 3.066-1.431.78-.955 1.169-2.686 1.169-5.196 0-1.709-.12-3.023-.36-3.944-.24-.921-.792-1.382-1.658-1.382-.586 0-1.185.307-1.797.921-.493.494-.932.741-1.319.741-.333 0-.602-.147-.809-.44-.206-.294-.31-.574-.31-.841 0-.32.104-.594.31-.821.207-.227.69-.594 1.449-1.102 2.876-1.922 4.314-4.017 4.314-6.287 0-1.188-.306-2.092-.919-2.713a3.001 3.001 0 00-2.217-.93c-.799 0-1.525.263-2.177.79-.653.528-.979 1.158-.979 1.892 0 .641.253 1.235.76 1.782.172.2.259.367.259.5 0 .121-.57.428-1.708.922-1.139.494-1.854.74-2.147.74-.413 0-.75-.333-1.009-1-.26-.668-.39-1.282-.39-1.842 0-1.749.93-3.224 2.787-4.425 1.858-1.202 3.965-1.802 6.322-1.802 2.064 0 3.851.447 5.363 1.341 1.511.895 2.267 2.116 2.267 3.664 0 1.362-.57 2.623-1.708 3.784a13.387 13.387 0 01-3.945 2.784z\"/></svg>" }, "$:/core/images/list": { "title": "$:/core/images/list", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M87.748 128H23.999c-4.418 0-7.999-3.59-7.999-8.007V8.007C16 3.585 19.588 0 24 0h80c4.419 0 8 3.59 8 8.007V104H91.25c-.965 0-1.84.392-2.473 1.025a3.476 3.476 0 00-1.029 2.476V128zm8-.12l15.88-15.88h-15.88v15.88zM40 15.508A3.502 3.502 0 0143.5 12h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 20h-55a3.498 3.498 0 01-3.5-3.509v-.982zM32 22a6 6 0 100-12 6 6 0 000 12zm8 9.509A3.502 3.502 0 0143.5 28h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 36h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 44h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 52h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 60h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 68h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 76h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 84h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 92h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 100h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.505 3.505 0 0143.497 108h33.006A3.497 3.497 0 0180 111.509v.982A3.505 3.505 0 0176.503 116H43.497A3.497 3.497 0 0140 112.491v-.982zM32 38a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12z\"/></svg>" }, "$:/core/images/locked-padlock": { "title": "$:/core/images/locked-padlock", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-locked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M96.472 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h8c.003-15.723.303-47.731 32.16-47.731 31.794 0 32.305 32.057 32.312 47.731zm-15.897 0H48.44c.002-16.287.142-32 15.719-32 15.684 0 16.977 16.136 16.415 32zM67.732 92.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>" }, "$:/core/images/mail": { "title": "$:/core/images/mail", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mail tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M122.827 104.894a7.986 7.986 0 01-2.834.516H8.007c-.812 0-1.597-.12-2.335-.345l34.163-34.163 20.842 20.842a3.998 3.998 0 003.418 1.134 4.003 4.003 0 003.395-1.134L88.594 70.64c.075.09.155.176.24.26l33.993 33.994zm5.076-6.237c.064-.406.097-.823.097-1.247v-64c0-.669-.082-1.318-.237-1.94L94.23 65.006c.09.075.177.154.261.239l33.413 33.413zm-127.698.56A8.023 8.023 0 010 97.41v-64c0-.716.094-1.41.271-2.071l33.907 33.906L.205 99.218zM5.93 25.684a8.012 8.012 0 012.078-.273h111.986c.766 0 1.507.108 2.209.308L64.083 83.837 5.93 25.683z\"/></svg>" }, "$:/core/images/menu-button": { "title": "$:/core/images/menu-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\"><rect width=\"128\" height=\"16\" y=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"56\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"96\" rx=\"8\"/></svg>" }, "$:/core/images/mono-block": { "title": "$:/core/images/mono-block", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-block tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M23.965 32.967h.357c.755 0 1.328.192 1.72.577.39.384.586.947.586 1.688 0 .824-.206 1.418-.618 1.782-.413.363-1.094.545-2.045.545h-6.31c-.965 0-1.65-.178-2.056-.535-.405-.356-.608-.954-.608-1.792 0-.811.203-1.391.608-1.74.406-.35 1.09-.525 2.055-.525h.734l-.86-2.453H8.471l-.902 2.453h.734c.95 0 1.632.178 2.044.535.413.356.619.933.619 1.73 0 .824-.206 1.418-.619 1.782-.412.363-1.094.545-2.044.545h-5.41c-.964 0-1.649-.182-2.054-.545-.406-.364-.608-.958-.608-1.782 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.719-.577h.356l5.62-15.641H6.835c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.95-.619-1.76 0-.825.207-1.42.619-1.783.412-.363 1.094-.545 2.044-.545h7.863c1.244 0 2.118.67 2.62 2.013v.063l6.647 18.2zM12.98 17.326l-3.04 8.848h6.08l-3.04-8.848zm22.402 9.372v6.395h3.145c2.223 0 3.788-.245 4.697-.734.908-.49 1.362-1.307 1.362-2.453 0-1.16-.433-1.985-1.3-2.474-.866-.49-2.383-.734-4.55-.734h-3.354zm10.693-2.327c1.524.559 2.642 1.324 3.355 2.295.713.972 1.07 2.212 1.07 3.722 0 1.272-.308 2.432-.923 3.48-.615 1.049-1.496 1.909-2.642 2.58a7.499 7.499 0 01-2.254.849c-.832.174-2.01.262-3.533.262H30.202c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.782 0-.741.189-1.304.566-1.688.378-.385.93-.577 1.657-.577h.356V17.326h-.356c-.727 0-1.28-.196-1.657-.587-.377-.392-.566-.965-.566-1.72 0-.81.203-1.401.608-1.771.406-.37 1.062-.556 1.971-.556h9.645c2.95 0 5.19.573 6.72 1.72 1.53 1.145 2.296 2.823 2.296 5.031 0 1.09-.234 2.052-.703 2.883-.468.832-1.163 1.513-2.086 2.045zM35.381 17.2v5.284h2.83c1.72 0 2.932-.203 3.638-.609.706-.405 1.06-1.09 1.06-2.054 0-.909-.319-1.573-.955-1.992-.636-.42-1.667-.63-3.093-.63h-3.48zm35.863-3.816c.28-.503.566-.86.86-1.07.293-.21.664-.314 1.111-.314.685 0 1.17.182 1.457.545.287.364.43.986.43 1.866l.042 5.452c0 .964-.157 1.614-.472 1.95-.314.335-.884.503-1.709.503-.587 0-1.037-.14-1.352-.42-.314-.28-.584-.796-.807-1.551-.364-1.328-.944-2.282-1.74-2.862-.797-.58-1.901-.87-3.313-.87-2.153 0-3.802.727-4.948 2.18-1.147 1.454-1.72 3.558-1.72 6.311 0 2.74.58 4.844 1.74 6.311 1.16 1.468 2.817 2.202 4.97 2.202 1.467 0 3.085-.49 4.854-1.468 1.768-.978 2.883-1.467 3.344-1.467.545 0 1.003.23 1.373.692.37.46.556 1.034.556 1.719 0 1.23-1.084 2.39-3.25 3.48-2.167 1.09-4.606 1.636-7.318 1.636-3.662 0-6.625-1.21-8.89-3.627-2.264-2.419-3.396-5.578-3.396-9.478 0-3.76 1.146-6.884 3.438-9.372 2.293-2.488 5.2-3.732 8.723-3.732.992 0 1.97.112 2.935.335.964.224 1.992.574 3.082 1.049zm10.22 19.583V17.326h-.356c-.755 0-1.328-.196-1.72-.587-.39-.392-.586-.965-.586-1.72 0-.81.21-1.401.629-1.771.42-.37 1.097-.556 2.034-.556h5.178c2.922 0 5.06.126 6.416.377 1.356.252 2.51.671 3.46 1.258 1.691 1.007 2.988 2.443 3.89 4.31.9 1.865 1.352 4.021 1.352 6.467 0 2.586-.514 4.847-1.541 6.783-1.028 1.936-2.485 3.4-4.372 4.393-.853.447-1.852.772-2.998.975-1.147.203-2.852.304-5.116.304h-6.269c-.965 0-1.65-.178-2.055-.535-.406-.356-.608-.954-.608-1.792 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.72-.577h.356zm5.41-15.725v15.725h1.195c2.642 0 4.592-.646 5.85-1.94 1.258-1.292 1.887-3.28 1.887-5.965 0-2.641-.64-4.612-1.918-5.912-1.28-1.3-3.205-1.95-5.777-1.95-.335 0-.59.003-.765.01a7.992 7.992 0 00-.472.032zm35.067-.126h-9.75v5.368h3.69v-.252c0-.797.175-1.39.524-1.782.35-.392.88-.587 1.594-.587.629 0 1.142.178 1.54.534.4.357.598.808.598 1.353 0 .028.007.118.021.272.014.154.021.308.021.462v4.34c0 .936-.167 1.607-.503 2.013-.335.405-.88.608-1.635.608-.713 0-1.251-.19-1.615-.567-.363-.377-.545-.936-.545-1.677v-.377h-3.69v6.269h9.75v-2.495c0-.937.178-1.608.534-2.013.357-.405.94-.608 1.75-.608.798 0 1.367.2 1.71.597.342.399.513 1.073.513 2.024v5.074c0 .755-.146 1.258-.44 1.51-.293.251-.873.377-1.74.377h-17.172c-.923 0-1.583-.182-1.982-.545-.398-.364-.597-.958-.597-1.782 0-.741.189-1.304.566-1.688.377-.385.93-.577 1.656-.577h.357V17.326h-.357c-.712 0-1.261-.2-1.646-.598-.384-.398-.576-.968-.576-1.709 0-.81.203-1.401.608-1.771.405-.37 1.062-.556 1.97-.556h17.173c.853 0 1.43.13 1.73.388.3.258.45.772.45 1.54v4.698c0 .95-.174 1.631-.524 2.044-.35.412-.915.618-1.698.618-.81 0-1.394-.21-1.75-.629-.357-.419-.535-1.097-.535-2.033v-2.202zM19.77 47.641c.267-.504.55-.86.85-1.07.3-.21.675-.314 1.122-.314.685 0 1.17.181 1.457.545.287.363.43.985.43 1.866l.042 5.451c0 .965-.157 1.615-.472 1.95-.314.336-.891.504-1.73.504-.587 0-1.045-.144-1.373-.43-.329-.287-.598-.8-.807-1.541-.378-1.342-.958-2.3-1.74-2.873-.783-.573-1.88-.86-3.292-.86-2.153 0-3.799.727-4.938 2.181-1.14 1.454-1.709 3.557-1.709 6.311s.598 4.882 1.793 6.385C10.599 67.248 12.294 68 14.488 68c.503 0 1.077-.06 1.72-.179a23.809 23.809 0 002.264-.555v-3.313h-2.37c-.95 0-1.624-.175-2.023-.524-.398-.35-.597-.93-.597-1.74 0-.84.199-1.437.597-1.793.399-.357 1.073-.535 2.024-.535h7.569c.978 0 1.667.175 2.065.524.398.35.598.937.598 1.762 0 .74-.2 1.31-.598 1.708-.398.399-.975.598-1.73.598h-.335v5.242c0 .447-.05.758-.147.933-.098.174-.293.353-.587.534-.797.476-2.062.895-3.795 1.258a25.576 25.576 0 01-5.263.546c-3.662 0-6.625-1.21-8.89-3.628-2.264-2.418-3.397-5.577-3.397-9.477 0-3.76 1.147-6.884 3.44-9.372 2.292-2.488 5.199-3.732 8.721-3.732.979 0 1.954.112 2.925.335.972.224 2.003.573 3.093 1.049zm15.84 3.941v4.823h6.857v-4.823h-.336c-.754 0-1.331-.195-1.73-.587-.398-.391-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.364 1.093-.545 2.044-.545h5.41c.95 0 1.624.181 2.023.545.398.363.597.957.597 1.782 0 .755-.192 1.328-.576 1.72-.385.39-.947.586-1.688.586h-.357v15.642h.357c.755 0 1.328.192 1.719.576.391.385.587.947.587 1.688 0 .825-.203 1.419-.608 1.782-.405.364-1.09.546-2.055.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.2-1.303.598-1.688.398-.384.975-.576 1.73-.576h.335v-6.186h-6.856v6.186h.335c.755 0 1.331.192 1.73.576.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.412.364-1.094.546-2.044.546h-5.41c-.964 0-1.65-.179-2.055-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.392-.384.965-.576 1.72-.576h.356V51.582h-.356c-.741 0-1.304-.195-1.688-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.073-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.335zm31.754 0v15.642h3.523c.95 0 1.632.178 2.044.534.412.357.618.933.618 1.73 0 .811-.21 1.402-.629 1.772-.419.37-1.097.556-2.033.556H58.433c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.957-.619-1.782 0-.81.203-1.39.608-1.74.406-.35 1.09-.524 2.055-.524h3.523V51.582h-3.523c-.95 0-1.632-.181-2.044-.545-.412-.363-.619-.95-.619-1.761 0-.825.203-1.412.608-1.761.406-.35 1.09-.524 2.055-.524h12.455c.992 0 1.684.174 2.075.524.392.35.587.936.587 1.761 0 .81-.202 1.398-.608 1.761-.405.364-1.09.545-2.054.545h-3.523zm30.496 0v11.994c0 1.873-.122 3.228-.367 4.067a5.876 5.876 0 01-1.227 2.244c-.74.852-1.768 1.495-3.082 1.929-1.314.433-2.893.65-4.738.65-1.3 0-2.555-.126-3.764-.378a16.843 16.843 0 01-3.491-1.132c-.615-.28-1.017-.643-1.206-1.09-.188-.448-.283-1.175-.283-2.18v-4.32c0-1.202.175-2.04.525-2.516.349-.475.957-.713 1.824-.713 1.244 0 1.929.915 2.054 2.747.014.321.035.566.063.733.168 1.622.545 2.73 1.133 3.324.587.594 1.523.89 2.81.89 1.593 0 2.714-.422 3.364-1.268.65-.845.975-2.386.975-4.623V51.582H88.93c-.95 0-1.632-.181-2.044-.545-.413-.363-.619-.95-.619-1.761 0-.825.2-1.412.598-1.761.398-.35 1.086-.524 2.065-.524h10.693c.979 0 1.667.174 2.065.524.399.35.598.936.598 1.761 0 .81-.206 1.398-.619 1.761-.412.364-1.093.545-2.044.545h-1.761zm14.644 0v6.353l6.48-6.478c-.728-.084-1.238-.29-1.531-.619-.294-.328-.44-.85-.44-1.562 0-.825.198-1.419.597-1.782.398-.364 1.073-.545 2.023-.545h5.137c.95 0 1.625.181 2.023.545.399.363.598.957.598 1.782 0 .769-.2 1.345-.598 1.73-.398.384-.982.576-1.75.576h-.483l-6.101 6.06c1.132.839 2.167 1.94 3.103 3.302.937 1.363 2.034 3.456 3.292 6.28h.692c.825 0 1.44.188 1.845.566.405.377.608.943.608 1.698 0 .825-.206 1.419-.619 1.782-.412.364-1.093.546-2.044.546h-2.579c-1.132 0-2.048-.762-2.746-2.286-.126-.28-.224-.503-.294-.67-.923-1.958-1.768-3.467-2.537-4.53a16.616 16.616 0 00-2.705-2.914l-1.97 1.887v3.92h.335c.755 0 1.331.193 1.73.577.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.413.364-1.094.546-2.045.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.391-.384.965-.576 1.72-.576h.356V51.582h-.357c-.74 0-1.303-.195-1.687-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.072-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.336zM13.44 96.326l4.005-11.889c.251-.782.6-1.352 1.048-1.709.447-.356 1.041-.534 1.782-.534h3.271c.95 0 1.632.182 2.044.545.413.363.619.957.619 1.782 0 .755-.2 1.328-.598 1.72-.398.39-.975.587-1.73.587h-.335l.587 15.641h.357c.754 0 1.32.192 1.698.577.377.384.566.947.566 1.687 0 .825-.2 1.42-.598 1.783-.398.363-1.072.545-2.023.545h-4.718c-.95 0-1.624-.178-2.023-.535-.398-.356-.597-.954-.597-1.793 0-.74.192-1.303.576-1.687.385-.385.954-.577 1.709-.577h.335l-.293-12.79-3.061 9.52c-.224.712-.542 1.226-.954 1.54-.413.315-.982.472-1.709.472-.727 0-1.303-.157-1.73-.472-.426-.314-.751-.828-.975-1.54l-3.04-9.52-.294 12.79h.336c.755 0 1.324.192 1.709.577.384.384.576.947.576 1.687 0 .825-.202 1.42-.608 1.783-.405.363-1.076.545-2.013.545H2.621c-.937 0-1.608-.182-2.013-.545-.405-.364-.608-.958-.608-1.783 0-.74.192-1.303.577-1.687.384-.385.954-.577 1.708-.577h.336l.608-15.641h-.336c-.754 0-1.331-.196-1.73-.588-.398-.39-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.363 1.093-.545 2.044-.545h3.27c.728 0 1.311.175 1.752.524.44.35.8.923 1.08 1.72l4.109 11.888zm30.454 2.054V86.828H42.74c-.922 0-1.583-.182-1.981-.546-.398-.363-.598-.95-.598-1.76 0-.812.2-1.402.598-1.773.398-.37 1.059-.555 1.981-.555h5.955c.909 0 1.566.185 1.97.555.406.37.609.961.609 1.772 0 .741-.192 1.31-.577 1.709-.384.398-.933.598-1.646.598h-.356v19.038c0 .657-.07 1.069-.21 1.237-.14.167-.454.251-.943.251h-2.097c-.67 0-1.143-.07-1.415-.21-.273-.14-.507-.384-.703-.733l-8.722-15.327v11.385h1.216c.909 0 1.559.175 1.95.524.392.35.587.93.587 1.74 0 .825-.199 1.42-.597 1.783-.399.363-1.045.545-1.94.545h-6.017c-.909 0-1.566-.182-1.971-.545-.406-.364-.608-.958-.608-1.783 0-.74.188-1.303.566-1.687.377-.385.936-.577 1.677-.577h.336V86.828h-.336c-.713 0-1.265-.2-1.656-.598-.392-.398-.587-.968-.587-1.709 0-.81.206-1.401.618-1.772.413-.37 1.066-.555 1.96-.555h3.44c.824 0 1.383.108 1.677.325.293.216.622.653.985 1.31l7.989 14.551zM64.66 86.366c-1.803 0-3.218.727-4.245 2.18-1.028 1.455-1.541 3.474-1.541 6.06 0 2.586.517 4.613 1.551 6.08 1.034 1.468 2.446 2.202 4.235 2.202 1.804 0 3.222-.73 4.257-2.19 1.034-1.461 1.551-3.492 1.551-6.092 0-2.586-.513-4.605-1.54-6.06-1.028-1.453-2.45-2.18-4.268-2.18zm0-4.864c3.44 0 6.27 1.23 8.492 3.69 2.223 2.46 3.334 5.598 3.334 9.414 0 3.844-1.104 6.99-3.313 9.436-2.208 2.446-5.046 3.669-8.513 3.669-3.424 0-6.255-1.234-8.491-3.701-2.237-2.467-3.355-5.602-3.355-9.404 0-3.83 1.108-6.971 3.323-9.424 2.216-2.454 5.057-3.68 8.523-3.68zM87.461 98.17v4.298h2.16c.908 0 1.555.175 1.94.524.384.35.576.93.576 1.74 0 .825-.196 1.42-.587 1.783-.392.363-1.035.545-1.93.545h-7.254c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.783 0-.74.189-1.303.566-1.687.378-.385.93-.577 1.657-.577h.356V86.828h-.356c-.713 0-1.262-.2-1.646-.598-.385-.398-.577-.968-.577-1.709 0-.81.203-1.401.608-1.772.406-.37 1.063-.555 1.971-.555h8.66c3.424 0 6.014.657 7.768 1.97 1.754 1.315 2.631 3.25 2.631 5.809 0 2.697-.873 4.738-2.62 6.122-1.748 1.384-4.34 2.076-7.78 2.076h-3.564zm0-11.343v6.625h2.977c1.65 0 2.89-.28 3.722-.839.832-.559 1.248-1.397 1.248-2.516 0-1.048-.43-1.855-1.29-2.421-.86-.566-2.086-.85-3.68-.85h-2.977zm27.267 20.568l-1.636 1.636a12.37 12.37 0 011.772-.44c.58-.098 1.15-.147 1.709-.147 1.104 0 2.268.164 3.491.492 1.223.329 1.967.493 2.233.493.447 0 1.03-.15 1.75-.45.72-.301 1.206-.452 1.458-.452.517 0 .947.2 1.29.598.342.398.513.898.513 1.5 0 .796-.472 1.474-1.415 2.033-.944.56-2.1.839-3.47.839-.937 0-2.139-.22-3.607-.66-1.467-.441-2.53-.661-3.187-.661-.992 0-2.11.272-3.354.817-1.244.546-2.013.818-2.307.818a2.14 2.14 0 01-1.53-.597c-.42-.399-.63-.878-.63-1.437 0-.391.134-.807.4-1.247.265-.44.733-1.01 1.404-1.709l2.118-2.139c-2.335-.852-4.194-2.386-5.578-4.602-1.384-2.215-2.075-4.763-2.075-7.642 0-3.802 1.104-6.909 3.312-9.32 2.209-2.411 5.053-3.617 8.534-3.617 3.467 0 6.304 1.209 8.513 3.627 2.208 2.418 3.312 5.522 3.312 9.31 0 3.774-1.097 6.884-3.291 9.33-2.195 2.446-4.977 3.67-8.345 3.67a22.5 22.5 0 01-1.384-.043zm1.195-21.03c-1.803 0-3.218.727-4.246 2.18-1.027 1.455-1.54 3.474-1.54 6.06 0 2.586.516 4.613 1.55 6.08 1.035 1.468 2.447 2.202 4.236 2.202 1.803 0 3.222-.73 4.256-2.19 1.035-1.461 1.552-3.492 1.552-6.092 0-2.586-.514-4.605-1.541-6.06-1.028-1.453-2.45-2.18-4.267-2.18z\"/></svg>" }, "$:/core/images/mono-line": { "title": "$:/core/images/mono-line", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-line tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.437 84.523h.908c1.922 0 3.381.489 4.378 1.468.997.979 1.495 2.411 1.495 4.298 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388h-16.07c-2.456 0-4.2-.454-5.232-1.361-1.032-.908-1.548-2.43-1.548-4.565 0-2.065.516-3.542 1.548-4.432 1.032-.89 2.776-1.334 5.232-1.334h1.869l-2.19-6.247H20.983l-2.296 6.247h1.87c2.42 0 4.155.453 5.205 1.361 1.05.908 1.575 2.376 1.575 4.405 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388H6.781c-2.456 0-4.2-.463-5.233-1.388C.516 93.9 0 92.389 0 90.289c0-1.887.498-3.32 1.495-4.298.997-.979 2.456-1.468 4.378-1.468h.908l14.308-39.83h-4.271c-2.42 0-4.156-.462-5.206-1.387-1.05-.926-1.575-2.42-1.575-4.485 0-2.1.525-3.613 1.575-4.538 1.05-.926 2.785-1.388 5.206-1.388h20.021c3.168 0 5.392 1.708 6.674 5.125v.16l16.924 46.343zm-27.976-39.83L24.72 67.225h15.483l-7.742-22.53zM89.506 68.56v16.284h8.008c5.66 0 9.646-.623 11.96-1.869 2.313-1.245 3.47-3.328 3.47-6.246 0-2.955-1.103-5.055-3.31-6.3-2.207-1.246-6.069-1.869-11.586-1.869h-8.542zm27.229-5.926c3.88 1.423 6.727 3.372 8.542 5.846 1.815 2.474 2.723 5.633 2.723 9.477 0 3.239-.783 6.193-2.35 8.862-1.565 2.67-3.808 4.859-6.726 6.567-1.709.997-3.622 1.718-5.74 2.163-2.118.445-5.116.667-8.996.667h-27.87c-2.349 0-4.03-.463-5.045-1.388-1.014-.926-1.521-2.438-1.521-4.538 0-1.887.48-3.32 1.441-4.298.961-.979 2.367-1.468 4.218-1.468h.907v-39.83h-.907c-1.851 0-3.257-.498-4.218-1.494-.961-.997-1.441-2.456-1.441-4.378 0-2.065.516-3.568 1.548-4.512 1.032-.943 2.705-1.414 5.018-1.414h24.56c7.51 0 13.214 1.459 17.111 4.377 3.898 2.92 5.847 7.19 5.847 12.814 0 2.776-.597 5.223-1.789 7.341-1.192 2.118-2.963 3.853-5.312 5.206zm-27.23-18.26v13.455h7.208c4.378 0 7.466-.516 9.264-1.549 1.797-1.032 2.696-2.776 2.696-5.232 0-2.313-.81-4.004-2.43-5.072-1.619-1.068-4.244-1.602-7.874-1.602h-8.863z\"/></svg>" }, "$:/core/images/new-button": { "title": "$:/core/images/new-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 72H8.007C3.591 72 0 68.418 0 64c0-4.41 3.585-8 8.007-8H56V8.007C56 3.591 59.582 0 64 0c4.41 0 8 3.585 8 8.007V56h47.993c4.416 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H72v47.993c0 4.416-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V72z\"/></svg>" }, "$:/core/images/new-here-button": { "title": "$:/core/images/new-here-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-here-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.838 20.935l-3.572.938c-3.688.968-8.23 4.43-10.136 7.731L3.37 96.738c-1.905 3.3-.771 7.524 2.534 9.432l33.717 19.466c3.297 1.904 7.53.78 9.435-2.521l38.76-67.134c1.905-3.3 2.632-8.963 1.623-12.646L83.285 20.88c-1.009-3.68-4.821-5.884-8.513-4.915l-7.603 1.995.043.287c.524 3.394 2.053 7.498 4.18 11.55.418.163.829.36 1.23.59a8.864 8.864 0 014.438 8.169c.104.132.21.264.316.395l-.386.318a8.663 8.663 0 01-1.082 3.137c-2.42 4.192-7.816 5.608-12.051 3.163-4.12-2.379-5.624-7.534-3.476-11.671-2.177-4.394-3.788-8.874-4.543-12.964z\"/><path d=\"M69.554 44.76c-5.944-7.476-10.74-17.196-11.955-25.059-1.68-10.875 3.503-18.216 15.082-18.04 10.407.158 19.975 5.851 24.728 13.785 5.208 8.695 2.95 17.868-6.855 20.496l-2.037-7.601c4.232-1.134 4.999-4.248 2.24-8.853-3.37-5.626-10.465-9.848-18.146-9.965-6.392-.097-8.31 2.62-7.323 9.01.999 6.465 5.318 15.138 10.582 21.65l-.072.06c.559 1.553-4.17 6.44-5.938 4.888l-.005.004-.028-.034a1.323 1.323 0 01-.124-.135 2.618 2.618 0 01-.149-.205z\"/><rect width=\"16\" height=\"48\" x=\"96\" y=\"80\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"80\" y=\"96\" rx=\"8\"/></g></svg>" }, "$:/core/images/new-image-button": { "title": "$:/core/images/new-image-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.362 73.627l15.826-27.41a2.626 2.626 0 00-.962-3.59l-50.01-28.872a2.626 2.626 0 00-3.588.961L30.058 36.49l10.04-5.261c3.042-1.595 6.771.114 7.55 3.46l3.607 17.702 9.88.85a5.25 5.25 0 014.571 3.77c.034.115.1.344.199.671.165.553.353 1.172.562 1.843.595 1.914 1.23 3.85 1.872 5.678.207.588.412 1.156.614 1.701.625 1.685 1.209 3.114 1.725 4.207.255.54.485.977.726 1.427.214.212.547.425 1.011.622 1.141.482 2.784.74 4.657.758.864.008 1.71-.034 2.492-.11.448-.043.753-.085.871-.104.315-.053.625-.077.927-.076zM37.47 2.649A5.257 5.257 0 0144.649.725l63.645 36.746a5.257 5.257 0 011.923 7.178L73.47 108.294a5.257 5.257 0 01-7.177 1.923L2.649 73.47a5.257 5.257 0 01-1.924-7.177L37.471 2.649zm42.837 50.49a5.25 5.25 0 105.25-9.092 5.25 5.25 0 00-5.25 9.093zM96 112h-7.993c-4.419 0-8.007-3.582-8.007-8 0-4.41 3.585-8 8.007-8H96v-7.993C96 83.588 99.582 80 104 80c4.41 0 8 3.585 8 8.007V96h7.993c4.419 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H112v7.993c0 4.419-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V112zM33.347 51.791c7.428 7.948 9.01 10.69 7.449 13.394-1.56 2.703-13.838-2.328-16.094 1.58-2.256 3.908-.907 3.258-2.437 5.908l19.73 11.39s-5.605-8.255-4.235-10.628c2.515-4.356 8.77-1.256 10.365-4.019 2.414-4.181-5.103-9.639-14.778-17.625z\"/></svg>" }, "$:/core/images/new-journal-button": { "title": "$:/core/images/new-journal-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-journal-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.545 112.818v11.818c0 1.306 1.086 2.364 2.425 2.364h6.06c1.34 0 2.425-1.058 2.425-2.364v-11.818h12.12c1.34 0 2.425-1.058 2.425-2.363v-5.91c0-1.305-1.085-2.363-2.424-2.363h-12.121V90.364c0-1.306-1.086-2.364-2.425-2.364h-6.06c-1.34 0-2.425 1.058-2.425 2.364v11.818h-12.12c-1.34 0-2.425 1.058-2.425 2.363v5.91c0 1.305 1.085 2.363 2.424 2.363h12.121zM60.016 4.965c-4.781-2.76-10.897-1.118-13.656 3.66L5.553 79.305A9.993 9.993 0 009.21 92.963l51.04 29.468c4.78 2.76 10.897 1.118 13.655-3.66l40.808-70.681a9.993 9.993 0 00-3.658-13.656L60.016 4.965zm-3.567 27.963a6 6 0 106-10.393 6 6 0 00-6 10.393zm31.697 17.928a6 6 0 106-10.392 6 6 0 00-6 10.392z\"/><text class=\"tc-fill-background\" font-family=\"Helvetica\" font-size=\"47.172\" font-weight=\"bold\" transform=\"rotate(30 25.742 95.82)\"><tspan x=\"42\" y=\"77.485\" text-anchor=\"middle\"><<now \"DD\">></tspan></text></g></svg>" }, "$:/core/images/opacity": { "title": "$:/core/images/opacity", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-opacity tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.362 65a51.595 51.595 0 01-1.942 6H82.584a35.867 35.867 0 002.997-6h16.78zm.472-2c.423-1.961.734-3.963.929-6H87.656a35.78 35.78 0 01-1.368 6h16.546zm-3.249 10a51.847 51.847 0 01-3.135 6H75.812a36.205 36.205 0 005.432-6h18.341zm-4.416 8c-1.424 2.116-3 4.12-4.71 6H60.46a35.843 35.843 0 0012.874-6h21.834zm-7.513-34h16.107C101.247 20.627 79.033 0 52 0 23.281 0 0 23.281 0 52c0 25.228 17.965 46.26 41.8 51h20.4a51.66 51.66 0 0015.875-6H39v-2h42.25a52.257 52.257 0 007.288-6H39v-2h4.539C27.739 83.194 16 68.968 16 52c0-19.882 16.118-36 36-36 18.186 0 33.222 13.484 35.656 31zm.22 2h16.039a52.823 52.823 0 010 6H87.877a36.483 36.483 0 000-6z\"/><path d=\"M76 128c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52zm0-16c19.882 0 36-16.118 36-36S95.882 40 76 40 40 56.118 40 76s16.118 36 36 36z\"/><path d=\"M37 58h53v4H37v-4zm3-8h53v4H40v-4zm0-8h53v4H40v-4zm-8 24h53v4H32v-4zm-2 8h53v4H30v-4zm-3 8h53v4H27v-4z\"/></g></svg>" }, "$:/core/images/open-window": { "title": "$:/core/images/open-window", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-open-window tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M16 112h88.994c3.87 0 7.006 3.59 7.006 8 0 4.418-3.142 8-7.006 8H7.006C3.136 128 0 124.41 0 120a9.321 9.321 0 010-.01V24.01C0 19.586 3.59 16 8 16c4.418 0 8 3.584 8 8.01V112z\"/><path d=\"M96 43.196V56a8 8 0 1016 0V24c0-4.41-3.585-8-8.007-8H72.007C67.588 16 64 19.582 64 24c0 4.41 3.585 8 8.007 8H84.57l-36.3 36.299a8 8 0 00-.001 11.316c3.117 3.117 8.19 3.123 11.316-.003L96 43.196zM32 7.999C32 3.581 35.588 0 40 0h80c4.419 0 8 3.588 8 8v80c0 4.419-3.588 8-8 8H40c-4.419 0-8-3.588-8-8V8z\"/></g></svg>" }, "$:/core/images/options-button": { "title": "$:/core/images/options-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-options-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M110.488 76a47.712 47.712 0 01-5.134 12.384l6.724 6.724c3.123 3.123 3.132 8.192.011 11.313l-5.668 5.668c-3.12 3.12-8.186 3.117-11.313-.01l-6.724-6.725c-3.82 2.258-7.98 4-12.384 5.134v9.505c0 4.417-3.578 8.007-7.992 8.007h-8.016C55.58 128 52 124.415 52 119.993v-9.505a47.712 47.712 0 01-12.384-5.134l-6.724 6.725c-3.123 3.122-8.192 3.131-11.313.01l-5.668-5.668c-3.12-3.12-3.116-8.186.01-11.313l6.725-6.724c-2.257-3.82-4-7.98-5.134-12.384H8.007C3.591 76 0 72.422 0 68.01v-8.017C0 55.58 3.585 52 8.007 52h9.505a47.712 47.712 0 015.134-12.383l-6.724-6.725c-3.123-3.122-3.132-8.191-.011-11.312l5.668-5.669c3.12-3.12 8.186-3.116 11.313.01l6.724 6.725c3.82-2.257 7.98-4 12.384-5.134V8.007C52 3.591 55.578 0 59.992 0h8.016C72.42 0 76 3.585 76 8.007v9.505a47.712 47.712 0 0112.384 5.134l6.724-6.724c3.123-3.123 8.192-3.132 11.313-.01l5.668 5.668c3.12 3.12 3.116 8.186-.01 11.312l-6.725 6.725c2.257 3.82 4 7.979 5.134 12.383h9.505c4.416 0 8.007 3.578 8.007 7.992v8.017c0 4.411-3.585 7.991-8.007 7.991h-9.505zM64 96c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/></svg>" }, "$:/core/images/paint": { "title": "$:/core/images/paint", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-paint tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M83.527 76.19C90.43 69.287 91.892 59 87.91 50.665l37.903-37.902c2.919-2.92 2.913-7.659 0-10.572a7.474 7.474 0 00-10.572 0L77.338 40.093c-8.335-3.982-18.622-2.521-25.526 4.383l31.715 31.715zm-2.643 2.644L49.169 47.119S8.506 81.243 0 80.282c0 0 3.782 5.592 6.827 8.039 14.024-5.69 37.326-24.6 37.326-24.6l.661.66S19.45 90.222 9.18 92.047c1.222 1.44 4.354 4.053 6.247 5.776 5.417-1.488 34.733-28.57 34.733-28.57l.661.66-32.407 31.022 5.285 5.286L56.106 75.2l.662.66s-27.864 30.536-28.684 32.432c0 0 6.032 6.853 7.569 7.824.702-2.836 27.884-33.485 27.884-33.485l.661.66s-20.597 23.755-24.964 36.732c3.21 3.549 7.5 5.137 10.926 6.298-2.19-11.817 30.724-47.487 30.724-47.487z\"/></svg>" }, "$:/core/images/palette": { "title": "$:/core/images/palette", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-palette tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.247 39.182a93.52 93.52 0 00-16.228-1.4C28.662 37.781 0 57.131 0 81.002c0 9.642 4.676 18.546 12.58 25.735C23.504 91.19 26.34 72.395 36.89 63.562c15.183-12.713 26.538-7.828 26.538-7.828l16.82-16.552zm26.535 9.655c13.049 7.913 21.257 19.392 21.257 32.166 0 9.35.519 17.411-11.874 25.08-10.797 6.681-3.824-6.536-11.844-10.898s-19.946 1.308-18.213 7.906c3.2 12.181 19.422 11.455 6.314 16.658-13.107 5.202-18.202 4.476-28.403 4.476-7.821 0-15.315-.947-22.243-2.68 9.844-4.197 27.88-12.539 33.354-19.456C82.788 92.409 87.37 80 83.324 72.484c-.194-.359 11.215-11.668 23.458-23.647zM1.134 123.867l-.66.002c33.479-14.94 22.161-64.226 58.818-64.226.317 1.418.644 2.944 1.062 4.494-25.907-4.166-23.567 48.031-59.22 59.73zm.713-.007c38.872-.506 78.152-22.347 78.152-44.813-9.27 0-14.073-3.48-16.816-7.942-16.597-7.003-30.365 45.715-61.336 52.755zm65.351-64.008c-4.45 4.115 4.886 16.433 11.318 11.318l45.27-45.27c11.317-11.318 0-22.635-11.318-11.318-11.317 11.318-33.518 34.405-45.27 45.27z\"/></svg>" }, "$:/core/images/permalink-button": { "title": "$:/core/images/permalink-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permalink-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.483 48l-7.387 32h-25.58l7.388-32h25.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L100.598 32h3.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-7.096l-7.387 32H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H85.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L69.402 96h-25.58L38.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L27.402 96h-3.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h7.096l7.387-32H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h18.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L58.598 32h25.58z\"/></svg>" }, "$:/core/images/permaview-button": { "title": "$:/core/images/permaview-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permaview-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.483 48l-1.846 8h-5.58l1.847-8h5.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L101.598 32h2.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-6.096l-1.847 8h7.944c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H92.364l-1.846 8H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H86.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L70.402 96h-5.58L59.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L48.402 96h-5.58L37.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L26.402 96h-2.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h6.096l1.847-8h-7.944C19.59 72 16 68.418 16 64c0-4.41 3.581-8 8-8h11.637l1.846-8H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h17.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L57.598 32h5.58L68.8 7.642c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L79.598 32h5.58zM53.904 48l-1.847 8h5.58l1.846-8h-5.579zm22.039 24l-1.847 8h-5.58l1.847-8h5.58zm-27.58 0l-1.846 8h5.579l1.847-8h-5.58z\"/></svg>" }, "$:/core/images/picture": { "title": "$:/core/images/picture", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-picture tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112 68.233v-48.23A4.001 4.001 0 00107.997 16H20.003A4.001 4.001 0 0016 20.003v38.31l9.241-14.593c2.8-4.422 9.023-5.008 12.6-1.186l18.247 20.613 13.687-6.407a8 8 0 018.903 1.492 264.97 264.97 0 002.92 2.739 249.44 249.44 0 006.798 6.066 166.5 166.5 0 002.106 1.778c2.108 1.747 3.967 3.188 5.482 4.237.748.518 1.383.92 2.044 1.33.444.117 1.046.144 1.809.05 1.873-.233 4.238-1.144 6.723-2.547a36.016 36.016 0 003.205-2.044c.558-.4.93-.686 1.07-.802.376-.31.765-.577 1.165-.806zM0 8.007A8.01 8.01 0 018.007 0h111.986A8.01 8.01 0 01128 8.007v111.986a8.01 8.01 0 01-8.007 8.007H8.007A8.01 8.01 0 010 119.993V8.007zM95 42a8 8 0 100-16 8 8 0 000 16zM32 76c15.859 4.83 20.035 7.244 20.035 12S32 95.471 32 102.347c0 6.876 1.285 4.99 1.285 9.653H68s-13.685-6.625-13.685-10.8c0-7.665 10.615-8.34 10.615-13.2 0-7.357-14.078-8.833-32.93-12z\"/></svg>" }, "$:/core/images/plugin-generic-language": { "title": "$:/core/images/plugin-generic-language", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M61.207 68.137c-4.324 2.795-6.999 6.656-6.999 10.921 0 7.906 9.19 14.424 21.042 15.336 2.162 3.902 8.598 6.785 16.318 7.01-5.126-1.125-9.117-3.742-10.62-7.01C92.805 93.487 102 86.967 102 79.059c0-8.53-10.699-15.445-23.896-15.445-6.599 0-12.572 1.729-16.897 4.524zm12.794-14.158c-4.324 2.795-10.298 4.524-16.897 4.524-2.619 0-5.14-.272-7.497-.775-3.312 2.25-8.383 3.69-14.067 3.69l-.255-.002c4.119-.892 7.511-2.747 9.478-5.13-6.925-2.704-11.555-7.617-11.555-13.228 0-8.53 10.699-15.445 23.896-15.445C70.301 27.613 81 34.528 81 43.058c0 4.265-2.675 8.126-6.999 10.921zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>" }, "$:/core/images/plugin-generic-plugin": { "title": "$:/core/images/plugin-generic-plugin", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M40.397 76.446V95.34h14.12l-.001-.005a6.912 6.912 0 005.364-11.593l.046-.023a6.912 6.912 0 119.979.526l.086.055a6.914 6.914 0 004.408 10.948l-.023.092h21.32V75.568l-.15.038a6.912 6.912 0 00-11.593-5.364l-.022-.046a6.912 6.912 0 11.526-9.979l.055-.086a6.914 6.914 0 0010.948-4.408c.079.018.158.038.236.059v-15.74h-21.32l.023-.094a6.914 6.914 0 01-4.408-10.947 10.23 10.23 0 00-.086-.055 6.912 6.912 0 10-9.979-.526l-.046.023a6.912 6.912 0 01-5.364 11.593l.001.005h-14.12v12.847A6.912 6.912 0 0129.5 59.843l-.054.086a6.912 6.912 0 10-.526 9.979l.023.046a6.912 6.912 0 0111.455 6.492zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>" }, "$:/core/images/plugin-generic-theme": { "title": "$:/core/images/plugin-generic-theme", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M29.408 91.472L51.469 69.41l-.004-.005a2.22 2.22 0 01.004-3.146c.87-.87 2.281-.872 3.147-.005l9.465 9.464a2.22 2.22 0 01-.005 3.147c-.87.87-2.28.871-3.147.005l-.005-.005-22.061 22.062a6.686 6.686 0 11-9.455-9.455zM60.802 66.38c-2.436-2.704-4.465-5.091-5.817-6.869-6.855-9.014-10.313-4.268-14.226 0-3.913 4.268 1.03 7.726-2.683 10.741-3.713 3.015-3.484 4.06-9.752-1.455-6.267-5.516-6.7-7.034-3.823-10.181 2.877-3.147 5.281 1.808 11.159-3.785 5.877-5.593.94-10.55.94-10.55s12.237-25.014 28.588-23.167c16.351 1.848-6.186-2.392-11.792 17.226-2.4 8.4.447 6.42 4.998 9.968 1.394 1.086 6.03 4.401 11.794 8.685l20.677-20.676 1.615-4.766 7.84-4.689 3.151 3.152-4.688 7.84-4.766 1.615-20.224 20.223c12.663 9.547 28.312 22.146 28.312 26.709 0 7.217-3.071 11.526-9.535 9.164-4.693-1.715-18.768-15.192-28.753-25.897l-2.893 2.893-3.151-3.152 3.029-3.029zM63.953 0l54.56 32v64l-54.56 32-54.56-32V32l54.56-32z\"/></svg>" }, "$:/core/images/preview-closed": { "title": "$:/core/images/preview-closed", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-closed tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M.088 64a7.144 7.144 0 001.378 5.458C16.246 88.818 39.17 100.414 64 100.414c24.83 0 47.753-11.596 62.534-30.956A7.144 7.144 0 00127.912 64C110.582 78.416 88.304 87.086 64 87.086 39.696 87.086 17.418 78.416.088 64z\"/><rect width=\"4\" height=\"16\" x=\"62\" y=\"96\" rx=\"4\"/><rect width=\"4\" height=\"16\" x=\"78\" y=\"93\" rx=\"4\" transform=\"rotate(-5 80 101)\"/><rect width=\"4\" height=\"16\" x=\"46\" y=\"93\" rx=\"4\" transform=\"rotate(5 48 101)\"/><rect width=\"4\" height=\"16\" x=\"30\" y=\"88\" rx=\"4\" transform=\"rotate(10 32 96)\"/><rect width=\"4\" height=\"16\" x=\"94\" y=\"88\" rx=\"4\" transform=\"rotate(-10 96 96)\"/><rect width=\"4\" height=\"16\" x=\"110\" y=\"80\" rx=\"4\" transform=\"rotate(-20 112 88)\"/><rect width=\"4\" height=\"16\" x=\"14\" y=\"80\" rx=\"4\" transform=\"rotate(20 16 88)\"/></g></svg>" }, "$:/core/images/preview-open": { "title": "$:/core/images/preview-open", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-open tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.11 99.588c-24.83 0-47.754-11.596-62.534-30.957a7.148 7.148 0 010-8.675C16.356 40.596 39.28 29 64.11 29c24.83 0 47.753 11.596 62.534 30.956a7.148 7.148 0 010 8.675c-14.78 19.36-37.703 30.957-62.534 30.957zm46.104-32.007c1.44-1.524 1.44-3.638 0-5.162C99.326 50.9 82.439 44 64.147 44S28.968 50.9 18.08 62.42c-1.44 1.523-1.44 3.637 0 5.16C28.968 79.1 45.855 86 64.147 86s35.179-6.9 46.067-18.42z\"/><path d=\"M63.5 88C76.479 88 87 77.479 87 64.5S76.479 41 63.5 41 40 51.521 40 64.5 50.521 88 63.5 88z\"/></g></svg>" }, "$:/core/images/print-button": { "title": "$:/core/images/print-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M112 71V30.5h-.032c-.035-2-.816-3.99-2.343-5.516L86.998 2.357A7.978 7.978 0 0081 .02V0H24a8 8 0 00-8 8v63h8V8h57v14.5c0 4.422 3.582 8 8 8h15V71h8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/><path d=\"M0 80.005C0 71.165 7.156 64 16 64h96c8.836 0 16 7.155 16 16.005v31.99c0 8.84-7.156 16.005-16 16.005H16c-8.836 0-16-7.155-16-16.005v-31.99zM104 96a8 8 0 100-16 8 8 0 000 16z\"/></g></svg>" }, "$:/core/images/quote": { "title": "$:/core/images/quote", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-quote tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M51.219 117.713V62.199H27.427c0-8.891 1.683-16.401 5.047-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.36 3.184-20.728 6.669-6.368 3.484-11.835 7.87-16.401 13.157C9.524 27.113 5.98 33.241 3.456 40.21.933 47.18-.21 54.63.03 62.56v55.153H51.22zm76.781 0V62.199h-23.791c0-8.891 1.682-16.401 5.046-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.359 3.184-20.727 6.669-6.369 3.484-11.836 7.87-16.402 13.157-4.566 5.287-8.11 11.415-10.634 18.384-2.523 6.97-3.665 14.42-3.424 22.35v55.153H128z\"/></svg>" }, "$:/core/images/refresh-button": { "title": "$:/core/images/refresh-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-refresh-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M106.369 39.433c10.16 20.879 6.57 46.764-10.771 64.106-21.87 21.87-57.327 21.87-79.196 0-21.87-21.87-21.87-57.326 0-79.196a8 8 0 1111.314 11.314c-15.621 15.62-15.621 40.947 0 56.568 15.62 15.621 40.947 15.621 56.568 0C97.72 78.79 99.6 58.175 89.924 42.73l-6.44 12.264a8 8 0 11-14.166-7.437L84.435 18.76a8 8 0 0110.838-3.345l28.873 15.345a8 8 0 11-7.51 14.129l-10.267-5.457zm-8.222-12.368c-.167-.19-.336-.38-.506-.57l.96-.296-.454.866z\"/></svg>" }, "$:/core/images/right-arrow": { "title": "$:/core/images/right-arrow", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-right-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M99.069 64.173c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></svg>" }, "$:/core/images/rotate-left": { "title": "$:/core/images/rotate-left", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-rotate-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"32\" height=\"80\" rx=\"8\"/><rect width=\"80\" height=\"32\" x=\"48\" y=\"96\" rx=\"8\"/><path d=\"M61.32 36.65c19.743 2.45 35.023 19.287 35.023 39.693a4 4 0 01-8 0c0-15.663-11.254-28.698-26.117-31.46l3.916 3.916a4 4 0 11-5.657 5.657L49.172 43.142a4 4 0 010-5.657l11.313-11.313a4 4 0 115.657 5.656l-4.821 4.822z\"/></g></svg>" }, "$:/core/images/save-button": { "title": "$:/core/images/save-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/></svg>" }, "$:/core/images/size": { "title": "$:/core/images/size", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-size tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M92.343 26l-9.171 9.172a4 4 0 105.656 5.656l16-16a4 4 0 000-5.656l-16-16a4 4 0 10-5.656 5.656L92.343 18H22a4 4 0 00-4 4v70.343l-9.172-9.171a4 4 0 10-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656L26 92.343V22l-4 4h70.343zM112 52v64l4-4H52a4 4 0 100 8h64a4 4 0 004-4V52a4 4 0 10-8 0z\"/></svg>" }, "$:/core/images/spiral": { "title": "$:/core/images/spiral", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-spiral tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074a4.785 4.785 0 00-4.52-5.03 4.778 4.778 0 00-5.03 4.52c-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01a1.047 1.047 0 01-.264-.332c-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"/></svg>" }, "$:/core/images/stamp": { "title": "$:/core/images/stamp", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-stamp tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M49.733 64H16.01C11.584 64 8 67.583 8 72.003V97h112V72.003A8 8 0 00111.99 64H78.267A22.813 22.813 0 0175.5 53.077c0-6.475 2.687-12.324 7.009-16.497A22.818 22.818 0 0087 22.952C87 10.276 76.703 0 64 0S41 10.276 41 22.952c0 5.103 1.669 9.817 4.491 13.628 4.322 4.173 7.009 10.022 7.009 16.497 0 3.954-1.002 7.675-2.767 10.923zM8 104h112v8H8v-8z\"/></svg>" }, "$:/core/images/star-filled": { "title": "$:/core/images/star-filled", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-star-filled tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M61.836 96.823l37.327 27.287c2.72 1.99 6.379-.69 5.343-3.912L90.29 75.988l-1.26 3.91 37.285-27.345c2.718-1.993 1.32-6.327-2.041-6.33l-46.113-.036 3.3 2.416L67.176 4.416c-1.04-3.221-5.563-3.221-6.604 0L46.29 48.603l3.3-2.416-46.113.036c-3.362.003-4.759 4.337-2.04 6.33L38.72 79.898l-1.26-3.91-14.216 44.21c-1.036 3.223 2.622 5.901 5.343 3.912l37.326-27.287h-4.078z\"/></svg>" }, "$:/core/images/storyview-classic": { "title": "$:/core/images/storyview-classic", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-classic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm0 48C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0 32C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>" }, "$:/core/images/storyview-pop": { "title": "$:/core/images/storyview-pop", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-pop tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm-7.99 40C11.587 56 8 59.578 8 63.992v16.016C8 84.422 11.584 88 16.01 88h95.98c4.424 0 8.01-3.578 8.01-7.992V63.992c0-4.414-3.584-7.992-8.01-7.992H16.01zM24 96C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0-32C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>" }, "$:/core/images/storyview-zoomin": { "title": "$:/core/images/storyview-zoomin", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-zoomin tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16A8 8 0 0016 24.009V71.99C16 76.414 19.588 80 24 80h80a8 8 0 008-8.009V24.01c0-4.423-3.588-8.009-8-8.009H24z\"/></svg>" }, "$:/core/images/strikethrough": { "title": "$:/core/images/strikethrough", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-strikethrough tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M92.794 38.726h15.422c-.229-6.74-1.514-12.538-3.856-17.393-2.342-4.855-5.54-8.881-9.596-12.08-4.055-3.199-8.767-5.54-14.136-7.025C75.258.743 69.433 0 63.15 0a62.76 62.76 0 00-16.364 2.142C41.474 3.57 36.733 5.74 32.564 8.653c-4.17 2.913-7.511 6.626-10.025 11.138-2.513 4.512-3.77 9.853-3.77 16.022 0 5.597 1.115 10.252 3.342 13.965 2.228 3.712 5.198 6.74 8.91 9.081 3.713 2.342 7.911 4.227 12.595 5.655a194.641 194.641 0 0014.308 3.77c4.855 1.085 9.624 2.142 14.308 3.17 4.683 1.028 8.881 2.37 12.594 4.027 3.713 1.656 6.683 3.798 8.91 6.425 2.228 2.628 3.342 6.055 3.342 10.281 0 4.456-.914 8.111-2.742 10.967a19.953 19.953 0 01-7.197 6.768c-2.97 1.657-6.311 2.828-10.024 3.513a60.771 60.771 0 01-11.052 1.028c-4.57 0-9.025-.571-13.366-1.713-4.34-1.143-8.139-2.913-11.394-5.312-3.256-2.4-5.884-5.455-7.883-9.168-1.999-3.712-2.998-8.139-2.998-13.28H15c0 7.426 1.342 13.852 4.027 19.278 2.684 5.426 6.34 9.881 10.966 13.365 4.627 3.484 9.996 6.083 16.107 7.797 6.112 1.713 12.595 2.57 19.449 2.57 5.597 0 11.223-.657 16.878-1.97 5.655-1.314 10.767-3.428 15.336-6.34 4.57-2.914 8.31-6.683 11.224-11.31 2.913-4.626 4.37-10.195 4.37-16.707 0-6.054-1.115-11.08-3.342-15.079-2.228-3.998-5.198-7.31-8.91-9.938-3.713-2.627-7.911-4.712-12.595-6.254a170.83 170.83 0 00-14.308-4.027 549.669 549.669 0 00-14.308-3.17c-4.683-.971-8.881-2.2-12.594-3.684-3.713-1.485-6.683-3.399-8.91-5.74-2.228-2.342-3.342-5.398-3.342-9.168 0-3.998.771-7.34 2.313-10.024 1.543-2.685 3.599-4.826 6.17-6.426 2.57-1.599 5.51-2.741 8.824-3.427a49.767 49.767 0 0110.11-1.028c8.453 0 15.393 1.97 20.819 5.912 5.426 3.94 8.596 10.31 9.51 19.106z\"/><path d=\"M5 54h118v16H5z\"/></g></svg>" }, "$:/core/images/subscript": { "title": "$:/core/images/subscript", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-subscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 128.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>" }, "$:/core/images/superscript": { "title": "$:/core/images/superscript", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-superscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 63.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>" }, "$:/core/images/tag-button": { "title": "$:/core/images/tag-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tag-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M18.164 47.66l.004 4.105c.003 3.823 2.19 9.097 4.885 11.792l61.85 61.85c2.697 2.697 7.068 2.69 9.769-.01L125.767 94.3a6.903 6.903 0 00.01-9.77L63.928 22.683c-2.697-2.697-7.976-4.88-11.796-4.881l-27.076-.007a6.902 6.902 0 00-6.91 6.91l.008 9.96.287.033c3.73.411 8.489-.044 13.365-1.153a9.702 9.702 0 0111.14-3.662l.291-.13.128.285a9.7 9.7 0 013.3 2.17c3.796 3.796 3.801 9.945.012 13.734-3.618 3.618-9.386 3.777-13.204.482-5.365 1.122-10.674 1.596-15.309 1.237z\"/><path d=\"M47.633 39.532l.023.051c-9.689 4.356-21.584 6.799-30.396 5.828C5.273 44.089-1.028 36.43 2.443 24.078 5.562 12.976 14.3 4.361 24.047 1.548c10.68-3.083 19.749 1.968 19.749 13.225h-8.623c0-4.859-3.078-6.573-8.735-4.94-6.91 1.995-13.392 8.383-15.694 16.577-1.915 6.818.417 9.653 7.46 10.43 7.126.785 17.531-1.352 25.917-5.121l.027.06.036-.017c1.76-.758 6.266 6.549 3.524 7.74a2.8 2.8 0 01-.075.03z\"/></g></svg>" }, "$:/core/images/theme-button": { "title": "$:/core/images/theme-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-theme-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.854 66.945a122.626 122.626 0 01-3.9-4.819c-11.064-14.548-16.645-6.888-22.96 0-6.315 6.888 1.664 12.47-4.33 17.335-5.993 4.866-5.623 6.552-15.737-2.35-10.115-8.9-10.815-11.351-6.172-16.43 4.644-5.08 8.524 2.918 18.01-6.108 9.485-9.026 1.517-17.026 1.517-17.026S42.03-2.824 68.42.157c26.39 2.982-9.984-3.86-19.031 27.801-3.874 13.556.72 10.362 8.066 16.087 1.707 1.33 6.428 4.732 12.671 9.318-6.129 5.879-11.157 10.669-14.273 13.582zm11.641 12.947c16.013 17.036 37.742 37.726 45.117 40.42 10.432 3.813 15.388-3.141 15.388-14.79 0-7.151-23.83-26.542-43.924-41.769-7.408 7.156-13.376 12.953-16.58 16.139z\"/><path d=\"M11.069 109.828L46.31 74.587a3.56 3.56 0 115.037-5.032l15.098 15.098a3.56 3.56 0 11-5.032 5.037l-35.24 35.241c-4.171 4.17-10.933 4.17-15.104 0-4.17-4.17-4.17-10.933 0-15.103zM124.344 6.622l5.034 5.034-7.49 12.524-7.613 2.58L61.413 79.62l-5.034-5.034 52.861-52.862 2.58-7.614 12.524-7.49z\"/></g></svg>" }, "$:/core/images/timestamp-off": { "title": "$:/core/images/timestamp-off", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-off tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/></g></svg>" }, "$:/core/images/timestamp-on": { "title": "$:/core/images/timestamp-on", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-on tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178a5.005 5.005 0 01-7.045-.613 5.008 5.008 0 01.616-7.047l9.95-8.348a5 5 0 016.429 7.661l-9.95 8.348zm89.573 0a5.005 5.005 0 007.045-.613 5.008 5.008 0 00-.616-7.047l-9.95-8.348a5 5 0 00-6.428 7.661l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/></g></svg>" }, "$:/core/images/tip": { "title": "$:/core/images/tip", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tip tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z\"/></svg>" }, "$:/core/images/transcludify": { "title": "$:/core/images/transcludify", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-transcludify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M0 59.482c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.651-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02C1.36 67.377.591 67.288 0 67.288v-7.806zm24.66 0c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.65-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02c-.946-.177-1.715-.266-2.306-.266v-7.806zm43.965-3.538L80.6 52.041l2.306 7.097-12.063 3.903 7.628 10.378-6.12 4.435-7.63-10.467-7.45 10.201-5.943-4.524 7.628-10.023-12.152-4.17 2.306-7.096 12.064 4.17V43.347h7.451v12.596zm34.425 11.344c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806zm24.66 0c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806z\"/></svg>" }, "$:/core/images/twitter": { "title": "$:/core/images/twitter", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-twitter tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.626 115.803A73.376 73.376 0 012 104.235c2.022.238 4.08.36 6.166.36 12.111 0 23.258-4.117 32.105-11.023-11.312-.208-20.859-7.653-24.148-17.883a25.98 25.98 0 0011.674-.441C15.971 72.881 7.061 62.474 7.061 49.997c0-.108 0-.216.002-.323a25.824 25.824 0 0011.709 3.22c-6.936-4.617-11.5-12.5-11.5-21.433 0-4.719 1.274-9.142 3.5-12.945 12.75 15.579 31.797 25.83 53.281 26.904-.44-1.884-.67-3.85-.67-5.868 0-14.22 11.575-25.75 25.852-25.75a25.865 25.865 0 0118.869 8.132 51.892 51.892 0 0016.415-6.248c-1.93 6.012-6.029 11.059-11.366 14.246A51.844 51.844 0 00128 25.878a52.428 52.428 0 01-12.9 13.33c.05 1.104.075 2.214.075 3.33 0 34.028-26 73.265-73.549 73.265\"/></svg>" }, "$:/core/images/underline": { "title": "$:/core/images/underline", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-underline tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M7 117.421h114.248V128H7v-10.579zm97.871-18.525V0h-16.26v55.856c0 4.463-.605 8.576-1.816 12.338-1.212 3.762-3.03 7.046-5.452 9.851-2.423 2.806-5.452 4.974-9.086 6.504-3.635 1.53-7.939 2.296-12.912 2.296-6.25 0-11.159-1.786-14.73-5.356-3.57-3.571-5.356-8.417-5.356-14.538V0H23v65.038c0 5.356.542 10.234 1.626 14.633 1.084 4.4 2.965 8.194 5.643 11.382 2.678 3.188 6.185 5.643 10.52 7.365 4.337 1.721 9.756 2.582 16.26 2.582 7.27 0 13.582-1.435 18.938-4.304 5.356-2.87 9.755-7.365 13.199-13.486h.382v15.686h15.303z\"/></svg>" }, "$:/core/images/unfold-all-button": { "title": "$:/core/images/unfold-all-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M63.945 60.624c-2.05 0-4.101-.78-5.666-2.345L35.662 35.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 41.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 58.279a7.986 7.986 0 01-5.663 2.346zM64.004 124.565c-2.05 0-4.102-.78-5.666-2.345L35.721 99.603c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 105.255l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.662 122.22a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>" }, "$:/core/images/unfold-button": { "title": "$:/core/images/unfold-button", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M63.945 63.624c-2.05 0-4.101-.78-5.666-2.345L35.662 38.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 44.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 61.279a7.986 7.986 0 01-5.663 2.346zM64.004 105.682c-2.05.001-4.102-.78-5.666-2.344L35.721 80.721c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 86.373l16.966-16.966c3.124-3.125 8.194-3.13 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319l-22.617 22.617a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>" }, "$:/core/images/unlocked-padlock": { "title": "$:/core/images/unlocked-padlock", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unlocked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M48.627 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h6.136c-10.455-12.651-27.364-35.788-4.3-55.142 24.636-20.672 45.835 4.353 55.777 16.201 9.943 11.85-2.676 22.437-12.457 9.892-9.78-12.545-21.167-24.146-33.207-14.043-12.041 10.104-1.757 22.36 8.813 34.958 2.467 2.94 3.641 5.732 3.865 8.134zm19.105 28.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>" }, "$:/core/images/up-arrow": { "title": "$:/core/images/up-arrow", "created": "20150316000544368", "modified": "20150316000831867", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-up-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M63.892.281c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.104 3.092-11.196 0L63.894 19.393 13.513 69.774a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98A7.892 7.892 0 0163.893.28z\"/></svg>" }, "$:/core/images/video": { "title": "$:/core/images/video", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-video tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 12c-34.91 0-55.273 2.917-58.182 5.833C2.91 20.75 0 41.167 0 64.5c0 23.333 2.91 43.75 5.818 46.667C8.728 114.083 29.091 117 64 117c34.91 0 55.273-2.917 58.182-5.833C125.09 108.25 128 87.833 128 64.5c0-23.333-2.91-43.75-5.818-46.667C119.272 14.917 98.909 12 64 12zm-9.084 32.618c-3.813-2.542-6.905-.879-6.905 3.698v31.368c0 4.585 3.099 6.235 6.905 3.698l22.168-14.779c3.813-2.542 3.806-6.669 0-9.206L54.916 44.618z\"/></svg>" }, "$:/core/images/warning": { "title": "$:/core/images/warning", "tags": "$:/tags/Image", "text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-warning tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z\"/></svg>" }, "$:/language/Buttons/AdvancedSearch/Caption": { "title": "$:/language/Buttons/AdvancedSearch/Caption", "text": "advanced search" }, "$:/language/Buttons/AdvancedSearch/Hint": { "title": "$:/language/Buttons/AdvancedSearch/Hint", "text": "Advanced search" }, "$:/language/Buttons/Cancel/Caption": { "title": "$:/language/Buttons/Cancel/Caption", "text": "cancel" }, "$:/language/Buttons/Cancel/Hint": { "title": "$:/language/Buttons/Cancel/Hint", "text": "Discard changes to this tiddler" }, "$:/language/Buttons/Clone/Caption": { "title": "$:/language/Buttons/Clone/Caption", "text": "clone" }, "$:/language/Buttons/Clone/Hint": { "title": "$:/language/Buttons/Clone/Hint", "text": "Clone this tiddler" }, "$:/language/Buttons/Close/Caption": { "title": "$:/language/Buttons/Close/Caption", "text": "close" }, "$:/language/Buttons/Close/Hint": { "title": "$:/language/Buttons/Close/Hint", "text": "Close this tiddler" }, "$:/language/Buttons/CloseAll/Caption": { "title": "$:/language/Buttons/CloseAll/Caption", "text": "close all" }, "$:/language/Buttons/CloseAll/Hint": { "title": "$:/language/Buttons/CloseAll/Hint", "text": "Close all tiddlers" }, "$:/language/Buttons/CloseOthers/Caption": { "title": "$:/language/Buttons/CloseOthers/Caption", "text": "close others" }, "$:/language/Buttons/CloseOthers/Hint": { "title": "$:/language/Buttons/CloseOthers/Hint", "text": "Close other tiddlers" }, "$:/language/Buttons/ControlPanel/Caption": { "title": "$:/language/Buttons/ControlPanel/Caption", "text": "control panel" }, "$:/language/Buttons/ControlPanel/Hint": { "title": "$:/language/Buttons/ControlPanel/Hint", "text": "Open control panel" }, "$:/language/Buttons/CopyToClipboard/Caption": { "title": "$:/language/Buttons/CopyToClipboard/Caption", "text": "copy to clipboard" }, "$:/language/Buttons/CopyToClipboard/Hint": { "title": "$:/language/Buttons/CopyToClipboard/Hint", "text": "Copy this text to the clipboard" }, "$:/language/Buttons/Delete/Caption": { "title": "$:/language/Buttons/Delete/Caption", "text": "delete" }, "$:/language/Buttons/Delete/Hint": { "title": "$:/language/Buttons/Delete/Hint", "text": "Delete this tiddler" }, "$:/language/Buttons/Edit/Caption": { "title": "$:/language/Buttons/Edit/Caption", "text": "edit" }, "$:/language/Buttons/Edit/Hint": { "title": "$:/language/Buttons/Edit/Hint", "text": "Edit this tiddler" }, "$:/language/Buttons/Encryption/Caption": { "title": "$:/language/Buttons/Encryption/Caption", "text": "encryption" }, "$:/language/Buttons/Encryption/Hint": { "title": "$:/language/Buttons/Encryption/Hint", "text": "Set or clear a password for saving this wiki" }, "$:/language/Buttons/Encryption/ClearPassword/Caption": { "title": "$:/language/Buttons/Encryption/ClearPassword/Caption", "text": "clear password" }, "$:/language/Buttons/Encryption/ClearPassword/Hint": { "title": "$:/language/Buttons/Encryption/ClearPassword/Hint", "text": "Clear the password and save this wiki without encryption" }, "$:/language/Buttons/Encryption/SetPassword/Caption": { "title": "$:/language/Buttons/Encryption/SetPassword/Caption", "text": "set password" }, "$:/language/Buttons/Encryption/SetPassword/Hint": { "title": "$:/language/Buttons/Encryption/SetPassword/Hint", "text": "Set a password for saving this wiki with encryption" }, "$:/language/Buttons/ExportPage/Caption": { "title": "$:/language/Buttons/ExportPage/Caption", "text": "export all" }, "$:/language/Buttons/ExportPage/Hint": { "title": "$:/language/Buttons/ExportPage/Hint", "text": "Export all tiddlers" }, "$:/language/Buttons/ExportTiddler/Caption": { "title": "$:/language/Buttons/ExportTiddler/Caption", "text": "export tiddler" }, "$:/language/Buttons/ExportTiddler/Hint": { "title": "$:/language/Buttons/ExportTiddler/Hint", "text": "Export tiddler" }, "$:/language/Buttons/ExportTiddlers/Caption": { "title": "$:/language/Buttons/ExportTiddlers/Caption", "text": "export tiddlers" }, "$:/language/Buttons/ExportTiddlers/Hint": { "title": "$:/language/Buttons/ExportTiddlers/Hint", "text": "Export tiddlers" }, "$:/language/Buttons/SidebarSearch/Hint": { "title": "$:/language/Buttons/SidebarSearch/Hint", "text": "Select the sidebar search field" }, "$:/language/Buttons/Fold/Caption": { "title": "$:/language/Buttons/Fold/Caption", "text": "fold tiddler" }, "$:/language/Buttons/Fold/Hint": { "title": "$:/language/Buttons/Fold/Hint", "text": "Fold the body of this tiddler" }, "$:/language/Buttons/Fold/FoldBar/Caption": { "title": "$:/language/Buttons/Fold/FoldBar/Caption", "text": "fold-bar" }, "$:/language/Buttons/Fold/FoldBar/Hint": { "title": "$:/language/Buttons/Fold/FoldBar/Hint", "text": "Optional bars to fold and unfold tiddlers" }, "$:/language/Buttons/Unfold/Caption": { "title": "$:/language/Buttons/Unfold/Caption", "text": "unfold tiddler" }, "$:/language/Buttons/Unfold/Hint": { "title": "$:/language/Buttons/Unfold/Hint", "text": "Unfold the body of this tiddler" }, "$:/language/Buttons/FoldOthers/Caption": { "title": "$:/language/Buttons/FoldOthers/Caption", "text": "fold other tiddlers" }, "$:/language/Buttons/FoldOthers/Hint": { "title": "$:/language/Buttons/FoldOthers/Hint", "text": "Fold the bodies of other opened tiddlers" }, "$:/language/Buttons/FoldAll/Caption": { "title": "$:/language/Buttons/FoldAll/Caption", "text": "fold all tiddlers" }, "$:/language/Buttons/FoldAll/Hint": { "title": "$:/language/Buttons/FoldAll/Hint", "text": "Fold the bodies of all opened tiddlers" }, "$:/language/Buttons/UnfoldAll/Caption": { "title": "$:/language/Buttons/UnfoldAll/Caption", "text": "unfold all tiddlers" }, "$:/language/Buttons/UnfoldAll/Hint": { "title": "$:/language/Buttons/UnfoldAll/Hint", "text": "Unfold the bodies of all opened tiddlers" }, "$:/language/Buttons/FullScreen/Caption": { "title": "$:/language/Buttons/FullScreen/Caption", "text": "full-screen" }, "$:/language/Buttons/FullScreen/Hint": { "title": "$:/language/Buttons/FullScreen/Hint", "text": "Enter or leave full-screen mode" }, "$:/language/Buttons/Help/Caption": { "title": "$:/language/Buttons/Help/Caption", "text": "help" }, "$:/language/Buttons/Help/Hint": { "title": "$:/language/Buttons/Help/Hint", "text": "Show help panel" }, "$:/language/Buttons/Import/Caption": { "title": "$:/language/Buttons/Import/Caption", "text": "import" }, "$:/language/Buttons/Import/Hint": { "title": "$:/language/Buttons/Import/Hint", "text": "Import many types of file including text, image, TiddlyWiki or JSON" }, "$:/language/Buttons/Info/Caption": { "title": "$:/language/Buttons/Info/Caption", "text": "info" }, "$:/language/Buttons/Info/Hint": { "title": "$:/language/Buttons/Info/Hint", "text": "Show information for this tiddler" }, "$:/language/Buttons/Home/Caption": { "title": "$:/language/Buttons/Home/Caption", "text": "home" }, "$:/language/Buttons/Home/Hint": { "title": "$:/language/Buttons/Home/Hint", "text": "Open the default tiddlers" }, "$:/language/Buttons/Language/Caption": { "title": "$:/language/Buttons/Language/Caption", "text": "language" }, "$:/language/Buttons/Language/Hint": { "title": "$:/language/Buttons/Language/Hint", "text": "Choose the user interface language" }, "$:/language/Buttons/Manager/Caption": { "title": "$:/language/Buttons/Manager/Caption", "text": "tiddler manager" }, "$:/language/Buttons/Manager/Hint": { "title": "$:/language/Buttons/Manager/Hint", "text": "Open tiddler manager" }, "$:/language/Buttons/More/Caption": { "title": "$:/language/Buttons/More/Caption", "text": "more" }, "$:/language/Buttons/More/Hint": { "title": "$:/language/Buttons/More/Hint", "text": "More actions" }, "$:/language/Buttons/NewHere/Caption": { "title": "$:/language/Buttons/NewHere/Caption", "text": "new here" }, "$:/language/Buttons/NewHere/Hint": { "title": "$:/language/Buttons/NewHere/Hint", "text": "Create a new tiddler tagged with this one" }, "$:/language/Buttons/NewJournal/Caption": { "title": "$:/language/Buttons/NewJournal/Caption", "text": "new journal" }, "$:/language/Buttons/NewJournal/Hint": { "title": "$:/language/Buttons/NewJournal/Hint", "text": "Create a new journal tiddler" }, "$:/language/Buttons/NewJournalHere/Caption": { "title": "$:/language/Buttons/NewJournalHere/Caption", "text": "new journal here" }, "$:/language/Buttons/NewJournalHere/Hint": { "title": "$:/language/Buttons/NewJournalHere/Hint", "text": "Create a new journal tiddler tagged with this one" }, "$:/language/Buttons/NewImage/Caption": { "title": "$:/language/Buttons/NewImage/Caption", "text": "new image" }, "$:/language/Buttons/NewImage/Hint": { "title": "$:/language/Buttons/NewImage/Hint", "text": "Create a new image tiddler" }, "$:/language/Buttons/NewMarkdown/Caption": { "title": "$:/language/Buttons/NewMarkdown/Caption", "text": "new Markdown tiddler" }, "$:/language/Buttons/NewMarkdown/Hint": { "title": "$:/language/Buttons/NewMarkdown/Hint", "text": "Create a new Markdown tiddler" }, "$:/language/Buttons/NewTiddler/Caption": { "title": "$:/language/Buttons/NewTiddler/Caption", "text": "new tiddler" }, "$:/language/Buttons/NewTiddler/Hint": { "title": "$:/language/Buttons/NewTiddler/Hint", "text": "Create a new tiddler" }, "$:/language/Buttons/OpenWindow/Caption": { "title": "$:/language/Buttons/OpenWindow/Caption", "text": "open in new window" }, "$:/language/Buttons/OpenWindow/Hint": { "title": "$:/language/Buttons/OpenWindow/Hint", "text": "Open tiddler in new window" }, "$:/language/Buttons/Palette/Caption": { "title": "$:/language/Buttons/Palette/Caption", "text": "palette" }, "$:/language/Buttons/Palette/Hint": { "title": "$:/language/Buttons/Palette/Hint", "text": "Choose the colour palette" }, "$:/language/Buttons/Permalink/Caption": { "title": "$:/language/Buttons/Permalink/Caption", "text": "permalink" }, "$:/language/Buttons/Permalink/Hint": { "title": "$:/language/Buttons/Permalink/Hint", "text": "Set browser address bar to a direct link to this tiddler" }, "$:/language/Buttons/Permaview/Caption": { "title": "$:/language/Buttons/Permaview/Caption", "text": "permaview" }, "$:/language/Buttons/Permaview/Hint": { "title": "$:/language/Buttons/Permaview/Hint", "text": "Set browser address bar to a direct link to all the tiddlers in this story" }, "$:/language/Buttons/Print/Caption": { "title": "$:/language/Buttons/Print/Caption", "text": "print page" }, "$:/language/Buttons/Print/Hint": { "title": "$:/language/Buttons/Print/Hint", "text": "Print the current page" }, "$:/language/Buttons/Refresh/Caption": { "title": "$:/language/Buttons/Refresh/Caption", "text": "refresh" }, "$:/language/Buttons/Refresh/Hint": { "title": "$:/language/Buttons/Refresh/Hint", "text": "Perform a full refresh of the wiki" }, "$:/language/Buttons/Save/Caption": { "title": "$:/language/Buttons/Save/Caption", "text": "ok" }, "$:/language/Buttons/Save/Hint": { "title": "$:/language/Buttons/Save/Hint", "text": "Confirm changes to this tiddler" }, "$:/language/Buttons/SaveWiki/Caption": { "title": "$:/language/Buttons/SaveWiki/Caption", "text": "save changes" }, "$:/language/Buttons/SaveWiki/Hint": { "title": "$:/language/Buttons/SaveWiki/Hint", "text": "Save changes" }, "$:/language/Buttons/StoryView/Caption": { "title": "$:/language/Buttons/StoryView/Caption", "text": "storyview" }, "$:/language/Buttons/StoryView/Hint": { "title": "$:/language/Buttons/StoryView/Hint", "text": "Choose the story visualisation" }, "$:/language/Buttons/HideSideBar/Caption": { "title": "$:/language/Buttons/HideSideBar/Caption", "text": "hide sidebar" }, "$:/language/Buttons/HideSideBar/Hint": { "title": "$:/language/Buttons/HideSideBar/Hint", "text": "Hide sidebar" }, "$:/language/Buttons/ShowSideBar/Caption": { "title": "$:/language/Buttons/ShowSideBar/Caption", "text": "show sidebar" }, "$:/language/Buttons/ShowSideBar/Hint": { "title": "$:/language/Buttons/ShowSideBar/Hint", "text": "Show sidebar" }, "$:/language/Buttons/TagManager/Caption": { "title": "$:/language/Buttons/TagManager/Caption", "text": "tag manager" }, "$:/language/Buttons/TagManager/Hint": { "title": "$:/language/Buttons/TagManager/Hint", "text": "Open tag manager" }, "$:/language/Buttons/Timestamp/Caption": { "title": "$:/language/Buttons/Timestamp/Caption", "text": "timestamps" }, "$:/language/Buttons/Timestamp/Hint": { "title": "$:/language/Buttons/Timestamp/Hint", "text": "Choose whether modifications update timestamps" }, "$:/language/Buttons/Timestamp/On/Caption": { "title": "$:/language/Buttons/Timestamp/On/Caption", "text": "timestamps are on" }, "$:/language/Buttons/Timestamp/On/Hint": { "title": "$:/language/Buttons/Timestamp/On/Hint", "text": "Update timestamps when tiddlers are modified" }, "$:/language/Buttons/Timestamp/Off/Caption": { "title": "$:/language/Buttons/Timestamp/Off/Caption", "text": "timestamps are off" }, "$:/language/Buttons/Timestamp/Off/Hint": { "title": "$:/language/Buttons/Timestamp/Off/Hint", "text": "Don't update timestamps when tiddlers are modified" }, "$:/language/Buttons/Theme/Caption": { "title": "$:/language/Buttons/Theme/Caption", "text": "theme" }, "$:/language/Buttons/Theme/Hint": { "title": "$:/language/Buttons/Theme/Hint", "text": "Choose the display theme" }, "$:/language/Buttons/Bold/Caption": { "title": "$:/language/Buttons/Bold/Caption", "text": "bold" }, "$:/language/Buttons/Bold/Hint": { "title": "$:/language/Buttons/Bold/Hint", "text": "Apply bold formatting to selection" }, "$:/language/Buttons/Clear/Caption": { "title": "$:/language/Buttons/Clear/Caption", "text": "clear" }, "$:/language/Buttons/Clear/Hint": { "title": "$:/language/Buttons/Clear/Hint", "text": "Clear image to solid colour" }, "$:/language/Buttons/EditorHeight/Caption": { "title": "$:/language/Buttons/EditorHeight/Caption", "text": "editor height" }, "$:/language/Buttons/EditorHeight/Caption/Auto": { "title": "$:/language/Buttons/EditorHeight/Caption/Auto", "text": "Automatically adjust height to fit content" }, "$:/language/Buttons/EditorHeight/Caption/Fixed": { "title": "$:/language/Buttons/EditorHeight/Caption/Fixed", "text": "Fixed height:" }, "$:/language/Buttons/EditorHeight/Hint": { "title": "$:/language/Buttons/EditorHeight/Hint", "text": "Choose the height of the text editor" }, "$:/language/Buttons/Excise/Caption": { "title": "$:/language/Buttons/Excise/Caption", "text": "excise" }, "$:/language/Buttons/Excise/Caption/Excise": { "title": "$:/language/Buttons/Excise/Caption/Excise", "text": "Perform excision" }, "$:/language/Buttons/Excise/Caption/MacroName": { "title": "$:/language/Buttons/Excise/Caption/MacroName", "text": "Macro name:" }, "$:/language/Buttons/Excise/Caption/NewTitle": { "title": "$:/language/Buttons/Excise/Caption/NewTitle", "text": "Title of new tiddler:" }, "$:/language/Buttons/Excise/Caption/Replace": { "title": "$:/language/Buttons/Excise/Caption/Replace", "text": "Replace excised text with:" }, "$:/language/Buttons/Excise/Caption/Replace/Macro": { "title": "$:/language/Buttons/Excise/Caption/Replace/Macro", "text": "macro" }, "$:/language/Buttons/Excise/Caption/Replace/Link": { "title": "$:/language/Buttons/Excise/Caption/Replace/Link", "text": "link" }, "$:/language/Buttons/Excise/Caption/Replace/Transclusion": { "title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion", "text": "transclusion" }, "$:/language/Buttons/Excise/Caption/Tag": { "title": "$:/language/Buttons/Excise/Caption/Tag", "text": "Tag new tiddler with the title of this tiddler" }, "$:/language/Buttons/Excise/Caption/TiddlerExists": { "title": "$:/language/Buttons/Excise/Caption/TiddlerExists", "text": "Warning: tiddler already exists" }, "$:/language/Buttons/Excise/Hint": { "title": "$:/language/Buttons/Excise/Hint", "text": "Excise the selected text into a new tiddler" }, "$:/language/Buttons/Heading1/Caption": { "title": "$:/language/Buttons/Heading1/Caption", "text": "heading 1" }, "$:/language/Buttons/Heading1/Hint": { "title": "$:/language/Buttons/Heading1/Hint", "text": "Apply heading level 1 formatting to lines containing selection" }, "$:/language/Buttons/Heading2/Caption": { "title": "$:/language/Buttons/Heading2/Caption", "text": "heading 2" }, "$:/language/Buttons/Heading2/Hint": { "title": "$:/language/Buttons/Heading2/Hint", "text": "Apply heading level 2 formatting to lines containing selection" }, "$:/language/Buttons/Heading3/Caption": { "title": "$:/language/Buttons/Heading3/Caption", "text": "heading 3" }, "$:/language/Buttons/Heading3/Hint": { "title": "$:/language/Buttons/Heading3/Hint", "text": "Apply heading level 3 formatting to lines containing selection" }, "$:/language/Buttons/Heading4/Caption": { "title": "$:/language/Buttons/Heading4/Caption", "text": "heading 4" }, "$:/language/Buttons/Heading4/Hint": { "title": "$:/language/Buttons/Heading4/Hint", "text": "Apply heading level 4 formatting to lines containing selection" }, "$:/language/Buttons/Heading5/Caption": { "title": "$:/language/Buttons/Heading5/Caption", "text": "heading 5" }, "$:/language/Buttons/Heading5/Hint": { "title": "$:/language/Buttons/Heading5/Hint", "text": "Apply heading level 5 formatting to lines containing selection" }, "$:/language/Buttons/Heading6/Caption": { "title": "$:/language/Buttons/Heading6/Caption", "text": "heading 6" }, "$:/language/Buttons/Heading6/Hint": { "title": "$:/language/Buttons/Heading6/Hint", "text": "Apply heading level 6 formatting to lines containing selection" }, "$:/language/Buttons/Italic/Caption": { "title": "$:/language/Buttons/Italic/Caption", "text": "italic" }, "$:/language/Buttons/Italic/Hint": { "title": "$:/language/Buttons/Italic/Hint", "text": "Apply italic formatting to selection" }, "$:/language/Buttons/LineWidth/Caption": { "title": "$:/language/Buttons/LineWidth/Caption", "text": "line width" }, "$:/language/Buttons/LineWidth/Hint": { "title": "$:/language/Buttons/LineWidth/Hint", "text": "Set line width for painting" }, "$:/language/Buttons/Link/Caption": { "title": "$:/language/Buttons/Link/Caption", "text": "link" }, "$:/language/Buttons/Link/Hint": { "title": "$:/language/Buttons/Link/Hint", "text": "Create wikitext link" }, "$:/language/Buttons/Linkify/Caption": { "title": "$:/language/Buttons/Linkify/Caption", "text": "wikilink" }, "$:/language/Buttons/Linkify/Hint": { "title": "$:/language/Buttons/Linkify/Hint", "text": "Wrap selection in square brackets" }, "$:/language/Buttons/ListBullet/Caption": { "title": "$:/language/Buttons/ListBullet/Caption", "text": "bulleted list" }, "$:/language/Buttons/ListBullet/Hint": { "title": "$:/language/Buttons/ListBullet/Hint", "text": "Apply bulleted list formatting to lines containing selection" }, "$:/language/Buttons/ListNumber/Caption": { "title": "$:/language/Buttons/ListNumber/Caption", "text": "numbered list" }, "$:/language/Buttons/ListNumber/Hint": { "title": "$:/language/Buttons/ListNumber/Hint", "text": "Apply numbered list formatting to lines containing selection" }, "$:/language/Buttons/MonoBlock/Caption": { "title": "$:/language/Buttons/MonoBlock/Caption", "text": "monospaced block" }, "$:/language/Buttons/MonoBlock/Hint": { "title": "$:/language/Buttons/MonoBlock/Hint", "text": "Apply monospaced block formatting to lines containing selection" }, "$:/language/Buttons/MonoLine/Caption": { "title": "$:/language/Buttons/MonoLine/Caption", "text": "monospaced" }, "$:/language/Buttons/MonoLine/Hint": { "title": "$:/language/Buttons/MonoLine/Hint", "text": "Apply monospaced character formatting to selection" }, "$:/language/Buttons/Opacity/Caption": { "title": "$:/language/Buttons/Opacity/Caption", "text": "opacity" }, "$:/language/Buttons/Opacity/Hint": { "title": "$:/language/Buttons/Opacity/Hint", "text": "Set painting opacity" }, "$:/language/Buttons/Paint/Caption": { "title": "$:/language/Buttons/Paint/Caption", "text": "paint colour" }, "$:/language/Buttons/Paint/Hint": { "title": "$:/language/Buttons/Paint/Hint", "text": "Set painting colour" }, "$:/language/Buttons/Picture/Caption": { "title": "$:/language/Buttons/Picture/Caption", "text": "picture" }, "$:/language/Buttons/Picture/Hint": { "title": "$:/language/Buttons/Picture/Hint", "text": "Insert picture" }, "$:/language/Buttons/Preview/Caption": { "title": "$:/language/Buttons/Preview/Caption", "text": "preview" }, "$:/language/Buttons/Preview/Hint": { "title": "$:/language/Buttons/Preview/Hint", "text": "Show preview pane" }, "$:/language/Buttons/PreviewType/Caption": { "title": "$:/language/Buttons/PreviewType/Caption", "text": "preview type" }, "$:/language/Buttons/PreviewType/Hint": { "title": "$:/language/Buttons/PreviewType/Hint", "text": "Choose preview type" }, "$:/language/Buttons/Quote/Caption": { "title": "$:/language/Buttons/Quote/Caption", "text": "quote" }, "$:/language/Buttons/Quote/Hint": { "title": "$:/language/Buttons/Quote/Hint", "text": "Apply quoted text formatting to lines containing selection" }, "$:/language/Buttons/RotateLeft/Caption": { "title": "$:/language/Buttons/RotateLeft/Caption", "text": "rotate left" }, "$:/language/Buttons/RotateLeft/Hint": { "title": "$:/language/Buttons/RotateLeft/Hint", "text": "Rotate image left by 90 degrees" }, "$:/language/Buttons/Size/Caption": { "title": "$:/language/Buttons/Size/Caption", "text": "image size" }, "$:/language/Buttons/Size/Caption/Height": { "title": "$:/language/Buttons/Size/Caption/Height", "text": "Height:" }, "$:/language/Buttons/Size/Caption/Resize": { "title": "$:/language/Buttons/Size/Caption/Resize", "text": "Resize image" }, "$:/language/Buttons/Size/Caption/Width": { "title": "$:/language/Buttons/Size/Caption/Width", "text": "Width:" }, "$:/language/Buttons/Size/Hint": { "title": "$:/language/Buttons/Size/Hint", "text": "Set image size" }, "$:/language/Buttons/Stamp/Caption": { "title": "$:/language/Buttons/Stamp/Caption", "text": "stamp" }, "$:/language/Buttons/Stamp/Caption/New": { "title": "$:/language/Buttons/Stamp/Caption/New", "text": "Add your own" }, "$:/language/Buttons/Stamp/Hint": { "title": "$:/language/Buttons/Stamp/Hint", "text": "Insert a preconfigured snippet of text" }, "$:/language/Buttons/Stamp/New/Title": { "title": "$:/language/Buttons/Stamp/New/Title", "text": "Name as shown in menu" }, "$:/language/Buttons/Stamp/New/Text": { "title": "$:/language/Buttons/Stamp/New/Text", "text": "Text of snippet. (Remember to add a descriptive title in the caption field)." }, "$:/language/Buttons/Strikethrough/Caption": { "title": "$:/language/Buttons/Strikethrough/Caption", "text": "strikethrough" }, "$:/language/Buttons/Strikethrough/Hint": { "title": "$:/language/Buttons/Strikethrough/Hint", "text": "Apply strikethrough formatting to selection" }, "$:/language/Buttons/Subscript/Caption": { "title": "$:/language/Buttons/Subscript/Caption", "text": "subscript" }, "$:/language/Buttons/Subscript/Hint": { "title": "$:/language/Buttons/Subscript/Hint", "text": "Apply subscript formatting to selection" }, "$:/language/Buttons/Superscript/Caption": { "title": "$:/language/Buttons/Superscript/Caption", "text": "superscript" }, "$:/language/Buttons/Superscript/Hint": { "title": "$:/language/Buttons/Superscript/Hint", "text": "Apply superscript formatting to selection" }, "$:/language/Buttons/ToggleSidebar/Hint": { "title": "$:/language/Buttons/ToggleSidebar/Hint", "text": "Toggle the sidebar visibility" }, "$:/language/Buttons/Transcludify/Caption": { "title": "$:/language/Buttons/Transcludify/Caption", "text": "transclusion" }, "$:/language/Buttons/Transcludify/Hint": { "title": "$:/language/Buttons/Transcludify/Hint", "text": "Wrap selection in curly brackets" }, "$:/language/Buttons/Underline/Caption": { "title": "$:/language/Buttons/Underline/Caption", "text": "underline" }, "$:/language/Buttons/Underline/Hint": { "title": "$:/language/Buttons/Underline/Hint", "text": "Apply underline formatting to selection" }, "$:/language/ControlPanel/Advanced/Caption": { "title": "$:/language/ControlPanel/Advanced/Caption", "text": "Advanced" }, "$:/language/ControlPanel/Advanced/Hint": { "title": "$:/language/ControlPanel/Advanced/Hint", "text": "Internal information about this TiddlyWiki" }, "$:/language/ControlPanel/Appearance/Caption": { "title": "$:/language/ControlPanel/Appearance/Caption", "text": "Appearance" }, "$:/language/ControlPanel/Appearance/Hint": { "title": "$:/language/ControlPanel/Appearance/Hint", "text": "Ways to customise the appearance of your TiddlyWiki." }, "$:/language/ControlPanel/Basics/AnimDuration/Prompt": { "title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt", "text": "Animation duration" }, "$:/language/ControlPanel/Basics/AutoFocus/Prompt": { "title": "$:/language/ControlPanel/Basics/AutoFocus/Prompt", "text": "Default focus field for new tiddlers" }, "$:/language/ControlPanel/Basics/Caption": { "title": "$:/language/ControlPanel/Basics/Caption", "text": "Basics" }, "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": { "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint", "text": "Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>" }, "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": { "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt", "text": "Default tiddlers" }, "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": { "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint", "text": "Choose which tiddlers are displayed at startup" }, "$:/language/ControlPanel/Basics/Language/Prompt": { "title": "$:/language/ControlPanel/Basics/Language/Prompt", "text": "Hello! Current language:" }, "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": { "title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt", "text": "Title of new journal tiddlers" }, "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": { "title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt", "text": "Text for new journal tiddlers" }, "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": { "title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt", "text": "Tags for new journal tiddlers" }, "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt": { "title": "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt", "text": "Title of new tiddlers" }, "$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt": { "title": "$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt", "text": "Tags for new tiddlers" }, "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": { "title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt", "text": "Number of overridden shadow tiddlers" }, "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": { "title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt", "text": "Number of shadow tiddlers" }, "$:/language/ControlPanel/Basics/Subtitle/Prompt": { "title": "$:/language/ControlPanel/Basics/Subtitle/Prompt", "text": "Subtitle" }, "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": { "title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt", "text": "Number of system tiddlers" }, "$:/language/ControlPanel/Basics/Tags/Prompt": { "title": "$:/language/ControlPanel/Basics/Tags/Prompt", "text": "Number of tags" }, "$:/language/ControlPanel/Basics/Tiddlers/Prompt": { "title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt", "text": "Number of tiddlers" }, "$:/language/ControlPanel/Basics/Title/Prompt": { "title": "$:/language/ControlPanel/Basics/Title/Prompt", "text": "Title of this ~TiddlyWiki" }, "$:/language/ControlPanel/Basics/Username/Prompt": { "title": "$:/language/ControlPanel/Basics/Username/Prompt", "text": "Username for signing edits" }, "$:/language/ControlPanel/Basics/Version/Prompt": { "title": "$:/language/ControlPanel/Basics/Version/Prompt", "text": "~TiddlyWiki version" }, "$:/language/ControlPanel/EditorTypes/Caption": { "title": "$:/language/ControlPanel/EditorTypes/Caption", "text": "Editor Types" }, "$:/language/ControlPanel/EditorTypes/Editor/Caption": { "title": "$:/language/ControlPanel/EditorTypes/Editor/Caption", "text": "Editor" }, "$:/language/ControlPanel/EditorTypes/Hint": { "title": "$:/language/ControlPanel/EditorTypes/Hint", "text": "These tiddlers determine which editor is used to edit specific tiddler types." }, "$:/language/ControlPanel/EditorTypes/Type/Caption": { "title": "$:/language/ControlPanel/EditorTypes/Type/Caption", "text": "Type" }, "$:/language/ControlPanel/Info/Caption": { "title": "$:/language/ControlPanel/Info/Caption", "text": "Info" }, "$:/language/ControlPanel/Info/Hint": { "title": "$:/language/ControlPanel/Info/Hint", "text": "Information about this TiddlyWiki" }, "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt", "text": "Type shortcut here" }, "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption", "text": "add shortcut" }, "$:/language/ControlPanel/KeyboardShortcuts/Caption": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Caption", "text": "Keyboard Shortcuts" }, "$:/language/ControlPanel/KeyboardShortcuts/Hint": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Hint", "text": "Manage keyboard shortcut assignments" }, "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": { "title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption", "text": "No keyboard shortcuts assigned" }, "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint", "text": "remove keyboard shortcut" }, "$:/language/ControlPanel/KeyboardShortcuts/Platform/All": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All", "text": "All platforms" }, "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac", "text": "Macintosh platform only" }, "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac", "text": "Non-Macintosh platforms only" }, "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux", "text": "Linux platform only" }, "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux", "text": "Non-Linux platforms only" }, "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows", "text": "Windows platform only" }, "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": { "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows", "text": "Non-Windows platforms only" }, "$:/language/ControlPanel/LoadedModules/Caption": { "title": "$:/language/ControlPanel/LoadedModules/Caption", "text": "Loaded Modules" }, "$:/language/ControlPanel/LoadedModules/Hint": { "title": "$:/language/ControlPanel/LoadedModules/Hint", "text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process." }, "$:/language/ControlPanel/Palette/Caption": { "title": "$:/language/ControlPanel/Palette/Caption", "text": "Palette" }, "$:/language/ControlPanel/Palette/Editor/Clone/Caption": { "title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption", "text": "clone" }, "$:/language/ControlPanel/Palette/Editor/Clone/Prompt": { "title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt", "text": "It is recommended that you clone this shadow palette before editing it" }, "$:/language/ControlPanel/Palette/Editor/Delete/Hint": { "title": "$:/language/ControlPanel/Palette/Editor/Delete/Hint", "text": "delete this entry from the current palette" }, "$:/language/ControlPanel/Palette/Editor/Names/External/Show": { "title": "$:/language/ControlPanel/Palette/Editor/Names/External/Show", "text": "Show color names that are not part of the current palette" }, "$:/language/ControlPanel/Palette/Editor/Prompt/Modified": { "title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified", "text": "This shadow palette has been modified" }, "$:/language/ControlPanel/Palette/Editor/Prompt": { "title": "$:/language/ControlPanel/Palette/Editor/Prompt", "text": "Editing" }, "$:/language/ControlPanel/Palette/Editor/Reset/Caption": { "title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption", "text": "reset" }, "$:/language/ControlPanel/Palette/HideEditor/Caption": { "title": "$:/language/ControlPanel/Palette/HideEditor/Caption", "text": "hide editor" }, "$:/language/ControlPanel/Palette/Prompt": { "title": "$:/language/ControlPanel/Palette/Prompt", "text": "Current palette:" }, "$:/language/ControlPanel/Palette/ShowEditor/Caption": { "title": "$:/language/ControlPanel/Palette/ShowEditor/Caption", "text": "show editor" }, "$:/language/ControlPanel/Parsing/Caption": { "title": "$:/language/ControlPanel/Parsing/Caption", "text": "Parsing" }, "$:/language/ControlPanel/Parsing/Hint": { "title": "$:/language/ControlPanel/Parsing/Hint", "text": "Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation." }, "$:/language/ControlPanel/Parsing/Block/Caption": { "title": "$:/language/ControlPanel/Parsing/Block/Caption", "text": "Block Parse Rules" }, "$:/language/ControlPanel/Parsing/Inline/Caption": { "title": "$:/language/ControlPanel/Parsing/Inline/Caption", "text": "Inline Parse Rules" }, "$:/language/ControlPanel/Parsing/Pragma/Caption": { "title": "$:/language/ControlPanel/Parsing/Pragma/Caption", "text": "Pragma Parse Rules" }, "$:/language/ControlPanel/Plugins/Add/Caption": { "title": "$:/language/ControlPanel/Plugins/Add/Caption", "text": "Get more plugins" }, "$:/language/ControlPanel/Plugins/Add/Hint": { "title": "$:/language/ControlPanel/Plugins/Add/Hint", "text": "Install plugins from the official library" }, "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": { "title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint", "text": "This plugin is already installed at version <$text text=<<installedVersion>>/>" }, "$:/language/ControlPanel/Plugins/AlsoRequires": { "title": "$:/language/ControlPanel/Plugins/AlsoRequires", "text": "Also requires:" }, "$:/language/ControlPanel/Plugins/Caption": { "title": "$:/language/ControlPanel/Plugins/Caption", "text": "Plugins" }, "$:/language/ControlPanel/Plugins/Disable/Caption": { "title": "$:/language/ControlPanel/Plugins/Disable/Caption", "text": "disable" }, "$:/language/ControlPanel/Plugins/Disable/Hint": { "title": "$:/language/ControlPanel/Plugins/Disable/Hint", "text": "Disable this plugin when reloading page" }, "$:/language/ControlPanel/Plugins/Disabled/Status": { "title": "$:/language/ControlPanel/Plugins/Disabled/Status", "text": "(disabled)" }, "$:/language/ControlPanel/Plugins/Downgrade/Caption": { "title": "$:/language/ControlPanel/Plugins/Downgrade/Caption", "text": "downgrade" }, "$:/language/ControlPanel/Plugins/Empty/Hint": { "title": "$:/language/ControlPanel/Plugins/Empty/Hint", "text": "None" }, "$:/language/ControlPanel/Plugins/Enable/Caption": { "title": "$:/language/ControlPanel/Plugins/Enable/Caption", "text": "enable" }, "$:/language/ControlPanel/Plugins/Enable/Hint": { "title": "$:/language/ControlPanel/Plugins/Enable/Hint", "text": "Enable this plugin when reloading page" }, "$:/language/ControlPanel/Plugins/Install/Caption": { "title": "$:/language/ControlPanel/Plugins/Install/Caption", "text": "install" }, "$:/language/ControlPanel/Plugins/Installed/Hint": { "title": "$:/language/ControlPanel/Plugins/Installed/Hint", "text": "Currently installed plugins:" }, "$:/language/ControlPanel/Plugins/Languages/Caption": { "title": "$:/language/ControlPanel/Plugins/Languages/Caption", "text": "Languages" }, "$:/language/ControlPanel/Plugins/Languages/Hint": { "title": "$:/language/ControlPanel/Plugins/Languages/Hint", "text": "Language pack plugins" }, "$:/language/ControlPanel/Plugins/NoInfoFound/Hint": { "title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint", "text": "No ''\"<$text text=<<currentTab>>/>\"'' found" }, "$:/language/ControlPanel/Plugins/NotInstalled/Hint": { "title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint", "text": "This plugin is not currently installed" }, "$:/language/ControlPanel/Plugins/OpenPluginLibrary": { "title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary", "text": "open plugin library" }, "$:/language/ControlPanel/Plugins/ClosePluginLibrary": { "title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary", "text": "close plugin library" }, "$:/language/ControlPanel/Plugins/PluginWillRequireReload": { "title": "$:/language/ControlPanel/Plugins/PluginWillRequireReload", "text": "(requires reload)" }, "$:/language/ControlPanel/Plugins/Plugins/Caption": { "title": "$:/language/ControlPanel/Plugins/Plugins/Caption", "text": "Plugins" }, "$:/language/ControlPanel/Plugins/Plugins/Hint": { "title": "$:/language/ControlPanel/Plugins/Plugins/Hint", "text": "Plugins" }, "$:/language/ControlPanel/Plugins/Reinstall/Caption": { "title": "$:/language/ControlPanel/Plugins/Reinstall/Caption", "text": "reinstall" }, "$:/language/ControlPanel/Plugins/Themes/Caption": { "title": "$:/language/ControlPanel/Plugins/Themes/Caption", "text": "Themes" }, "$:/language/ControlPanel/Plugins/Themes/Hint": { "title": "$:/language/ControlPanel/Plugins/Themes/Hint", "text": "Theme plugins" }, "$:/language/ControlPanel/Plugins/Update/Caption": { "title": "$:/language/ControlPanel/Plugins/Update/Caption", "text": "update" }, "$:/language/ControlPanel/Plugins/Updates/Caption": { "title": "$:/language/ControlPanel/Plugins/Updates/Caption", "text": "Updates" }, "$:/language/ControlPanel/Plugins/Updates/Hint": { "title": "$:/language/ControlPanel/Plugins/Updates/Hint", "text": "Available updates to installed plugins" }, "$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption": { "title": "$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption", "text": "Update <<update-count>> plugins" }, "$:/language/ControlPanel/Plugins/SubPluginPrompt": { "title": "$:/language/ControlPanel/Plugins/SubPluginPrompt", "text": "With <<count>> sub-plugins available" }, "$:/language/ControlPanel/Saving/Caption": { "title": "$:/language/ControlPanel/Saving/Caption", "text": "Saving" }, "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": { "title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description", "text": "Permit automatic saving for the download saver" }, "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": { "title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint", "text": "Enable Autosave for Download Saver" }, "$:/language/ControlPanel/Saving/DownloadSaver/Caption": { "title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption", "text": "Download Saver" }, "$:/language/ControlPanel/Saving/DownloadSaver/Hint": { "title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint", "text": "These settings apply to the HTML5-compatible download saver" }, "$:/language/ControlPanel/Saving/General/Caption": { "title": "$:/language/ControlPanel/Saving/General/Caption", "text": "General" }, "$:/language/ControlPanel/Saving/General/Hint": { "title": "$:/language/ControlPanel/Saving/General/Hint", "text": "These settings apply to all the loaded savers" }, "$:/language/ControlPanel/Saving/Hint": { "title": "$:/language/ControlPanel/Saving/Hint", "text": "Settings used for saving the entire TiddlyWiki as a single file via a saver module" }, "$:/language/ControlPanel/Saving/GitService/Branch": { "title": "$:/language/ControlPanel/Saving/GitService/Branch", "text": "Target branch for saving" }, "$:/language/ControlPanel/Saving/GitService/CommitMessage": { "title": "$:/language/ControlPanel/Saving/GitService/CommitMessage", "text": "Saved by TiddlyWiki" }, "$:/language/ControlPanel/Saving/GitService/Description": { "title": "$:/language/ControlPanel/Saving/GitService/Description", "text": "These settings are only used when saving to <<service-name>>" }, "$:/language/ControlPanel/Saving/GitService/Filename": { "title": "$:/language/ControlPanel/Saving/GitService/Filename", "text": "Filename of target file (e.g. `index.html`)" }, "$:/language/ControlPanel/Saving/GitService/Path": { "title": "$:/language/ControlPanel/Saving/GitService/Path", "text": "Path to target file (e.g. `/wiki/`)" }, "$:/language/ControlPanel/Saving/GitService/Repo": { "title": "$:/language/ControlPanel/Saving/GitService/Repo", "text": "Target repository (e.g. `Jermolene/TiddlyWiki5`)" }, "$:/language/ControlPanel/Saving/GitService/ServerURL": { "title": "$:/language/ControlPanel/Saving/GitService/ServerURL", "text": "Server API URL" }, "$:/language/ControlPanel/Saving/GitService/UserName": { "title": "$:/language/ControlPanel/Saving/GitService/UserName", "text": "Username" }, "$:/language/ControlPanel/Saving/GitService/GitHub/Caption": { "title": "$:/language/ControlPanel/Saving/GitService/GitHub/Caption", "text": "~GitHub Saver" }, "$:/language/ControlPanel/Saving/GitService/GitHub/Password": { "title": "$:/language/ControlPanel/Saving/GitService/GitHub/Password", "text": "Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)" }, "$:/language/ControlPanel/Saving/GitService/GitLab/Caption": { "title": "$:/language/ControlPanel/Saving/GitService/GitLab/Caption", "text": "~GitLab Saver" }, "$:/language/ControlPanel/Saving/GitService/GitLab/Password": { "title": "$:/language/ControlPanel/Saving/GitService/GitLab/Password", "text": "Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)" }, "$:/language/ControlPanel/Saving/GitService/Gitea/Caption": { "title": "$:/language/ControlPanel/Saving/GitService/Gitea/Caption", "text": "Gitea Saver" }, "$:/language/ControlPanel/Saving/GitService/Gitea/Password": { "title": "$:/language/ControlPanel/Saving/GitService/Gitea/Password", "text": "Personal access token for API (via Gitea’s web interface: `Settings | Applications | Generate New Token`)" }, "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading", "text": "Advanced Settings" }, "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir", "text": "Backup Directory" }, "$:/language/ControlPanel/Saving/TiddlySpot/Backups": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups", "text": "Backups" }, "$:/language/ControlPanel/Saving/TiddlySpot/Caption": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption", "text": "~TiddlySpot Saver" }, "$:/language/ControlPanel/Saving/TiddlySpot/Description": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/Description", "text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server" }, "$:/language/ControlPanel/Saving/TiddlySpot/Filename": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename", "text": "Upload Filename" }, "$:/language/ControlPanel/Saving/TiddlySpot/Heading": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading", "text": "~TiddlySpot" }, "$:/language/ControlPanel/Saving/TiddlySpot/Hint": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint", "text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//" }, "$:/language/ControlPanel/Saving/TiddlySpot/Password": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/Password", "text": "Password" }, "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL", "text": "Server URL" }, "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir", "text": "Upload Directory" }, "$:/language/ControlPanel/Saving/TiddlySpot/UserName": { "title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName", "text": "Wiki Name" }, "$:/language/ControlPanel/Settings/AutoSave/Caption": { "title": "$:/language/ControlPanel/Settings/AutoSave/Caption", "text": "Autosave" }, "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": { "title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description", "text": "Do not save changes automatically" }, "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": { "title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description", "text": "Save changes automatically" }, "$:/language/ControlPanel/Settings/AutoSave/Hint": { "title": "$:/language/ControlPanel/Settings/AutoSave/Hint", "text": "Attempt to automatically save changes during editing when using a supporting saver" }, "$:/language/ControlPanel/Settings/CamelCase/Caption": { "title": "$:/language/ControlPanel/Settings/CamelCase/Caption", "text": "Camel Case Wiki Links" }, "$:/language/ControlPanel/Settings/CamelCase/Hint": { "title": "$:/language/ControlPanel/Settings/CamelCase/Hint", "text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect" }, "$:/language/ControlPanel/Settings/CamelCase/Description": { "title": "$:/language/ControlPanel/Settings/CamelCase/Description", "text": "Enable automatic ~CamelCase linking" }, "$:/language/ControlPanel/Settings/Caption": { "title": "$:/language/ControlPanel/Settings/Caption", "text": "Settings" }, "$:/language/ControlPanel/Settings/EditorToolbar/Caption": { "title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption", "text": "Editor Toolbar" }, "$:/language/ControlPanel/Settings/EditorToolbar/Hint": { "title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint", "text": "Enable or disable the editor toolbar:" }, "$:/language/ControlPanel/Settings/EditorToolbar/Description": { "title": "$:/language/ControlPanel/Settings/EditorToolbar/Description", "text": "Show editor toolbar" }, "$:/language/ControlPanel/Settings/InfoPanelMode/Caption": { "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption", "text": "Tiddler Info Panel Mode" }, "$:/language/ControlPanel/Settings/InfoPanelMode/Hint": { "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint", "text": "Control when the tiddler info panel closes:" }, "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": { "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description", "text": "Tiddler info panel closes automatically" }, "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": { "title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description", "text": "Tiddler info panel stays open until explicitly closed" }, "$:/language/ControlPanel/Settings/Hint": { "title": "$:/language/ControlPanel/Settings/Hint", "text": "These settings let you customise the behaviour of TiddlyWiki." }, "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": { "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption", "text": "Navigation Address Bar" }, "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": { "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint", "text": "Behaviour of the browser address bar when navigating to a tiddler:" }, "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": { "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description", "text": "Do not update the address bar" }, "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": { "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description", "text": "Include the target tiddler" }, "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": { "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description", "text": "Include the target tiddler and the current story sequence" }, "$:/language/ControlPanel/Settings/NavigationHistory/Caption": { "title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption", "text": "Navigation History" }, "$:/language/ControlPanel/Settings/NavigationHistory/Hint": { "title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint", "text": "Update browser history when navigating to a tiddler:" }, "$:/language/ControlPanel/Settings/NavigationHistory/No/Description": { "title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description", "text": "Do not update history" }, "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": { "title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description", "text": "Update history" }, "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption": { "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption", "text": "Permalink/permaview Mode" }, "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint": { "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint", "text": "Choose how permalink/permaview is handled:" }, "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description": { "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description", "text": "Copy permalink/permaview URL to clipboard" }, "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description": { "title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description", "text": "Update address bar with permalink/permaview URL" }, "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": { "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption", "text": "Performance Instrumentation" }, "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": { "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint", "text": "Displays performance statistics in the browser developer console. Requires reload to take effect" }, "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": { "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description", "text": "Enable performance instrumentation" }, "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": { "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption", "text": "Toolbar Button Style" }, "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": { "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint", "text": "Choose the style for toolbar buttons:" }, "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": { "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless", "text": "Borderless" }, "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": { "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed", "text": "Boxed" }, "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": { "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded", "text": "Rounded" }, "$:/language/ControlPanel/Settings/ToolbarButtons/Caption": { "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption", "text": "Toolbar Buttons" }, "$:/language/ControlPanel/Settings/ToolbarButtons/Hint": { "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint", "text": "Default toolbar button appearance:" }, "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": { "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description", "text": "Include icon" }, "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": { "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description", "text": "Include text" }, "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": { "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption", "text": "Default Sidebar Tab" }, "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": { "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint", "text": "Specify which sidebar tab is displayed by default" }, "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption": { "title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption", "text": "Default More Sidebar Tab" }, "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint": { "title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint", "text": "Specify which More sidebar tab is displayed by default" }, "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": { "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption", "text": "Tiddler Opening Behaviour" }, "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": { "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint", "text": "Navigation from //within// the story river" }, "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": { "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint", "text": "Navigation from //outside// the story river" }, "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": { "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove", "text": "Open above the current tiddler" }, "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": { "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow", "text": "Open below the current tiddler" }, "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": { "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop", "text": "Open at the top of the story river" }, "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": { "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom", "text": "Open at the bottom of the story river" }, "$:/language/ControlPanel/Settings/TitleLinks/Caption": { "title": "$:/language/ControlPanel/Settings/TitleLinks/Caption", "text": "Tiddler Titles" }, "$:/language/ControlPanel/Settings/TitleLinks/Hint": { "title": "$:/language/ControlPanel/Settings/TitleLinks/Hint", "text": "Optionally display tiddler titles as links" }, "$:/language/ControlPanel/Settings/TitleLinks/No/Description": { "title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description", "text": "Do not display tiddler titles as links" }, "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": { "title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description", "text": "Display tiddler titles as links" }, "$:/language/ControlPanel/Settings/MissingLinks/Caption": { "title": "$:/language/ControlPanel/Settings/MissingLinks/Caption", "text": "Wiki Links" }, "$:/language/ControlPanel/Settings/MissingLinks/Hint": { "title": "$:/language/ControlPanel/Settings/MissingLinks/Hint", "text": "Choose whether to link to tiddlers that do not exist yet" }, "$:/language/ControlPanel/Settings/MissingLinks/Description": { "title": "$:/language/ControlPanel/Settings/MissingLinks/Description", "text": "Enable links to missing tiddlers" }, "$:/language/ControlPanel/StoryView/Caption": { "title": "$:/language/ControlPanel/StoryView/Caption", "text": "Story View" }, "$:/language/ControlPanel/StoryView/Prompt": { "title": "$:/language/ControlPanel/StoryView/Prompt", "text": "Current view:" }, "$:/language/ControlPanel/Stylesheets/Caption": { "title": "$:/language/ControlPanel/Stylesheets/Caption", "text": "Stylesheets" }, "$:/language/ControlPanel/Stylesheets/Expand/Caption": { "title": "$:/language/ControlPanel/Stylesheets/Expand/Caption", "text": "Expand All" }, "$:/language/ControlPanel/Stylesheets/Hint": { "title": "$:/language/ControlPanel/Stylesheets/Hint", "text": "This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>" }, "$:/language/ControlPanel/Stylesheets/Restore/Caption": { "title": "$:/language/ControlPanel/Stylesheets/Restore/Caption", "text": "Restore" }, "$:/language/ControlPanel/Theme/Caption": { "title": "$:/language/ControlPanel/Theme/Caption", "text": "Theme" }, "$:/language/ControlPanel/Theme/Prompt": { "title": "$:/language/ControlPanel/Theme/Prompt", "text": "Current theme:" }, "$:/language/ControlPanel/TiddlerFields/Caption": { "title": "$:/language/ControlPanel/TiddlerFields/Caption", "text": "Tiddler Fields" }, "$:/language/ControlPanel/TiddlerFields/Hint": { "title": "$:/language/ControlPanel/TiddlerFields/Hint", "text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)." }, "$:/language/ControlPanel/Toolbars/Caption": { "title": "$:/language/ControlPanel/Toolbars/Caption", "text": "Toolbars" }, "$:/language/ControlPanel/Toolbars/EditToolbar/Caption": { "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption", "text": "Edit Toolbar" }, "$:/language/ControlPanel/Toolbars/EditToolbar/Hint": { "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint", "text": "Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering" }, "$:/language/ControlPanel/Toolbars/Hint": { "title": "$:/language/ControlPanel/Toolbars/Hint", "text": "Select which toolbar buttons are displayed" }, "$:/language/ControlPanel/Toolbars/PageControls/Caption": { "title": "$:/language/ControlPanel/Toolbars/PageControls/Caption", "text": "Page Toolbar" }, "$:/language/ControlPanel/Toolbars/PageControls/Hint": { "title": "$:/language/ControlPanel/Toolbars/PageControls/Hint", "text": "Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering" }, "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": { "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption", "text": "Editor Toolbar" }, "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": { "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint", "text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering" }, "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": { "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption", "text": "View Toolbar" }, "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": { "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint", "text": "Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering" }, "$:/language/ControlPanel/Tools/Download/Full/Caption": { "title": "$:/language/ControlPanel/Tools/Download/Full/Caption", "text": "Download full wiki" }, "$:/language/Date/DaySuffix/1": { "title": "$:/language/Date/DaySuffix/1", "text": "st" }, "$:/language/Date/DaySuffix/2": { "title": "$:/language/Date/DaySuffix/2", "text": "nd" }, "$:/language/Date/DaySuffix/3": { "title": "$:/language/Date/DaySuffix/3", "text": "rd" }, "$:/language/Date/DaySuffix/4": { "title": "$:/language/Date/DaySuffix/4", "text": "th" }, "$:/language/Date/DaySuffix/5": { "title": "$:/language/Date/DaySuffix/5", "text": "th" }, "$:/language/Date/DaySuffix/6": { "title": "$:/language/Date/DaySuffix/6", "text": "th" }, "$:/language/Date/DaySuffix/7": { "title": "$:/language/Date/DaySuffix/7", "text": "th" }, "$:/language/Date/DaySuffix/8": { "title": "$:/language/Date/DaySuffix/8", "text": "th" }, "$:/language/Date/DaySuffix/9": { "title": "$:/language/Date/DaySuffix/9", "text": "th" }, "$:/language/Date/DaySuffix/10": { "title": "$:/language/Date/DaySuffix/10", "text": "th" }, "$:/language/Date/DaySuffix/11": { "title": "$:/language/Date/DaySuffix/11", "text": "th" }, "$:/language/Date/DaySuffix/12": { "title": "$:/language/Date/DaySuffix/12", "text": "th" }, "$:/language/Date/DaySuffix/13": { "title": "$:/language/Date/DaySuffix/13", "text": "th" }, "$:/language/Date/DaySuffix/14": { "title": "$:/language/Date/DaySuffix/14", "text": "th" }, "$:/language/Date/DaySuffix/15": { "title": "$:/language/Date/DaySuffix/15", "text": "th" }, "$:/language/Date/DaySuffix/16": { "title": "$:/language/Date/DaySuffix/16", "text": "th" }, "$:/language/Date/DaySuffix/17": { "title": "$:/language/Date/DaySuffix/17", "text": "th" }, "$:/language/Date/DaySuffix/18": { "title": "$:/language/Date/DaySuffix/18", "text": "th" }, "$:/language/Date/DaySuffix/19": { "title": "$:/language/Date/DaySuffix/19", "text": "th" }, "$:/language/Date/DaySuffix/20": { "title": "$:/language/Date/DaySuffix/20", "text": "th" }, "$:/language/Date/DaySuffix/21": { "title": "$:/language/Date/DaySuffix/21", "text": "st" }, "$:/language/Date/DaySuffix/22": { "title": "$:/language/Date/DaySuffix/22", "text": "nd" }, "$:/language/Date/DaySuffix/23": { "title": "$:/language/Date/DaySuffix/23", "text": "rd" }, "$:/language/Date/DaySuffix/24": { "title": "$:/language/Date/DaySuffix/24", "text": "th" }, "$:/language/Date/DaySuffix/25": { "title": "$:/language/Date/DaySuffix/25", "text": "th" }, "$:/language/Date/DaySuffix/26": { "title": "$:/language/Date/DaySuffix/26", "text": "th" }, "$:/language/Date/DaySuffix/27": { "title": "$:/language/Date/DaySuffix/27", "text": "th" }, "$:/language/Date/DaySuffix/28": { "title": "$:/language/Date/DaySuffix/28", "text": "th" }, "$:/language/Date/DaySuffix/29": { "title": "$:/language/Date/DaySuffix/29", "text": "th" }, "$:/language/Date/DaySuffix/30": { "title": "$:/language/Date/DaySuffix/30", "text": "th" }, "$:/language/Date/DaySuffix/31": { "title": "$:/language/Date/DaySuffix/31", "text": "st" }, "$:/language/Date/Long/Day/0": { "title": "$:/language/Date/Long/Day/0", "text": "Sunday" }, "$:/language/Date/Long/Day/1": { "title": "$:/language/Date/Long/Day/1", "text": "Monday" }, "$:/language/Date/Long/Day/2": { "title": "$:/language/Date/Long/Day/2", "text": "Tuesday" }, "$:/language/Date/Long/Day/3": { "title": "$:/language/Date/Long/Day/3", "text": "Wednesday" }, "$:/language/Date/Long/Day/4": { "title": "$:/language/Date/Long/Day/4", "text": "Thursday" }, "$:/language/Date/Long/Day/5": { "title": "$:/language/Date/Long/Day/5", "text": "Friday" }, "$:/language/Date/Long/Day/6": { "title": "$:/language/Date/Long/Day/6", "text": "Saturday" }, "$:/language/Date/Long/Month/1": { "title": "$:/language/Date/Long/Month/1", "text": "January" }, "$:/language/Date/Long/Month/2": { "title": "$:/language/Date/Long/Month/2", "text": "February" }, "$:/language/Date/Long/Month/3": { "title": "$:/language/Date/Long/Month/3", "text": "March" }, "$:/language/Date/Long/Month/4": { "title": "$:/language/Date/Long/Month/4", "text": "April" }, "$:/language/Date/Long/Month/5": { "title": "$:/language/Date/Long/Month/5", "text": "May" }, "$:/language/Date/Long/Month/6": { "title": "$:/language/Date/Long/Month/6", "text": "June" }, "$:/language/Date/Long/Month/7": { "title": "$:/language/Date/Long/Month/7", "text": "July" }, "$:/language/Date/Long/Month/8": { "title": "$:/language/Date/Long/Month/8", "text": "August" }, "$:/language/Date/Long/Month/9": { "title": "$:/language/Date/Long/Month/9", "text": "September" }, "$:/language/Date/Long/Month/10": { "title": "$:/language/Date/Long/Month/10", "text": "October" }, "$:/language/Date/Long/Month/11": { "title": "$:/language/Date/Long/Month/11", "text": "November" }, "$:/language/Date/Long/Month/12": { "title": "$:/language/Date/Long/Month/12", "text": "December" }, "$:/language/Date/Period/am": { "title": "$:/language/Date/Period/am", "text": "am" }, "$:/language/Date/Period/pm": { "title": "$:/language/Date/Period/pm", "text": "pm" }, "$:/language/Date/Short/Day/0": { "title": "$:/language/Date/Short/Day/0", "text": "Sun" }, "$:/language/Date/Short/Day/1": { "title": "$:/language/Date/Short/Day/1", "text": "Mon" }, "$:/language/Date/Short/Day/2": { "title": "$:/language/Date/Short/Day/2", "text": "Tue" }, "$:/language/Date/Short/Day/3": { "title": "$:/language/Date/Short/Day/3", "text": "Wed" }, "$:/language/Date/Short/Day/4": { "title": "$:/language/Date/Short/Day/4", "text": "Thu" }, "$:/language/Date/Short/Day/5": { "title": "$:/language/Date/Short/Day/5", "text": "Fri" }, "$:/language/Date/Short/Day/6": { "title": "$:/language/Date/Short/Day/6", "text": "Sat" }, "$:/language/Date/Short/Month/1": { "title": "$:/language/Date/Short/Month/1", "text": "Jan" }, "$:/language/Date/Short/Month/2": { "title": "$:/language/Date/Short/Month/2", "text": "Feb" }, "$:/language/Date/Short/Month/3": { "title": "$:/language/Date/Short/Month/3", "text": "Mar" }, "$:/language/Date/Short/Month/4": { "title": "$:/language/Date/Short/Month/4", "text": "Apr" }, "$:/language/Date/Short/Month/5": { "title": "$:/language/Date/Short/Month/5", "text": "May" }, "$:/language/Date/Short/Month/6": { "title": "$:/language/Date/Short/Month/6", "text": "Jun" }, "$:/language/Date/Short/Month/7": { "title": "$:/language/Date/Short/Month/7", "text": "Jul" }, "$:/language/Date/Short/Month/8": { "title": "$:/language/Date/Short/Month/8", "text": "Aug" }, "$:/language/Date/Short/Month/9": { "title": "$:/language/Date/Short/Month/9", "text": "Sep" }, "$:/language/Date/Short/Month/10": { "title": "$:/language/Date/Short/Month/10", "text": "Oct" }, "$:/language/Date/Short/Month/11": { "title": "$:/language/Date/Short/Month/11", "text": "Nov" }, "$:/language/Date/Short/Month/12": { "title": "$:/language/Date/Short/Month/12", "text": "Dec" }, "$:/language/RelativeDate/Future/Days": { "title": "$:/language/RelativeDate/Future/Days", "text": "<<period>> days from now" }, "$:/language/RelativeDate/Future/Hours": { "title": "$:/language/RelativeDate/Future/Hours", "text": "<<period>> hours from now" }, "$:/language/RelativeDate/Future/Minutes": { "title": "$:/language/RelativeDate/Future/Minutes", "text": "<<period>> minutes from now" }, "$:/language/RelativeDate/Future/Months": { "title": "$:/language/RelativeDate/Future/Months", "text": "<<period>> months from now" }, "$:/language/RelativeDate/Future/Second": { "title": "$:/language/RelativeDate/Future/Second", "text": "1 second from now" }, "$:/language/RelativeDate/Future/Seconds": { "title": "$:/language/RelativeDate/Future/Seconds", "text": "<<period>> seconds from now" }, "$:/language/RelativeDate/Future/Years": { "title": "$:/language/RelativeDate/Future/Years", "text": "<<period>> years from now" }, "$:/language/RelativeDate/Past/Days": { "title": "$:/language/RelativeDate/Past/Days", "text": "<<period>> days ago" }, "$:/language/RelativeDate/Past/Hours": { "title": "$:/language/RelativeDate/Past/Hours", "text": "<<period>> hours ago" }, "$:/language/RelativeDate/Past/Minutes": { "title": "$:/language/RelativeDate/Past/Minutes", "text": "<<period>> minutes ago" }, "$:/language/RelativeDate/Past/Months": { "title": "$:/language/RelativeDate/Past/Months", "text": "<<period>> months ago" }, "$:/language/RelativeDate/Past/Second": { "title": "$:/language/RelativeDate/Past/Second", "text": "1 second ago" }, "$:/language/RelativeDate/Past/Seconds": { "title": "$:/language/RelativeDate/Past/Seconds", "text": "<<period>> seconds ago" }, "$:/language/RelativeDate/Past/Years": { "title": "$:/language/RelativeDate/Past/Years", "text": "<<period>> years ago" }, "$:/language/Docs/ModuleTypes/allfilteroperator": { "title": "$:/language/Docs/ModuleTypes/allfilteroperator", "text": "A sub-operator for the ''all'' filter operator." }, "$:/language/Docs/ModuleTypes/animation": { "title": "$:/language/Docs/ModuleTypes/animation", "text": "Animations that may be used with the RevealWidget." }, "$:/language/Docs/ModuleTypes/authenticator": { "title": "$:/language/Docs/ModuleTypes/authenticator", "text": "Defines how requests are authenticated by the built-in HTTP server." }, "$:/language/Docs/ModuleTypes/bitmapeditoroperation": { "title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation", "text": "A bitmap editor toolbar operation." }, "$:/language/Docs/ModuleTypes/command": { "title": "$:/language/Docs/ModuleTypes/command", "text": "Commands that can be executed under Node.js." }, "$:/language/Docs/ModuleTypes/config": { "title": "$:/language/Docs/ModuleTypes/config", "text": "Data to be inserted into `$tw.config`." }, "$:/language/Docs/ModuleTypes/filteroperator": { "title": "$:/language/Docs/ModuleTypes/filteroperator", "text": "Individual filter operator methods." }, "$:/language/Docs/ModuleTypes/global": { "title": "$:/language/Docs/ModuleTypes/global", "text": "Global data to be inserted into `$tw`." }, "$:/language/Docs/ModuleTypes/info": { "title": "$:/language/Docs/ModuleTypes/info", "text": "Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin." }, "$:/language/Docs/ModuleTypes/isfilteroperator": { "title": "$:/language/Docs/ModuleTypes/isfilteroperator", "text": "Operands for the ''is'' filter operator." }, "$:/language/Docs/ModuleTypes/library": { "title": "$:/language/Docs/ModuleTypes/library", "text": "Generic module type for general purpose JavaScript modules." }, "$:/language/Docs/ModuleTypes/macro": { "title": "$:/language/Docs/ModuleTypes/macro", "text": "JavaScript macro definitions." }, "$:/language/Docs/ModuleTypes/parser": { "title": "$:/language/Docs/ModuleTypes/parser", "text": "Parsers for different content types." }, "$:/language/Docs/ModuleTypes/route": { "title": "$:/language/Docs/ModuleTypes/route", "text": "Defines how individual URL patterns are handled by the built-in HTTP server." }, "$:/language/Docs/ModuleTypes/saver": { "title": "$:/language/Docs/ModuleTypes/saver", "text": "Savers handle different methods for saving files from the browser." }, "$:/language/Docs/ModuleTypes/startup": { "title": "$:/language/Docs/ModuleTypes/startup", "text": "Startup functions." }, "$:/language/Docs/ModuleTypes/storyview": { "title": "$:/language/Docs/ModuleTypes/storyview", "text": "Story views customise the animation and behaviour of list widgets." }, "$:/language/Docs/ModuleTypes/texteditoroperation": { "title": "$:/language/Docs/ModuleTypes/texteditoroperation", "text": "A text editor toolbar operation." }, "$:/language/Docs/ModuleTypes/tiddlerdeserializer": { "title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer", "text": "Converts different content types into tiddlers." }, "$:/language/Docs/ModuleTypes/tiddlerfield": { "title": "$:/language/Docs/ModuleTypes/tiddlerfield", "text": "Defines the behaviour of an individual tiddler field." }, "$:/language/Docs/ModuleTypes/tiddlermethod": { "title": "$:/language/Docs/ModuleTypes/tiddlermethod", "text": "Adds methods to the `$tw.Tiddler` prototype." }, "$:/language/Docs/ModuleTypes/upgrader": { "title": "$:/language/Docs/ModuleTypes/upgrader", "text": "Applies upgrade processing to tiddlers during an upgrade/import." }, "$:/language/Docs/ModuleTypes/utils": { "title": "$:/language/Docs/ModuleTypes/utils", "text": "Adds methods to `$tw.utils`." }, "$:/language/Docs/ModuleTypes/utils-node": { "title": "$:/language/Docs/ModuleTypes/utils-node", "text": "Adds Node.js-specific methods to `$tw.utils`." }, "$:/language/Docs/ModuleTypes/widget": { "title": "$:/language/Docs/ModuleTypes/widget", "text": "Widgets encapsulate DOM rendering and refreshing." }, "$:/language/Docs/ModuleTypes/wikimethod": { "title": "$:/language/Docs/ModuleTypes/wikimethod", "text": "Adds methods to `$tw.Wiki`." }, "$:/language/Docs/ModuleTypes/wikirule": { "title": "$:/language/Docs/ModuleTypes/wikirule", "text": "Individual parser rules for the main WikiText parser." }, "$:/language/Docs/PaletteColours/alert-background": { "title": "$:/language/Docs/PaletteColours/alert-background", "text": "Alert background" }, "$:/language/Docs/PaletteColours/alert-border": { "title": "$:/language/Docs/PaletteColours/alert-border", "text": "Alert border" }, "$:/language/Docs/PaletteColours/alert-highlight": { "title": "$:/language/Docs/PaletteColours/alert-highlight", "text": "Alert highlight" }, "$:/language/Docs/PaletteColours/alert-muted-foreground": { "title": "$:/language/Docs/PaletteColours/alert-muted-foreground", "text": "Alert muted foreground" }, "$:/language/Docs/PaletteColours/background": { "title": "$:/language/Docs/PaletteColours/background", "text": "General background" }, "$:/language/Docs/PaletteColours/blockquote-bar": { "title": "$:/language/Docs/PaletteColours/blockquote-bar", "text": "Blockquote bar" }, "$:/language/Docs/PaletteColours/button-background": { "title": "$:/language/Docs/PaletteColours/button-background", "text": "Default button background" }, "$:/language/Docs/PaletteColours/button-border": { "title": "$:/language/Docs/PaletteColours/button-border", "text": "Default button border" }, "$:/language/Docs/PaletteColours/button-foreground": { "title": "$:/language/Docs/PaletteColours/button-foreground", "text": "Default button foreground" }, "$:/language/Docs/PaletteColours/dirty-indicator": { "title": "$:/language/Docs/PaletteColours/dirty-indicator", "text": "Unsaved changes indicator" }, "$:/language/Docs/PaletteColours/code-background": { "title": "$:/language/Docs/PaletteColours/code-background", "text": "Code background" }, "$:/language/Docs/PaletteColours/code-border": { "title": "$:/language/Docs/PaletteColours/code-border", "text": "Code border" }, "$:/language/Docs/PaletteColours/code-foreground": { "title": "$:/language/Docs/PaletteColours/code-foreground", "text": "Code foreground" }, "$:/language/Docs/PaletteColours/download-background": { "title": "$:/language/Docs/PaletteColours/download-background", "text": "Download button background" }, "$:/language/Docs/PaletteColours/download-foreground": { "title": "$:/language/Docs/PaletteColours/download-foreground", "text": "Download button foreground" }, "$:/language/Docs/PaletteColours/dragger-background": { "title": "$:/language/Docs/PaletteColours/dragger-background", "text": "Dragger background" }, "$:/language/Docs/PaletteColours/dragger-foreground": { "title": "$:/language/Docs/PaletteColours/dragger-foreground", "text": "Dragger foreground" }, "$:/language/Docs/PaletteColours/dropdown-background": { "title": "$:/language/Docs/PaletteColours/dropdown-background", "text": "Dropdown background" }, "$:/language/Docs/PaletteColours/dropdown-border": { "title": "$:/language/Docs/PaletteColours/dropdown-border", "text": "Dropdown border" }, "$:/language/Docs/PaletteColours/dropdown-tab-background-selected": { "title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected", "text": "Dropdown tab background for selected tabs" }, "$:/language/Docs/PaletteColours/dropdown-tab-background": { "title": "$:/language/Docs/PaletteColours/dropdown-tab-background", "text": "Dropdown tab background" }, "$:/language/Docs/PaletteColours/dropzone-background": { "title": "$:/language/Docs/PaletteColours/dropzone-background", "text": "Dropzone background" }, "$:/language/Docs/PaletteColours/external-link-background-hover": { "title": "$:/language/Docs/PaletteColours/external-link-background-hover", "text": "External link background hover" }, "$:/language/Docs/PaletteColours/external-link-background-visited": { "title": "$:/language/Docs/PaletteColours/external-link-background-visited", "text": "External link background visited" }, "$:/language/Docs/PaletteColours/external-link-background": { "title": "$:/language/Docs/PaletteColours/external-link-background", "text": "External link background" }, "$:/language/Docs/PaletteColours/external-link-foreground-hover": { "title": "$:/language/Docs/PaletteColours/external-link-foreground-hover", "text": "External link foreground hover" }, "$:/language/Docs/PaletteColours/external-link-foreground-visited": { "title": "$:/language/Docs/PaletteColours/external-link-foreground-visited", "text": "External link foreground visited" }, "$:/language/Docs/PaletteColours/external-link-foreground": { "title": "$:/language/Docs/PaletteColours/external-link-foreground", "text": "External link foreground" }, "$:/language/Docs/PaletteColours/foreground": { "title": "$:/language/Docs/PaletteColours/foreground", "text": "General foreground" }, "$:/language/Docs/PaletteColours/menubar-background": { "title": "$:/language/Docs/PaletteColours/menubar-background", "text": "Menu bar background" }, "$:/language/Docs/PaletteColours/menubar-foreground": { "title": "$:/language/Docs/PaletteColours/menubar-foreground", "text": "Menu bar foreground" }, "$:/language/Docs/PaletteColours/message-background": { "title": "$:/language/Docs/PaletteColours/message-background", "text": "Message box background" }, "$:/language/Docs/PaletteColours/message-border": { "title": "$:/language/Docs/PaletteColours/message-border", "text": "Message box border" }, "$:/language/Docs/PaletteColours/message-foreground": { "title": "$:/language/Docs/PaletteColours/message-foreground", "text": "Message box foreground" }, "$:/language/Docs/PaletteColours/modal-backdrop": { "title": "$:/language/Docs/PaletteColours/modal-backdrop", "text": "Modal backdrop" }, "$:/language/Docs/PaletteColours/modal-background": { "title": "$:/language/Docs/PaletteColours/modal-background", "text": "Modal background" }, "$:/language/Docs/PaletteColours/modal-border": { "title": "$:/language/Docs/PaletteColours/modal-border", "text": "Modal border" }, "$:/language/Docs/PaletteColours/modal-footer-background": { "title": "$:/language/Docs/PaletteColours/modal-footer-background", "text": "Modal footer background" }, "$:/language/Docs/PaletteColours/modal-footer-border": { "title": "$:/language/Docs/PaletteColours/modal-footer-border", "text": "Modal footer border" }, "$:/language/Docs/PaletteColours/modal-header-border": { "title": "$:/language/Docs/PaletteColours/modal-header-border", "text": "Modal header border" }, "$:/language/Docs/PaletteColours/muted-foreground": { "title": "$:/language/Docs/PaletteColours/muted-foreground", "text": "General muted foreground" }, "$:/language/Docs/PaletteColours/notification-background": { "title": "$:/language/Docs/PaletteColours/notification-background", "text": "Notification background" }, "$:/language/Docs/PaletteColours/notification-border": { "title": "$:/language/Docs/PaletteColours/notification-border", "text": "Notification border" }, "$:/language/Docs/PaletteColours/page-background": { "title": "$:/language/Docs/PaletteColours/page-background", "text": "Page background" }, "$:/language/Docs/PaletteColours/pre-background": { "title": "$:/language/Docs/PaletteColours/pre-background", "text": "Preformatted code background" }, "$:/language/Docs/PaletteColours/pre-border": { "title": "$:/language/Docs/PaletteColours/pre-border", "text": "Preformatted code border" }, "$:/language/Docs/PaletteColours/primary": { "title": "$:/language/Docs/PaletteColours/primary", "text": "General primary" }, "$:/language/Docs/PaletteColours/select-tag-background": { "title": "$:/language/Docs/PaletteColours/select-tag-background", "text": "`<select>` element background" }, "$:/language/Docs/PaletteColours/select-tag-foreground": { "title": "$:/language/Docs/PaletteColours/select-tag-foreground", "text": "`<select>` element text" }, "$:/language/Docs/PaletteColours/sidebar-button-foreground": { "title": "$:/language/Docs/PaletteColours/sidebar-button-foreground", "text": "Sidebar button foreground" }, "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": { "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover", "text": "Sidebar controls foreground hover" }, "$:/language/Docs/PaletteColours/sidebar-controls-foreground": { "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground", "text": "Sidebar controls foreground" }, "$:/language/Docs/PaletteColours/sidebar-foreground-shadow": { "title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow", "text": "Sidebar foreground shadow" }, "$:/language/Docs/PaletteColours/sidebar-foreground": { "title": "$:/language/Docs/PaletteColours/sidebar-foreground", "text": "Sidebar foreground" }, "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": { "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover", "text": "Sidebar muted foreground hover" }, "$:/language/Docs/PaletteColours/sidebar-muted-foreground": { "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground", "text": "Sidebar muted foreground" }, "$:/language/Docs/PaletteColours/sidebar-tab-background-selected": { "title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected", "text": "Sidebar tab background for selected tabs" }, "$:/language/Docs/PaletteColours/sidebar-tab-background": { "title": "$:/language/Docs/PaletteColours/sidebar-tab-background", "text": "Sidebar tab background" }, "$:/language/Docs/PaletteColours/sidebar-tab-border-selected": { "title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected", "text": "Sidebar tab border for selected tabs" }, "$:/language/Docs/PaletteColours/sidebar-tab-border": { "title": "$:/language/Docs/PaletteColours/sidebar-tab-border", "text": "Sidebar tab border" }, "$:/language/Docs/PaletteColours/sidebar-tab-divider": { "title": "$:/language/Docs/PaletteColours/sidebar-tab-divider", "text": "Sidebar tab divider" }, "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": { "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected", "text": "Sidebar tab foreground for selected tabs" }, "$:/language/Docs/PaletteColours/sidebar-tab-foreground": { "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground", "text": "Sidebar tab foreground" }, "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": { "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover", "text": "Sidebar tiddler link foreground hover" }, "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": { "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground", "text": "Sidebar tiddler link foreground" }, "$:/language/Docs/PaletteColours/site-title-foreground": { "title": "$:/language/Docs/PaletteColours/site-title-foreground", "text": "Site title foreground" }, "$:/language/Docs/PaletteColours/static-alert-foreground": { "title": "$:/language/Docs/PaletteColours/static-alert-foreground", "text": "Static alert foreground" }, "$:/language/Docs/PaletteColours/tab-background-selected": { "title": "$:/language/Docs/PaletteColours/tab-background-selected", "text": "Tab background for selected tabs" }, "$:/language/Docs/PaletteColours/tab-background": { "title": "$:/language/Docs/PaletteColours/tab-background", "text": "Tab background" }, "$:/language/Docs/PaletteColours/tab-border-selected": { "title": "$:/language/Docs/PaletteColours/tab-border-selected", "text": "Tab border for selected tabs" }, "$:/language/Docs/PaletteColours/tab-border": { "title": "$:/language/Docs/PaletteColours/tab-border", "text": "Tab border" }, "$:/language/Docs/PaletteColours/tab-divider": { "title": "$:/language/Docs/PaletteColours/tab-divider", "text": "Tab divider" }, "$:/language/Docs/PaletteColours/tab-foreground-selected": { "title": "$:/language/Docs/PaletteColours/tab-foreground-selected", "text": "Tab foreground for selected tabs" }, "$:/language/Docs/PaletteColours/tab-foreground": { "title": "$:/language/Docs/PaletteColours/tab-foreground", "text": "Tab foreground" }, "$:/language/Docs/PaletteColours/table-border": { "title": "$:/language/Docs/PaletteColours/table-border", "text": "Table border" }, "$:/language/Docs/PaletteColours/table-footer-background": { "title": "$:/language/Docs/PaletteColours/table-footer-background", "text": "Table footer background" }, "$:/language/Docs/PaletteColours/table-header-background": { "title": "$:/language/Docs/PaletteColours/table-header-background", "text": "Table header background" }, "$:/language/Docs/PaletteColours/tag-background": { "title": "$:/language/Docs/PaletteColours/tag-background", "text": "Tag background" }, "$:/language/Docs/PaletteColours/tag-foreground": { "title": "$:/language/Docs/PaletteColours/tag-foreground", "text": "Tag foreground" }, "$:/language/Docs/PaletteColours/tiddler-background": { "title": "$:/language/Docs/PaletteColours/tiddler-background", "text": "Tiddler background" }, "$:/language/Docs/PaletteColours/tiddler-border": { "title": "$:/language/Docs/PaletteColours/tiddler-border", "text": "Tiddler border" }, "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": { "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover", "text": "Tiddler controls foreground hover" }, "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": { "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected", "text": "Tiddler controls foreground for selected controls" }, "$:/language/Docs/PaletteColours/tiddler-controls-foreground": { "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground", "text": "Tiddler controls foreground" }, "$:/language/Docs/PaletteColours/tiddler-editor-background": { "title": "$:/language/Docs/PaletteColours/tiddler-editor-background", "text": "Tiddler editor background" }, "$:/language/Docs/PaletteColours/tiddler-editor-border-image": { "title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image", "text": "Tiddler editor border image" }, "$:/language/Docs/PaletteColours/tiddler-editor-border": { "title": "$:/language/Docs/PaletteColours/tiddler-editor-border", "text": "Tiddler editor border" }, "$:/language/Docs/PaletteColours/tiddler-editor-fields-even": { "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even", "text": "Tiddler editor background for even fields" }, "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": { "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd", "text": "Tiddler editor background for odd fields" }, "$:/language/Docs/PaletteColours/tiddler-info-background": { "title": "$:/language/Docs/PaletteColours/tiddler-info-background", "text": "Tiddler info panel background" }, "$:/language/Docs/PaletteColours/tiddler-info-border": { "title": "$:/language/Docs/PaletteColours/tiddler-info-border", "text": "Tiddler info panel border" }, "$:/language/Docs/PaletteColours/tiddler-info-tab-background": { "title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background", "text": "Tiddler info panel tab background" }, "$:/language/Docs/PaletteColours/tiddler-link-background": { "title": "$:/language/Docs/PaletteColours/tiddler-link-background", "text": "Tiddler link background" }, "$:/language/Docs/PaletteColours/tiddler-link-foreground": { "title": "$:/language/Docs/PaletteColours/tiddler-link-foreground", "text": "Tiddler link foreground" }, "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": { "title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground", "text": "Tiddler subtitle foreground" }, "$:/language/Docs/PaletteColours/tiddler-title-foreground": { "title": "$:/language/Docs/PaletteColours/tiddler-title-foreground", "text": "Tiddler title foreground" }, "$:/language/Docs/PaletteColours/toolbar-new-button": { "title": "$:/language/Docs/PaletteColours/toolbar-new-button", "text": "Toolbar 'new tiddler' button foreground" }, "$:/language/Docs/PaletteColours/toolbar-options-button": { "title": "$:/language/Docs/PaletteColours/toolbar-options-button", "text": "Toolbar 'options' button foreground" }, "$:/language/Docs/PaletteColours/toolbar-save-button": { "title": "$:/language/Docs/PaletteColours/toolbar-save-button", "text": "Toolbar 'save' button foreground" }, "$:/language/Docs/PaletteColours/toolbar-info-button": { "title": "$:/language/Docs/PaletteColours/toolbar-info-button", "text": "Toolbar 'info' button foreground" }, "$:/language/Docs/PaletteColours/toolbar-edit-button": { "title": "$:/language/Docs/PaletteColours/toolbar-edit-button", "text": "Toolbar 'edit' button foreground" }, "$:/language/Docs/PaletteColours/toolbar-close-button": { "title": "$:/language/Docs/PaletteColours/toolbar-close-button", "text": "Toolbar 'close' button foreground" }, "$:/language/Docs/PaletteColours/toolbar-delete-button": { "title": "$:/language/Docs/PaletteColours/toolbar-delete-button", "text": "Toolbar 'delete' button foreground" }, "$:/language/Docs/PaletteColours/toolbar-cancel-button": { "title": "$:/language/Docs/PaletteColours/toolbar-cancel-button", "text": "Toolbar 'cancel' button foreground" }, "$:/language/Docs/PaletteColours/toolbar-done-button": { "title": "$:/language/Docs/PaletteColours/toolbar-done-button", "text": "Toolbar 'done' button foreground" }, "$:/language/Docs/PaletteColours/untagged-background": { "title": "$:/language/Docs/PaletteColours/untagged-background", "text": "Untagged pill background" }, "$:/language/Docs/PaletteColours/very-muted-foreground": { "title": "$:/language/Docs/PaletteColours/very-muted-foreground", "text": "Very muted foreground" }, "$:/language/EditTemplate/Body/External/Hint": { "title": "$:/language/EditTemplate/Body/External/Hint", "text": "This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself" }, "$:/language/EditTemplate/Body/Placeholder": { "title": "$:/language/EditTemplate/Body/Placeholder", "text": "Type the text for this tiddler" }, "$:/language/EditTemplate/Body/Preview/Type/Output": { "title": "$:/language/EditTemplate/Body/Preview/Type/Output", "text": "output" }, "$:/language/EditTemplate/Field/Remove/Caption": { "title": "$:/language/EditTemplate/Field/Remove/Caption", "text": "remove field" }, "$:/language/EditTemplate/Field/Remove/Hint": { "title": "$:/language/EditTemplate/Field/Remove/Hint", "text": "Remove field" }, "$:/language/EditTemplate/Field/Dropdown/Caption": { "title": "$:/language/EditTemplate/Field/Dropdown/Caption", "text": "field list" }, "$:/language/EditTemplate/Field/Dropdown/Hint": { "title": "$:/language/EditTemplate/Field/Dropdown/Hint", "text": "Show field list" }, "$:/language/EditTemplate/Fields/Add/Button": { "title": "$:/language/EditTemplate/Fields/Add/Button", "text": "add" }, "$:/language/EditTemplate/Fields/Add/Button/Hint": { "title": "$:/language/EditTemplate/Fields/Add/Button/Hint", "text": "Add the new field to the tiddler" }, "$:/language/EditTemplate/Fields/Add/Name/Placeholder": { "title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder", "text": "field name" }, "$:/language/EditTemplate/Fields/Add/Prompt": { "title": "$:/language/EditTemplate/Fields/Add/Prompt", "text": "Add a new field:" }, "$:/language/EditTemplate/Fields/Add/Value/Placeholder": { "title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder", "text": "field value" }, "$:/language/EditTemplate/Fields/Add/Dropdown/System": { "title": "$:/language/EditTemplate/Fields/Add/Dropdown/System", "text": "System fields" }, "$:/language/EditTemplate/Fields/Add/Dropdown/User": { "title": "$:/language/EditTemplate/Fields/Add/Dropdown/User", "text": "User fields" }, "$:/language/EditTemplate/Shadow/Warning": { "title": "$:/language/EditTemplate/Shadow/Warning", "text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>" }, "$:/language/EditTemplate/Shadow/OverriddenWarning": { "title": "$:/language/EditTemplate/Shadow/OverriddenWarning", "text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler" }, "$:/language/EditTemplate/Tags/Add/Button": { "title": "$:/language/EditTemplate/Tags/Add/Button", "text": "add" }, "$:/language/EditTemplate/Tags/Add/Button/Hint": { "title": "$:/language/EditTemplate/Tags/Add/Button/Hint", "text": "add tag" }, "$:/language/EditTemplate/Tags/Add/Placeholder": { "title": "$:/language/EditTemplate/Tags/Add/Placeholder", "text": "tag name" }, "$:/language/EditTemplate/Tags/Dropdown/Caption": { "title": "$:/language/EditTemplate/Tags/Dropdown/Caption", "text": "tag list" }, "$:/language/EditTemplate/Tags/Dropdown/Hint": { "title": "$:/language/EditTemplate/Tags/Dropdown/Hint", "text": "Show tag list" }, "$:/language/EditTemplate/Title/BadCharacterWarning": { "title": "$:/language/EditTemplate/Title/BadCharacterWarning", "text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles" }, "$:/language/EditTemplate/Title/Exists/Prompt": { "title": "$:/language/EditTemplate/Title/Exists/Prompt", "text": "Target tiddler already exists" }, "$:/language/EditTemplate/Title/Relink/Prompt": { "title": "$:/language/EditTemplate/Title/Relink/Prompt", "text": "Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers" }, "$:/language/EditTemplate/Title/References/Prompt": { "title": "$:/language/EditTemplate/Title/References/Prompt", "text": "The following references to this tiddler will not be automatically updated:" }, "$:/language/EditTemplate/Type/Dropdown/Caption": { "title": "$:/language/EditTemplate/Type/Dropdown/Caption", "text": "content type list" }, "$:/language/EditTemplate/Type/Dropdown/Hint": { "title": "$:/language/EditTemplate/Type/Dropdown/Hint", "text": "Show content type list" }, "$:/language/EditTemplate/Type/Delete/Caption": { "title": "$:/language/EditTemplate/Type/Delete/Caption", "text": "delete content type" }, "$:/language/EditTemplate/Type/Delete/Hint": { "title": "$:/language/EditTemplate/Type/Delete/Hint", "text": "Delete content type" }, "$:/language/EditTemplate/Type/Placeholder": { "title": "$:/language/EditTemplate/Type/Placeholder", "text": "content type" }, "$:/language/EditTemplate/Type/Prompt": { "title": "$:/language/EditTemplate/Type/Prompt", "text": "Type:" }, "$:/language/Exporters/StaticRiver": { "title": "$:/language/Exporters/StaticRiver", "text": "Static HTML" }, "$:/language/Exporters/JsonFile": { "title": "$:/language/Exporters/JsonFile", "text": "JSON file" }, "$:/language/Exporters/CsvFile": { "title": "$:/language/Exporters/CsvFile", "text": "CSV file" }, "$:/language/Exporters/TidFile": { "title": "$:/language/Exporters/TidFile", "text": "\".tid\" file" }, "$:/language/Docs/Fields/_canonical_uri": { "title": "$:/language/Docs/Fields/_canonical_uri", "text": "The full URI of an external image tiddler" }, "$:/language/Docs/Fields/bag": { "title": "$:/language/Docs/Fields/bag", "text": "The name of the bag from which a tiddler came" }, "$:/language/Docs/Fields/caption": { "title": "$:/language/Docs/Fields/caption", "text": "The text to be displayed on a tab or button" }, "$:/language/Docs/Fields/color": { "title": "$:/language/Docs/Fields/color", "text": "The CSS color value associated with a tiddler" }, "$:/language/Docs/Fields/component": { "title": "$:/language/Docs/Fields/component", "text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]" }, "$:/language/Docs/Fields/current-tiddler": { "title": "$:/language/Docs/Fields/current-tiddler", "text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]" }, "$:/language/Docs/Fields/created": { "title": "$:/language/Docs/Fields/created", "text": "The date a tiddler was created" }, "$:/language/Docs/Fields/creator": { "title": "$:/language/Docs/Fields/creator", "text": "The name of the person who created a tiddler" }, "$:/language/Docs/Fields/dependents": { "title": "$:/language/Docs/Fields/dependents", "text": "For a plugin, lists the dependent plugin titles" }, "$:/language/Docs/Fields/description": { "title": "$:/language/Docs/Fields/description", "text": "The descriptive text for a plugin, or a modal dialogue" }, "$:/language/Docs/Fields/draft.of": { "title": "$:/language/Docs/Fields/draft.of", "text": "For draft tiddlers, contains the title of the tiddler of which this is a draft" }, "$:/language/Docs/Fields/draft.title": { "title": "$:/language/Docs/Fields/draft.title", "text": "For draft tiddlers, contains the proposed new title of the tiddler" }, "$:/language/Docs/Fields/footer": { "title": "$:/language/Docs/Fields/footer", "text": "The footer text for a wizard" }, "$:/language/Docs/Fields/hide-body": { "title": "$:/language/Docs/Fields/hide-body", "text": "The view template will hide bodies of tiddlers if set to: ''yes''" }, "$:/language/Docs/Fields/icon": { "title": "$:/language/Docs/Fields/icon", "text": "The title of the tiddler containing the icon associated with a tiddler" }, "$:/language/Docs/Fields/library": { "title": "$:/language/Docs/Fields/library", "text": "Indicates that a tiddler should be saved as a JavaScript library if set to: ''yes''" }, "$:/language/Docs/Fields/list": { "title": "$:/language/Docs/Fields/list", "text": "An ordered list of tiddler titles associated with a tiddler" }, "$:/language/Docs/Fields/list-before": { "title": "$:/language/Docs/Fields/list-before", "text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty" }, "$:/language/Docs/Fields/list-after": { "title": "$:/language/Docs/Fields/list-after", "text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty" }, "$:/language/Docs/Fields/modified": { "title": "$:/language/Docs/Fields/modified", "text": "The date and time at which a tiddler was last modified" }, "$:/language/Docs/Fields/modifier": { "title": "$:/language/Docs/Fields/modifier", "text": "The tiddler title associated with the person who last modified a tiddler" }, "$:/language/Docs/Fields/name": { "title": "$:/language/Docs/Fields/name", "text": "The human readable name associated with a plugin tiddler" }, "$:/language/Docs/Fields/plugin-priority": { "title": "$:/language/Docs/Fields/plugin-priority", "text": "A numerical value indicating the priority of a plugin tiddler" }, "$:/language/Docs/Fields/plugin-type": { "title": "$:/language/Docs/Fields/plugin-type", "text": "The type of plugin in a plugin tiddler" }, "$:/language/Docs/Fields/revision": { "title": "$:/language/Docs/Fields/revision", "text": "The revision of the tiddler held at the server" }, "$:/language/Docs/Fields/released": { "title": "$:/language/Docs/Fields/released", "text": "Date of a TiddlyWiki release" }, "$:/language/Docs/Fields/source": { "title": "$:/language/Docs/Fields/source", "text": "The source URL associated with a tiddler" }, "$:/language/Docs/Fields/subtitle": { "title": "$:/language/Docs/Fields/subtitle", "text": "The subtitle text for a wizard" }, "$:/language/Docs/Fields/tags": { "title": "$:/language/Docs/Fields/tags", "text": "A list of tags associated with a tiddler" }, "$:/language/Docs/Fields/text": { "title": "$:/language/Docs/Fields/text", "text": "The body text of a tiddler" }, "$:/language/Docs/Fields/throttle.refresh": { "title": "$:/language/Docs/Fields/throttle.refresh", "text": "If present, throttles refreshes of this tiddler" }, "$:/language/Docs/Fields/title": { "title": "$:/language/Docs/Fields/title", "text": "The unique name of a tiddler" }, "$:/language/Docs/Fields/toc-link": { "title": "$:/language/Docs/Fields/toc-link", "text": "Suppresses the tiddler's link in a Table of Contents tree if set to: ''no''" }, "$:/language/Docs/Fields/type": { "title": "$:/language/Docs/Fields/type", "text": "The content type of a tiddler" }, "$:/language/Docs/Fields/version": { "title": "$:/language/Docs/Fields/version", "text": "Version information for a plugin" }, "$:/language/Docs/Fields/_is_skinny": { "title": "$:/language/Docs/Fields/_is_skinny", "text": "If present, indicates that the tiddler text field must be loaded from the server" }, "$:/language/Filters/AllTiddlers": { "title": "$:/language/Filters/AllTiddlers", "text": "All tiddlers except system tiddlers" }, "$:/language/Filters/RecentSystemTiddlers": { "title": "$:/language/Filters/RecentSystemTiddlers", "text": "Recently modified tiddlers, including system tiddlers" }, "$:/language/Filters/RecentTiddlers": { "title": "$:/language/Filters/RecentTiddlers", "text": "Recently modified tiddlers" }, "$:/language/Filters/AllTags": { "title": "$:/language/Filters/AllTags", "text": "All tags except system tags" }, "$:/language/Filters/Missing": { "title": "$:/language/Filters/Missing", "text": "Missing tiddlers" }, "$:/language/Filters/Drafts": { "title": "$:/language/Filters/Drafts", "text": "Draft tiddlers" }, "$:/language/Filters/Orphans": { "title": "$:/language/Filters/Orphans", "text": "Orphan tiddlers" }, "$:/language/Filters/SystemTiddlers": { "title": "$:/language/Filters/SystemTiddlers", "text": "System tiddlers" }, "$:/language/Filters/ShadowTiddlers": { "title": "$:/language/Filters/ShadowTiddlers", "text": "Shadow tiddlers" }, "$:/language/Filters/OverriddenShadowTiddlers": { "title": "$:/language/Filters/OverriddenShadowTiddlers", "text": "Overridden shadow tiddlers" }, "$:/language/Filters/SessionTiddlers": { "title": "$:/language/Filters/SessionTiddlers", "text": "Tiddlers modified since the wiki was loaded" }, "$:/language/Filters/SystemTags": { "title": "$:/language/Filters/SystemTags", "text": "System tags" }, "$:/language/Filters/StoryList": { "title": "$:/language/Filters/StoryList", "text": "Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>" }, "$:/language/Filters/TypedTiddlers": { "title": "$:/language/Filters/TypedTiddlers", "text": "Non wiki-text tiddlers" }, "GettingStarted": { "title": "GettingStarted", "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n" }, "$:/language/Help/build": { "title": "$:/language/Help/build", "description": "Automatically run configured commands", "text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n" }, "$:/language/Help/clearpassword": { "title": "$:/language/Help/clearpassword", "description": "Clear a password for subsequent crypto operations", "text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n" }, "$:/language/Help/default": { "title": "$:/language/Help/default", "text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n" }, "$:/language/Help/deletetiddlers": { "title": "$:/language/Help/deletetiddlers", "description": "Deletes a group of tiddlers", "text": "<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n" }, "$:/language/Help/editions": { "title": "$:/language/Help/editions", "description": "Lists the available editions of TiddlyWiki", "text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n" }, "$:/language/Help/fetch": { "title": "$:/language/Help/fetch", "description": "Fetch tiddlers from wiki by URL", "text": "Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n" }, "$:/language/Help/help": { "title": "$:/language/Help/help", "description": "Display help for TiddlyWiki commands", "text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n" }, "$:/language/Help/import": { "title": "$:/language/Help/import", "description": "Import tiddlers from a file", "text": "Import tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n" }, "$:/language/Help/init": { "title": "$:/language/Help/init", "description": "Initialise a new wiki folder", "text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n" }, "$:/language/Help/listen": { "title": "$:/language/Help/listen", "description": "Provides an HTTP server interface to TiddlyWiki", "text": "Serves a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of header to be used for trusted authentication\n* ''readers'' - comma separated list of principals allowed to read from this wiki\n* ''writers'' - comma separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n" }, "$:/language/Help/load": { "title": "$:/language/Help/load", "description": "Load tiddlers from a file", "text": "Load tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n" }, "$:/language/Help/makelibrary": { "title": "$:/language/Help/makelibrary", "description": "Construct library plugin required by upgrade process", "text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n" }, "$:/language/Help/notfound": { "title": "$:/language/Help/notfound", "text": "No such help item" }, "$:/language/Help/output": { "title": "$:/language/Help/output", "description": "Set the base output directory for subsequent commands", "text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n" }, "$:/language/Help/password": { "title": "$:/language/Help/password", "description": "Set a password for subsequent crypto operations", "text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n" }, "$:/language/Help/render": { "title": "$:/language/Help/render", "description": "Renders individual tiddlers to files", "text": "Render individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variable\n* ''value'': Value of optional variable\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n\n" }, "$:/language/Help/rendertiddler": { "title": "$:/language/Help/rendertiddler", "description": "Render an individual tiddler as a specified ContentType", "text": "(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n" }, "$:/language/Help/rendertiddlers": { "title": "$:/language/Help/rendertiddlers", "description": "Render tiddlers matching a filter to a specified ContentType", "text": "(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n" }, "$:/language/Help/save": { "title": "$:/language/Help/save", "description": "Saves individual raw tiddlers to files", "text": "Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n" }, "$:/language/Help/savetiddler": { "title": "$:/language/Help/savetiddler", "description": "Saves a raw tiddler to a file", "text": "(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n" }, "$:/language/Help/savetiddlers": { "title": "$:/language/Help/savetiddlers", "description": "Saves a group of raw tiddlers to a directory", "text": "(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n" }, "$:/language/Help/savewikifolder": { "title": "$:/language/Help/savewikifolder", "description": "Saves a wiki to a new wiki folder", "text": "<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n" }, "$:/language/Help/server": { "title": "$:/language/Help/server", "description": "Provides an HTTP server interface to TiddlyWiki (deprecated in favour of the new listen command)", "text": "Legacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n" }, "$:/language/Help/setfield": { "title": "$:/language/Help/setfield", "description": "Prepares external tiddlers for use", "text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n" }, "$:/language/Help/unpackplugin": { "title": "$:/language/Help/unpackplugin", "description": "Unpack the payload tiddlers from a plugin", "text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n" }, "$:/language/Help/verbose": { "title": "$:/language/Help/verbose", "description": "Triggers verbose output mode", "text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n" }, "$:/language/Help/version": { "title": "$:/language/Help/version", "description": "Displays the version number of TiddlyWiki", "text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n" }, "$:/language/Import/Imported/Hint": { "title": "$:/language/Import/Imported/Hint", "text": "The following tiddlers were imported:" }, "$:/language/Import/Listing/Cancel/Caption": { "title": "$:/language/Import/Listing/Cancel/Caption", "text": "Cancel" }, "$:/language/Import/Listing/Hint": { "title": "$:/language/Import/Listing/Hint", "text": "These tiddlers are ready to import:" }, "$:/language/Import/Listing/Import/Caption": { "title": "$:/language/Import/Listing/Import/Caption", "text": "Import" }, "$:/language/Import/Listing/Select/Caption": { "title": "$:/language/Import/Listing/Select/Caption", "text": "Select" }, "$:/language/Import/Listing/Status/Caption": { "title": "$:/language/Import/Listing/Status/Caption", "text": "Status" }, "$:/language/Import/Listing/Title/Caption": { "title": "$:/language/Import/Listing/Title/Caption", "text": "Title" }, "$:/language/Import/Listing/Preview": { "title": "$:/language/Import/Listing/Preview", "text": "Preview:" }, "$:/language/Import/Listing/Preview/Text": { "title": "$:/language/Import/Listing/Preview/Text", "text": "Text" }, "$:/language/Import/Listing/Preview/TextRaw": { "title": "$:/language/Import/Listing/Preview/TextRaw", "text": "Text (Raw)" }, "$:/language/Import/Listing/Preview/Fields": { "title": "$:/language/Import/Listing/Preview/Fields", "text": "Fields" }, "$:/language/Import/Listing/Preview/Diff": { "title": "$:/language/Import/Listing/Preview/Diff", "text": "Diff" }, "$:/language/Import/Listing/Preview/DiffFields": { "title": "$:/language/Import/Listing/Preview/DiffFields", "text": "Diff (Fields)" }, "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": { "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible", "text": "Blocked incompatible or obsolete plugin" }, "$:/language/Import/Upgrader/Plugins/Suppressed/Version": { "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version", "text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)" }, "$:/language/Import/Upgrader/Plugins/Upgraded": { "title": "$:/language/Import/Upgrader/Plugins/Upgraded", "text": "Upgraded plugin from <<incoming>> to <<upgraded>>" }, "$:/language/Import/Upgrader/State/Suppressed": { "title": "$:/language/Import/Upgrader/State/Suppressed", "text": "Blocked temporary state tiddler" }, "$:/language/Import/Upgrader/System/Suppressed": { "title": "$:/language/Import/Upgrader/System/Suppressed", "text": "Blocked system tiddler" }, "$:/language/Import/Upgrader/System/Warning": { "title": "$:/language/Import/Upgrader/System/Warning", "text": "Core module tiddler" }, "$:/language/Import/Upgrader/System/Alert": { "title": "$:/language/Import/Upgrader/System/Alert", "text": "You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable" }, "$:/language/Import/Upgrader/ThemeTweaks/Created": { "title": "$:/language/Import/Upgrader/ThemeTweaks/Created", "text": "Migrated theme tweak from <$text text=<<from>>/>" }, "$:/language/AboveStory/ClassicPlugin/Warning": { "title": "$:/language/AboveStory/ClassicPlugin/Warning", "text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:" }, "$:/language/BinaryWarning/Prompt": { "title": "$:/language/BinaryWarning/Prompt", "text": "This tiddler contains binary data" }, "$:/language/ClassicWarning/Hint": { "title": "$:/language/ClassicWarning/Hint", "text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details." }, "$:/language/ClassicWarning/Upgrade/Caption": { "title": "$:/language/ClassicWarning/Upgrade/Caption", "text": "upgrade" }, "$:/language/CloseAll/Button": { "title": "$:/language/CloseAll/Button", "text": "close all" }, "$:/language/ColourPicker/Recent": { "title": "$:/language/ColourPicker/Recent", "text": "Recent:" }, "$:/language/ConfirmCancelTiddler": { "title": "$:/language/ConfirmCancelTiddler", "text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?" }, "$:/language/ConfirmDeleteTiddler": { "title": "$:/language/ConfirmDeleteTiddler", "text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?" }, "$:/language/ConfirmOverwriteTiddler": { "title": "$:/language/ConfirmOverwriteTiddler", "text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?" }, "$:/language/ConfirmEditShadowTiddler": { "title": "$:/language/ConfirmEditShadowTiddler", "text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?" }, "$:/language/Count": { "title": "$:/language/Count", "text": "count" }, "$:/language/DefaultNewTiddlerTitle": { "title": "$:/language/DefaultNewTiddlerTitle", "text": "New Tiddler" }, "$:/language/Diffs/CountMessage": { "title": "$:/language/Diffs/CountMessage", "text": "<<diff-count>> differences" }, "$:/language/DropMessage": { "title": "$:/language/DropMessage", "text": "Drop here (or use the 'Escape' key to cancel)" }, "$:/language/Encryption/Cancel": { "title": "$:/language/Encryption/Cancel", "text": "Cancel" }, "$:/language/Encryption/ConfirmClearPassword": { "title": "$:/language/Encryption/ConfirmClearPassword", "text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki" }, "$:/language/Encryption/PromptSetPassword": { "title": "$:/language/Encryption/PromptSetPassword", "text": "Set a new password for this TiddlyWiki" }, "$:/language/Encryption/Username": { "title": "$:/language/Encryption/Username", "text": "Username" }, "$:/language/Encryption/Password": { "title": "$:/language/Encryption/Password", "text": "Password" }, "$:/language/Encryption/RepeatPassword": { "title": "$:/language/Encryption/RepeatPassword", "text": "Repeat password" }, "$:/language/Encryption/PasswordNoMatch": { "title": "$:/language/Encryption/PasswordNoMatch", "text": "Passwords do not match" }, "$:/language/Encryption/SetPassword": { "title": "$:/language/Encryption/SetPassword", "text": "Set password" }, "$:/language/Error/Caption": { "title": "$:/language/Error/Caption", "text": "Error" }, "$:/language/Error/EditConflict": { "title": "$:/language/Error/EditConflict", "text": "File changed on server" }, "$:/language/Error/Filter": { "title": "$:/language/Error/Filter", "text": "Filter error" }, "$:/language/Error/FilterSyntax": { "title": "$:/language/Error/FilterSyntax", "text": "Syntax error in filter expression" }, "$:/language/Error/IsFilterOperator": { "title": "$:/language/Error/IsFilterOperator", "text": "Filter Error: Unknown operand for the 'is' filter operator" }, "$:/language/Error/LoadingPluginLibrary": { "title": "$:/language/Error/LoadingPluginLibrary", "text": "Error loading plugin library" }, "$:/language/Error/NetworkErrorAlert": { "title": "$:/language/Error/NetworkErrorAlert", "text": "`<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please attempt to restore network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronised when connectivity is restored''.`" }, "$:/language/Error/RecursiveTransclusion": { "title": "$:/language/Error/RecursiveTransclusion", "text": "Recursive transclusion error in transclude widget" }, "$:/language/Error/RetrievingSkinny": { "title": "$:/language/Error/RetrievingSkinny", "text": "Error retrieving skinny tiddler list" }, "$:/language/Error/SavingToTWEdit": { "title": "$:/language/Error/SavingToTWEdit", "text": "Error saving to TWEdit" }, "$:/language/Error/WhileSaving": { "title": "$:/language/Error/WhileSaving", "text": "Error while saving" }, "$:/language/Error/XMLHttpRequest": { "title": "$:/language/Error/XMLHttpRequest", "text": "XMLHttpRequest error code" }, "$:/language/InternalJavaScriptError/Title": { "title": "$:/language/InternalJavaScriptError/Title", "text": "Internal JavaScript Error" }, "$:/language/InternalJavaScriptError/Hint": { "title": "$:/language/InternalJavaScriptError/Hint", "text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser" }, "$:/language/InvalidFieldName": { "title": "$:/language/InvalidFieldName", "text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)" }, "$:/language/LazyLoadingWarning": { "title": "$:/language/LazyLoadingWarning", "text": "<p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>" }, "$:/language/LoginToTiddlySpace": { "title": "$:/language/LoginToTiddlySpace", "text": "Login to TiddlySpace" }, "$:/language/Manager/Controls/FilterByTag/None": { "title": "$:/language/Manager/Controls/FilterByTag/None", "text": "(none)" }, "$:/language/Manager/Controls/FilterByTag/Prompt": { "title": "$:/language/Manager/Controls/FilterByTag/Prompt", "text": "Filter by tag:" }, "$:/language/Manager/Controls/Order/Prompt": { "title": "$:/language/Manager/Controls/Order/Prompt", "text": "Reverse order" }, "$:/language/Manager/Controls/Search/Placeholder": { "title": "$:/language/Manager/Controls/Search/Placeholder", "text": "Search" }, "$:/language/Manager/Controls/Search/Prompt": { "title": "$:/language/Manager/Controls/Search/Prompt", "text": "Search:" }, "$:/language/Manager/Controls/Show/Option/Tags": { "title": "$:/language/Manager/Controls/Show/Option/Tags", "text": "tags" }, "$:/language/Manager/Controls/Show/Option/Tiddlers": { "title": "$:/language/Manager/Controls/Show/Option/Tiddlers", "text": "tiddlers" }, "$:/language/Manager/Controls/Show/Prompt": { "title": "$:/language/Manager/Controls/Show/Prompt", "text": "Show:" }, "$:/language/Manager/Controls/Sort/Prompt": { "title": "$:/language/Manager/Controls/Sort/Prompt", "text": "Sort by:" }, "$:/language/Manager/Item/Colour": { "title": "$:/language/Manager/Item/Colour", "text": "Colour" }, "$:/language/Manager/Item/Fields": { "title": "$:/language/Manager/Item/Fields", "text": "Fields" }, "$:/language/Manager/Item/Icon/None": { "title": "$:/language/Manager/Item/Icon/None", "text": "(none)" }, "$:/language/Manager/Item/Icon": { "title": "$:/language/Manager/Item/Icon", "text": "Icon" }, "$:/language/Manager/Item/RawText": { "title": "$:/language/Manager/Item/RawText", "text": "Raw text" }, "$:/language/Manager/Item/Tags": { "title": "$:/language/Manager/Item/Tags", "text": "Tags" }, "$:/language/Manager/Item/Tools": { "title": "$:/language/Manager/Item/Tools", "text": "Tools" }, "$:/language/Manager/Item/WikifiedText": { "title": "$:/language/Manager/Item/WikifiedText", "text": "Wikified text" }, "$:/language/MissingTiddler/Hint": { "title": "$:/language/MissingTiddler/Hint", "text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" -- click {{||$:/core/ui/Buttons/edit}} to create" }, "$:/language/No": { "title": "$:/language/No", "text": "No" }, "$:/language/OfficialPluginLibrary": { "title": "$:/language/OfficialPluginLibrary", "text": "Official ~TiddlyWiki Plugin Library" }, "$:/language/OfficialPluginLibrary/Hint": { "title": "$:/language/OfficialPluginLibrary/Hint", "text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team." }, "$:/language/PluginReloadWarning": { "title": "$:/language/PluginReloadWarning", "text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect" }, "$:/language/RecentChanges/DateFormat": { "title": "$:/language/RecentChanges/DateFormat", "text": "DDth MMM YYYY" }, "$:/language/SystemTiddler/Tooltip": { "title": "$:/language/SystemTiddler/Tooltip", "text": "This is a system tiddler" }, "$:/language/SystemTiddlers/Include/Prompt": { "title": "$:/language/SystemTiddlers/Include/Prompt", "text": "Include system tiddlers" }, "$:/language/TagManager/Colour/Heading": { "title": "$:/language/TagManager/Colour/Heading", "text": "Colour" }, "$:/language/TagManager/Count/Heading": { "title": "$:/language/TagManager/Count/Heading", "text": "Count" }, "$:/language/TagManager/Icon/Heading": { "title": "$:/language/TagManager/Icon/Heading", "text": "Icon" }, "$:/language/TagManager/Icons/None": { "title": "$:/language/TagManager/Icons/None", "text": "None" }, "$:/language/TagManager/Info/Heading": { "title": "$:/language/TagManager/Info/Heading", "text": "Info" }, "$:/language/TagManager/Tag/Heading": { "title": "$:/language/TagManager/Tag/Heading", "text": "Tag" }, "$:/language/Tiddler/DateFormat": { "title": "$:/language/Tiddler/DateFormat", "text": "DDth MMM YYYY at hh12:0mmam" }, "$:/language/UnsavedChangesWarning": { "title": "$:/language/UnsavedChangesWarning", "text": "You have unsaved changes in TiddlyWiki" }, "$:/language/Yes": { "title": "$:/language/Yes", "text": "Yes" }, "$:/language/Modals/Download": { "title": "$:/language/Modals/Download", "subtitle": "Download changes", "footer": "<$button message=\"tm-close-tiddler\">Close</$button>", "help": "https://tiddlywiki.com/static/DownloadingChanges.html", "text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n" }, "$:/language/Modals/SaveInstructions": { "title": "$:/language/Modals/SaveInstructions", "subtitle": "Save your work", "footer": "<$button message=\"tm-close-tiddler\">Close</$button>", "help": "https://tiddlywiki.com/static/SavingChanges.html", "text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n" }, "$:/config/NewJournal/Title": { "title": "$:/config/NewJournal/Title", "text": "DDth MMM YYYY" }, "$:/config/NewJournal/Text": { "title": "$:/config/NewJournal/Text", "text": "" }, "$:/config/NewJournal/Tags": { "title": "$:/config/NewJournal/Tags", "tags": "Journal" }, "$:/language/Notifications/Save/Done": { "title": "$:/language/Notifications/Save/Done", "text": "Saved wiki" }, "$:/language/Notifications/Save/Starting": { "title": "$:/language/Notifications/Save/Starting", "text": "Starting to save wiki" }, "$:/language/Notifications/CopiedToClipboard/Succeeded": { "title": "$:/language/Notifications/CopiedToClipboard/Succeeded", "text": "Copied to clipboard!" }, "$:/language/Notifications/CopiedToClipboard/Failed": { "title": "$:/language/Notifications/CopiedToClipboard/Failed", "text": "Failed to copy to clipboard!" }, "$:/language/Search/DefaultResults/Caption": { "title": "$:/language/Search/DefaultResults/Caption", "text": "List" }, "$:/language/Search/Filter/Caption": { "title": "$:/language/Search/Filter/Caption", "text": "Filter" }, "$:/language/Search/Filter/Hint": { "title": "$:/language/Search/Filter/Hint", "text": "Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]" }, "$:/language/Search/Filter/Matches": { "title": "$:/language/Search/Filter/Matches", "text": "//<small><<resultCount>> matches</small>//" }, "$:/language/Search/Matches": { "title": "$:/language/Search/Matches", "text": "//<small><<resultCount>> matches</small>//" }, "$:/language/Search/Matches/All": { "title": "$:/language/Search/Matches/All", "text": "All matches:" }, "$:/language/Search/Matches/Title": { "title": "$:/language/Search/Matches/Title", "text": "Title matches:" }, "$:/language/Search/Search": { "title": "$:/language/Search/Search", "text": "Search" }, "$:/language/Search/Search/TooShort": { "title": "$:/language/Search/Search/TooShort", "text": "Search text too short" }, "$:/language/Search/Shadows/Caption": { "title": "$:/language/Search/Shadows/Caption", "text": "Shadows" }, "$:/language/Search/Shadows/Hint": { "title": "$:/language/Search/Shadows/Hint", "text": "Search for shadow tiddlers" }, "$:/language/Search/Shadows/Matches": { "title": "$:/language/Search/Shadows/Matches", "text": "//<small><<resultCount>> matches</small>//" }, "$:/language/Search/Standard/Caption": { "title": "$:/language/Search/Standard/Caption", "text": "Standard" }, "$:/language/Search/Standard/Hint": { "title": "$:/language/Search/Standard/Hint", "text": "Search for standard tiddlers" }, "$:/language/Search/Standard/Matches": { "title": "$:/language/Search/Standard/Matches", "text": "//<small><<resultCount>> matches</small>//" }, "$:/language/Search/System/Caption": { "title": "$:/language/Search/System/Caption", "text": "System" }, "$:/language/Search/System/Hint": { "title": "$:/language/Search/System/Hint", "text": "Search for system tiddlers" }, "$:/language/Search/System/Matches": { "title": "$:/language/Search/System/Matches", "text": "//<small><<resultCount>> matches</small>//" }, "$:/language/SideBar/All/Caption": { "title": "$:/language/SideBar/All/Caption", "text": "All" }, "$:/language/SideBar/Contents/Caption": { "title": "$:/language/SideBar/Contents/Caption", "text": "Contents" }, "$:/language/SideBar/Drafts/Caption": { "title": "$:/language/SideBar/Drafts/Caption", "text": "Drafts" }, "$:/language/SideBar/Explorer/Caption": { "title": "$:/language/SideBar/Explorer/Caption", "text": "Explorer" }, "$:/language/SideBar/Missing/Caption": { "title": "$:/language/SideBar/Missing/Caption", "text": "Missing" }, "$:/language/SideBar/More/Caption": { "title": "$:/language/SideBar/More/Caption", "text": "More" }, "$:/language/SideBar/Open/Caption": { "title": "$:/language/SideBar/Open/Caption", "text": "Open" }, "$:/language/SideBar/Orphans/Caption": { "title": "$:/language/SideBar/Orphans/Caption", "text": "Orphans" }, "$:/language/SideBar/Recent/Caption": { "title": "$:/language/SideBar/Recent/Caption", "text": "Recent" }, "$:/language/SideBar/Shadows/Caption": { "title": "$:/language/SideBar/Shadows/Caption", "text": "Shadows" }, "$:/language/SideBar/System/Caption": { "title": "$:/language/SideBar/System/Caption", "text": "System" }, "$:/language/SideBar/Tags/Caption": { "title": "$:/language/SideBar/Tags/Caption", "text": "Tags" }, "$:/language/SideBar/Tags/Untagged/Caption": { "title": "$:/language/SideBar/Tags/Untagged/Caption", "text": "untagged" }, "$:/language/SideBar/Tools/Caption": { "title": "$:/language/SideBar/Tools/Caption", "text": "Tools" }, "$:/language/SideBar/Types/Caption": { "title": "$:/language/SideBar/Types/Caption", "text": "Types" }, "$:/SiteSubtitle": { "title": "$:/SiteSubtitle", "text": "a non-linear personal web notebook" }, "$:/SiteTitle": { "title": "$:/SiteTitle", "text": "My ~TiddlyWiki" }, "$:/language/Snippets/ListByTag": { "title": "$:/language/Snippets/ListByTag", "tags": "$:/tags/TextEditor/Snippet", "caption": "List of tiddlers by tag", "text": "<<list-links \"[tag[task]sort[title]]\">>\n" }, "$:/language/Snippets/MacroDefinition": { "title": "$:/language/Snippets/MacroDefinition", "tags": "$:/tags/TextEditor/Snippet", "caption": "Macro definition", "text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n" }, "$:/language/Snippets/Table4x3": { "title": "$:/language/Snippets/Table4x3", "tags": "$:/tags/TextEditor/Snippet", "caption": "Table with 4 columns by 3 rows", "text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n" }, "$:/language/Snippets/TableOfContents": { "title": "$:/language/Snippets/TableOfContents", "tags": "$:/tags/TextEditor/Snippet", "caption": "Table of Contents", "text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>" }, "$:/language/ThemeTweaks/ThemeTweaks": { "title": "$:/language/ThemeTweaks/ThemeTweaks", "text": "Theme Tweaks" }, "$:/language/ThemeTweaks/ThemeTweaks/Hint": { "title": "$:/language/ThemeTweaks/ThemeTweaks/Hint", "text": "You can tweak certain aspects of the ''Vanilla'' theme." }, "$:/language/ThemeTweaks/Options": { "title": "$:/language/ThemeTweaks/Options", "text": "Options" }, "$:/language/ThemeTweaks/Options/SidebarLayout": { "title": "$:/language/ThemeTweaks/Options/SidebarLayout", "text": "Sidebar layout" }, "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": { "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid", "text": "Fixed story, fluid sidebar" }, "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": { "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed", "text": "Fluid story, fixed sidebar" }, "$:/language/ThemeTweaks/Options/StickyTitles": { "title": "$:/language/ThemeTweaks/Options/StickyTitles", "text": "Sticky titles" }, "$:/language/ThemeTweaks/Options/StickyTitles/Hint": { "title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint", "text": "Causes tiddler titles to \"stick\" to the top of the browser window" }, "$:/language/ThemeTweaks/Options/CodeWrapping": { "title": "$:/language/ThemeTweaks/Options/CodeWrapping", "text": "Wrap long lines in code blocks" }, "$:/language/ThemeTweaks/Settings": { "title": "$:/language/ThemeTweaks/Settings", "text": "Settings" }, "$:/language/ThemeTweaks/Settings/FontFamily": { "title": "$:/language/ThemeTweaks/Settings/FontFamily", "text": "Font family" }, "$:/language/ThemeTweaks/Settings/CodeFontFamily": { "title": "$:/language/ThemeTweaks/Settings/CodeFontFamily", "text": "Code font family" }, "$:/language/ThemeTweaks/Settings/EditorFontFamily": { "title": "$:/language/ThemeTweaks/Settings/EditorFontFamily", "text": "Editor font family" }, "$:/language/ThemeTweaks/Settings/BackgroundImage": { "title": "$:/language/ThemeTweaks/Settings/BackgroundImage", "text": "Page background image" }, "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": { "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment", "text": "Page background image attachment" }, "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": { "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll", "text": "Scroll with tiddlers" }, "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": { "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed", "text": "Fixed to window" }, "$:/language/ThemeTweaks/Settings/BackgroundImageSize": { "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize", "text": "Page background image size" }, "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": { "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto", "text": "Auto" }, "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": { "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover", "text": "Cover" }, "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": { "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain", "text": "Contain" }, "$:/language/ThemeTweaks/Metrics": { "title": "$:/language/ThemeTweaks/Metrics", "text": "Sizes" }, "$:/language/ThemeTweaks/Metrics/FontSize": { "title": "$:/language/ThemeTweaks/Metrics/FontSize", "text": "Font size" }, "$:/language/ThemeTweaks/Metrics/LineHeight": { "title": "$:/language/ThemeTweaks/Metrics/LineHeight", "text": "Line height" }, "$:/language/ThemeTweaks/Metrics/BodyFontSize": { "title": "$:/language/ThemeTweaks/Metrics/BodyFontSize", "text": "Font size for tiddler body" }, "$:/language/ThemeTweaks/Metrics/BodyLineHeight": { "title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight", "text": "Line height for tiddler body" }, "$:/language/ThemeTweaks/Metrics/StoryLeft": { "title": "$:/language/ThemeTweaks/Metrics/StoryLeft", "text": "Story left position" }, "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": { "title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint", "text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page" }, "$:/language/ThemeTweaks/Metrics/StoryTop": { "title": "$:/language/ThemeTweaks/Metrics/StoryTop", "text": "Story top position" }, "$:/language/ThemeTweaks/Metrics/StoryTop/Hint": { "title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint", "text": "how far the top margin of the story river<br>is from the top of the page" }, "$:/language/ThemeTweaks/Metrics/StoryRight": { "title": "$:/language/ThemeTweaks/Metrics/StoryRight", "text": "Story right" }, "$:/language/ThemeTweaks/Metrics/StoryRight/Hint": { "title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint", "text": "how far the left margin of the sidebar <br>is from the left of the page" }, "$:/language/ThemeTweaks/Metrics/StoryWidth": { "title": "$:/language/ThemeTweaks/Metrics/StoryWidth", "text": "Story width" }, "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": { "title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint", "text": "the overall width of the story river" }, "$:/language/ThemeTweaks/Metrics/TiddlerWidth": { "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth", "text": "Tiddler width" }, "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": { "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint", "text": "within the story river" }, "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": { "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint", "text": "Sidebar breakpoint" }, "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": { "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint", "text": "the minimum page width at which the story<br>river and sidebar will appear side by side" }, "$:/language/ThemeTweaks/Metrics/SidebarWidth": { "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth", "text": "Sidebar width" }, "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": { "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint", "text": "the width of the sidebar in fluid-fixed layout" }, "$:/language/TiddlerInfo/Advanced/Caption": { "title": "$:/language/TiddlerInfo/Advanced/Caption", "text": "Advanced" }, "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": { "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint", "text": "none" }, "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": { "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading", "text": "Plugin Details" }, "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": { "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint", "text": "This plugin contains the following shadow tiddlers:" }, "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": { "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading", "text": "Shadow Status" }, "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": { "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint", "text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler" }, "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": { "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint", "text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler" }, "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": { "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source", "text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>" }, "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": { "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint", "text": "It is overridden by an ordinary tiddler" }, "$:/language/TiddlerInfo/Fields/Caption": { "title": "$:/language/TiddlerInfo/Fields/Caption", "text": "Fields" }, "$:/language/TiddlerInfo/List/Caption": { "title": "$:/language/TiddlerInfo/List/Caption", "text": "List" }, "$:/language/TiddlerInfo/List/Empty": { "title": "$:/language/TiddlerInfo/List/Empty", "text": "This tiddler does not have a list" }, "$:/language/TiddlerInfo/Listed/Caption": { "title": "$:/language/TiddlerInfo/Listed/Caption", "text": "Listed" }, "$:/language/TiddlerInfo/Listed/Empty": { "title": "$:/language/TiddlerInfo/Listed/Empty", "text": "This tiddler is not listed by any others" }, "$:/language/TiddlerInfo/References/Caption": { "title": "$:/language/TiddlerInfo/References/Caption", "text": "References" }, "$:/language/TiddlerInfo/References/Empty": { "title": "$:/language/TiddlerInfo/References/Empty", "text": "No tiddlers link to this one" }, "$:/language/TiddlerInfo/Tagging/Caption": { "title": "$:/language/TiddlerInfo/Tagging/Caption", "text": "Tagging" }, "$:/language/TiddlerInfo/Tagging/Empty": { "title": "$:/language/TiddlerInfo/Tagging/Empty", "text": "No tiddlers are tagged with this one" }, "$:/language/TiddlerInfo/Tools/Caption": { "title": "$:/language/TiddlerInfo/Tools/Caption", "text": "Tools" }, "$:/language/Docs/Types/application/javascript": { "title": "$:/language/Docs/Types/application/javascript", "description": "JavaScript code", "name": "application/javascript", "group": "Developer", "group-sort": "2" }, "$:/language/Docs/Types/application/json": { "title": "$:/language/Docs/Types/application/json", "description": "JSON data", "name": "application/json", "group": "Developer", "group-sort": "2" }, "$:/language/Docs/Types/application/x-tiddler-dictionary": { "title": "$:/language/Docs/Types/application/x-tiddler-dictionary", "description": "Data dictionary", "name": "application/x-tiddler-dictionary", "group": "Developer", "group-sort": "2" }, "$:/language/Docs/Types/image/gif": { "title": "$:/language/Docs/Types/image/gif", "description": "GIF image", "name": "image/gif", "group": "Image", "group-sort": "1" }, "$:/language/Docs/Types/image/jpeg": { "title": "$:/language/Docs/Types/image/jpeg", "description": "JPEG image", "name": "image/jpeg", "group": "Image", "group-sort": "1" }, "$:/language/Docs/Types/image/png": { "title": "$:/language/Docs/Types/image/png", "description": "PNG image", "name": "image/png", "group": "Image", "group-sort": "1" }, "$:/language/Docs/Types/image/svg+xml": { "title": "$:/language/Docs/Types/image/svg+xml", "description": "Structured Vector Graphics image", "name": "image/svg+xml", "group": "Image", "group-sort": "1" }, "$:/language/Docs/Types/image/x-icon": { "title": "$:/language/Docs/Types/image/x-icon", "description": "ICO format icon file", "name": "image/x-icon", "group": "Image", "group-sort": "1" }, "$:/language/Docs/Types/text/css": { "title": "$:/language/Docs/Types/text/css", "description": "Static stylesheet", "name": "text/css", "group": "Developer", "group-sort": "2" }, "$:/language/Docs/Types/text/html": { "title": "$:/language/Docs/Types/text/html", "description": "HTML markup", "name": "text/html", "group": "Text", "group-sort": "0" }, "$:/language/Docs/Types/text/plain": { "title": "$:/language/Docs/Types/text/plain", "description": "Plain text", "name": "text/plain", "group": "Text", "group-sort": "0" }, "$:/language/Docs/Types/text/vnd.tiddlywiki": { "title": "$:/language/Docs/Types/text/vnd.tiddlywiki", "description": "TiddlyWiki 5", "name": "text/vnd.tiddlywiki", "group": "Text", "group-sort": "0" }, "$:/language/Docs/Types/text/x-tiddlywiki": { "title": "$:/language/Docs/Types/text/x-tiddlywiki", "description": "TiddlyWiki Classic", "name": "text/x-tiddlywiki", "group": "Text", "group-sort": "0" }, "$:/languages/en-GB/icon": { "title": "$:/languages/en-GB/icon", "type": "image/svg+xml", "text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n" }, "$:/languages/en-GB": { "title": "$:/languages/en-GB", "name": "en-GB", "description": "English (British)", "author": "JeremyRuston", "core-version": ">=5.0.0\"", "text": "Stub pseudo-plugin for the default language" }, "$:/core/modules/commander.js": { "title": "$:/core/modules/commander.js", "text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\t// Parse named parameters if required\n\t\t\t\tif(command.info.namedParameterMode) {\n\t\t\t\t\tparams = this.extractNamedParameters(params,command.info.mandatoryParameters);\n\t\t\t\t\tif(typeof params === \"string\") {\n\t\t\t\t\t\treturn this.callback(params);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nGiven an array of parameter strings `params` in name:value format, and an array of mandatory parameter names in `mandatoryParameters`, returns a hashmap of values or a string if error\n*/\nCommander.prototype.extractNamedParameters = function(params,mandatoryParameters) {\n\tmandatoryParameters = mandatoryParameters || [];\n\tvar errors = [],\n\t\tparamsByName = Object.create(null);\n\t// Extract the parameters\n\t$tw.utils.each(params,function(param) {\n\t\tvar index = param.indexOf(\"=\");\n\t\tif(index < 1) {\n\t\t\terrors.push(\"malformed named parameter: '\" + param + \"'\");\n\t\t}\n\t\tparamsByName[param.slice(0,index)] = $tw.utils.trim(param.slice(index+1));\n\t});\n\t// Check the mandatory parameters are present\n\t$tw.utils.each(mandatoryParameters,function(mandatoryParameter) {\n\t\tif(!$tw.utils.hop(paramsByName,mandatoryParameter)) {\n\t\t\terrors.push(\"missing mandatory parameter: '\" + mandatoryParameter + \"'\");\n\t\t}\n\t});\n\t// Return any errors\n\tif(errors.length > 0) {\n\t\treturn errors.join(\" and\\n\");\n\t} else {\n\t\treturn paramsByName;\t\t\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/commands/build.js": { "title": "$:/core/modules/commands/build.js", "text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/clearpassword.js": { "title": "$:/core/modules/commands/clearpassword.js", "text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/deletetiddlers.js": { "title": "$:/core/modules/commands/deletetiddlers.js", "text": "/*\\\ntitle: $:/core/modules/commands/deletetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to delete tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"deletetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filter\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\twiki.deleteTiddler(title);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/editions.js": { "title": "$:/core/modules/commands/editions.js", "text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\" \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/fetch.js": { "title": "$:/core/modules/commands/fetch.js", "text": "/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tswitch(this.params[0]) {\n\t\tcase \"raw-file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turl: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"raw-files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url]\n\t} else if(options.urlFilter) {\n\t\turls = $tw.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback,redirectCount) {\n\tif(redirectCount > 10) {\n\t\treturn callback(\"Error too many redirects retrieving \" + url);\n\t}\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t var type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t \tdata = [];\n\t self.commander.write(\"Reading \" + url + \": \");\n\t response.on(\"data\",function(chunk) {\n\t data.push(chunk);\n\t self.commander.write(\".\");\n\t });\n\t response.on(\"end\",function() {\n\t self.commander.write(\"\\n\");\n\t if(response.statusCode === 200) {\n\t\t self.processBody(Buffer.concat(data),type,options,url);\n\t\t callback(null);\n\t } else {\n\t \tif(response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {\n\t \t\treturn self.fetchFile(response.headers.location,options,callback,redirectCount + 1);\n\t \t} else {\n\t\t \treturn callback(\"Error \" + response.statusCode + \" retrieving \" + url)\t \t\t\n\t \t}\n\t }\n\t \t});\n\t \tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t \t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options,url) {\n\tvar self = this;\n\t// Collect the tiddlers in a wiki\n\tvar incomingWiki = new $tw.Wiki();\n\tif(options.raw) {\n\t\tvar typeInfo = type ? $tw.config.contentTypeInfo[type] : null,\n\t\t\tencoding = typeInfo ? typeInfo.encoding : \"utf8\";\n\t\tincomingWiki.addTiddler(new $tw.Tiddler({\n\t\t\ttitle: url,\n\t\t\ttype: type,\n\t\t\ttext: body.toString(encoding)\n\t\t}));\n\t} else {\n\t\t// Deserialise the file to extract the tiddlers\n\t\tvar tiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body.toString(\"utf8\"),{});\n\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t});\n\t}\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter || \"[all[tiddlers]]\");\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle)\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title)\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\")\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/help.js": { "title": "$:/core/modules/commands/help.js", "text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/import.js": { "title": "$:/core/modules/commands/import.js", "text": "/*\\\ntitle: $:/core/modules/commands/import.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 2) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar filename = self.params[0],\n\t\tdeserializer = self.params[1],\n\t\ttitle = self.params[2] || filename,\n\t\tencoding = self.params[3] || \"utf8\",\n\t\ttext = fs.readFileSync(filename,encoding),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(null,text,{title: title},{deserializer: deserializer});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t});\n\tthis.commander.log(tiddlers.length + \" tiddler(s) imported\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/init.js": { "title": "$:/core/modules/commands/init.js", "text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/listen.js": { "title": "$:/core/modules/commands/listen.js", "text": "/*\\\ntitle: $:/core/modules/commands/listen.js\ntype: application/javascript\nmodule-type: command\n\nListen for HTTP requests and serve tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"listen\",\n\tsynchronous: true,\n\tnamedParameterMode: true,\n\tmandatoryParameters: [],\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: self.params\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/load.js": { "title": "$:/core/modules/commands/load.js", "text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file or directory\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar tiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count && self.params[1] !== \"noerror\") {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/makelibrary.js": { "title": "$:/core/modules/commands/makelibrary.js", "text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),collectPlugins);\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers})\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/output.js": { "title": "$:/core/modules/commands/output.js", "text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/password.js": { "title": "$:/core/modules/commands/password.js", "text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/render.js": { "title": "$:/core/modules/commands/render.js", "text": "/*\\\ntitle: $:/core/modules/commands/render.js\ntype: application/javascript\nmodule-type: command\n\nRender individual tiddlers and save the results to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"render\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing tiddler filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]addsuffix[.html]]\",\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tvarName = this.params[4],\n\t\tvarValue = this.params[5],\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template || title),\n\t\t\tvariables = {currentTiddler: title};\n\t\tif(varName) {\n\t\t\tvariables[varName] = varValue || \"\";\n\t\t}\n\t\tvar widgetNode = wiki.makeWidget(parser,{variables: variables}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Rendering \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/rendertiddler.js": { "title": "$:/core/modules/commands/rendertiddler.js", "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/rendertiddlers.js": { "title": "$:/core/modules/commands/rendertiddlers.js", "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/save.js": { "title": "$:/core/modules/commands/save.js", "text": "/*\\\ntitle: $:/core/modules/commands/save.js\ntype: application/javascript\nmodule-type: command\n\nSaves individual tiddlers in their raw text or binary format to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"save\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]]\",\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Saving \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/savelibrarytiddlers.js": { "title": "$:/core/modules/commands/savelibrarytiddlers.js", "text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\tdoesRequireReload = !!$tw.wiki.doesPluginInfoRequireReload(pluginTiddlers),\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{\n\t\t\ttext: undefined,\n\t\t\treadme: readmeContent,\n\t\t\t\"requires-reload\": doesRequireReload ? \"yes\" : \"no\",\n\t\t\ticon: iconContent\n\t\t}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/savetiddler.js": { "title": "$:/core/modules/commands/savetiddler.js", "text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/savetiddlers.js": { "title": "$:/core/modules/commands/savetiddlers.js", "text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/savewikifolder.js": { "title": "$:/core/modules/commands/savewikifolder.js", "text": "/*\\\ntitle: $:/core/modules/commands/savewikifolder.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the current wiki as a wiki folder\n\n--savewikifolder <wikifolderpath> [<filter>]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savewikifolder\",\n\tsynchronous: true\n};\n\nvar fs,path;\nif($tw.node) {\n\tfs = require(\"fs\");\n\tpath = require(\"path\");\n}\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing wiki folder path\";\n\t}\n\tvar wikifoldermaker = new WikiFolderMaker(this.params[0],this.params[1],this.commander);\n\treturn wikifoldermaker.save();\n};\n\nfunction WikiFolderMaker(wikiFolderPath,wikiFilter,commander) {\n\tthis.wikiFolderPath = wikiFolderPath;\n\tthis.wikiFilter = wikiFilter || \"[all[tiddlers]]\";\n\tthis.commander = commander;\n\tthis.wiki = commander.wiki;\n\tthis.savedPaths = []; // So that we can detect filename clashes\n}\n\nWikiFolderMaker.prototype.log = function(str) {\n\tif(this.commander.verbose) {\n\t\tconsole.log(str);\n\t}\n};\n\nWikiFolderMaker.prototype.tiddlersToIgnore = [\n\t\"$:/boot/boot.css\",\n\t\"$:/boot/boot.js\",\n\t\"$:/boot/bootprefix.js\",\n\t\"$:/core\",\n\t\"$:/library/sjcl.js\",\n\t\"$:/temp/info-plugin\"\n];\n\n/*\nReturns null if successful, or an error string if there was an error\n*/\nWikiFolderMaker.prototype.save = function() {\n\tvar self = this;\n\t// Check that the output directory doesn't exist\n\tif(fs.existsSync(this.wikiFolderPath) && !$tw.utils.isDirectoryEmpty(this.wikiFolderPath)) {\n\t\treturn \"The unpackwiki command requires that the output wiki folder be empty\";\n\t}\n\t// Get the tiddlers from the source wiki\n\tvar tiddlerTitles = this.wiki.filterTiddlers(this.wikiFilter);\n\t// Initialise a new tiddlwiki.info file\n\tvar newWikiInfo = {};\n\t// Process each incoming tiddler in turn\n\t$tw.utils.each(tiddlerTitles,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tif(self.tiddlersToIgnore.indexOf(title) !== -1) {\n\t\t\t\t// Ignore the core plugin and the ephemeral info plugin\n\t\t\t\tself.log(\"Ignoring tiddler: \" + title);\n\t\t\t} else {\n\t\t\t\tvar type = tiddler.fields.type,\n\t\t\t\t\tpluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif(type === \"application/json\" && pluginType) {\n\t\t\t\t\t// Plugin tiddler\n\t\t\t\t\tvar libraryDetails = self.findPluginInLibrary(title);\n\t\t\t\t\tif(libraryDetails) {\n\t\t\t\t\t\t// A plugin from the core library\n\t\t\t\t\t\tself.log(\"Adding built-in plugin: \" + libraryDetails.name);\n\t\t\t\t\t\tnewWikiInfo[libraryDetails.type] = newWikiInfo[libraryDetails.type] || [];\n\t\t\t\t\t\t$tw.utils.pushTop(newWikiInfo[libraryDetails.type],libraryDetails.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// A custom plugin\n\t\t\t\t\t\tself.log(\"Processing custom plugin: \" + title);\n\t\t\t\t\t\tself.saveCustomPlugin(tiddler);\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t// Ordinary tiddler\n\t\t\t\t\tself.saveTiddler(\"tiddlers\",tiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Save the tiddlywiki.info file\n\tthis.saveJSONFile(\"tiddlywiki.info\",newWikiInfo);\n\tself.log(\"Writing tiddlywiki.info: \" + JSON.stringify(newWikiInfo,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\n/*\nTest whether the specified tiddler is a plugin in the plugin library\n*/\nWikiFolderMaker.prototype.findPluginInLibrary = function(title) {\n\tvar parts = title.split(\"/\"),\n\t\tpluginPath, type, name;\n\tif(parts[0] === \"$:\") {\n\t\tif(parts[1] === \"languages\" && parts.length === 3) {\n\t\t\tpluginPath = \"languages\" + path.sep + parts[2];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2];\n\t\t} else if(parts[1] === \"plugins\" || parts[1] === \"themes\" && parts.length === 4) {\n\t\t\tpluginPath = parts[1] + path.sep + parts[2] + path.sep + parts[3];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2] + \"/\" + parts[3];\n\t\t}\n\t}\n\tif(pluginPath && type && name) {\n\t\tpluginPath = path.resolve($tw.boot.bootPath,\"..\",pluginPath);\n\t\tif(fs.existsSync(pluginPath)) {\n\t\t\treturn {\n\t\t\t\tpluginPath: pluginPath,\n\t\t\t\ttype: type,\n\t\t\t\tname: name\n\t\t\t};\n\t\t}\n\t}\n\treturn false;\n};\n\nWikiFolderMaker.prototype.saveCustomPlugin = function(pluginTiddler) {\n\tvar self = this,\n\t\tpluginTitle = pluginTiddler.fields.title,\n\t\ttitleParts = pluginTitle.split(\"/\"),\n\t\tdirectory = $tw.utils.generateTiddlerFilepath(titleParts[titleParts.length - 1],{\n\t\t\tdirectory: path.resolve(this.wikiFolderPath,pluginTiddler.fields[\"plugin-type\"] + \"s\")\n\t\t}),\n\t\tpluginInfo = pluginTiddler.getFieldStrings({exclude: [\"text\",\"type\"]});\n\tthis.saveJSONFile(directory + path.sep + \"plugin.info\",pluginInfo);\n\tself.log(\"Writing \" + directory + path.sep + \"plugin.info: \" + JSON.stringify(pluginInfo,null,$tw.config.preferences.jsonSpaces));\n\tvar pluginTiddlers = JSON.parse(pluginTiddler.fields.text).tiddlers; // A hashmap of tiddlers in the plugin\n\t$tw.utils.each(pluginTiddlers,function(tiddler) {\n\t\tself.saveTiddler(directory,new $tw.Tiddler(tiddler));\n\t});\n};\n\nWikiFolderMaker.prototype.saveTiddler = function(directory,tiddler) {\n\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\tdirectory: path.resolve(this.wikiFolderPath,directory),\n\t\twiki: this.wiki\n\t});\n\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n};\n\nWikiFolderMaker.prototype.saveJSONFile = function(filename,json) {\n\tthis.saveTextFile(filename,JSON.stringify(json,null,$tw.config.preferences.jsonSpaces));\n};\n\nWikiFolderMaker.prototype.saveTextFile = function(filename,data) {\n\tthis.saveFile(filename,\"utf8\",data);\n};\n\nWikiFolderMaker.prototype.saveFile = function(filename,encoding,data) {\n\tvar filepath = path.resolve(this.wikiFolderPath,filename);\n\t$tw.utils.createFileDirectories(filepath);\n\tfs.writeFileSync(filepath,data,encoding);\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/server.js": { "title": "$:/core/modules/commands/server.js", "text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nDeprecated legacy command for serving tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: {\n\t\t\tport: this.params[0],\n\t\t\thost: this.params[6],\n\t\t\t\"root-tiddler\": this.params[1],\n\t\t\t\"root-render-type\": this.params[2],\n\t\t\t\"root-serve-type\": this.params[3],\n\t\t\tusername: this.params[4],\n\t\t\tpassword: this.params[5],\n\t\t\t\"path-prefix\": this.params[7],\n\t\t\t\"debug-level\": this.params[8]\n\t\t}\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/setfield.js": { "title": "$:/core/modules/commands/setfield.js", "text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/unpackplugin.js": { "title": "$:/core/modules/commands/unpackplugin.js", "text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/verbose.js": { "title": "$:/core/modules/commands/verbose.js", "text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n \" + $tw.boot.logMessages.join(\"\\n \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/commands/version.js": { "title": "$:/core/modules/commands/version.js", "text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n", "type": "application/javascript", "module-type": "command" }, "$:/core/modules/config.js": { "title": "$:/core/modules/config.js", "text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n", "type": "application/javascript", "module-type": "config" }, "$:/core/modules/deserializers.js": { "title": "$:/core/modules/deserializers.js", "text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming,\n\t\tresults = [];\n\ttry {\n\t\tincoming = JSON.parse(text);\n\t} catch(e) {\n\t\tincoming = [{\n\t\t\ttitle: \"JSON error: \" + e,\n\t\t\ttext: \"\"\n\t\t}]\n\t}\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n", "type": "application/javascript", "module-type": "tiddlerdeserializer" }, "$:/core/modules/editor/engines/framed.js": { "title": "$:/core/modules/editor/engines/framed.js", "text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeNode.style[\"background-color\"] = this.widget.wiki.extractTiddlerDataItem(this.widget.wiki.getTiddlerText(\"$:/palette\"),\"tiddler-editor-background\");\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.iframeNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"click\",handlerObject: this,handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\tthis.domNode.style[\"background-color\"] = this.widget.wiki.extractTiddlerDataItem(this.widget.wiki.getTiddlerText(\"$:/palette\"),\"tiddler-editor-background\");\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a click\n*/\nFramedEngine.prototype.handleClickEvent = function(event) {\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n", "type": "application/javascript", "module-type": "library" }, "$:/core/modules/editor/engines/simple.js": { "title": "$:/core/modules/editor/engines/simple.js", "text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.domNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n", "type": "application/javascript", "module-type": "library" }, "$:/core/modules/editor/factory.js": { "title": "$:/core/modules/editor/factory.js", "text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag) || \"input\";\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedAttributes.tabindex || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n", "type": "application/javascript", "module-type": "library" }, "$:/core/modules/editor/operations/bitmap/clear.js": { "title": "$:/core/modules/editor/operations/bitmap/clear.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n", "type": "application/javascript", "module-type": "bitmapeditoroperation" }, "$:/core/modules/editor/operations/bitmap/resize.js": { "title": "$:/core/modules/editor/operations/bitmap/resize.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n", "type": "application/javascript", "module-type": "bitmapeditoroperation" }, "$:/core/modules/editor/operations/bitmap/rotate-left.js": { "title": "$:/core/modules/editor/operations/bitmap/rotate-left.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/rotate-left.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to rotate the image left by 90 degrees\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"rotate-left\"] = function(event) {\n\t// Rotate the canvas left by 90 degrees\n\tthis.rotateCanvasLeft();\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n", "type": "application/javascript", "module-type": "bitmapeditoroperation" }, "$:/core/modules/editor/operations/text/excise.js": { "title": "$:/core/modules/editor/operations/text/excise.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ? [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n", "type": "application/javascript", "module-type": "texteditoroperation" }, "$:/core/modules/editor/operations/text/make-link.js": { "title": "$:/core/modules/editor/operations/text/make-link.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n", "type": "application/javascript", "module-type": "texteditoroperation" }, "$:/core/modules/editor/operations/text/prefix-lines.js": { "title": "$:/core/modules/editor/operations/text/prefix-lines.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\tvar targetCount = parseInt(event.paramObject.count + \"\",10);\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,targetCount);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== targetCount) {\n\t\t\t// Apply the prefix\n\t\t\tline = prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "texteditoroperation" }, "$:/core/modules/editor/operations/text/replace-all.js": { "title": "$:/core/modules/editor/operations/text/replace-all.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n", "type": "application/javascript", "module-type": "texteditoroperation" }, "$:/core/modules/editor/operations/text/replace-selection.js": { "title": "$:/core/modules/editor/operations/text/replace-selection.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n", "type": "application/javascript", "module-type": "texteditoroperation" }, "$:/core/modules/editor/operations/text/save-selection.js": { "title": "$:/core/modules/editor/operations/text/save-selection.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/save-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to save the current selection in a specified tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"save-selection\"] = function(event,operation) {\n\tvar tiddler = event.paramObject.tiddler,\n\t\tfield = event.paramObject.field || \"text\";\n\tif(tiddler && field) {\n\t\tthis.wiki.setText(tiddler,field,null,operation.text.substring(operation.selStart,operation.selEnd));\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "texteditoroperation" }, "$:/core/modules/editor/operations/text/wrap-lines.js": { "title": "$:/core/modules/editor/operations/text/wrap-lines.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n", "type": "application/javascript", "module-type": "texteditoroperation" }, "$:/core/modules/editor/operations/text/wrap-selection.js": { "title": "$:/core/modules/editor/operations/text/wrap-selection.js", "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix\n\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\toperation.replacement = \"\";\n\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "texteditoroperation" }, "$:/core/modules/filters/addprefix.js": { "title": "$:/core/modules/filters/addprefix.js", "text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/addsuffix.js": { "title": "$:/core/modules/filters/addsuffix.js", "text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/after.js": { "title": "$:/core/modules/filters/after.js", "text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/all/current.js": { "title": "$:/core/modules/filters/all/current.js", "text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "allfilteroperator" }, "$:/core/modules/filters/all/missing.js": { "title": "$:/core/modules/filters/all/missing.js", "text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n", "type": "application/javascript", "module-type": "allfilteroperator" }, "$:/core/modules/filters/all/orphans.js": { "title": "$:/core/modules/filters/all/orphans.js", "text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n", "type": "application/javascript", "module-type": "allfilteroperator" }, "$:/core/modules/filters/all/shadows.js": { "title": "$:/core/modules/filters/all/shadows.js", "text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n", "type": "application/javascript", "module-type": "allfilteroperator" }, "$:/core/modules/filters/all/tags.js": { "title": "$:/core/modules/filters/all/tags.js", "text": "/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n\n})();\n", "type": "application/javascript", "module-type": "allfilteroperator" }, "$:/core/modules/filters/all/tiddlers.js": { "title": "$:/core/modules/filters/all/tiddlers.js", "text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n", "type": "application/javascript", "module-type": "allfilteroperator" }, "$:/core/modules/filters/all.js": { "title": "$:/core/modules/filters/all.js", "text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/backlinks.js": { "title": "$:/core/modules/filters/backlinks.js", "text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/before.js": { "title": "$:/core/modules/filters/before.js", "text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/commands.js": { "title": "$:/core/modules/filters/commands.js", "text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/compare.js": { "title": "$:/core/modules/filters/compare.js", "text": "/*\\\ntitle: $:/core/modules/filters/compare.js\ntype: application/javascript\nmodule-type: filteroperator\n\nGeneral purpose comparison operator\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.compare = function(source,operator,options) {\n\tvar suffixes = operator.suffixes || [],\n\t\ttype = (suffixes[0] || [])[0],\n\t\tmode = (suffixes[1] || [])[0],\n\t\ttypeFn = types[type] || types.number,\n\t\tmodeFn = modes[mode] || modes.eq,\n\t\tinvert = operator.prefix === \"!\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tif(modeFn(typeFn(title,operator.operand)) !== invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nvar types = {\n\t\"number\": function(a,b) {\n\t\treturn compare($tw.utils.parseNumber(a),$tw.utils.parseNumber(b));\n\t},\n\t\"integer\": function(a,b) {\n\t\treturn compare($tw.utils.parseInt(a),$tw.utils.parseInt(b));\n\t},\n\t\"string\": function(a,b) {\n\t\treturn compare(\"\" + a,\"\" +b);\n\t},\n\t\"date\": function(a,b) {\n\t\tvar dateA = $tw.utils.parseDate(a),\n\t\t\tdateB = $tw.utils.parseDate(b);\n\t\tif(!isFinite(dateA)) {\n\t\t\tdateA = new Date(0);\n\t\t}\n\t\tif(!isFinite(dateB)) {\n\t\t\tdateB = new Date(0);\n\t\t}\n\t\treturn compare(dateA,dateB);\n\t},\n\t\"version\": function(a,b) {\n\t\treturn $tw.utils.compareVersions(a,b);\n\t}\n};\n\nfunction compare(a,b) {\n\tif(a > b) {\n\t\treturn +1;\n\t} else if(a < b) {\n\t\treturn -1;\n\t} else {\n\t\treturn 0;\n\t}\n};\n\nvar modes = {\n\t\"eq\": function(value) {return value === 0;},\n\t\"ne\": function(value) {return value !== 0;},\n\t\"gteq\": function(value) {return value >= 0;},\n\t\"gt\": function(value) {return value > 0;},\n\t\"lteq\": function(value) {return value <= 0;},\n\t\"lt\": function(value) {return value < 0;}\n}\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/contains.js": { "title": "$:/core/modules/filters/contains.js", "text": "/*\\\ntitle: $:/core/modules/filters/contains.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for finding values in array fields\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.contains = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"list\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/count.js": { "title": "$:/core/modules/filters/count.js", "text": "/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/days.js": { "title": "$:/core/modules/filters/days.js", "text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/each.js": { "title": "$:/core/modules/filters/each.js", "text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\tvalue,values = {},\n\tfield = operator.operand || \"title\";\n\tif(operator.suffix === \"value\" && field === \"title\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(values,title)) {\n\t\t\t\tvalues[title] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else if(operator.suffix !== \"list-item\") {\n\t\tif(field === \"title\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !$tw.utils.hop(values,title)) {\n\t\t\t\t\tvalues[title] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvalue = tiddler.getFieldString(field);\n\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/eachday.js": { "title": "$:/core/modules/filters/eachday.js", "text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/editiondescription.js": { "title": "$:/core/modules/filters/editiondescription.js", "text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/editions.js": { "title": "$:/core/modules/filters/editions.js", "text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\tresults.push(name);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/else.js": { "title": "$:/core/modules/filters/else.js", "text": "/*\\\ntitle: $:/core/modules/filters/else.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing an empty input list with a constant, passing a non-empty input list straight through\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.else = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tif(results.length === 0) {\n\t\treturn [operator.operand];\n\t} else {\n\t\treturn results;\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/decodeuricomponent.js": { "title": "$:/core/modules/filters/decodeuricomponent.js", "text": "/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURIComponent(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURI(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title));\n\t});\n\treturn results;\n};\n\nexports.jsonstringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.jsonStringify(title));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\nexports.escapecss = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t// escape any character with a special meaning in CSS using CSS.escape()\n\t\tresults.push(CSS.escape(title));\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/enlist.js": { "title": "$:/core/modules/filters/enlist.js", "text": "/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar allowDuplicates = false;\n\tswitch(operator.suffix) {\n\t\tcase \"raw\":\n\t\t\tallowDuplicates = true;\n\t\t\tbreak;\n\t\tcase \"dedupe\":\n\t\t\tallowDuplicates = false;\n\t\t\tbreak;\n\t}\n\tvar list = $tw.utils.parseStringArray(operator.operand,allowDuplicates);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/field.js": { "title": "$:/core/modules/filters/field.js", "text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],indexedResults,\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif(source.byField && operator.operand) {\n\t\t\t\tindexedResults = source.byField(fieldname,operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults\n\t\t\t\t}\n\t\t\t}\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/fields.js": { "title": "$:/core/modules/filters/fields.js", "text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName,\n\t\tsuffixes = (operator.suffixes || [])[0] || [],\n\t\toperand = $tw.utils.parseStringArray(operator.operand);\n\t\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(suffixes.indexOf(\"include\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? $tw.utils.pushTop(results,fieldName) : \"\";\n\t\t\t\t}\n\t\t\t} else if (suffixes.indexOf(\"exclude\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? \"\" : $tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else if\n\t\t\telse {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else\n\t\t} // if (tiddler)\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/get.js": { "title": "$:/core/modules/filters/get.js", "text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/getindex.js": { "title": "$:/core/modules/filters/getindex.js", "text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/getvariable.js": { "title": "$:/core/modules/filters/getvariable.js", "text": "/*\\\ntitle: $:/core/modules/filters/getvariable.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing input values by the value of the variable with the same name, or blank if the variable is missing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getvariable = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.widget.getVariable(title) || \"\");\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/has.js": { "title": "$:/core/modules/filters/has.js", "text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field or index\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse if(operator.suffix === \"index\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop($tw.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop($tw.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand] === \"\")) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === \"\" || tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\t\t\t\t\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/haschanged.js": { "title": "$:/core/modules/filters/haschanged.js", "text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/indexes.js": { "title": "$:/core/modules/filters/indexes.js", "text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/insertbefore.js": { "title": "$:/core/modules/filters/insertbefore.js", "text": "/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\");\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tresults.push(operator.operand);\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/is/binary.js": { "title": "$:/core/modules/filters/is/binary.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/binary.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[binary]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.binary = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/blank.js": { "title": "$:/core/modules/filters/is/blank.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/blank.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[blank]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.blank = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/current.js": { "title": "$:/core/modules/filters/is/current.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/image.js": { "title": "$:/core/modules/filters/is/image.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/missing.js": { "title": "$:/core/modules/filters/is/missing.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/orphan.js": { "title": "$:/core/modules/filters/is/orphan.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/shadow.js": { "title": "$:/core/modules/filters/is/shadow.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/system.js": { "title": "$:/core/modules/filters/is/system.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/tag.js": { "title": "$:/core/modules/filters/is/tag.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/tiddler.js": { "title": "$:/core/modules/filters/is/tiddler.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is/variable.js": { "title": "$:/core/modules/filters/is/variable.js", "text": "/*\\\ntitle: $:/core/modules/filters/is/variable.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[variable]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variable = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!(title in options.widget.variables)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title in options.widget.variables) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "isfilteroperator" }, "$:/core/modules/filters/is.js": { "title": "$:/core/modules/filters/is.js", "text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/limit.js": { "title": "$:/core/modules/filters/limit.js", "text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/links.js": { "title": "$:/core/modules/filters/links.js", "text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/list.js": { "title": "$:/core/modules/filters/list.js", "text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/listed.js": { "title": "$:/core/modules/filters/listed.js", "text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/listops.js": { "title": "$:/core/modules/filters/listops.js", "text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/lookup.js": { "title": "$:/core/modules/filters/lookup.js", "text": "/*\\\ntitle: $:/core/modules/filters/lookup.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that looks up values via a title prefix\n\n[lookup:<field>[<prefix>]]\n\nPrepends the prefix to the selected items and returns the specified field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.lookup = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.wiki.getTiddlerText(operator.operand + title) || options.wiki.getTiddlerText(operator.operand + operator.suffix));\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/match.js": { "title": "$:/core/modules/filters/match.js", "text": "/*\\\ntitle: $:/core/modules/filters/match.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title matches a string\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.match = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() !== (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() === (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/math.js": { "title": "$:/core/modules/filters/math.js", "text": "/*\\\ntitle: $:/core/modules/filters/math.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for math. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\nNote that strings are converted to numbers automatically. Trailing non-digits are ignored.\n\n* \"\" converts to 0\n* \"12kk\" converts to 12\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.negate = makeNumericBinaryOperator(\n\tfunction(a) {return -a}\n);\n\nexports.abs = makeNumericBinaryOperator(\n\tfunction(a) {return Math.abs(a)}\n);\n\nexports.ceil = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(a)}\n);\n\nexports.floor = makeNumericBinaryOperator(\n\tfunction(a) {return Math.floor(a)}\n);\n\nexports.round = makeNumericBinaryOperator(\n\tfunction(a) {return Math.round(a)}\n);\n\nexports.trunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.trunc(a)}\n);\n\nexports.untrunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(Math.abs(a)) * Math.sign(a)}\n);\n\nexports.sign = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sign(a)}\n);\n\nexports.add = makeNumericBinaryOperator(\n\tfunction(a,b) {return a + b;}\n);\n\nexports.subtract = makeNumericBinaryOperator(\n\tfunction(a,b) {return a - b;}\n);\n\nexports.multiply = makeNumericBinaryOperator(\n\tfunction(a,b) {return a * b;}\n);\n\nexports.divide = makeNumericBinaryOperator(\n\tfunction(a,b) {return a / b;}\n);\n\nexports.remainder = makeNumericBinaryOperator(\n\tfunction(a,b) {return a % b;}\n);\n\nexports.max = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.max(a,b);}\n);\n\nexports.min = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.min(a,b);}\n);\n\nexports.fixed = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toFixed.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.precision = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toPrecision.call(a,Math.min(Math.max(b,1),100));}\n);\n\nexports.exponential = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toExponential.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.sum = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0 // Initial value\n);\n\nexports.product = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator * value},\n\t1 // Initial value\n);\n\nexports.maxall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.max(accumulator,value)},\n\t-Infinity // Initial value\n);\n\nexports.minall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.min(accumulator,value)},\n\tInfinity // Initial value\n);\n\nfunction makeNumericBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [],\n\t\t\tnumOperand = $tw.utils.parseNumber(operator.operand);\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push($tw.utils.stringifyNumber(fnCalc($tw.utils.parseNumber(title),numOperand)));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeNumericReducingOperator(fnCalc,initialValue) {\n\tinitialValue = initialValue || 0;\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [$tw.utils.stringifyNumber(result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,$tw.utils.parseNumber(currentValue));\n\t\t},initialValue))];\n\t};\n}\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/minlength.js": { "title": "$:/core/modules/filters/minlength.js", "text": "/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/modules.js": { "title": "$:/core/modules/filters/modules.js", "text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/moduletypes.js": { "title": "$:/core/modules/filters/moduletypes.js", "text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/next.js": { "title": "$:/core/modules/filters/next.js", "text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/plugintiddlers.js": { "title": "$:/core/modules/filters/plugintiddlers.js", "text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/prefix.js": { "title": "$:/core/modules/filters/prefix.js", "text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/previous.js": { "title": "$:/core/modules/filters/previous.js", "text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/range.js": { "title": "$:/core/modules/filters/range.js", "text": "/*\\\ntitle: $:/core/modules/filters/range.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for generating a numeric range.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.range = function(source,operator,options) {\n\tvar results = [];\n\t// Split the operand into numbers delimited by these symbols\n\tvar parts = operator.operand.split(/[,:;]/g),\n\t\tbeg, end, inc, i, fixed = 0;\n\tfor (i=0; i<parts.length; i++) {\n\t\t// Validate real number\n\t\tif(!/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/.test(parts[i])) {\n\t\t\treturn [\"range: bad number \\\"\" + parts[i] + \"\\\"\"];\n\t\t}\n\t\t// Count digits; the most precise number determines decimal places in output.\n\t\tvar frac = /\\.\\d+/.exec(parts[i]);\n\t\tif(frac) {\n\t\t\tfixed = Math.max(fixed,frac[0].length-1);\n\t\t}\n\t\tparts[i] = parseFloat(parts[i]);\n\t}\n\tswitch(parts.length) {\n\t\tcase 1:\n\t\t\tend = parts[0];\n\t\t\tif (end >= 1) {\n\t\t\t\tbeg = 1;\n\t\t\t}\n\t\t\telse if (end <= -1) {\n\t\t\t\tbeg = -1;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = Math.abs(parts[2]);\n\t\t\tbreak;\n\t}\n\tif(inc === 0) {\n\t\treturn [\"range: increment 0 causes infinite loop\"];\n\t}\n\t// May need to count backwards\n\tvar direction = ((end < beg) ? -1 : 1);\n\tinc *= direction;\n\t// Estimate number of resulting elements\n\tif((end - beg) / inc > 10000) {\n\t\treturn [\"range: too many steps (over 10K)\"];\n\t}\n\t// Avoid rounding error on last step\n\tend += direction * 0.5 * Math.pow(0.1,fixed);\n\tvar safety = 10010;\n\t// Enumerate the range\n\tif (end<beg) {\n\t\tfor(i=beg; i>end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor(i=beg; i<end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(safety<0) {\n\t\treturn [\"range: unexpectedly large output\"];\n\t}\n\t// Reverse?\n\tif(operator.prefix === \"!\") {\n\t\tresults.reverse();\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/regexp.js": { "title": "$:/core/modules/filters/regexp.js", "text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/removeprefix.js": { "title": "$:/core/modules/filters/removeprefix.js", "text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/removesuffix.js": { "title": "$:/core/modules/filters/removesuffix.js", "text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title && title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/sameday.js": { "title": "$:/core/modules/filters/sameday.js", "text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/search.js": { "title": "$:/core/modules/filters/search.js", "text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffixes) {\n\t\tvar hasFlag = function(flag) {\n\t\t\t\treturn (operator.suffixes[1] || []).indexOf(flag) !== -1;\n\t\t\t},\n\t\t\texcludeFields = false,\n\t\t\tfieldList = operator.suffixes[0] || [],\n\t\t\tfirstField = fieldList[0] || \"\", \n\t\t\tfirstChar = firstField.charAt(0),\n\t\t\tfields;\n\t\tif(firstChar === \"-\") {\n\t\t\tfields = [firstField.slice(1)].concat(fieldList.slice(1));\n\t\t\texcludeFields = true;\n\t\t} else if(fieldList[0] === \"*\"){\n\t\t\tfields = [];\n\t\t\texcludeFields = true;\n\t\t} else {\n\t\t\tfields = fieldList.slice(0);\n\t\t}\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: fields,\n\t\t\texcludeField: excludeFields,\n\t\t\tcaseSensitive: hasFlag(\"casesensitive\"),\n\t\t\tliteral: hasFlag(\"literal\"),\n\t\t\twhitespace: hasFlag(\"whitespace\"),\n\t\t\tanchored: hasFlag(\"anchored\"),\n\t\t\tregexp: hasFlag(\"regexp\"),\n\t\t\twords: hasFlag(\"words\")\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/shadowsource.js": { "title": "$:/core/modules/filters/shadowsource.js", "text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/sort.js": { "title": "$:/core/modules/filters/sort.js", "text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortan = function(source, operator, options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results, operator.operand || \"title\", operator.prefix === \"!\",false,false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/splitbefore.js": { "title": "$:/core/modules/filters/splitbefore.js", "text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/storyviews.js": { "title": "$:/core/modules/filters/storyviews.js", "text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/strings.js": { "title": "$:/core/modules/filters/strings.js", "text": "/*\\\ntitle: $:/core/modules/filters/strings.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for strings. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.length = makeStringBinaryOperator(\n\tfunction(a) {return [\"\" + (\"\" + a).length];}\n);\n\nexports.uppercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toUpperCase()];}\n);\n\nexports.lowercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toLowerCase()];}\n);\n\nexports.sentencecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toSentenceCase(a)];}\n);\n\nexports.titlecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toTitleCase(a)];}\n);\n\nexports.trim = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.trim(a)];}\n);\n\nexports.split = makeStringBinaryOperator(\n\tfunction(a,b) {return (\"\" + a).split(b);}\n);\n\nexports.join = makeStringReducingOperator(\n\tfunction(accumulator,value,operand) {\n\t\tif(accumulator === null) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn accumulator + operand + value;\n\t\t}\n\t},null\n);\n\nfunction makeStringBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tArray.prototype.push.apply(result,fnCalc(title,operator.operand || \"\"));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeStringReducingOperator(fnCalc,initialValue) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,currentValue,operator.operand || \"\");\n\t\t},initialValue) || \"\"];\n\t};\n}\n\nexports.splitregexp = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\tflags = (suffix.indexOf(\"m\") !== -1 ? \"m\" : \"\") + (suffix.indexOf(\"i\") !== -1 ? \"i\" : \"\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(operator.operand || \"\",flags);\t\t\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,title.split(regExp));\n\t});\t\t\n\treturn result;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/subfilter.js": { "title": "$:/core/modules/filters/subfilter.js", "text": "/*\\\ntitle: $:/core/modules/filters/subfilter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand evaluated as a filter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subfilter = function(source,operator,options) {\n\tvar list = options.wiki.filterTiddlers(operator.operand,options.widget,source);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/subtiddlerfields.js": { "title": "$:/core/modules/filters/subtiddlerfields.js", "text": "/*\\\ntitle: $:/core/modules/filters/subtiddlerfields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected subtiddlers of the plugin named in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subtiddlerfields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar subtiddler = options.wiki.getSubTiddler(operator.operand,title);\n\t\tif(subtiddler) {\n\t\t\tfor(var fieldName in subtiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/suffix.js": { "title": "$:/core/modules/filters/suffix.js", "text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/tag.js": { "title": "$:/core/modules/filters/tag.js", "text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [],indexedResults;\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tvar tiddlers;\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddlers.indexOf(title) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tif(source.byTag) {\n\t\t\t\tindexedResults = source.byTag(operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(tiddlers.indexOf(title) !== -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t\t}\n\t\t}\t\t\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/tagging.js": { "title": "$:/core/modules/filters/tagging.js", "text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/tags.js": { "title": "$:/core/modules/filters/tags.js", "text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/then.js": { "title": "$:/core/modules/filters/then.js", "text": "/*\\\ntitle: $:/core/modules/filters/then.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing any titles with a constant\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.then = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/title.js": { "title": "$:/core/modules/filters/title.js", "text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/untagged.js": { "title": "$:/core/modules/filters/untagged.js", "text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/variables.js": { "title": "$:/core/modules/filters/variables.js", "text": "/*\\\ntitle: $:/core/modules/filters/variables.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the active variables\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variables = function(source,operator,options) {\n\tvar names = [];\n\tfor(var variable in options.widget.variables) {\n\t\tnames.push(variable);\n\t}\n\treturn names.sort();\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/wikiparserrules.js": { "title": "$:/core/modules/filters/wikiparserrules.js", "text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters/x-listops.js": { "title": "$:/core/modules/filters/x-listops.js", "text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n /*jslint node: true, browser: true */\n /*global $tw: false */\n \"use strict\";\n\n /*\n Fetch titles from the current list\n */\n var prepare_results = function (source) {\n var results = [];\n source(function (tiddler, title) {\n results.push(title);\n });\n return results;\n };\n\n /*\n Moves a number of items from the tail of the current list before the item named in the operand\n */\n exports.putbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = $tw.utils.getInt(operator.suffix,1);\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list after the item named in the operand\n */\n exports.putafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = $tw.utils.getInt(operator.suffix,1);\n return (index === -1) ?\n results.slice(0, -1) :\n results.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Replaces the item named in the operand with a number of items from the tail of the current list\n */\n exports.replace = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = $tw.utils.getInt(operator.suffix,1);\n return (index === -1) ?\n results.slice(0, -count) :\n results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n };\n\n /*\n Moves a number of items from the tail of the current list to the head of the list\n */\n exports.putfirst = function (source, operator) {\n var results = prepare_results(source),\n count = $tw.utils.getInt(operator.suffix,1);\n return results.slice(-count).concat(results.slice(0, -count));\n };\n\n /*\n Moves a number of items from the head of the current list to the tail of the list\n */\n exports.putlast = function (source, operator) {\n var results = prepare_results(source),\n count = $tw.utils.getInt(operator.suffix,1);\n return results.slice(count).concat(results.slice(0, count));\n };\n\n /*\n Moves the item named in the operand a number of places forward or backward in the list\n */\n exports.move = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand),\n count = $tw.utils.getInt(operator.suffix,1),\n marker = results.splice(index, 1),\n offset = (index + count) > 0 ? index + count : 0;\n return results.slice(0, offset).concat(marker).concat(results.slice(offset));\n };\n\n /*\n Returns the items from the current list that are after the item named in the operand\n */\n exports.allafter = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index === -1) ? [] :\n (operator.suffix) ? results.slice(index) :\n results.slice(index + 1);\n };\n\n /*\n Returns the items from the current list that are before the item named in the operand\n */\n exports.allbefore = function (source, operator) {\n var results = prepare_results(source),\n index = results.indexOf(operator.operand);\n return (index === -1) ? [] :\n (operator.suffix) ? results.slice(0, index + 1) :\n results.slice(0, index);\n };\n\n /*\n Appends the items listed in the operand array to the tail of the current list\n */\n exports.append = function (source, operator) {\n var append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || append.length;\n return (append.length === 0) ? results :\n (operator.prefix) ? results.concat(append.slice(-count)) :\n results.concat(append.slice(0, count));\n };\n\n /*\n Prepends the items listed in the operand array to the head of the current list\n */\n exports.prepend = function (source, operator) {\n var prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = $tw.utils.getInt(operator.suffix,prepend.length);\n return (prepend.length === 0) ? results :\n (operator.prefix) ? prepend.slice(-count).concat(results) :\n prepend.slice(0, count).concat(results);\n };\n\n /*\n Returns all items from the current list except the items listed in the operand array\n */\n exports.remove = function (source, operator) {\n var array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n results = prepare_results(source),\n count = parseInt(operator.suffix) || array.length,\n p,\n len,\n index;\n len = array.length - 1;\n for (p = 0; p < count; ++p) {\n if (operator.prefix) {\n index = results.indexOf(array[len - p]);\n } else {\n index = results.indexOf(array[p]);\n }\n if (index !== -1) {\n results.splice(index, 1);\n }\n }\n return results;\n };\n\n /*\n Returns all items from the current list sorted in the order of the items in the operand array\n */\n exports.sortby = function (source, operator) {\n var results = prepare_results(source);\n if (!results || results.length < 2) {\n return results;\n }\n var lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n results.sort(function (a, b) {\n return lookup.indexOf(a) - lookup.indexOf(b);\n });\n return results;\n };\n\n /*\n Removes all duplicate items from the current list\n */\n exports.unique = function (source, operator) {\n var results = prepare_results(source);\n var set = results.reduce(function (a, b) {\n if (a.indexOf(b) < 0) {\n a.push(b);\n }\n return a;\n }, []);\n return set;\n };\n})();\n", "type": "application/javascript", "module-type": "filteroperator" }, "$:/core/modules/filters.js": { "title": "$:/core/modules/filters.js", "text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\t// The raw suffix for older filters\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t\t// The processed suffix for newer filters\n\t\t\toperator.suffixes = [];\n\t\t\t$tw.utils.each(operator.suffix.split(\":\"),function(subsuffix) {\n\t\t\t\toperator.suffixes.push([]);\n\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\tif(entry) {\n\t\t\t\t\t\toperator.suffixes[operator.suffixes.length - 1].push(entry); \n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tsuffixes: operator.suffixes,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"=\": // The results of the operation are pushed into the result without deduplication\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\tArray.prototype.push.apply(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"~\": // This operation is unioned into the result only if the main result so far is empty\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\tif(results.length === 0) {\n\t\t\t\t\t\t\t// Main result so far is empty\n\t\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter: \" + filterString,function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikimethod" }, "$:/core/modules/indexers/backlinks-indexer.js": { "title": "$:/core/modules/indexers/backlinks-indexer.js", "text": "/*\\\ntitle: $:/core/modules/indexers/backlinks-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers' backlinks\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\n\nfunction BacklinksIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nBacklinksIndexer.prototype.init = function() {\n\tthis.index = null;\n}\n\nBacklinksIndexer.prototype.rebuild = function() {\n\tthis.index = null;\n}\n\nBacklinksIndexer.prototype._getLinks = function(tiddler) {\n\tvar parser = this.wiki.parseText(tiddler.fields.type, tiddler.fields.text, {});\n\tif(parser) {\n\t\treturn this.wiki.extractLinks(parser.tree);\n\t}\n\treturn [];\n}\n\nBacklinksIndexer.prototype.update = function(updateDescriptor) {\n\tif(!this.index) {\n\t\treturn;\n\t}\n\tvar newLinks = [],\n\t oldLinks = [],\n\t self = this;\n\tif(updateDescriptor.old.exists) {\n\t\toldLinks = this._getLinks(updateDescriptor.old.tiddler);\n\t}\n\tif(updateDescriptor.new.exists) {\n\t\tnewLinks = this._getLinks(updateDescriptor.new.tiddler);\n\t}\n\n\t$tw.utils.each(oldLinks,function(link) {\n\t\tif(self.index[link]) {\n\t\t\tdelete self.index[link][updateDescriptor.old.tiddler.fields.title];\n\t\t}\n\t});\n\t$tw.utils.each(newLinks,function(link) {\n\t\tif(!self.index[link]) {\n\t\t\tself.index[link] = Object.create(null);\n\t\t}\n\t\tself.index[link][updateDescriptor.new.tiddler.fields.title] = true;\n\t});\n}\n\nBacklinksIndexer.prototype.lookup = function(title) {\n\tif(!this.index) {\n\t\tthis.index = Object.create(null);\n\t\tvar self = this;\n\t\tthis.wiki.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self._getLinks(tiddler);\n\t\t\t$tw.utils.each(links, function(link) {\n\t\t\t\tif(!self.index[link]) {\n\t\t\t\t\tself.index[link] = Object.create(null);\n\t\t\t\t}\n\t\t\t\tself.index[link][title] = true;\n\t\t\t});\n\t\t});\n\t}\n\tif(this.index[title]) {\n\t\treturn Object.keys(this.index[title]);\n\t} else {\n\t\treturn [];\n\t}\n}\n\nexports.BacklinksIndexer = BacklinksIndexer;\n\n})();\n", "type": "application/javascript", "module-type": "indexer" }, "$:/core/modules/indexers/field-indexer.js": { "title": "$:/core/modules/indexers/field-indexer.js", "text": "/*\\\ntitle: $:/core/modules/indexers/field-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nvar DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH = 128;\n\nfunction FieldIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nFieldIndexer.prototype.init = function() {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH;\n\tthis.addIndexMethods();\n}\n\n// Provided for testing\nFieldIndexer.prototype.setMaxIndexedValueLength = function(length) {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = length;\n};\n\nFieldIndexer.prototype.addIndexMethods = function() {\n\tvar self = this;\n\tthis.wiki.each.byField = function(name,value) {\n\t\tvar titles = self.wiki.allTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachShadow.byField = function(name,value) {\n\t\tvar titles = self.wiki.allShadowTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachTiddlerPlusShadows.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n\tthis.wiki.eachShadowPlusTiddlers.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n};\n\n/*\nTear down and then rebuild the index as if all tiddlers have changed\n*/\nFieldIndexer.prototype.rebuild = function() {\n\t// Invalidate the index so that it will be rebuilt when it is next used\n\tthis.index = null;\n};\n\n/*\nBuild the index for a particular field\n*/\nFieldIndexer.prototype.buildIndexForField = function(name) {\n\tvar self = this;\n\t// Hashmap by field name of hashmap by field value of array of tiddler titles\n\tthis.index = this.index || Object.create(null);\n\tthis.index[name] = Object.create(null);\n\tvar baseIndex = this.index[name];\n\t// Update the index for each tiddler\n\tthis.wiki.eachTiddlerPlusShadows(function(tiddler,title) {\n\t\tif(name in tiddler.fields) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t// Skip any values above the maximum length\n\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\tbaseIndex[value] = baseIndex[value] || [];\n\t\t\t\tbaseIndex[value].push(title);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nUpdate the index in the light of a tiddler value changing; note that the title must be identical. (Renames are handled as a separate delete and create)\nupdateDescriptor: {old: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>},new: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>}}\n*/\nFieldIndexer.prototype.update = function(updateDescriptor) {\n\tvar self = this;\n\t// Don't do anything if the index hasn't been built yet\n\tif(this.index === null) {\n\t\treturn;\n\t}\n\t// Remove the old tiddler from the index\n\tif(updateDescriptor.old.tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor.old.tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor.old.tiddler.getFieldString(name),\n\t\t\t\t\ttiddlerList = indexEntry[value];\n\t\t\t\tif(tiddlerList) {\n\t\t\t\t\tvar index = tiddlerList.indexOf(updateDescriptor.old.tiddler.fields.title);\n\t\t\t\t\tif(index !== -1) {\n\t\t\t\t\t\ttiddlerList.splice(index,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// Add the new tiddler to the index\n\tif(updateDescriptor[\"new\"].tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor[\"new\"].tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor[\"new\"].tiddler.getFieldString(name);\n\t\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\t\tindexEntry[value] = indexEntry[value] || [];\n\t\t\t\t\tindexEntry[value].push(updateDescriptor[\"new\"].tiddler.fields.title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n// Lookup the given field returning a list of tiddler titles\nFieldIndexer.prototype.lookup = function(name,value) {\n\t// Fail the lookup if the value is too long\n\tif(value.length >= this.maxIndexedValueLength) {\n\t\treturn null;\n\t}\n\t// Update the index if it has yet to be built\n\tif(this.index === null || !this.index[name]) {\n\t\tthis.buildIndexForField(name);\n\t}\n\treturn this.index[name][value] || [];\n};\n\nexports.FieldIndexer = FieldIndexer;\n\n})();\n", "type": "application/javascript", "module-type": "indexer" }, "$:/core/modules/indexers/tag-indexer.js": { "title": "$:/core/modules/indexers/tag-indexer.js", "text": "/*\\\ntitle: $:/core/modules/indexers/tag-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nfunction TagIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nTagIndexer.prototype.init = function() {\n\tthis.subIndexers = [\n\t\tnew TagSubIndexer(this,\"each\"),\n\t\tnew TagSubIndexer(this,\"eachShadow\"),\n\t\tnew TagSubIndexer(this,\"eachTiddlerPlusShadows\"),\n\t\tnew TagSubIndexer(this,\"eachShadowPlusTiddlers\")\n\t];\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.addIndexMethod();\n\t});\n};\n\nTagIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nTagIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\n\nfunction TagSubIndexer(indexer,iteratorMethod) {\n\tthis.indexer = indexer;\n\tthis.iteratorMethod = iteratorMethod;\n\tthis.index = null; // Hashmap of tag title to {isSorted: bool, titles: [array]} or null if not yet initialised\n}\n\nTagSubIndexer.prototype.addIndexMethod = function() {\n\tvar self = this;\n\tthis.indexer.wiki[this.iteratorMethod].byTag = function(tag) {\n\t\treturn self.lookup(tag).slice(0);\n\t};\n};\n\nTagSubIndexer.prototype.rebuild = function() {\n\tvar self = this;\n\t// Hashmap by tag of array of {isSorted:, titles:[]}\n\tthis.index = Object.create(null);\n\t// Add all the tags\n\tthis.indexer.wiki[this.iteratorMethod](function(tiddler,title) {\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\tif(!self.index[tag]) {\n\t\t\t\tself.index[tag] = {isSorted: false, titles: [title]};\n\t\t\t} else {\n\t\t\t\tself.index[tag].titles.push(title);\n\t\t\t}\n\t\t});\t\t\n\t});\n};\n\nTagSubIndexer.prototype.update = function(updateDescriptor) {\n\tthis.index = null;\n};\n\nTagSubIndexer.prototype.lookup = function(tag) {\n\t// Update the index if it has yet to be built\n\tif(this.index === null) {\n\t\tthis.rebuild();\n\t}\n\tvar indexRecord = this.index[tag];\n\tif(indexRecord) {\n\t\tif(!indexRecord.isSorted) {\n\t\t\tif(this.indexer.wiki.sortByList) {\n\t\t\t\tindexRecord.titles = this.indexer.wiki.sortByList(indexRecord.titles,tag);\n\t\t\t}\t\t\t\n\t\t\tindexRecord.isSorted = true;\n\t\t}\n\t\treturn indexRecord.titles;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n\nexports.TagIndexer = TagIndexer;\n\n})();\n", "type": "application/javascript", "module-type": "indexer" }, "$:/core/modules/info/platform.js": { "title": "$:/core/modules/info/platform.js", "text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\tif($tw.browser) {\n\t\t// Document location\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\t\t\t\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t\t// Screen size\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/width\", text: window.screen.width.toString()});\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/height\", text: window.screen.height.toString()});\n\t\t// Language\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/language\", text: navigator.language || \"\"});\n\t}\n\treturn infoTiddlerFields;\n};\n\n})();\n", "type": "application/javascript", "module-type": "info" }, "$:/core/modules/keyboard.js": { "title": "$:/core/modules/keyboard.js", "text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n\tthis.shortcutKeysList = [], // Stores the shortcut-key descriptors\n\tthis.shortcutActionList = [], // Stores the corresponding action strings\n\tthis.shortcutParsedList = []; // Stores the parsed key descriptors\n\tthis.lookupNames = [\"shortcuts\"];\n\tthis.lookupNames.push($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\")\n\tthis.lookupNames.push($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\tthis.lookupNames.push($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\tthis.updateShortcutLists(this.getShortcutTiddlerList());\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.handleShortcutChanges(changes);\n\t});\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t$tw.utils.each(self.lookupNames,function(platformDescriptor) {\n\t\t\t\t\tlookupName(platformDescriptor);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.getShortcutTiddlerList = function() {\n\treturn $tw.wiki.getTiddlersWithTag(\"$:/tags/KeyboardShortcut\");\n};\n\nKeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {\n\tthis.shortcutTiddlers = tiddlerList;\n\tfor(var i=0; i<tiddlerList.length; i++) {\n\t\tvar title = tiddlerList[i],\n\t\t\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\n\t\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\tthis.shortcutActionList[i] = tiddlerFields.text;\n\t\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\n\t}\n};\n\nKeyboardManager.prototype.handleKeydownEvent = function(event) {\n\tvar key, action;\n\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\n\t\tif(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {\n\t\t\tkey = this.shortcutParsedList[i];\n\t\t\taction = this.shortcutActionList[i];\n\t\t}\n\t}\n\tif(key !== undefined) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.detectNewShortcuts = function(changedTiddlers) {\n\tvar shortcutConfigTiddlers = [],\n\t\thandled = false;\n\t$tw.utils.each(this.lookupNames,function(platformDescriptor) {\n\t\tvar descriptorString = \"$:/config/\" + platformDescriptor + \"/\";\n\t\tObject.keys(changedTiddlers).forEach(function(configTiddler) {\n\t\t\tvar configString = configTiddler.substr(0, configTiddler.lastIndexOf(\"/\") + 1);\n\t\t\tif(configString === descriptorString) {\n\t\t\t\tshortcutConfigTiddlers.push(configTiddler);\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t});\n\t});\n\tif(handled) {\n\t\treturn $tw.utils.hopArray(changedTiddlers,shortcutConfigTiddlers);\n\t} else {\n\t\treturn false;\n\t}\n};\n\nKeyboardManager.prototype.handleShortcutChanges = function(changedTiddlers) {\n\tvar newList = this.getShortcutTiddlerList();\n\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\n\t\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\n\t\t(this.detectNewShortcuts(changedTiddlers))\n\t);\n\t// Re-cache shortcuts if something changed\n\tif(hasChanged) {\n\t\tthis.updateShortcutLists(newList);\n\t}\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/language.js": { "title": "$:/core/modules/language.js", "text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/macros/changecount.js": { "title": "$:/core/modules/macros/changecount.js", "text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/contrastcolour.js": { "title": "$:/core/modules/macros/contrastcolour.js", "text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/csvtiddlers.js": { "title": "$:/core/modules/macros/csvtiddlers.js", "text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/displayshortcuts.js": { "title": "$:/core/modules/macros/displayshortcuts.js", "text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/jsontiddler.js": { "title": "$:/core/modules/macros/jsontiddler.js", "text": "/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/jsontiddlers.js": { "title": "$:/core/modules/macros/jsontiddlers.js", "text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"spaces\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,spaces) {\n\treturn this.wiki.getTiddlersAsJson(filter,$tw.utils.parseInt(spaces));\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/makedatauri.js": { "title": "$:/core/modules/macros/makedatauri.js", "text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"},\n\t{name: \"_canonical_uri\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type,_canonical_uri) {\n\treturn $tw.utils.makeDataUri(text,type,_canonical_uri);\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/now.js": { "title": "$:/core/modules/macros/now.js", "text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/qualify.js": { "title": "$:/core/modules/macros/qualify.js", "text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/resolvepath.js": { "title": "$:/core/modules/macros/resolvepath.js", "text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/unusedtitle.js": { "title": "$:/core/modules/macros/unusedtitle.js", "text": "/*\\\ntitle: $:/core/modules/macros/unusedtitle.js\ntype: application/javascript\nmodule-type: macro\nMacro to return a new title that is unused in the wiki. It can be given a name as a base.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"unusedtitle\";\n\nexports.params = [\n\t{name: \"baseName\"},\n\t{name: \"options\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(baseName, options) {\n\tif(!baseName) {\n\t\tbaseName = $tw.language.getString(\"DefaultNewTiddlerTitle\");\n\t}\n\treturn this.wiki.generateNewTitle(baseName, options);\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/macros/version.js": { "title": "$:/core/modules/macros/version.js", "text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n", "type": "application/javascript", "module-type": "macro" }, "$:/core/modules/parsers/audioparser.js": { "title": "$:/core/modules/parsers/audioparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/parsers/binaryparser.js": { "title": "$:/core/modules/parsers/binaryparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/binaryparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe binary parser parses a binary tiddler into a warning message and download link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar BinaryParser = function(type,text,options) {\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on binary tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!title\"}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to external or internal data URI\n\tif(options._canonical_uri) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: options._canonical_uri\n\t\t};\n\t} else if(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/octet-stream\"] = BinaryParser;\n\n})();\n\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/parsers/csvparser.js": { "title": "$:/core/modules/parsers/csvparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/parsers/htmlparser.js": { "title": "$:/core/modules/parsers/htmlparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/parsers/imageparser.js": { "title": "$:/core/modules/parsers/imageparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/webp\"] = ImageParser;\nexports[\"image/heic\"] = ImageParser;\nexports[\"image/heif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/utils/parseutils.js": { "title": "$:/core/modules/utils/parseutils.js", "text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treFilteredValue = /\\{\\{\\{(.+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/parsers/pdfparser.js": { "title": "$:/core/modules/parsers/pdfparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"embed\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/pdf\"] = ImageParser;\n\n})();\n\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/parsers/textparser.js": { "title": "$:/core/modules/parsers/textparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/parsers/videoparser.js": { "title": "$:/core/modules/parsers/videoparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/ogg\"] = VideoParser;\nexports[\"video/webm\"] = VideoParser;\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n\n})();\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/parsers/wikiparser/rules/codeblock.js": { "title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/codeinline.js": { "title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/commentblock.js": { "title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/commentinline.js": { "title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/dash.js": { "title": "$:/core/modules/parsers/wikiparser/rules/dash.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"–\" : \"—\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": { "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": { "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": { "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": { "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": { "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": { "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/entity.js": { "title": "$:/core/modules/parsers/wikiparser/rules/entity.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: ©\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/extlink.js": { "title": "$:/core/modules/parsers/wikiparser/rules/extlink.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: https://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": { "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": { "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": { "title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/heading.js": { "title": "$:/core/modules/parsers/wikiparser/rules/heading.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/horizrule.js": { "title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/html.js": { "title": "$:/core/modules/parsers/wikiparser/rules/html.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.slice(1).indexOf(\"$\") !== -1) {\n\t\treturn null;\n\t}\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/image.js": { "title": "$:/core/modules/parsers/wikiparser/rules/image.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[https://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [https://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/import.js": { "title": "$:/core/modules/parsers/wikiparser/rules/import.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/import.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for importing variable definitions\n\n```\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"import\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\import[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the filter terminated by a line break\n\tvar reMatch = /(.*)(\\r?\\n)|$/mg;\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\tthis.parser.pos = reMatch.lastIndex;\n\t// Parse tree nodes to return\n\treturn [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: match[1]}\n\t\t},\n\t\tchildren: []\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/list.js": { "title": "$:/core/modules/parsers/wikiparser/rules/list.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"div\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": { "title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": { "title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/macrodef.js": { "title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params,\n\t\tisMacroDefinition: true\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": { "title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/prettylink.js": { "title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/quoteblock.js": { "title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/rules.js": { "title": "$:/core/modules/parsers/wikiparser/rules/rules.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/styleblock.js": { "title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/styleinline.js": { "title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/syslink.js": { "title": "$:/core/modules/parsers/wikiparser/rules/syslink.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/table.js": { "title": "$:/core/modules/parsers/wikiparser/rules/table.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": { "title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": { "title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/typedblock.js": { "title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/whitespace.js": { "title": "$:/core/modules/parsers/wikiparser/rules/whitespace.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/whitespace.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for whitespace specifications\n\n```\n\\whitespace trim\n\\whitespace notrim\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"whitespace\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\whitespace[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\t$tw.utils.each(tokens,function(token) {\n\t\tswitch(token) {\n\t\t\tcase \"trim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = true;\n\t\t\t\tbreak;\n\t\t\tcase \"notrim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = false;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/rules/wikilink.js": { "title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n", "type": "application/javascript", "module-type": "wikirule" }, "$:/core/modules/parsers/wikiparser/wikiparser.js": { "title": "$:/core/modules/parsers/wikiparser/wikiparser.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Flag for ignoring whitespace\n\tthis.configTrimWhiteSpace = false;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t// Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,nextMatch.matchIndex));\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,terminatorMatch.index));\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,inlineRuleMatch.matchIndex));\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nPush a text widget onto an array, respecting the configTrimWhiteSpace setting\n*/\nWikiParser.prototype.pushTextWidget = function(array,text) {\n\tif(this.configTrimWhiteSpace) {\n\t\ttext = $tw.utils.trim(text);\n\t}\n\tif(text) {\n\t\tarray.push({type: \"text\", text: text});\t\t\n\t}\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n", "type": "application/javascript", "module-type": "parser" }, "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": { "title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js", "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/pluginswitcher.js": { "title": "$:/core/modules/pluginswitcher.js", "text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Read the plugin info for the incoming plugins\n\tvar changes = $tw.wiki.readPluginInfo(plugins);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/saver-handler.js": { "title": "$:/core/modules/saver-handler.js", "text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.preloadDirty = options.preloadDirty || [];\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(self.preloadDirty,function(title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t});\n\t\tthis.numChanges = filteredChanges.length;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\";\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\tvar\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/savers/andtidwiki.js": { "title": "$:/core/modules/savers/andtidwiki.js", "text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback,options) {\n\tvar filename = options && options.variables ? options.variables.filename : null;\n\tif (method === \"download\") {\n\t\t// Support download\n\t\tif (window.twi.saveDownload) {\n\t\t\ttry {\n\t\t\t\twindow.twi.saveDownload(text,filename);\n\t\t\t} catch(err) {\n\t\t\t\tif (err.message === \"Method not found\") {\n\t\t\t\t\twindow.twi.saveDownload(text);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tvar link = document.createElement(\"a\");\n\t\t\tlink.setAttribute(\"href\",\"data:text/plain,\" + encodeURIComponent(text));\n\t\t\tif (filename) {\n\t\t\t link.setAttribute(\"download\",filename);\n\t\t\t}\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t}\n\t} else if (window.twi.saveWiki) {\n\t\t// Direct save in Tiddloid\n\t\twindow.twi.saveWiki(text);\n\t} else {\n\t\t// Get the pathname of this document\n\t\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t\t// Strip the file://\n\t\tif(pathname.indexOf(\"file://\") === 0) {\n\t\t\tpathname = pathname.substr(7);\n\t\t}\n\t\t// Strip any query or location part\n\t\tvar p = pathname.indexOf(\"?\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\tp = pathname.indexOf(\"#\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\t// Save the file\n\t\twindow.twi.saveFile(pathname,text);\n\t}\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/beaker.js": { "title": "$:/core/modules/savers/beaker.js", "text": "/*\\\ntitle: $:/core/modules/savers/beaker.js\ntype: application/javascript\nmodule-type: saver\n\nSaves files using the Beaker browser's (https://beakerbrowser.com) Dat protocol (https://datproject.org/)\nCompatible with beaker >= V0.7.2\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet up the saver\n*/\nvar BeakerSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nBeakerSaver.prototype.save = function(text,method,callback) {\n\tvar dat = new DatArchive(\"\" + window.location),\n\t\tpathname = (\"\" + window.location.pathname).split(\"#\")[0];\n\tdat.stat(pathname).then(function(value) {\n\t\tif(value.isDirectory()) {\n\t\t\tpathname = pathname + \"/index.html\";\n\t\t}\n\t\tdat.writeFile(pathname,text,\"utf8\").then(function(value) {\n\t\t\tcallback(null);\n\t\t},function(reason) {\n\t\t\tcallback(\"Beaker Saver Write Error: \" + reason);\n\t\t});\n\t},function(reason) {\n\t\tcallback(\"Beaker Saver Stat Error: \" + reason);\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nBeakerSaver.prototype.info = {\n\tname: \"beaker\",\n\tpriority: 3000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.DatArchive && location.protocol===\"dat:\";\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new BeakerSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/download.js": { "title": "$:/core/modules/savers/download.js", "text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\t// We decode the pathname because document.location is URL encoded by the browser\n\t\t\tfilename = decodeURIComponent(document.location.pathname.substr(p+1));\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/fsosaver.js": { "title": "$:/core/modules/savers/fsosaver.js", "text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/gitea.js": { "title": "$:/core/modules/savers/gitea.js", "text": "/*\\\ntitle: $:/core/modules/savers/gitea.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the gitea\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GiteaSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGiteaSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/Gitea/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"Gitea\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/Gitea/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/Gitea/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/Gitea/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/Gitea/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/Gitea/ServerURL\") || \"https://gitea\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + window.btoa(username + \":\" + password)\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar use_put = true;\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(sha === \"\"){\n\t\t\t\t\tuse_put = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: endpoint + \"/repos/\" + repo + \"/branches/\" + branch,\n\t\t\t\ttype: \"GET\",\n\t\t\t\theaders: headers,\n\t\t\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\t\t\tif(xhr.status === 404) {\n\t\t\t\t\t\tcallback(\"Please ensure the branch in the Gitea repo exists\");\n\t\t\t\t\t}else{\n\t\t\t\t\t\tdata[\"branch\"] = branch;\n\t\t\t\t\t\tself.upload(uri + filename, use_put?\"PUT\":\"POST\", headers, data, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\nGiteaSaver.prototype.upload = function(uri,method,headers,data,callback) {\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: method,\n\t\theaders: headers,\n\t\tdata: JSON.stringify(data),\n\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\tcallback(null);\n\t\t}\n\t});\n};\n\n/*\nInformation about this saver\n*/\nGiteaSaver.prototype.info = {\n\tname: \"Gitea\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GiteaSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/github.js": { "title": "$:/core/modules/savers/github.js", "text": "/*\\\ntitle: $:/core/modules/savers/github.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitHub v3 REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitHubSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitHubSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitHub/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"github\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitHub/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitHub/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitHub/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitHub/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitHub/ServerURL\") || \"https://api.github.com\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/vnd.github.v3+json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + window.btoa(username + \":\" + password)\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a PUT request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + filename,\n\t\t\t\ttype: \"PUT\",\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitHubSaver.prototype.info = {\n\tname: \"github\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitHubSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/gitlab.js": { "title": "$:/core/modules/savers/gitlab.js", "text": "/*\\\ntitle: $:/core/modules/savers/gitlab.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitLab REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: true */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitLabSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitLabSaver.prototype.save = function(text,method,callback) {\n\t/* See https://docs.gitlab.com/ee/api/repository_files.html */\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitLab/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"gitlab\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitLab/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitLab/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitLab/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitLab/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitLab/ServerURL\") || \"https://gitlab.com/api/v4\",\n\t\theaders = {\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Private-Token\": password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !path || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/projects/\" + encodeURIComponent(repo) + \"/repository/\";\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri + \"tree/?path=\" + encodeURIComponent(path.replace(/^\\/+|\\/$/g, '')) + \"&branch=\" + encodeURIComponent(branch.replace(/^\\/+|\\/$/g, '')),\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar requestType = \"POST\";\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\trequestType = \"PUT\";\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tcommit_message: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: text,\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + \"files/\" + encodeURIComponent(path.replace(/^\\/+/, '') + filename),\n\t\t\t\ttype: requestType,\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitLabSaver.prototype.info = {\n\tname: \"gitlab\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitLabSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/manualdownload.js": { "title": "$:/core/modules/savers/manualdownload.js", "text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/msdownload.js": { "title": "$:/core/modules/savers/msdownload.js", "text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/put.js": { "title": "$:/core/modules/savers/put.js", "text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRetrieve ETag if available\n*/\nvar retrieveETag = function(self) {\n\tvar headers = {\n\t\tAccept: \"*/*;charset=UTF-8\"\n\t};\n\t$tw.utils.httpRequest({\n\t\turl: self.uri(),\n\t\ttype: \"HEAD\",\n\t\theaders: headers,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar etag = xhr.getResponseHeader(\"ETag\");\n\t\t\tif(!etag) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.etag = etag.replace(/^W\\//,\"\");\n\t\t}\n\t});\n};\n\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err,data,xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\tretrieveETag(this);\n};\n\nPutSaver.prototype.uri = function() {\n\treturn document.location.toString().split(\"#\")[0];\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text,method,callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = {\n\t\t\"Content-Type\": \"text/html;charset=UTF-8\"\n\t};\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\t// response is textual: \"XMLHttpRequest error code: 412\"\n\t\t\t\tvar status = Number(err.substring(err.indexOf(':') + 2, err.length))\n\t\t\t\tif(status === 412) { // edit conflict\n\t\t\t\t\tvar message = $tw.language.getString(\"Error/EditConflict\");\n\t\t\t\t\tcallback(message);\n\t\t\t\t} else {\n\t\t\t\t\tcallback(err); // fail\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tif(self.etag == null) {\n\t\t\t\t\tretrieveETag(self);\n\t\t\t\t}\n\t\t\t\tcallback(null); // success\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/tiddlyfox.js": { "title": "$:/core/modules/savers/tiddlyfox.js", "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/tiddlyie.js": { "title": "$:/core/modules/savers/tiddlyie.js", "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/twedit.js": { "title": "$:/core/modules/savers/twedit.js", "text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/savers/upload.js": { "title": "$:/core/modules/savers/upload.js", "text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n", "type": "application/javascript", "module-type": "saver" }, "$:/core/modules/server/authenticators/basic.js": { "title": "$:/core/modules/server/authenticators/basic.js", "text": "/*\\\ntitle: $:/core/modules/server/authenticators/basic.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for WWW basic authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\");\n}\n\nfunction BasicAuthenticator(server) {\n\tthis.server = server;\n\tthis.credentialsData = [];\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nBasicAuthenticator.prototype.init = function() {\n\t// Read the credentials data\n\tthis.credentialsFilepath = this.server.get(\"credentials\");\n\tif(this.credentialsFilepath) {\n\t\tvar resolveCredentialsFilepath = path.resolve($tw.boot.wikiPath,this.credentialsFilepath);\n\t\tif(fs.existsSync(resolveCredentialsFilepath) && !fs.statSync(resolveCredentialsFilepath).isDirectory()) {\n\t\t\tvar credentialsText = fs.readFileSync(resolveCredentialsFilepath,\"utf8\"),\n\t\t\t\tcredentialsData = $tw.utils.parseCsvStringWithHeader(credentialsText);\n\t\t\tif(typeof credentialsData === \"string\") {\n\t\t\t\treturn \"Error: \" + credentialsData + \" reading credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t\t} else {\n\t\t\t\tthis.credentialsData = credentialsData;\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"Error: Unable to load user credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t}\n\t}\n\t// Add the hardcoded username and password if specified\n\tif(this.server.get(\"username\") && this.server.get(\"password\")) {\n\t\tthis.credentialsData = this.credentialsData || [];\n\t\tthis.credentialsData.push({\n\t\t\tusername: this.server.get(\"username\"),\n\t\t\tpassword: this.server.get(\"password\")\n\t\t});\n\t}\n\treturn this.credentialsData.length > 0;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nBasicAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Extract the incoming username and password from the request\n\tvar header = request.headers.authorization || \"\";\n\tif(!header && state.allowAnon) {\n\t\t// If there's no header and anonymous access is allowed then we don't set authenticatedUsername\n\t\treturn true;\n\t}\n\tvar token = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tincomingUsername = parts[0],\n\t\tincomingPassword = parts[1];\n\t// Check that at least one of the credentials matches\n\tvar matchingCredentials = this.credentialsData.find(function(credential) {\n\t\treturn credential.username === incomingUsername && credential.password === incomingPassword;\n\t});\n\tif(matchingCredentials) {\n\t\t// If so, add the authenticated username to the request state\n\t\tstate.authenticatedUsername = incomingUsername;\n\t\treturn true;\n\t} else {\n\t\t// If not, return an authentication challenge\n\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t\treturn false;\n\t}\n};\n\nexports.AuthenticatorClass = BasicAuthenticator;\n\n})();\n", "type": "application/javascript", "module-type": "authenticator" }, "$:/core/modules/server/authenticators/header.js": { "title": "$:/core/modules/server/authenticators/header.js", "text": "/*\\\ntitle: $:/core/modules/server/authenticators/header.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for trusted header authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction HeaderAuthenticator(server) {\n\tthis.server = server;\n\tthis.header = server.get(\"authenticated-user-header\");\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nHeaderAuthenticator.prototype.init = function() {\n\treturn !!this.header;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nHeaderAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Otherwise, authenticate as the username in the specified header\n\tvar username = request.headers[this.header];\n\tif(!username && !state.allowAnon) {\n\t\tresponse.writeHead(401,\"Authorization header required to login to '\" + state.server.servername + \"'\");\n\t\tresponse.end();\n\t\treturn false;\n\t} else {\n\t\t// authenticatedUsername will be undefined for anonymous users\n\t\tstate.authenticatedUsername = username;\n\t\treturn true;\n\t}\n};\n\nexports.AuthenticatorClass = HeaderAuthenticator;\n\n})();\n", "type": "application/javascript", "module-type": "authenticator" }, "$:/core/modules/server/routes/delete-tiddler.js": { "title": "$:/core/modules/server/routes/delete-tiddler.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/delete-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nDELETE /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"DELETE\";\n\nexports.path = /^\\/bags\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]);\n\tstate.wiki.deleteTiddler(title);\n\tresponse.writeHead(204, \"OK\", {\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/get-favicon.js": { "title": "$:/core/modules/server/routes/get-favicon.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/get-favicon.js\ntype: application/javascript\nmodule-type: route\n\nGET /favicon.ico\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/favicon.ico$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\tresponse.end(buffer,\"base64\");\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/get-file.js": { "title": "$:/core/modules/server/routes/get-file.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/get-file.js\ntype: application/javascript\nmodule-type: route\n\nGET /files/:filepath\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/files\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar path = require(\"path\"),\n\t\tfs = require(\"fs\"),\n\t\tutil = require(\"util\"),\n\t\tsuppliedFilename = decodeURIComponent(state.params[0]),\n\t\tfilename = path.resolve($tw.boot.wikiPath,\"files\",suppliedFilename),\n\t\textension = path.extname(filename);\n\tfs.readFile(filename,function(err,content) {\n\t\tvar status,content,type = \"text/plain\";\n\t\tif(err) {\n\t\t\tconsole.log(\"Error accessing file \" + filename + \": \" + err.toString());\n\t\t\tstatus = 404;\n\t\t\tcontent = \"File '\" + suppliedFilename + \"' not found\";\n\t\t} else {\n\t\t\tstatus = 200;\n\t\t\tcontent = content;\n\t\t\ttype = ($tw.config.fileExtensionInfo[extension] ? $tw.config.fileExtensionInfo[extension].type : \"application/octet-stream\");\n\t\t}\n\t\tresponse.writeHead(status,{\n\t\t\t\"Content-Type\": type\n\t\t});\n\t\tresponse.end(content);\n\t});\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/get-index.js": { "title": "$:/core/modules/server/routes/get-index.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/get-index.js\ntype: application/javascript\nmodule-type: route\n\nGET /\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar zlib = require(\"zlib\");\n\nexports.method = \"GET\";\n\nexports.path = /^\\/$/;\n\nexports.handler = function(request,response,state) {\n\tvar acceptEncoding = request.headers[\"accept-encoding\"];\n\tif(!acceptEncoding) {\n\t\tacceptEncoding = \"\";\n\t}\n\tvar text = state.wiki.renderTiddler(state.server.get(\"root-render-type\"),state.server.get(\"root-tiddler\")),\n\t\tresponseHeaders = {\n\t\t\"Content-Type\": state.server.get(\"root-serve-type\")\n\t};\n\t/*\n\tIf the gzip=yes flag for `listen` is set, check if the user agent permits\n\tcompression. If so, compress our response. Note that we use the synchronous\n\tfunctions from zlib to stay in the imperative style. The current `Server`\n\tdoesn't depend on this, and we may just as well use the async versions.\n\t*/\n\tif(state.server.enableGzip) {\n\t\tif (/\\bdeflate\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"deflate\";\n\t\t\ttext = zlib.deflateSync(text);\n\t\t} else if (/\\bgzip\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"gzip\";\n\t\t\ttext = zlib.gzipSync(text);\n\t\t}\n\t}\n\tresponse.writeHead(200,responseHeaders);\n\tresponse.end(text);\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/get-login-basic.js": { "title": "$:/core/modules/server/routes/get-login-basic.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/get-login-basic.js\ntype: application/javascript\nmodule-type: route\n\nGET /login-basic -- force a Basic Authentication challenge\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/login-basic$/;\n\nexports.handler = function(request,response,state) {\n\tif(!state.authenticatedUsername) {\n\t\t// Challenge if there's no username\n\t\tresponse.writeHead(401,{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\t\t\n\t} else {\n\t\t// Redirect to the root wiki if login worked\n\t\tresponse.writeHead(302,{\n\t\t\tLocation: \"/\"\n\t\t});\n\t\tresponse.end();\n\t}\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/get-status.js": { "title": "$:/core/modules/server/routes/get-status.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/get-status.js\ntype: application/javascript\nmodule-type: route\n\nGET /status\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/status$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar text = JSON.stringify({\n\t\tusername: state.authenticatedUsername || state.server.get(\"anon-username\") || \"\",\n\t\tanonymous: !state.authenticatedUsername,\n\t\tread_only: !state.server.isAuthorized(\"writers\",state.authenticatedUsername),\n\t\tspace: {\n\t\t\trecipe: \"default\"\n\t\t},\n\t\ttiddlywiki_version: $tw.version\n\t});\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/get-tiddler-html.js": { "title": "$:/core/modules/server/routes/get-tiddler-html.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler-html.js\ntype: application/javascript\nmodule-type: route\n\nGET /:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/([^\\/]+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar renderType = tiddler.getFieldString(\"_render_type\"),\n\t\t\trenderTemplate = tiddler.getFieldString(\"_render_template\");\n\t\t// Tiddler fields '_render_type' and '_render_template' overwrite\n\t\t// system wide settings for render type and template\n\t\tif(state.wiki.isSystemTiddler(title)) {\n\t\t\trenderType = renderType || state.server.get(\"system-tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"system-tiddler-render-template\");\n\t\t} else {\n\t\t\trenderType = renderType || state.server.get(\"tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"tiddler-render-template\");\n\t\t}\n\t\tvar text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});\n\t\t// Naughty not to set a content-type, but it's the easiest way to ensure the browser will see HTML pages as HTML, and accept plain text tiddlers as CSS or JS\n\t\tresponse.writeHead(200);\n\t\tresponse.end(text,\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/get-tiddler.js": { "title": "$:/core/modules/server/routes/get-tiddler.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title),\n\t\ttiddlerFields = {},\n\t\tknownFields = [\n\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t];\n\tif(tiddler) {\n\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\ttiddlerFields[name] = value;\n\t\t\t} else {\n\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t}\n\t\t});\n\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\ttiddlerFields.bag = \"default\";\n\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/get-tiddlers-json.js": { "title": "$:/core/modules/server/routes/get-tiddlers-json.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddlers-json.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/tiddlers.json?filter=<filter>\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_FILTER = \"[all[tiddlers]!is[system]sort[title]]\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers.json$/;\n\nexports.handler = function(request,response,state) {\n\tvar filter = state.queryParameters.filter || DEFAULT_FILTER;\n\tif($tw.wiki.getTiddlerText(\"$:/config/Server/AllowAllExternalFilters\") !== \"yes\") {\n\t\tif($tw.wiki.getTiddlerText(\"$:/config/Server/ExternalFilters/\" + filter) !== \"yes\") {\n\t\t\tconsole.log(\"Blocked attempt to GET /recipes/default/tiddlers/tiddlers.json with filter: \" + filter);\n\t\t\tresponse.writeHead(403);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t}\n\tvar excludeFields = (state.queryParameters.exclude || \"text\").split(\",\"),\n\t\ttitles = state.wiki.filterTiddlers(filter);\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar tiddlers = [];\n\t$tw.utils.each(titles,function(title) {\n\t\tvar tiddler = state.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar tiddlerFields = tiddler.getFieldStrings({exclude: excludeFields});\n\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\ttiddlers.push(tiddlerFields);\n\t\t}\n\t});\n\tvar text = JSON.stringify(tiddlers);\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/routes/put-tiddler.js": { "title": "$:/core/modules/server/routes/put-tiddler.js", "text": "/*\\\ntitle: $:/core/modules/server/routes/put-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nPUT /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"PUT\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\tfields = JSON.parse(state.data);\n\t// Pull up any subfields in the `fields` object\n\tif(fields.fields) {\n\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\tfields[name] = field;\n\t\t});\n\t\tdelete fields.fields;\n\t}\n\t// Remove any revision field\n\tif(fields.revision) {\n\t\tdelete fields.revision;\n\t}\n\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\tresponse.writeHead(204, \"OK\",{\n\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n", "type": "application/javascript", "module-type": "route" }, "$:/core/modules/server/server.js": { "title": "$:/core/modules/server/server.js", "text": "/*\\\ntitle: $:/core/modules/server/server.js\ntype: application/javascript\nmodule-type: library\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\tquerystring = require(\"querystring\");\n}\n\n/*\nA simple HTTP server with regexp-based routes\noptions: variables - optional hashmap of variables to set (a misnomer - they are really constant parameters)\n\t\t routes - optional array of routes to use\n\t\t wiki - reference to wiki object\n*/\nfunction Server(options) {\n\tvar self = this;\n\tthis.routes = options.routes || [];\n\tthis.authenticators = options.authenticators || [];\n\tthis.wiki = options.wiki;\n\tthis.servername = $tw.utils.transliterateToSafeASCII(this.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\");\n\t// Initialise the variables\n\tthis.variables = $tw.utils.extend({},this.defaultVariables);\n\tif(options.variables) {\n\t\tfor(var variable in options.variables) {\n\t\t\tif(options.variables[variable]) {\n\t\t\t\tthis.variables[variable] = options.variables[variable];\n\t\t\t}\n\t\t}\t\t\n\t}\n\t$tw.utils.extend({},this.defaultVariables,options.variables);\n\t// Initialise CSRF\n\tthis.csrfDisable = this.get(\"csrf-disable\") === \"yes\";\n\t// Initialize Gzip compression\n\tthis.enableGzip = this.get(\"gzip\") === \"yes\";\n\t// Initialise authorization\n\tvar authorizedUserName = (this.get(\"username\") && this.get(\"password\")) ? this.get(\"username\") : \"(anon)\";\n\tthis.authorizationPrincipals = {\n\t\treaders: (this.get(\"readers\") || authorizedUserName).split(\",\").map($tw.utils.trim),\n\t\twriters: (this.get(\"writers\") || authorizedUserName).split(\",\").map($tw.utils.trim)\n\t}\n\t// Load and initialise authenticators\n\t$tw.modules.forEachModuleOfType(\"authenticator\", function(title,authenticatorDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addAuthenticator(authenticatorDefinition.AuthenticatorClass);\n\t});\n\t// Load route handlers\n\t$tw.modules.forEachModuleOfType(\"route\", function(title,routeDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addRoute(routeDefinition);\n\t});\n\t// Initialise the http vs https\n\tthis.listenOptions = null;\n\tthis.protocol = \"http\";\n\tvar tlsKeyFilepath = this.get(\"tls-key\"),\n\t\ttlsCertFilepath = this.get(\"tls-cert\");\n\tif(tlsCertFilepath && tlsKeyFilepath) {\n\t\tthis.listenOptions = {\n\t\t\tkey: fs.readFileSync(path.resolve($tw.boot.wikiPath,tlsKeyFilepath),\"utf8\"),\n\t\t\tcert: fs.readFileSync(path.resolve($tw.boot.wikiPath,tlsCertFilepath),\"utf8\")\n\t\t};\n\t\tthis.protocol = \"https\";\n\t}\n\tthis.transport = require(this.protocol);\n}\n\nServer.prototype.defaultVariables = {\n\tport: \"8080\",\n\thost: \"127.0.0.1\",\n\t\"root-tiddler\": \"$:/core/save/all\",\n\t\"root-render-type\": \"text/plain\",\n\t\"root-serve-type\": \"text/html\",\n\t\"tiddler-render-type\": \"text/html\",\n\t\"tiddler-render-template\": \"$:/core/templates/server/static.tiddler.html\",\n\t\"system-tiddler-render-type\": \"text/plain\",\n\t\"system-tiddler-render-template\": \"$:/core/templates/wikified-tiddler\",\n\t\"debug-level\": \"none\",\n\t\"gzip\": \"no\"\n};\n\nServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nServer.prototype.addAuthenticator = function(AuthenticatorClass) {\n\t// Instantiate and initialise the authenticator\n\tvar authenticator = new AuthenticatorClass(this),\n\t\tresult = authenticator.init();\n\tif(typeof result === \"string\") {\n\t\t$tw.utils.error(\"Error: \" + result);\n\t} else if(result) {\n\t\t// Only use the authenticator if it initialised successfully\n\t\tthis.authenticators.push(authenticator);\n\t}\n};\n\nServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"path-prefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length) || \"/\";\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nServer.prototype.methodMappings = {\n\t\"GET\": \"readers\",\n\t\"OPTIONS\": \"readers\",\n\t\"HEAD\": \"readers\",\n\t\"PUT\": \"writers\",\n\t\"POST\": \"writers\",\n\t\"DELETE\": \"writers\"\n};\n\n/*\nCheck whether a given user is authorized for the specified authorizationType (\"readers\" or \"writers\"). Pass null or undefined as the username to check for anonymous access\n*/\nServer.prototype.isAuthorized = function(authorizationType,username) {\n\tvar principals = this.authorizationPrincipals[authorizationType] || [];\n\treturn principals.indexOf(\"(anon)\") !== -1 || (username && (principals.indexOf(\"(authenticated)\") !== -1 || principals.indexOf(username) !== -1));\n}\n\nServer.prototype.requestHandler = function(request,response) {\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = self.wiki;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\tstate.queryParameters = querystring.parse(state.urlInfo.query);\n\t// Get the principals authorized to access this resource\n\tvar authorizationType = this.methodMappings[request.method] || \"readers\";\n\t// Check for the CSRF header if this is a write\n\tif(!this.csrfDisable && authorizationType === \"writers\" && request.headers[\"x-requested-with\"] !== \"TiddlyWiki\") {\n\t\tresponse.writeHead(403,\"'X-Requested-With' header required to login to '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\t\t\n\t}\n\t// Check whether anonymous access is granted\n\tstate.allowAnon = this.isAuthorized(authorizationType,null);\n\t// Authenticate with the first active authenticator\n\tif(this.authenticators.length > 0) {\n\t\tif(!this.authenticators[0].authenticateRequest(request,response,state)) {\n\t\t\t// Bail if we failed (the authenticator will have sent the response)\n\t\t\treturn;\n\t\t}\t\t\n\t}\n\t// Authorize with the authenticated username\n\tif(!this.isAuthorized(authorizationType,state.authenticatedUsername)) {\n\t\tresponse.writeHead(401,\"'\" + state.authenticatedUsername + \"' is not authorized to access '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Optionally output debug info\n\tif(self.get(\"debug-level\") !== \"none\") {\n\t\tconsole.log(\"Request path:\",JSON.stringify(state.urlInfo));\n\t\tconsole.log(\"Request headers:\",JSON.stringify(request.headers));\n\t\tconsole.log(\"authenticatedUsername:\",state.authenticatedUsername);\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Receive the request body if necessary and hand off to the route handler\n\tif(route.bodyFormat === \"stream\" || request.method === \"GET\" || request.method === \"HEAD\") {\n\t\t// Let the route handle the request stream itself\n\t\troute.handler(request,response,state);\n\t} else if(route.bodyFormat === \"string\" || !route.bodyFormat) {\n\t\t// Set the encoding for the incoming request\n\t\trequest.setEncoding(\"utf8\");\n\t\tvar data = \"\";\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata += chunk.toString();\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = data;\n\t\t\troute.handler(request,response,state);\n\t\t});\n\t} else if(route.bodyFormat === \"buffer\") {\n\t\tvar data = [];\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata.push(chunk);\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = Buffer.concat(data);\n\t\t\troute.handler(request,response,state);\n\t\t})\n\t} else {\n\t\tresponse.writeHead(400,\"Invalid bodyFormat \" + route.bodyFormat + \" in route \" + route.method + \" \" + route.path.source);\n\t\tresponse.end();\n\t}\n};\n\n/*\nListen for requests\nport: optional port number (falls back to value of \"port\" variable)\nhost: optional host address (falls back to value of \"host\" variable)\nprefix: optional prefix (falls back to value of \"path-prefix\" variable)\n*/\nServer.prototype.listen = function(port,host,prefix) {\n\tvar self = this;\n\t// Handle defaults for port and host\n\tport = port || this.get(\"port\");\n\thost = host || this.get(\"host\");\n\tprefix = prefix || this.get(\"path-prefix\") || \"\";\n\t// Check for the port being a string and look it up as an environment variable\n\tif(parseInt(port,10).toString() !== port) {\n\t\tport = process.env[port] || 8080;\n\t}\n\t// Warn if required plugins are missing\n\tif(!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\t// Create the server\n\tvar server;\n\tif(this.listenOptions) {\n\t\tserver = this.transport.createServer(this.listenOptions,this.requestHandler.bind(this));\n\t} else {\n\t\tserver = this.transport.createServer(this.requestHandler.bind(this));\n\t}\n\t// Display the port number after we've started listening (the port number might have been specified as zero, in which case we will get an assigned port)\n\tserver.on(\"listening\",function() {\n\t\tvar address = server.address();\n\t\t$tw.utils.log(\"Serving on \" + self.protocol + \"://\" + address.address + \":\" + address.port + prefix,\"brown/orange\");\n\t\t$tw.utils.log(\"(press ctrl-C to exit)\",\"red\");\n\t});\n\t// Listen\n\treturn server.listen(port,host);\n};\n\nexports.Server = Server;\n\n})();\n", "type": "application/javascript", "module-type": "library" }, "$:/core/modules/browser-messaging.js": { "title": "$:/core/modules/browser-messaging.js", "text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\t$tw.utils.each(document.getElementsByTagName('iframe'), function(iframe) {\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t});\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\t// console.log(\"browser-messaging: \",document.location.toString())\n\t\t// console.log(\"browser-messaging: Received message from\",event.origin);\n\t\t// console.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/commands.js": { "title": "$:/core/modules/startup/commands.js", "text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/CSSescape.js": { "title": "$:/core/modules/startup/CSSescape.js", "text": "/*\\\ntitle: $:/core/modules/startup/CSSescape.js\ntype: application/javascript\nmodule-type: startup\n\nPolyfill for CSS.escape()\n\n\\*/\n(function(root,factory){\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"css-escape\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n// https://github.com/umdjs/umd/blob/master/returnExports.js\nexports.startup = factory(root);\n}(typeof global != 'undefined' ? global : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\n}));\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/favicon.js": { "title": "$:/core/modules/startup/favicon.js", "text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/info.js": { "title": "$:/core/modules/startup/info.js", "text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_INFO_PLUGIN = \"$:/temp/info-plugin\";\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin. We use the non-standard plugin-type \"info\" because ordinary plugins are only registered asynchronously after being loaded dynamically\n\tvar fields = {\n\t\ttitle: TITLE_INFO_PLUGIN,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo([TITLE_INFO_PLUGIN]);\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/load-modules.js": { "title": "$:/core/modules/startup/load-modules.js", "text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.wiki.addIndexersToWiki();\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/password.js": { "title": "$:/core/modules/startup/password.js", "text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/plugins.js": { "title": "$:/core/modules/startup/plugins.js", "text": "/*\\\ntitle: $:/core/modules/startup/plugins.js\ntype: application/javascript\nmodule-type: startup\n\nStartup logic concerned with managing plugins\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"plugins\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE = \"$:/status/RequireReloadDueToPluginChange\";\n\nvar PREFIX_CONFIG_REGISTER_PLUGIN_TYPE = \"$:/config/RegisterPluginType/\";\n\nexports.startup = function() {\n\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"no\"});\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tvar changesToProcess = [],\n\t\t\trequireReloadDueToPluginChange = false;\n\t\t$tw.utils.each(Object.keys(changes),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\t\trequiresReload = $tw.wiki.doesPluginRequireReload(title);\n\t\t\tif(requiresReload) {\n\t\t\t\trequireReloadDueToPluginChange = true;\n\t\t\t} else if(tiddler) {\n\t\t\t\tvar pluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif($tw.wiki.getTiddlerText(PREFIX_CONFIG_REGISTER_PLUGIN_TYPE + (tiddler.fields[\"plugin-type\"] || \"\"),\"no\") === \"yes\") {\n\t\t\t\t\tchangesToProcess.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif(requireReloadDueToPluginChange) {\n\t\t\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"yes\"});\n\t\t}\n\t\t// Read or delete the plugin info of the changed tiddlers\n\t\tif(changesToProcess.length > 0) {\n\t\t\tvar changes = $tw.wiki.readPluginInfo(changesToProcess);\n\t\t\tif(changes.modifiedPlugins.length > 0 || changes.deletedPlugins.length > 0) {\n\t\t\t\t// (Re-)register any modified plugins\n\t\t\t\t$tw.wiki.registerPluginTiddlers(null,changes.modifiedPlugins);\n\t\t\t\t// Unregister any deleted plugins\n\t\t\t\t$tw.wiki.unregisterPluginTiddlers(null,changes.deletedPlugins);\n\t\t\t\t// Unpack the shadow tiddlers\n\t\t\t\t$tw.wiki.unpackPluginTiddlers();\n\t\t\t}\n\t\t}\n\t});\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/render.js": { "title": "$:/core/modules/startup/render.js", "text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar THROTTLE_REFRESH_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n \t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t})();\n\t// Remove any splash screen elements\n\tvar removeList = document.querySelectorAll(\".tc-remove-when-wiki-loaded\");\n\t$tw.utils.each(removeList,function(removeItem) {\n\t\tif(removeItem.parentNode) {\n\t\t\tremoveItem.parentNode.removeChild(removeItem);\n\t\t}\n\t});\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.hooks.invokeHook(\"th-page-refreshing\");\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only tiddlers that are throttled have changed\n\t\tvar onlyThrottledTiddlersHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !(tiddler.hasField(\"draft.of\") || tiddler.hasField(\"throttle.refresh\"))) {\n\t\t\t\tonlyThrottledTiddlersHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyThrottledTiddlersHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = THROTTLE_REFRESH_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/rootwidget.js": { "title": "$:/core/modules/startup/rootwidget.js", "text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject, event: event});\n\t});\n\t// Install the notification mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the copy-to-clipboard mechanism\n\t$tw.rootWidget.addEventListener(\"tm-copy-to-clipboard\",function(event) {\n\t\t$tw.utils.copyToClipboard(event.param);\n\t});\n\t// Install the tm-focus-selector message\n\t$tw.rootWidget.addEventListener(\"tm-focus-selector\",function(event) {\n\t\tvar selector = event.param || \"\",\n\t\t\telement;\n\t\ttry {\n\t\t\telement = document.querySelector(selector);\n\t\t} catch(e) {\n\t\t\tconsole.log(\"Error in selector: \",selector)\n\t\t}\n\t\tif(element && element.focus) {\n\t\t\telement.focus(event.paramObject);\n\t\t}\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tvar fullScreenDocument = event.event ? event.event.target.ownerDocument : document;\n\t\t\tif(event.param === \"enter\") {\n\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t} else if(event.param === \"exit\") {\n\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tif(fullScreenDocument[fullscreen._fullscreenElement]) {\n\t\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t\t} else {\n\t\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup.js": { "title": "$:/core/modules/startup.js", "text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.platform);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t$tw.rootWidget = new widget.widget({\n\t\ttype: \"widget\",\n\t\tchildren: []\n\t},{\n\t\twiki: $tw.wiki,\n\t\tdocument: $tw.browser ? document : $tw.fakeDocument\n\t});\n\t// Execute any startup actions\n\tvar executeStartupTiddlers = function(tag) {\n\t\t$tw.utils.each($tw.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[\" + tag + \"]!has[draft.of]]\"),function(title) {\n\t\t\t$tw.rootWidget.invokeActionString($tw.wiki.getTiddlerText(title),$tw.rootWidget);\n\t\t});\n\t};\n\texecuteStartupTiddlers(\"$:/tags/StartupAction\");\n\tif($tw.browser) {\n\t\texecuteStartupTiddlers(\"$:/tags/StartupAction/Browser\");\t\t\n\t}\n\tif($tw.node) {\n\t\texecuteStartupTiddlers(\"$:/tags/StartupAction/Node\");\t\t\n\t}\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-GB\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Listen for shortcuts\n\tif($tw.browser) {\n\t\t$tw.utils.addEventListeners(document,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t}\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t}\n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({\n\t\twiki: $tw.wiki,\n\t\tdirtyTracking: !$tw.syncadaptor,\n\t\tpreloadDirty: $tw.boot.preloadDirty || []\n\t});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/story.js": { "title": "$:/core/modules/startup/story.js", "text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \"$:/config/Navigation/Permalinkview/CopyToClipboard\"; // Can be \"yes\" (default) or \"no\"\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/Permalinkview/UpdateAddressBar\"; // Can be \"yes\" (default) or \"no\"\n\n\n// Links to help, if there is no param\nvar HELP_OPEN_EXTERNAL_WINDOW = \"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\";\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers({\n\t\tdisableHistory: $tw.boot.disableStartupNavigation\n\t});\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for tm-open-external-window message\n\t\t$tw.rootWidget.addEventListener(\"tm-open-external-window\",function(event) {\n\t\t\tvar paramObject = event.paramObject || {},\n\t\t\t\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\n\t\t\t\tstrWindowName = paramObject.windowName,\n\t\t\t\tstrWindowFeatures = paramObject.windowFeatures;\n\t\t\twindow.open(strUrl, strWindowName, strWindowFeatures);\n\t\t});\n\t\t// Listen for the tm-print message\n\t\t$tw.rootWidget.addEventListener(\"tm-print\",function(event) {\n\t\t\t(event.event.view || window).print();\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\"\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\"\n\t\t\t});\t\t\t\t\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndisableHistory: if true $:/History is NOT updated\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// Update history\n\tif(!options.disableHistory) {\n\t\t// If a target tiddler was specified add it to the history stack\n\t\tif(target && target !== \"\") {\n\t\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t\t}\n\t\t\t$tw.wiki.addToHistory(target);\n\t\t} else if(storyList.length > 0) {\n\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t}\t\t\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.copyToClipboard: \"permalink\", \"permaview\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\t// Get the story and the history stack\n\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\ttargetTiddler = \"\";\n\tif(options.targetTiddler) {\n\t\ttargetTiddler = options.targetTiddler;\n\t} else {\n\t\t// The target tiddler is the one at the top of the stack\n\t\tif(historyList.length > 0) {\n\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t}\n\t\t// Blank the target tiddler if it isn't present in the story\n\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\ttargetTiddler = \"\";\n\t\t}\n\t}\n\t// Assemble the location hash\n\tswitch(options.updateAddressBar) {\n\t\tcase \"permalink\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t\tbreak;\n\t}\n\t// Copy URL to the clipboard\n\tswitch(options.copyToClipboard) {\n\t\tcase \"permalink\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler));\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList)));\n\t\t\tbreak;\n\t}\n\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\tif(options.updateHistory === \"yes\") {\n\t\t\t// Assign the location hash so that history is updated\n\t\t\twindow.location.hash = $tw.locationHash;\n\t\t} else {\n\t\t\t// We use replace so that browser history isn't affected\n\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t}\n\t}\n}\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/startup/windows.js": { "title": "$:/core/modules/startup/windows.js", "text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\twindowTitle = paramObject.windowTitle || title,\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow,\n\t\t srcDocument;\n\t\t// In case that popup blockers deny opening a new window\n\t\ttry {\n\t\t\tsrcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\t}\n\t\tcatch(e) {\n\t\t\treturn;\n\t\t}\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = windowTitle;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\t// Listen for keyboard shortcuts\n\t\t$tw.utils.addEventListeners(srcDocument,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t},{\n\t\t\tname: \"click\",\n\t\t\thandlerObject: $tw.popup,\n\t\t\thandlerMethod: \"handleEvent\"\n\t\t}]);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n", "type": "application/javascript", "module-type": "startup" }, "$:/core/modules/story.js": { "title": "$:/core/modules/story.js", "text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/storyviews/classic.js": { "title": "$:/core/modules/storyviews/classic.js", "text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration()\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\tif(duration) {\n\t\t// Scroll the node into view\n\t\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\t\n\t} else {\n\t\ttargetElement.scrollIntoView();\n\t}\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Reset the margin once the transition is over\n\t\tsetTimeout(function() {\n\t\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t\t{transition: \"none\"},\n\t\t\t\t{marginBottom: \"\"}\n\t\t\t]);\n\t\t},duration);\n\t\t// Set up the initial position of the element\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t// Transition to the final position\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t]);\n\t}\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode(),\n\t\t\tremoveElement = function() {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t};\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\tremoveElement();\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar currWidth = targetElement.offsetWidth,\n\t\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Remove the dom nodes of the widget at the end of the transition\n\t\tsetTimeout(removeElement,duration);\n\t\t// Animate the closure\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"translateX(0px)\"},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n};\n\nexports.classic = ClassicStoryView;\n\n})();", "type": "application/javascript", "module-type": "storyview" }, "$:/core/modules/storyviews/pop.js": { "title": "$:/core/modules/storyviews/pop.js", "text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t\t$tw.utils.setStyle(widget.document.body,[\n\t\t\t{\"overflow-x\": \"\"}\n\t\t]);\n\t},duration);\n\t// Prevent the page from overscrolling due to the zoom factor\n\t$tw.utils.setStyle(widget.document.body,[\n\t\t{\"overflow-x\": \"hidden\"}\n\t]);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement && targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n", "type": "application/javascript", "module-type": "storyview" }, "$:/core/modules/storyviews/zoomin.js": { "title": "$:/core/modules/storyviews/zoomin.js", "text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n", "type": "application/javascript", "module-type": "storyview" }, "$:/core/modules/syncer.js": { "title": "$:/core/modules/syncer.js", "text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store and synchronises them to a remote data store represented as a \"sync adaptor\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleIsAnonymous = \"$:/status/IsAnonymous\";\nSyncer.prototype.titleIsReadOnly = \"$:/status/IsReadOnly\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSyncPollingInterval = \"$:/config/SyncPollingInterval\";\nSyncer.prototype.titleSyncDisableLazyLoading = \"$:/config/SyncDisableLazyLoading\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.titleSyncThrottleInterval = \"$:/config/SyncThrottleInterval\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.errorRetryInterval = 5 * 1000; // Interval to retry after an error\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\t// Save parameters\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.disableUI = !!options.disableUI;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncThrottleInterval,\"\"),10) || this.throttleInterval;\n\tthis.errorRetryInterval = options.errorRetryInterval || this.errorRetryInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,\"\"),10) || this.pollTimerInterval;\n\tthis.logging = \"logging\" in options ? options.logging : true;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"),{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging,\n\t\tsaveHistory: true\n\t});\n\t// Make another logger for connection errors\n\tthis.loggerConnection = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\") + \"-connection\",{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging\n\t});\n\t// Ask the syncadaptor to use the main logger\n\tif(this.syncadaptor.setLoggerSaveBuffer) {\n\t\tthis.syncadaptor.setLoggerSaveBuffer(this.logger);\n\t}\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\tthis.titlesToBeLoaded = {}; // Hashmap of titles of tiddlers that need loading from the server\n\tthis.titlesHaveBeenLazyLoaded = {}; // Hashmap of titles of tiddlers that have already been lazily loaded from the server\n\t// Timers\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Number of outstanding requests\n\tthis.numTasksInProgress = 0;\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Filter the changes to just include ones that are being synced\n\t\tvar filteredChanges = self.getSyncedTiddlers(function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t\tif(filteredChanges.length > 0) {\n\t\t\tself.processTaskQueue();\n\t\t} else {\n\t\t\t// Look for deletions of tiddlers we're already syncing\t\n\t\t\tvar outstandingDeletion = false\n\t\t\t$tw.utils.each(changes,function(change,title,object) {\n\t\t\t\tif(change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) {\n\t\t\t\t\toutstandingDeletion = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(outstandingDeletion) {\n\t\t\t\tself.processTaskQueue();\n\t\t\t}\n\t\t}\n\t});\n\t// Browser event handlers\n\tif($tw.browser && !this.disableUI) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-copy-syncer-logs-to-clipboard\",function() {\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getSystemInfo() + \"\\n\\nLog:\\n\" + self.logger.getBuffer());\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tif(!this.disableUI && $tw.wiki.getTiddlerText(this.titleSyncDisableLazyLoading) !== \"yes\") {\n\t\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\t\tself.handleLazyLoadEvent(title);\n\t\t});\t\t\n\t}\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nShow a generic network error alert\n*/\nSyncer.prototype.displayError = function(msg,err) {\n\tif(err === ($tw.language.getString(\"Error/XMLHttpRequest\") + \": 0\")) {\n\t\tthis.loggerConnection.alert($tw.language.getString(\"Error/NetworkErrorAlert\"));\n\t\tthis.logger.log(msg + \":\",err);\n\t} else {\n\t\tthis.logger.alert(msg + \":\",err);\n\t}\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getSyncedTiddlers = function(source) {\n\treturn this.filterFn.call(this.wiki,source);\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getTiddlerRevision = function(title) {\n\tif(this.syncadaptor && this.syncadaptor.getTiddlerRevision) {\n\t\treturn this.syncadaptor.getTiddlerRevision(title);\n\t} else {\n\t\treturn this.wiki.getTiddler(title).fields.revision;\t\n\t} \n};\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\t// \"revision\" is the revision of the tiddler last seen on the server, and \"changecount\" is the corresponding local changecount\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.getSyncedTiddlers();\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: self.getTiddlerRevision(title),\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title)\n\t\t};\n\t});\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\tthis.logger.log(\"Checking dirty status\");\n\t// Check tiddlers that are in the store and included in the filter function\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(this.wiki.tiddlerExists(title)) {\n\t\t\tif(tiddlerInfo) {\n\t\t\t\t// If the tiddler is known on the server and has been modified locally then it needs to be saved to the server\n\t\t\t\tif($tw.wiki.getChangeCount(title) > tiddlerInfo.changeCount) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// If the tiddler isn't known on the server then it needs to be saved to the server\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\t// Check tiddlers that are known from the server but not currently in the store\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\tif(!this.wiki.tiddlerExists(titles[index])) {\n\t\t\t// There must be a pending delete\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser && !this.disableUI) {\n\t\tvar dirty = this.isDirty();\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",dirty);\n\t\tif(!dirty) {\n\t\t\tthis.loggerConnection.clearAlerts();\n\t\t}\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: this.getTiddlerRevision(tiddlerFields.title),\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username,isReadOnly,isAnonymous) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\t// Set the various status tiddlers\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsReadOnly,text: isReadOnly ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsAnonymous,text: isAnonymous ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\t\tif(isLoggedIn) {\n\t\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tvar self = this,\n\t\tcancelNextSync = function() {\n\t\t\tif(self.pollTimerId) {\n\t\t\t\tclearTimeout(self.pollTimerId);\n\t\t\t\tself.pollTimerId = null;\n\t\t\t}\n\t\t},\n\t\ttriggerNextSync = function() {\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t};\n\tif(this.syncadaptor && this.syncadaptor.getUpdatedTiddlers) {\n\t\tthis.logger.log(\"Retrieving updated tiddler list\");\n\t\tcancelNextSync();\n\t\tthis.syncadaptor.getUpdatedTiddlers(self,function(err,updates) {\n\t\t\ttriggerNextSync();\n\t\t\tif(err) {\n\t\t\t\tself.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(updates) {\n\t\t\t\t$tw.utils.each(updates.modifications,function(title) {\n\t\t\t\t\tself.titlesToBeLoaded[title] = true;\n\t\t\t\t});\n\t\t\t\t$tw.utils.each(updates.deletions,function(title) {\n\t\t\t\t\tdelete self.tiddlerInfo[title];\n\t\t\t\t\tself.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\tself.wiki.deleteTiddler(title);\n\t\t\t\t});\n\t\t\t\tif(updates.modifications.length > 0 || updates.deletions.length > 0) {\n\t\t\t\t\tself.processTaskQueue();\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t} else if(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tcancelNextSync();\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\ttriggerNextSync();\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Keep track of which tiddlers we already know about have been reported this time\n\t\t\tvar previousTitles = Object.keys(self.tiddlerInfo);\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.tiddlerExists(tiddlerFields.title) && self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null,\n\t\t\t\t\tindexInPreviousTitles = previousTitles.indexOf(tiddlerFields.title);\n\t\t\t\tif(indexInPreviousTitles !== -1) {\n\t\t\t\t\tpreviousTitles.splice(indexInPreviousTitles,1);\n\t\t\t\t}\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Only load the skinny version if we don't already have a fat version of the tiddler\n\t\t\t\t\tif(!tiddler || tiddler.fields.text === undefined) {\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\tself.titlesToBeLoaded[tiddlerFields.title] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Delete any tiddlers that were previously reported but missing this time\n\t\t\t$tw.utils.each(previousTitles,function(title) {\n\t\t\t\tdelete self.tiddlerInfo[title];\n\t\t\t\tself.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\tself.wiki.deleteTiddler(title);\n\t\t\t});\n\t\t\tself.processTaskQueue();\n\t\t});\n\t}\n};\n\n/*\nForce load a tiddler from the server\n*/\nSyncer.prototype.enqueueLoadTiddler = function(title) {\n\tthis.titlesToBeLoaded[title] = true;\n\tthis.processTaskQueue();\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Ignore if the syncadaptor doesn't handle it\n\tif(!this.syncadaptor.supportsLazyLoading) {\n\t\treturn;\n\t}\n\t// Don't lazy load the same tiddler twice\n\tif(!this.titlesHaveBeenLazyLoaded[title]) {\n\t\t// Don't lazy load if the tiddler isn't included in the sync filter\n\t\tif(this.getSyncedTiddlers().indexOf(title) !== -1) {\n\t\t\t// Mark the tiddler as needing loading, and having already been lazily loaded\n\t\t\tthis.titlesToBeLoaded[title] = true;\n\t\t\tthis.titlesHaveBeenLazyLoaded[title] = true;\n\t\t}\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!err && !isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(err,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nProcess the next task\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing\n\t// a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(typeof task === \"object\" && task !== null) {\n\t\t\tthis.numTasksInProgress += 1;\n\t\t\ttask.run(function(err) {\n\t\t\t\tself.numTasksInProgress -= 1;\n\t\t\t\tif(err) {\n\t\t\t\t\tself.displayError(\"Sync error while processing \" + task.type + \" of '\" + task.title + \"'\",err);\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\tself.triggerTimeout(self.errorRetryInterval);\n\t\t\t\t} else {\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\t// Process the next task\n\t\t\t\t\tself.processTaskQueue.call(self);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// No task is ready so update the status\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// And trigger a timeout if there is a pending task\n\t\t\tif(task === true) {\n\t\t\t\tthis.triggerTimeout();\t\t\t\t\n\t\t\t}\n\t\t}\n\t} else {\n\t\tthis.updateDirtyStatus();\t\t\n\t}\n};\n\nSyncer.prototype.triggerTimeout = function(interval) {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},interval || self.taskTimerInterval);\n\t}\n};\n\n/*\nChoose the next sync task. We prioritise saves, then deletes, then loads from the server\n\nReturns either a task object, null if there's no upcoming tasks, or the boolean true if there are pending tasks that aren't yet due\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar thresholdLastSaved = (new Date()) - this.throttleInterval,\n\t\thavePending = null;\n\t// First we look for tiddlers that have been modified locally and need saving back to the server\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title),\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(tiddler) {\n\t\t\t// If the tiddler is not known on the server, or has been modified locally no more recently than the threshold then it needs to be saved to the server\n\t\t\tvar hasChanged = !tiddlerInfo || $tw.wiki.getChangeCount(title) > tiddlerInfo.changeCount,\n\t\t\t\tisReadyToSave = !tiddlerInfo || !tiddlerInfo.timestampLastSaved || tiddlerInfo.timestampLastSaved < thresholdLastSaved;\n\t\t\tif(hasChanged) {\n\t\t\t\tif(isReadyToSave) {\n\t\t\t\t\treturn new SaveTiddlerTask(this,title); \t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\thavePending = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Second, we check tiddlers that are known from the server but not currently in the store, and so need deleting on the server\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\ttitle = titles[index];\n\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\treturn new DeleteTiddlerTask(this,title);\n\t\t}\n\t}\n\t// Check for tiddlers that need loading\n\ttitle = Object.keys(this.titlesToBeLoaded)[0];\n\tif(title) {\n\t\tdelete this.titlesToBeLoaded[title];\n\t\treturn new LoadTiddlerTask(this,title);\n\t}\n\t// No tasks are ready\n\treturn havePending;\n};\n\nfunction SaveTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"save\";\n}\n\nSaveTiddlerTask.prototype.run = function(callback) {\n\tvar self = this,\n\t\tchangeCount = this.syncer.wiki.getChangeCount(this.title),\n\t\ttiddler = this.syncer.wiki.tiddlerExists(this.title) && this.syncer.wiki.getTiddler(this.title);\n\tthis.syncer.logger.log(\"Dispatching 'save' task:\",this.title);\n\tif(tiddler) {\n\t\tthis.syncer.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t// If there's an error, exit without changing any internal state\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Adjust the info stored about this tiddler\n\t\t\tself.syncer.tiddlerInfo[self.title] = {\n\t\t\t\tchangeCount: changeCount,\n\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\trevision: revision,\n\t\t\t\ttimestampLastSaved: new Date()\n\t\t\t};\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else {\n\t\tthis.syncer.logger.log(\" Not Dispatching 'save' task:\",this.title,\"tiddler does not exist\");\n\t\t$tw.utils.nextTick(callback(null));\n\t}\n};\n\nfunction DeleteTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"delete\";\n}\n\nDeleteTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'delete' task:\",this.title);\n\tthis.syncer.syncadaptor.deleteTiddler(this.title,function(err) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Remove the info stored about this tiddler\n\t\tdelete self.syncer.tiddlerInfo[self.title];\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t},{\n\t\ttiddlerInfo: self.syncer.tiddlerInfo[this.title]\n\t});\n};\n\nfunction LoadTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"load\";\n}\n\nLoadTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'load' task:\",this.title);\n\tthis.syncer.syncadaptor.loadTiddler(this.title,function(err,tiddlerFields) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Update the info stored about this tiddler\n\t\tif(tiddlerFields) {\n\t\t\tself.syncer.storeTiddler(tiddlerFields);\n\t\t}\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t});\n};\n\nexports.Syncer = Syncer;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/tiddler.js": { "title": "$:/core/modules/tiddler.js", "text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet the value of a field as a list\n*/\nexports.getFieldList = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn [];\n\t}\n\treturn $tw.utils.parseStringArray(value);\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [],\n\t\tfields = Object.keys(this.fields).sort(),\n\t\tresult = [];\n\tfor(var t=0; t<fields.length; t++) {\n\t\tvar field = fields[t];\n\t\tif(exclude.indexOf(field) === -1) {\n\t\t\tresult.push(field + \": \" + this.getFieldString(field));\n\t\t}\n\t}\n\treturn result.join(\"\\n\");\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n\n})();\n", "type": "application/javascript", "module-type": "tiddlermethod" }, "$:/core/modules/upgraders/plugins.js": { "title": "$:/core/modules/upgraders/plugins.js", "text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin contains JS modules\n\t\t\tvar requiresReload = $tw.wiki.doesPluginInfoRequireReload(JSON.parse(incomingTiddler.text)) ? ($tw.wiki.getTiddlerText(\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\") + \" \") : \"\";\n\t\t\tmessages[title] = requiresReload;\n\t\t\tif(incomingTiddler.version) {\n\t\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n", "type": "application/javascript", "module-type": "upgrader" }, "$:/core/modules/upgraders/system.js": { "title": "$:/core/modules/upgraders/system.js", "text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\",\"$:/Import\"],\n\tWARN_IMPORT_PREFIX_LIST = [\"$:/core/modules/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tshowAlert = false;\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = WARN_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {\n\t\t\t\t\tshowAlert = true;\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Warning\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tif(showAlert) {\n\t\tvar logger = new $tw.utils.Logger(\"import\");\n\t\tlogger.alert($tw.language.getString(\"Import/Upgrader/System/Alert\"));\n\t}\n\treturn messages;\n};\n\n})();\n", "type": "application/javascript", "module-type": "upgrader" }, "$:/core/modules/upgraders/themetweaks.js": { "title": "$:/core/modules/upgraders/themetweaks.js", "text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n", "type": "application/javascript", "module-type": "upgrader" }, "$:/core/modules/utils/base64-utf8/base64-utf8.module.js": { "text": "(function(){// From https://gist.github.com/Nijikokun/5192472\n//\n// UTF8 Module\n//\n// Cleaner and modularized utf-8 encoding and decoding library for javascript.\n//\n// copyright: MIT\n// author: Nijiko Yonskai, @nijikokun, nijikokun@gmail.com\n!function(r,e,o,t){void 0!==o.module&&o.module.exports?o.module.exports=e.apply(o):void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"utf8\",[],e):o.utf8=e.apply(o)}(0,function(){return{encode:function(r){if(\"string\"!=typeof r)return r;r=r.replace(/\\r\\n/g,\"\\n\");for(var e,o=\"\",t=0;t<r.length;t++)(e=r.charCodeAt(t))<128?o+=String.fromCharCode(e):e>127&&e<2048?(o+=String.fromCharCode(e>>6|192),o+=String.fromCharCode(63&e|128)):(o+=String.fromCharCode(e>>12|224),o+=String.fromCharCode(e>>6&63|128),o+=String.fromCharCode(63&e|128));return o},decode:function(r){if(\"string\"!=typeof r)return r;for(var e=\"\",o=0,t=0;o<r.length;)(t=r.charCodeAt(o))<128?(e+=String.fromCharCode(t),o++):t>191&&t<224?(e+=String.fromCharCode((31&t)<<6|63&r.charCodeAt(o+1)),o+=2):(e+=String.fromCharCode((15&t)<<12|(63&r.charCodeAt(o+1))<<6|63&r.charCodeAt(o+2)),o+=3);return e}}},this),function(r,e,o,t){if(void 0!==o.module&&o.module.exports){if(t&&o.require)for(var n=0;n<t.length;n++)o[t[n]]=o.require(t[n]);o.module.exports=e.apply(o)}else void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"base64\",t||[],e):o.base64=e.apply(o)}(0,function(r){var e=r||this.utf8,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return{encode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=e.encode(r);for(var t,n,i,d,f,a,h,c=\"\",u=0;u<r.length;)d=(t=r.charCodeAt(u++))>>2,f=(3&t)<<4|(n=r.charCodeAt(u++))>>4,a=(15&n)<<2|(i=r.charCodeAt(u++))>>6,h=63&i,isNaN(n)?a=h=64:isNaN(i)&&(h=64),c+=o.charAt(d)+o.charAt(f)+o.charAt(a)+o.charAt(h);return c},decode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=r.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");for(var t,n,i,d,f,a,h=\"\",c=0;c<r.length;)t=o.indexOf(r.charAt(c++))<<2|(d=o.indexOf(r.charAt(c++)))>>4,n=(15&d)<<4|(f=o.indexOf(r.charAt(c++)))>>2,i=(3&f)<<6|(a=o.indexOf(r.charAt(c++))),h+=String.fromCharCode(t),64!=f&&(h+=String.fromCharCode(n)),64!=a&&(h+=String.fromCharCode(i));return e.decode(h)}}},this,[\"utf8\"]);}).call(exports);", "type": "application/javascript", "title": "$:/core/modules/utils/base64-utf8/base64-utf8.module.js", "module-type": "library" }, "$:/core/modules/utils/crypto.js": { "title": "$:/core/modules/utils/crypto.js", "text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/csv.js": { "title": "$:/core/modules/utils/csv.js", "text": "/*\\\ntitle: $:/core/modules/utils/csv.js\ntype: application/javascript\nmodule-type: utils\n\nA barebones CSV parser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a CSV string with a header row and return an array of hashmaps.\n*/\nexports.parseCsvStringWithHeader = function(text,options) {\n\toptions = options || {};\n\tvar separator = options.separator || \",\",\n\t\trows = text.split(/\\r?\\n/mg).map(function(row) {\n\t\t\treturn $tw.utils.trim(row);\n\t\t}).filter(function(row) {\n\t\t\treturn row !== \"\";\n\t\t});\n\tif(rows.length < 1) {\n\t\treturn \"Missing header row\";\n\t}\n\tvar headings = rows[0].split(separator),\n\t\tresults = [];\n\tfor(var row=1; row<rows.length; row++) {\n\t\tvar columns = rows[row].split(separator),\n\t\t\tcolumnResult = Object.create(null);\n\t\tif(columns.length !== headings.length) {\n\t\t\treturn \"Malformed CSV row '\" + rows[row] + \"'\";\n\t\t}\n\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\tvar columnName = headings[column];\n\t\t\tcolumnResult[columnName] = $tw.utils.trim(columns[column] || \"\");\n\t\t}\n\t\tresults.push(columnResult);\t\t\t\n\t}\n\treturn results;\n}\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/diff-match-patch/diff_match_patch.js": { "text": "(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;\ndiff_match_patch.prototype.diff_main=function(a,b,c,d){\"undefined\"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error(\"Null input. (diff_main)\");if(a==b)return a?[[DIFF_EQUAL,a]]:[];\"undefined\"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);f=this.diff_commonSuffix(a,b);var g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a,\nb,e,d);c&&a.unshift([DIFF_EQUAL,c]);g&&a.push([DIFF_EQUAL,g]);this.diff_cleanupMerge(a);return a};\ndiff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[DIFF_INSERT,b]];if(!b)return[[DIFF_DELETE,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[DIFF_INSERT,e.substring(0,g)],[DIFF_EQUAL,f],[DIFF_INSERT,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=DIFF_DELETE),c):1==f.length?[[DIFF_DELETE,a],[DIFF_INSERT,b]]:(e=this.diff_halfMatch_(a,b))?(b=e[1],f=e[3],a=e[4],e=this.diff_main(e[0],e[2],c,d),c=this.diff_main(b,f,c,d),e.concat([[DIFF_EQUAL,\na]],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,d):this.diff_bisect_(a,b,d)};\ndiff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push([DIFF_EQUAL,\"\"]);for(var e=d=b=0,f=\"\",g=\"\";b<a.length;){switch(a[b][0]){case DIFF_INSERT:e++;g+=a[b][1];break;case DIFF_DELETE:d++;f+=a[b][1];break;case DIFF_EQUAL:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,0,d[e]);b+=\nd.length}d=e=0;g=f=\"\"}b++}a.pop();return a};\ndiff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=2*f,h=Array(g),l=Array(g),k=0;k<g;k++)h[k]=-1,l[k]=-1;h[f+1]=0;l[f+1]=0;k=d-e;for(var m=0!=k%2,p=0,x=0,w=0,q=0,t=0;t<f&&!((new Date).getTime()>c);t++){for(var v=-t+p;v<=t-x;v+=2){var n=f+v;var r=v==-t||v!=t&&h[n-1]<h[n+1]?h[n+1]:h[n-1]+1;for(var y=r-v;r<d&&y<e&&a.charAt(r)==b.charAt(y);)r++,y++;h[n]=r;if(r>d)x+=2;else if(y>e)p+=2;else if(m&&(n=f+k-v,0<=n&&n<g&&-1!=l[n])){var u=d-l[n];if(r>=\nu)return this.diff_bisectSplit_(a,b,r,y,c)}}for(v=-t+w;v<=t-q;v+=2){n=f+v;u=v==-t||v!=t&&l[n-1]<l[n+1]?l[n+1]:l[n-1]+1;for(r=u-v;u<d&&r<e&&a.charAt(d-u-1)==b.charAt(e-r-1);)u++,r++;l[n]=u;if(u>d)q+=2;else if(r>e)w+=2;else if(!m&&(n=f+k-v,0<=n&&n<g&&-1!=h[n]&&(r=h[n],y=f+r-n,u=d-u,r>=u)))return this.diff_bisectSplit_(a,b,r,y,c)}}return[[DIFF_DELETE,a],[DIFF_INSERT,b]]};\ndiff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};\ndiff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b=\"\",c=0,f=-1,g=d.length;f<a.length-1;){f=a.indexOf(\"\\n\",c);-1==f&&(f=a.length-1);var h=a.substring(c,f+1);c=f+1;(e.hasOwnProperty?e.hasOwnProperty(h):void 0!==e[h])?b+=String.fromCharCode(e[h]):(b+=String.fromCharCode(g),e[h]=g,d[g++]=h)}return b}var d=[],e={};d[0]=\"\";var f=c(a),g=c(b);return{chars1:f,chars2:g,lineArray:d}};\ndiff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join(\"\")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;d=0;for(var e=1;;){var f=a.substring(c-e);f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};\ndiff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g=\"\",h,k,l,m;-1!=(e=b.indexOf(d,e+1));){var p=f.diff_commonPrefix(a.substring(c),b.substring(e)),u=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<u+p&&(g=b.substring(e-u,e)+b.substring(e,e+p),h=a.substring(0,c-u),k=a.substring(c+p),l=b.substring(0,e-u),m=b.substring(e+p))}return 2*g.length>=a.length?[h,k,l,m,g]:null}if(0>=this.Diff_Timeout)return null;\nvar d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4));d=c(d,e,Math.ceil(d.length/2));if(g||d)g=d?g?g[4].length>d[4].length?g:d:d:g;else return null;if(a.length>b.length){d=g[0];e=g[1];var h=g[2];var l=g[3]}else h=g[0],l=g[1],d=g[2],e=g[3];return[d,e,h,l,g[4]]};\ndiff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,l=0,k=0;f<a.length;)a[f][0]==DIFF_EQUAL?(c[d++]=f,g=l,h=k,k=l=0,e=a[f][1]):(a[f][0]==DIFF_INSERT?l+=a[f][1].length:k+=a[f][1].length,e&&e.length<=Math.max(g,h)&&e.length<=Math.max(l,k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,d--,f=0<d?c[d-1]:-1,k=l=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<a.length;){if(a[f-1][0]==\nDIFF_DELETE&&a[f][0]==DIFF_INSERT){b=a[f-1][1];c=a[f][1];d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[DIFF_EQUAL,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[DIFF_EQUAL,b.substring(0,e)]),a[f-1][0]=DIFF_INSERT,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=DIFF_DELETE,a[f+1][1]=b.substring(e),f++;f++}f++}};\ndiff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_);c=g&&c.match(diff_match_patch.linebreakRegex_);d=h&&d.match(diff_match_patch.linebreakRegex_);var k=c&&a.match(diff_match_patch.blanklineEndRegex_),l=d&&b.match(diff_match_patch.blanklineStartRegex_);\nreturn k||l?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(a[c-1][0]==DIFF_EQUAL&&a[c+1][0]==DIFF_EQUAL){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g){var h=e.substring(e.length-g);d=d.substring(0,d.length-g);e=h+e.substring(0,e.length-g);f=h+f}g=d;h=e;for(var l=f,k=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){d+=e.charAt(0);e=e.substring(1)+f.charAt(0);f=f.substring(1);var m=b(d,e)+b(e,f);m>=k&&(k=m,g=d,h=e,l=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-\n1,1),c--),a[c][1]=h,l?a[c+1][1]=l:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\\s/;diff_match_patch.linebreakRegex_=/[\\r\\n]/;diff_match_patch.blanklineEndRegex_=/\\n\\r?\\n$/;diff_match_patch.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;\ndiff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,l=!1,k=!1;f<a.length;)a[f][0]==DIFF_EQUAL?(a[f][1].length<this.Diff_EditCost&&(l||k)?(c[d++]=f,g=l,h=k,e=a[f][1]):(d=0,e=null),l=k=!1):(a[f][0]==DIFF_DELETE?k=!0:l=!0,e&&(g&&h&&l&&k||e.length<this.Diff_EditCost/2&&3==g+h+l+k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,e=null,g&&h?(l=k=!0,d=0):(d--,f=0<d?c[d-1]:-1,l=k=!1),b=!0)),f++;b&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_cleanupMerge=function(a){a.push([DIFF_EQUAL,\"\"]);for(var b=0,c=0,d=0,e=\"\",f=\"\",g;b<a.length;)switch(a[b][0]){case DIFF_INSERT:d++;f+=a[b][1];b++;break;case DIFF_DELETE:c++;e+=a[b][1];b++;break;case DIFF_EQUAL:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&a[b-c-d-1][0]==DIFF_EQUAL?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,[DIFF_EQUAL,f.substring(0,g)]),b++),f=f.substring(g),e=e.substring(g)),g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-\ng)+a[b][1],f=f.substring(0,f.length-g),e=e.substring(0,e.length-g))),0===c?a.splice(b-d,c+d,[DIFF_INSERT,f]):0===d?a.splice(b-c,c+d,[DIFF_DELETE,e]):a.splice(b-c-d,c+d,[DIFF_DELETE,e],[DIFF_INSERT,f]),b=b-c-d+(c?1:0)+(d?1:0)+1):0!==b&&a[b-1][0]==DIFF_EQUAL?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=\"\"}\"\"===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)a[b-1][0]==DIFF_EQUAL&&a[b+1][0]==DIFF_EQUAL&&(a[b][1].substring(a[b][1].length-a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,\na[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){a[g][0]!==DIFF_INSERT&&(c+=a[g][1].length);a[g][0]!==DIFF_DELETE&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&a[g][0]===DIFF_DELETE?f:f+(b-e)};\ndiff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\\n/g,g=0;g<a.length;g++){var h=a[g][0],l=a[g][1].replace(c,\"&\").replace(d,\"<\").replace(e,\">\").replace(f,\"¶<br>\");switch(h){case DIFF_INSERT:b[g]='<ins style=\"background:#e6ffe6;\">'+l+\"</ins>\";break;case DIFF_DELETE:b[g]='<del style=\"background:#ffe6e6;\">'+l+\"</del>\";break;case DIFF_EQUAL:b[g]=\"<span>\"+l+\"</span>\"}}return b.join(\"\")};\ndiff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_INSERT&&(b[c]=a[c][1]);return b.join(\"\")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_DELETE&&(b[c]=a[c][1]);return b.join(\"\")};\ndiff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][1];switch(a[e][0]){case DIFF_INSERT:c+=f.length;break;case DIFF_DELETE:d+=f.length;break;case DIFF_EQUAL:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};\ndiff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case DIFF_INSERT:b[c]=\"+\"+encodeURI(a[c][1]);break;case DIFF_DELETE:b[c]=\"-\"+a[c][1].length;break;case DIFF_EQUAL:b[c]=\"=\"+a[c][1].length}return b.join(\"\\t\").replace(/%20/g,\" \")};\ndiff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case \"+\":try{c[d++]=[DIFF_INSERT,decodeURI(h)]}catch(k){throw Error(\"Illegal escape in diff_fromDelta: \"+h);}break;case \"-\":case \"=\":var l=parseInt(h,10);if(isNaN(l)||0>l)throw Error(\"Invalid number in diff_fromDelta: \"+h);h=a.substring(e,e+=l);\"=\"==f[g].charAt(0)?c[d++]=[DIFF_EQUAL,h]:c[d++]=[DIFF_DELETE,h];break;default:if(f[g])throw Error(\"Invalid diff operation in diff_fromDelta: \"+\nf[g]);}}if(e!=a.length)throw Error(\"Delta length (\"+e+\") does not equal source text length (\"+a.length+\").\");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error(\"Null input. (match_main)\");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};\ndiff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return f.Match_Distance?e+g/f.Match_Distance:g?1:e}if(b.length>this.Match_MaxBits)throw Error(\"Pattern too long for this browser.\");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));var l=1<<b.length-1;h=-1;for(var k,m,p=b.length+a.length,x,w=0;w<b.length;w++){k=0;for(m=p;k<m;)d(w,\nc+m)<=g?k=m:p=m,m=Math.floor((p-k)/2+k);p=m;k=Math.max(1,c-m+1);var q=Math.min(c+m,a.length)+b.length;m=Array(q+2);for(m[q+1]=(1<<w)-1;q>=k;q--){var t=e[a.charAt(q-1)];m[q]=0===w?(m[q+1]<<1|1)&t:(m[q+1]<<1|1)&t|(x[q+1]|x[q])<<1|1|x[q+1];if(m[q]&l&&(t=d(w,q-1),t<=g))if(g=t,h=q-1,h>c)k=Math.max(1,2*c-h);else break}if(d(w+1,c)>g)break;x=m}return h};\ndiff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};\ndiff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift([DIFF_EQUAL,c]);(d=b.substring(a.start2+a.length1,a.start2+a.length1+d))&&a.diffs.push([DIFF_EQUAL,d]);a.start1-=c.length;a.start2-=\nc.length;a.length1+=c.length+d.length;a.length2+=c.length+d.length}};\ndiff_match_patch.prototype.patch_make=function(a,b,c){if(\"string\"==typeof a&&\"string\"==typeof b&&\"undefined\"==typeof c){var d=a;b=this.diff_main(d,b,!0);2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b))}else if(a&&\"object\"==typeof a&&\"undefined\"==typeof b&&\"undefined\"==typeof c)b=a,d=this.diff_text1(b);else if(\"string\"==typeof a&&b&&\"object\"==typeof b&&\"undefined\"==typeof c)d=a;else if(\"string\"==typeof a&&\"string\"==typeof b&&c&&\"object\"==typeof c)d=a,b=c;else throw Error(\"Unknown call format to patch_make.\");\nif(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,l=0;l<b.length;l++){var k=b[l][0],m=b[l][1];e||k===DIFF_EQUAL||(a.start1=f,a.start2=g);switch(k){case DIFF_INSERT:a.diffs[e++]=b[l];a.length2+=m.length;d=d.substring(0,g)+m+d.substring(g);break;case DIFF_DELETE:a.length1+=m.length;a.diffs[e++]=b[l];d=d.substring(0,g)+d.substring(g+m.length);break;case DIFF_EQUAL:m.length<=2*this.Patch_Margin&&e&&b.length!=l+1?(a.diffs[e++]=b[l],a.length1+=m.length,a.length2+=m.length):\nm.length>=2*this.Patch_Margin&&e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}k!==DIFF_INSERT&&(f+=m.length);k!==DIFF_DELETE&&(g+=m.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};\ndiff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=d.diffs[f].slice();e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};\ndiff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),l=-1;if(h.length>this.Match_MaxBits){var k=this.match_main(b,h.substring(0,this.Match_MaxBits),g);-1!=k&&(l=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==l||k>=l)&&(k=-1)}else k=this.match_main(b,h,\ng);if(-1==k)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=k-g,g=-1==l?b.substring(k,k+h.length):b.substring(k,l+this.Match_MaxBits),h==g)b=b.substring(0,k)+this.diff_text2(a[f].diffs)+b.substring(k+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);h=0;var m;for(l=0;l<a[f].diffs.length;l++){var p=a[f].diffs[l];p[0]!==DIFF_EQUAL&&(m=this.diff_xIndex(g,h));p[0]===\nDIFF_INSERT?b=b.substring(0,k+m)+p[1]+b.substring(k+m):p[0]===DIFF_DELETE&&(b=b.substring(0,k+m)+b.substring(k+this.diff_xIndex(g,h+p[1].length)));p[0]!==DIFF_DELETE&&(h+=p[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};\ndiff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c=\"\",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;d=a[0];var e=d.diffs;if(0==e.length||e[0][0]!=DIFF_EQUAL)e.unshift([DIFF_EQUAL,c]),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||e[e.length-\n1][0]!=DIFF_EQUAL?(e.push([DIFF_EQUAL,c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};\ndiff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g=\"\";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,l=!0;h.start1=e-g.length;h.start2=f-g.length;\"\"!==g&&(h.length1=h.length2=g.length,h.diffs.push([DIFF_EQUAL,g]));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){g=d.diffs[0][0];var k=d.diffs[0][1];g===DIFF_INSERT?(h.length2+=k.length,f+=k.length,h.diffs.push(d.diffs.shift()),\nl=!1):g===DIFF_DELETE&&1==h.diffs.length&&h.diffs[0][0]==DIFF_EQUAL&&k.length>2*b?(h.length1+=k.length,e+=k.length,l=!1,h.diffs.push([g,k]),d.diffs.shift()):(k=k.substring(0,b-h.length1-this.Patch_Margin),h.length1+=k.length,e+=k.length,g===DIFF_EQUAL?(h.length2+=k.length,f+=k.length):l=!1,h.diffs.push([g,k]),k==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(k.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);k=this.diff_text1(d.diffs).substring(0,\nthis.Patch_Margin);\"\"!==k&&(h.length1+=k.length,h.length2+=k.length,0!==h.diffs.length&&h.diffs[h.diffs.length-1][0]===DIFF_EQUAL?h.diffs[h.diffs.length-1][1]+=k:h.diffs.push([DIFF_EQUAL,k]));l||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join(\"\")};\ndiff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split(\"\\n\");for(var c=0,d=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error(\"Invalid patch string: \"+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);\"\"===e[2]?(f.start1--,f.length1=1):\"0\"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);\"\"===e[4]?(f.start2--,f.length2=1):\"0\"==e[4]?f.length2=0:(f.start2--,f.length2=\nparseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error(\"Illegal escape in patch_fromText: \"+g);}if(\"-\"==e)f.diffs.push([DIFF_DELETE,g]);else if(\"+\"==e)f.diffs.push([DIFF_INSERT,g]);else if(\" \"==e)f.diffs.push([DIFF_EQUAL,g]);else if(\"@\"==e)break;else if(\"\"!==e)throw Error('Invalid patch mode \"'+e+'\" in: '+g);c++}}return b};diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};\ndiff_match_patch.patch_obj.prototype.toString=function(){for(var a=[\"@@ -\"+(0===this.length1?this.start1+\",0\":1==this.length1?this.start1+1:this.start1+1+\",\"+this.length1)+\" +\"+(0===this.length2?this.start2+\",0\":1==this.length2?this.start2+1:this.start2+1+\",\"+this.length2)+\" @@\\n\"],b,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case DIFF_INSERT:b=\"+\";break;case DIFF_DELETE:b=\"-\";break;case DIFF_EQUAL:b=\" \"}a[c+1]=b+encodeURI(this.diffs[c][1])+\"\\n\"}return a.join(\"\").replace(/%20/g,\" \")};\nthis.diff_match_patch=diff_match_patch;this.DIFF_DELETE=DIFF_DELETE;this.DIFF_INSERT=DIFF_INSERT;this.DIFF_EQUAL=DIFF_EQUAL;\n}).call(exports);", "type": "application/javascript", "title": "$:/core/modules/utils/diff-match-patch/diff_match_patch.js", "module-type": "library" }, "$:/core/modules/utils/dom/animations/slide.js": { "title": "$:/core/modules/utils/dom/animations/slide.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n", "type": "application/javascript", "module-type": "animation" }, "$:/core/modules/utils/dom/animator.js": { "title": "$:/core/modules/utils/dom/animator.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/browser.js": { "title": "$:/core/modules/utils/dom/browser.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/csscolorparser.js": { "title": "$:/core/modules/utils/dom/csscolorparser.js", "text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) { // int or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_byte(parseFloat(str) / 100 * 255);\n return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) { // float or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_float(parseFloat(str) / 100);\n return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n if (h < 0) h += 1;\n else if (h > 1) h -= 1;\n\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n if (h * 2 < 1) return m2;\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n return m1;\n}\n\nfunction parseCSSColor(css_str) {\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = css_str.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\n\n // #abc and #abc123 syntax.\n if (str[0] === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1];\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\n return [(iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1];\n }\n\n return null;\n }\n\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op+1, ep-(op+1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'rgb':\n if (params.length !== 3) return null;\n return [parse_css_int(params[0]),\n parse_css_int(params[1]),\n parse_css_int(params[2]),\n alpha];\n case 'hsla':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'hsl':\n if (params.length !== 3) return null;\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parse_css_float(params[1]);\n var l = parse_css_float(params[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n alpha];\n default:\n return null;\n }\n }\n\n return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom.js": { "title": "$:/core/modules/utils/dom.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function(srcWindow) {\n\tvar scrollWindow = srcWindow || window;\n\tif(\"scrollX\" in scrollWindow) {\n\t\treturn {x: scrollWindow.scrollX, y: scrollWindow.scrollY};\n\t} else {\n\t\treturn {x: scrollWindow.document.documentElement.scrollLeft, y: scrollWindow.document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(element.ownerDocument.defaultView),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\tvar done = false;\n\ttry {\n\t\twindow.localStorage.setItem(\"tw5-password-\" + name,password);\n\t\tdone = true;\n\t} catch(e) {\n\t}\n\tif(!done) {\n\t\t$tw.savedPasswords = $tw.savedPasswords || Object.create(null);\n\t\t$tw.savedPasswords[name] = password;\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\tvar value;\n\ttry {\n\t\tvalue = window.localStorage.getItem(\"tw5-password-\" + name);\n\t} catch(e) {\n\t}\n\tif(value !== undefined) {\n\t\treturn value;\n\t} else {\n\t\treturn ($tw.savedPasswords || Object.create(null))[name] || \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n/*\nCopy plain text to the clipboard on browsers that support it\n*/\nexports.copyToClipboard = function(text,options) {\n\toptions = options || {};\n\tvar textArea = document.createElement(\"textarea\");\n\ttextArea.style.position = \"fixed\";\n\ttextArea.style.top = 0;\n\ttextArea.style.left = 0;\n\ttextArea.style.fontSize = \"12pt\";\n\ttextArea.style.width = \"2em\";\n\ttextArea.style.height = \"2em\";\n\ttextArea.style.padding = 0;\n\ttextArea.style.border = \"none\";\n\ttextArea.style.outline = \"none\";\n\ttextArea.style.boxShadow = \"none\";\n\ttextArea.style.background = \"transparent\";\n\ttextArea.value = text;\n\tdocument.body.appendChild(textArea);\n\ttextArea.select();\n\ttextArea.setSelectionRange(0,text.length);\n\tvar succeeded = false;\n\ttry {\n\t\tsucceeded = document.execCommand(\"copy\");\n\t} catch (err) {\n\t}\n\tif(!options.doNotNotify) {\n\t\t$tw.notifier.display(succeeded ? \"$:/language/Notifications/CopiedToClipboard/Succeeded\" : \"$:/language/Notifications/CopiedToClipboard/Failed\");\n\t}\n\tdocument.body.removeChild(textArea);\n};\n\nexports.getLocationPath = function() {\n\treturn window.location.toString().split(\"#\")[0];\n};\n\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/dragndrop.js": { "title": "$:/core/modules/utils/dom/dragndrop.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser data transfer utilities, used with the clipboard and drag and drop\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOptions:\n\ndomNode: dom node to make draggable\ndragImageType: \"pill\" or \"dom\"\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\nwidget: widget to use as the contect for the filter\n*/\nexports.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\n\t// Make the dom node draggable (not necessary for anchor tags)\n\tif((domNode.tagName || \"\").toLowerCase() !== \"a\") {\n\t\tdomNode.setAttribute(\"draggable\",\"true\");\t\t\n\t}\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\tif(event.dataTransfer === undefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Collect the tiddlers being dragged\n\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t \tstartActions = options.startActions;\n\t\t\tif(dragFilter) {\n\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t}\n\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t// Check that we've something to drag\n\t\t\tif(titles.length > 0 && event.target === domNode) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(event.target,\"tc-dragging\");\n\t\t\t\t// Invoke drag-start actions if given\n\t\t\t\tif(startActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(startActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif(event.target === domNode) {\n\t\t\t\t// Collect the tiddlers being dragged\n\t\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t \t\tendActions = options.endActions;\n\t\t\t\tif(dragFilter) {\n\t\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t\t}\n\t\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Invoke drag-end actions if given\n\t\t\t\tif(endActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(endActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(event.target,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Available data types:\");\n\t\tfor(var type=0; type<dataTransfer.types.length; type++) {\n\t\t\tconsole.log(\"type\",dataTransfer.types[type],dataTransfer.getData(dataTransfer.types[type]))\n\t\t}\n\t}\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = JSON.parse(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/http.js": { "title": "$:/core/modules/utils/dom/http.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\theaders: hashmap of headers to send\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data,xhr)\n\treturnProp: string name of the property to return as first argument of callback\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\turl = options.url,\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tif(type === \"GET\" || type === \"HEAD\") {\n\t\t\t\turl += \"?\" + results.join(\"&\");\n\t\t\t} else {\n\t\t\t\tdata = results.join(\"&\");\n\t\t\t}\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status,null,this);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\tif(!$tw.utils.hop(headers,\"X-Requested-With\")) {\n\t\trequest.setRequestHeader(\"X-Requested-With\",\"TiddlyWiki\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e,null,this);\n\t}\n\treturn request;\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/keyboard.js": { "title": "$:/core/modules/utils/dom/keyboard.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/modal.js": { "title": "$:/core/modules/utils/dom/modal.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tthis.srcDocument = options.variables && (options.variables.rootwindow === \"true\" ||\n\t\t\t\toptions.variables.rootwindow === \"yes\") ? document :\n\t\t\t\t(options.event.event && options.event.event.target ? options.event.event.target.ownerDocument : document);\n\tthis.srcWindow = this.srcDocument.defaultView;\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalBackdrop = this.srcDocument.createElement(\"div\"),\n\t\tmodalWrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalHeader = this.srcDocument.createElement(\"div\"),\n\t\theaderTitle = this.srcDocument.createElement(\"h3\"),\n\t\tmodalBody = this.srcDocument.createElement(\"div\"),\n\t\tmodalLink = this.srcDocument.createElement(\"a\"),\n\t\tmodalFooter = this.srcDocument.createElement(\"div\"),\n\t\tmodalFooterHelp = this.srcDocument.createElement(\"span\"),\n\t\tmodalFooterButtons = this.srcDocument.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\tif(tiddler.fields && tiddler.fields.class) {\n\t\t$tw.utils.addClass(wrapper,tiddler.fields.class);\n\t}\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(this.srcDocument.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler.fields && tiddler.fields.help) {\n\t\tvar link = this.srcDocument.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(this.srcDocument.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + self.srcWindow.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\tself.srcWindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tself.srcDocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-this.srcWindow.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tthis.srcDocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tvar windowContainer = $tw.pageContainer ? ($tw.pageContainer === this.srcDocument.body.firstChild ? $tw.pageContainer : this.srcDocument.body.firstChild) : null;\n\tif(windowContainer) {\n\t\t$tw.utils.toggleClass(windowContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/notifier.js": { "title": "$:/core/modules/utils/dom/notifier.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/popup.js": { "title": "$:/core/modules/utils/dom/popup.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned (one of domNode or domNodeRect is required)\n\tdomNodeRect: rectangle to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n\tfloating: if true, skips registering the popup, meaning that it will need manually clearing\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\n\t// Store the popup details if not already there\n\tif(!options.floating && this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode,\n\t\t\tnoStateReference: options.noStateReference\n\t\t});\n\t}\n\t// Set the state tiddler\n\tvar rect;\n\tif(options.domNodeRect) {\n\t\trect = options.domNodeRect;\n\t} else {\n\t\trect = {\n\t\t\tleft: options.domNode.offsetLeft,\n\t\t\ttop: options.domNode.offsetTop,\n\t\t\twidth: options.domNode.offsetWidth,\n\t\t\theight: options.domNode.offsetHeight\n\t\t};\n\t}\n\tvar popupRect = \"(\" + rect.left + \",\" + rect.top + \",\" + \n\t\t\t\trect.width + \",\" + rect.height + \")\";\n\tif(options.noStateReference) {\n\t\toptions.wiki.setText(options.title,\"text\",undefined,popupRect);\n\t} else {\n\t\toptions.wiki.setTextReference(options.title,popupRect);\n\t}\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tif(popup.noStateReference) {\n\t\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t\t} else {\n\t\t\t\tpopup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);\n \t\t}\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/dom/scroller.js": { "title": "$:/core/modules/utils/dom/scroller.js", "text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.isScrolling = function() {\n\treturn this.idRequestFrame !== null;\n}\n\nPageScroller.prototype.cancelScroll = function(srcWindow) {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element,callback) {\n\tvar self = this,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t srcWindow = element ? element.ownerDocument.defaultView : window;\n\t// Now get ready to scroll the body\n\tthis.cancelScroll(srcWindow);\n\tthis.startTime = Date.now();\n\t// Get the height of any position:fixed toolbars\n\tvar toolbar = srcWindow.document.querySelector(\".tc-adjust-top-of-scroll\"),\n\t\toffset = 0;\n\tif(toolbar) {\n\t\toffset = toolbar.offsetHeight;\n\t}\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar getBounds = function() {\n\t\t\tvar clientBounds = typeof callback === 'function' ? callback() : element.getBoundingClientRect(),\n\t\t\t\tscrollPosition = $tw.utils.getScrollPosition(srcWindow);\n\t\t\treturn {\n\t\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\t\ttop: clientBounds.top + scrollPosition.y - offset,\n\t\t\t\twidth: clientBounds.width,\n\t\t\t\theight: clientBounds.height\n\t\t\t};\n\t\t},\n\t\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t\t// targetPos/targetSize - position and size of the target element\n\t\t// currentPos/currentSize - position and size of the current scroll viewport\n\t\t// returns: new position of the scroll viewport\n\t\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = targetPos;\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tdrawFrame = function drawFrame() {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll(srcWindow);\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(srcWindow),\n\t\t\t\tbounds = getBounds(),\n\t\t\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,srcWindow.innerWidth),\n\t\t\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,srcWindow.innerHeight);\n\t\t\tsrcWindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\tdrawFrame();\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/edition-info.js": { "title": "$:/core/modules/utils/edition-info.js", "text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils-node" }, "$:/core/modules/utils/fakedom.js": { "title": "$:/core/modules/utils/fakedom.js", "text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis._style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.defineProperty(TW_Element.prototype, \"style\", {\n\tget: function() {\n\t\treturn this._style;\n\t},\n\tset: function(str) {\n\t\tvar self = this;\n\t\tstr = str || \"\";\n\t\t$tw.utils.each(str.split(\";\"),function(declaration) {\n\t\t\tvar parts = declaration.split(\":\"),\n\t\t\t\tname = $tw.utils.trim(parts[0]),\n\t\t\t\tvalue = $tw.utils.trim(parts[1]);\n\t\t\tif(name && value) {\n\t\t\t\tself._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;\n\t\t\t}\n\t\t});\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value + \"\";\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this._style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this._style) {\n\t\t\t\tstyle.push($tw.utils.convertPropertyNameToStyleName(s) + \":\" + this._style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\");\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn \"\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/utils/filesystem.js": { "title": "$:/core/modules/utils/filesystem.js", "text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = Buffer.alloc(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n/*\nCreate a fileInfo object for saving a tiddler:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\nOptions include:\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n*/\nexports.generateTiddlerFileInfo = function(tiddler,options) {\n\tvar fileInfo = {};\n\t// Check if the tiddler has any unsafe fields that can't be expressed in a .tid or .meta file: containing control characters, or leading/trailing whitespace\n\tvar hasUnsafeFields = false;\n\t$tw.utils.each(tiddler.getFieldStrings(),function(value,fieldName) {\n\t\tif(fieldName !== \"text\") {\n\t\t\thasUnsafeFields = hasUnsafeFields || /[\\x00-\\x1F]/mg.test(value);\n\t\t\thasUnsafeFields = hasUnsafeFields || ($tw.utils.trim(value) !== value);\n\t\t}\n\t});\n\t// Check for field values \n\tif(hasUnsafeFields) {\n\t\t// Save as a JSON file\n\t\tfileInfo.type = \"application/json\";\n\t\tfileInfo.hasMetaFile = false;\n\t} else {\n\t\t// Save as a .tid or a text/binary file plus a .meta file\n\t\tvar tiddlerType = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\tif(tiddlerType === \"text/vnd.tiddlywiki\") {\n\t\t\t// Save as a .tid file\n\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\tfileInfo.hasMetaFile = false;\n\t\t} else {\n\t\t\t// Save as a text/binary file and a .meta file\n\t\t\tfileInfo.type = tiddlerType;\n\t\t\tfileInfo.hasMetaFile = true;\n\t\t}\n\t}\n\t// Take the file extension from the tiddler content type\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[fileInfo.type] || {extension: \"\"};\n\t// Generate the filepath\n\tfileInfo.filepath = $tw.utils.generateTiddlerFilepath(tiddler.fields.title,{\n\t\textension: contentTypeInfo.extension,\n\t\tdirectory: options.directory,\n\t\tpathFilters: options.pathFilters,\n\t\twiki: options.wiki\n\t});\n\treturn fileInfo;\n};\n\n/*\nGenerate the filepath for saving a tiddler\nOptions include:\n\textension: file extension to be added the finished filepath\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n*/\nexports.generateTiddlerFilepath = function(title,options) {\n\tvar self = this,\n\t\tdirectory = options.directory || \"\",\n\t\textension = options.extension || \"\",\n\t\tfilepath;\n\t// Check if any of the pathFilters applies\n\tif(options.pathFilters && options.wiki) {\n\t\t$tw.utils.each(options.pathFilters,function(filter) {\n\t\t\tif(!filepath) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\tfilepath = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// If not, generate a base pathname\n\tif(!filepath) {\n\t\tfilepath = title;\n\t\t// If the filepath already ends in the extension then remove it\n\t\tif(filepath.substring(filepath.length - extension.length) === extension) {\n\t\t\tfilepath = filepath.substring(0,filepath.length - extension.length);\n\t\t}\n\t\t// Remove any forward or backward slashes so we don't create directories\n\t\tfilepath = filepath.replace(/\\/|\\\\/g,\"_\");\n\t}\n\t// Don't let the filename start with a dot because such files are invisible on *nix\n\tfilepath = filepath.replace(/^\\./g,\"_\");\n\t// Remove any characters that can't be used in cross-platform filenames\n\tfilepath = $tw.utils.transliterate(filepath.replace(/<|>|\\:|\\\"|\\||\\?|\\*|\\^/g,\"_\"));\n\t// Truncate the filename if it is too long\n\tif(filepath.length > 200) {\n\t\tfilepath = filepath.substr(0,200);\n\t}\n\t// If the resulting filename is blank (eg because the title is just punctuation characters)\n\tif(!filepath) {\n\t\t// ...then just use the character codes of the title\n\t\tfilepath = \"\";\t\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tif(filepath) {\n\t\t\t\tfilepath += \"-\";\n\t\t\t}\n\t\t\tfilepath += char.charCodeAt(0).toString();\n\t\t});\n\t}\n\t// Add a uniquifier if the file already exists\n\tvar fullPath,\n\t\tcount = 0;\n\tdo {\n\t\tfullPath = path.resolve(directory,filepath + (count ? \"_\" + count : \"\") + extension);\n\t\tcount++;\n\t} while(fs.existsSync(fullPath));\n\t// Return the full path to the file\n\treturn fullPath;\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFile = function(tiddler,fileInfo,callback) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFile(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tfs.writeFile(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\",callback);\n\t\t});\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFile(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\",callback);\n\t\t} else {\n\t\t\tfs.writeFile(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\",callback);\n\t\t}\n\t}\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFileSync = function(tiddler,fileInfo) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFileSync(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding);\n\t\tfs.writeFileSync(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\");\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFileSync(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\");\n\t\t} else {\n\t\t\tfs.writeFileSync(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t}\n\t}\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils-node" }, "$:/core/modules/utils/logger.js": { "title": "$:/core/modules/utils/logger.js", "text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName,options) {\n\toptions = options || {};\n\tthis.componentName = componentName || \"\";\n\tthis.colour = options.colour || \"white\";\n\tthis.enable = \"enable\" in options ? options.enable : true;\n\tthis.save = \"save\" in options ? options.save : true;\n\tthis.saveLimit = options.saveLimit || 100 * 1024;\n\tthis.saveBufferLogger = this;\n\tthis.buffer = \"\";\n\tthis.alertCount = 0;\n}\n\nLogger.prototype.setSaveBuffer = function(logger) {\n\tthis.saveBufferLogger = logger;\n};\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tvar self = this;\n\tif(this.enable) {\n\t\tif(this.saveBufferLogger.save) {\n\t\t\tthis.saveBufferLogger.buffer += $tw.utils.formatDateString(new Date(),\"YYYY MM DD 0hh:0mm:0ss.0XXX\") + \":\";\n\t\t\t$tw.utils.each(Array.prototype.slice.call(arguments,0),function(arg,index) {\n\t\t\t\tself.saveBufferLogger.buffer += \" \" + arg;\n\t\t\t});\n\t\t\tthis.saveBufferLogger.buffer += \"\\n\";\n\t\t\tthis.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit);\t\t\t\n\t\t}\n\t\tif(console !== undefined && console.log !== undefined) {\n\t\t\treturn Function.apply.call(console.log, console, [$tw.utils.terminalColour(this.colour),this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)).concat($tw.utils.terminalColour()));\n\t\t}\n\t} \n};\n\n/*\nRead the message buffer\n*/\nLogger.prototype.getBuffer = function() {\n\treturn this.saveBufferLogger.buffer;\n};\n\n/*\nLog a structure as a table\n*/\nLogger.prototype.table = function(value) {\n\t(console.table || console.log)(value);\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\tif(this.enable) {\n\t\t// Prepare the text of the alert\n\t\tvar text = Array.prototype.join.call(arguments,\" \");\n\t\t// Create alert tiddlers in the browser\n\t\tif($tw.browser) {\n\t\t\t// Check if there is an existing alert with the same text and the same component\n\t\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\t\talertFields,\n\t\t\t\texistingCount,\n\t\t\t\tself = this;\n\t\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(alertFields) {\n\t\t\t\texistingCount = alertFields.count || 1;\n\t\t\t} else {\n\t\t\t\talertFields = {\n\t\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\t\ttext: text,\n\t\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\t\tcomponent: this.componentName\n\t\t\t\t};\n\t\t\t\texistingCount = 0;\n\t\t\t\tthis.alertCount += 1;\n\t\t\t}\n\t\t\talertFields.modified = new Date();\n\t\t\tif(++existingCount > 1) {\n\t\t\t\talertFields.count = existingCount;\n\t\t\t} else {\n\t\t\t\talertFields.count = undefined;\n\t\t\t}\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t\t// Log the alert as well\n\t\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\t// Print an orange message to the console if not in the browser\n\t\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t\t}\t\t\n\t}\n};\n\n/*\nClear outstanding alerts\n*/\nLogger.prototype.clearAlerts = function() {\n\tvar self = this;\n\tif($tw.browser && this.alertCount > 0) {\n\t\t$tw.utils.each($tw.wiki.getTiddlersWithTag(ALERT_TAG),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.component === self.componentName) {\n\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t}\n\t\t});\n\t\tthis.alertCount = 0;\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/parsetree.js": { "title": "$:/core/modules/utils/parsetree.js", "text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/performance.js": { "title": "$:/core/modules/utils/performance.js", "text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap by measurement name of {time:, invocations:}\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n\tthis.showGreeting();\n}\n\nPerformance.prototype.showGreeting = function() {\n\tif($tw.browser) {\n\t\tthis.logger.log(\"Execute $tw.perf.log(); to see filter execution timings\");\t\t\n\t}\n};\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nPerformance.prototype.log = function() {\n\tvar self = this,\n\t\ttotalTime = 0,\n\t\torderedMeasures = Object.keys(this.measures).sort(function(a,b) {\n\t\t\tif(self.measures[a].time > self.measures[b].time) {\n\t\t\t\treturn -1;\n\t\t\t} else if (self.measures[a].time < self.measures[b].time) {\n\t\t\t\treturn + 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t});\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\ttotalTime += self.measures[name].time;\n\t});\n\tvar results = []\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\tvar measure = self.measures[name];\n\t\tresults.push({name: name,invocations: measure.invocations, avgTime: measure.time / measure.invocations, totalTime: measure.time, percentTime: (measure.time / totalTime) * 100})\n\t});\n\tself.logger.table(results);\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tif(!(name in self.measures)) {\n\t\t\t\tself.measures[name] = {time: 0, invocations: 0};\n\t\t\t}\n\t\t\tself.measures[name].time += $tw.utils.timer(startTime);\n\t\t\tself.measures[name].invocations++;\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n", "type": "application/javascript", "module-type": "global" }, "$:/core/modules/utils/pluginmaker.js": { "title": "$:/core/modules/utils/pluginmaker.js", "text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/transliterate.js": { "title": "$:/core/modules/utils/transliterate.js", "text": "/*\\\ntitle: $:/core/modules/utils/transliterate.js\ntype: application/javascript\nmodule-type: utils\n\nTransliteration static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nTransliterate string to ASCII\n\n(Some pairs taken from http://semplicewebsites.com/removing-accents-javascript)\n*/\nexports.transliterationPairs = {\n\t\"Á\":\"A\",\n\t\"Ă\":\"A\",\n\t\"Ắ\":\"A\",\n\t\"Ặ\":\"A\",\n\t\"Ằ\":\"A\",\n\t\"Ẳ\":\"A\",\n\t\"Ẵ\":\"A\",\n\t\"Ǎ\":\"A\",\n\t\"Â\":\"A\",\n\t\"Ấ\":\"A\",\n\t\"Ậ\":\"A\",\n\t\"Ầ\":\"A\",\n\t\"Ẩ\":\"A\",\n\t\"Ẫ\":\"A\",\n\t\"Ä\":\"A\",\n\t\"Ǟ\":\"A\",\n\t\"Ȧ\":\"A\",\n\t\"Ǡ\":\"A\",\n\t\"Ạ\":\"A\",\n\t\"Ȁ\":\"A\",\n\t\"À\":\"A\",\n\t\"Ả\":\"A\",\n\t\"Ȃ\":\"A\",\n\t\"Ā\":\"A\",\n\t\"Ą\":\"A\",\n\t\"Å\":\"A\",\n\t\"Ǻ\":\"A\",\n\t\"Ḁ\":\"A\",\n\t\"Ⱥ\":\"A\",\n\t\"Ã\":\"A\",\n\t\"Ꜳ\":\"AA\",\n\t\"Æ\":\"AE\",\n\t\"Ǽ\":\"AE\",\n\t\"Ǣ\":\"AE\",\n\t\"Ꜵ\":\"AO\",\n\t\"Ꜷ\":\"AU\",\n\t\"Ꜹ\":\"AV\",\n\t\"Ꜻ\":\"AV\",\n\t\"Ꜽ\":\"AY\",\n\t\"Ḃ\":\"B\",\n\t\"Ḅ\":\"B\",\n\t\"Ɓ\":\"B\",\n\t\"Ḇ\":\"B\",\n\t\"Ƀ\":\"B\",\n\t\"Ƃ\":\"B\",\n\t\"Ć\":\"C\",\n\t\"Č\":\"C\",\n\t\"Ç\":\"C\",\n\t\"Ḉ\":\"C\",\n\t\"Ĉ\":\"C\",\n\t\"Ċ\":\"C\",\n\t\"Ƈ\":\"C\",\n\t\"Ȼ\":\"C\",\n\t\"Ď\":\"D\",\n\t\"Ḑ\":\"D\",\n\t\"Ḓ\":\"D\",\n\t\"Ḋ\":\"D\",\n\t\"Ḍ\":\"D\",\n\t\"Ɗ\":\"D\",\n\t\"Ḏ\":\"D\",\n\t\"Dz\":\"D\",\n\t\"Dž\":\"D\",\n\t\"Đ\":\"D\",\n\t\"Ƌ\":\"D\",\n\t\"DZ\":\"DZ\",\n\t\"DŽ\":\"DZ\",\n\t\"É\":\"E\",\n\t\"Ĕ\":\"E\",\n\t\"Ě\":\"E\",\n\t\"Ȩ\":\"E\",\n\t\"Ḝ\":\"E\",\n\t\"Ê\":\"E\",\n\t\"Ế\":\"E\",\n\t\"Ệ\":\"E\",\n\t\"Ề\":\"E\",\n\t\"Ể\":\"E\",\n\t\"Ễ\":\"E\",\n\t\"Ḙ\":\"E\",\n\t\"Ë\":\"E\",\n\t\"Ė\":\"E\",\n\t\"Ẹ\":\"E\",\n\t\"Ȅ\":\"E\",\n\t\"È\":\"E\",\n\t\"Ẻ\":\"E\",\n\t\"Ȇ\":\"E\",\n\t\"Ē\":\"E\",\n\t\"Ḗ\":\"E\",\n\t\"Ḕ\":\"E\",\n\t\"Ę\":\"E\",\n\t\"Ɇ\":\"E\",\n\t\"Ẽ\":\"E\",\n\t\"Ḛ\":\"E\",\n\t\"Ꝫ\":\"ET\",\n\t\"Ḟ\":\"F\",\n\t\"Ƒ\":\"F\",\n\t\"Ǵ\":\"G\",\n\t\"Ğ\":\"G\",\n\t\"Ǧ\":\"G\",\n\t\"Ģ\":\"G\",\n\t\"Ĝ\":\"G\",\n\t\"Ġ\":\"G\",\n\t\"Ɠ\":\"G\",\n\t\"Ḡ\":\"G\",\n\t\"Ǥ\":\"G\",\n\t\"Ḫ\":\"H\",\n\t\"Ȟ\":\"H\",\n\t\"Ḩ\":\"H\",\n\t\"Ĥ\":\"H\",\n\t\"Ⱨ\":\"H\",\n\t\"Ḧ\":\"H\",\n\t\"Ḣ\":\"H\",\n\t\"Ḥ\":\"H\",\n\t\"Ħ\":\"H\",\n\t\"Í\":\"I\",\n\t\"Ĭ\":\"I\",\n\t\"Ǐ\":\"I\",\n\t\"Î\":\"I\",\n\t\"Ï\":\"I\",\n\t\"Ḯ\":\"I\",\n\t\"İ\":\"I\",\n\t\"Ị\":\"I\",\n\t\"Ȉ\":\"I\",\n\t\"Ì\":\"I\",\n\t\"Ỉ\":\"I\",\n\t\"Ȋ\":\"I\",\n\t\"Ī\":\"I\",\n\t\"Į\":\"I\",\n\t\"Ɨ\":\"I\",\n\t\"Ĩ\":\"I\",\n\t\"Ḭ\":\"I\",\n\t\"Ꝺ\":\"D\",\n\t\"Ꝼ\":\"F\",\n\t\"Ᵹ\":\"G\",\n\t\"Ꞃ\":\"R\",\n\t\"Ꞅ\":\"S\",\n\t\"Ꞇ\":\"T\",\n\t\"Ꝭ\":\"IS\",\n\t\"Ĵ\":\"J\",\n\t\"Ɉ\":\"J\",\n\t\"Ḱ\":\"K\",\n\t\"Ǩ\":\"K\",\n\t\"Ķ\":\"K\",\n\t\"Ⱪ\":\"K\",\n\t\"Ꝃ\":\"K\",\n\t\"Ḳ\":\"K\",\n\t\"Ƙ\":\"K\",\n\t\"Ḵ\":\"K\",\n\t\"Ꝁ\":\"K\",\n\t\"Ꝅ\":\"K\",\n\t\"Ĺ\":\"L\",\n\t\"Ƚ\":\"L\",\n\t\"Ľ\":\"L\",\n\t\"Ļ\":\"L\",\n\t\"Ḽ\":\"L\",\n\t\"Ḷ\":\"L\",\n\t\"Ḹ\":\"L\",\n\t\"Ⱡ\":\"L\",\n\t\"Ꝉ\":\"L\",\n\t\"Ḻ\":\"L\",\n\t\"Ŀ\":\"L\",\n\t\"Ɫ\":\"L\",\n\t\"Lj\":\"L\",\n\t\"Ł\":\"L\",\n\t\"LJ\":\"LJ\",\n\t\"Ḿ\":\"M\",\n\t\"Ṁ\":\"M\",\n\t\"Ṃ\":\"M\",\n\t\"Ɱ\":\"M\",\n\t\"Ń\":\"N\",\n\t\"Ň\":\"N\",\n\t\"Ņ\":\"N\",\n\t\"Ṋ\":\"N\",\n\t\"Ṅ\":\"N\",\n\t\"Ṇ\":\"N\",\n\t\"Ǹ\":\"N\",\n\t\"Ɲ\":\"N\",\n\t\"Ṉ\":\"N\",\n\t\"Ƞ\":\"N\",\n\t\"Nj\":\"N\",\n\t\"Ñ\":\"N\",\n\t\"NJ\":\"NJ\",\n\t\"Ó\":\"O\",\n\t\"Ŏ\":\"O\",\n\t\"Ǒ\":\"O\",\n\t\"Ô\":\"O\",\n\t\"Ố\":\"O\",\n\t\"Ộ\":\"O\",\n\t\"Ồ\":\"O\",\n\t\"Ổ\":\"O\",\n\t\"Ỗ\":\"O\",\n\t\"Ö\":\"O\",\n\t\"Ȫ\":\"O\",\n\t\"Ȯ\":\"O\",\n\t\"Ȱ\":\"O\",\n\t\"Ọ\":\"O\",\n\t\"Ő\":\"O\",\n\t\"Ȍ\":\"O\",\n\t\"Ò\":\"O\",\n\t\"Ỏ\":\"O\",\n\t\"Ơ\":\"O\",\n\t\"Ớ\":\"O\",\n\t\"Ợ\":\"O\",\n\t\"Ờ\":\"O\",\n\t\"Ở\":\"O\",\n\t\"Ỡ\":\"O\",\n\t\"Ȏ\":\"O\",\n\t\"Ꝋ\":\"O\",\n\t\"Ꝍ\":\"O\",\n\t\"Ō\":\"O\",\n\t\"Ṓ\":\"O\",\n\t\"Ṑ\":\"O\",\n\t\"Ɵ\":\"O\",\n\t\"Ǫ\":\"O\",\n\t\"Ǭ\":\"O\",\n\t\"Ø\":\"O\",\n\t\"Ǿ\":\"O\",\n\t\"Õ\":\"O\",\n\t\"Ṍ\":\"O\",\n\t\"Ṏ\":\"O\",\n\t\"Ȭ\":\"O\",\n\t\"Ƣ\":\"OI\",\n\t\"Ꝏ\":\"OO\",\n\t\"Ɛ\":\"E\",\n\t\"Ɔ\":\"O\",\n\t\"Ȣ\":\"OU\",\n\t\"Ṕ\":\"P\",\n\t\"Ṗ\":\"P\",\n\t\"Ꝓ\":\"P\",\n\t\"Ƥ\":\"P\",\n\t\"Ꝕ\":\"P\",\n\t\"Ᵽ\":\"P\",\n\t\"Ꝑ\":\"P\",\n\t\"Ꝙ\":\"Q\",\n\t\"Ꝗ\":\"Q\",\n\t\"Ŕ\":\"R\",\n\t\"Ř\":\"R\",\n\t\"Ŗ\":\"R\",\n\t\"Ṙ\":\"R\",\n\t\"Ṛ\":\"R\",\n\t\"Ṝ\":\"R\",\n\t\"Ȑ\":\"R\",\n\t\"Ȓ\":\"R\",\n\t\"Ṟ\":\"R\",\n\t\"Ɍ\":\"R\",\n\t\"Ɽ\":\"R\",\n\t\"Ꜿ\":\"C\",\n\t\"Ǝ\":\"E\",\n\t\"Ś\":\"S\",\n\t\"Ṥ\":\"S\",\n\t\"Š\":\"S\",\n\t\"Ṧ\":\"S\",\n\t\"Ş\":\"S\",\n\t\"Ŝ\":\"S\",\n\t\"Ș\":\"S\",\n\t\"Ṡ\":\"S\",\n\t\"Ṣ\":\"S\",\n\t\"Ṩ\":\"S\",\n\t\"Ť\":\"T\",\n\t\"Ţ\":\"T\",\n\t\"Ṱ\":\"T\",\n\t\"Ț\":\"T\",\n\t\"Ⱦ\":\"T\",\n\t\"Ṫ\":\"T\",\n\t\"Ṭ\":\"T\",\n\t\"Ƭ\":\"T\",\n\t\"Ṯ\":\"T\",\n\t\"Ʈ\":\"T\",\n\t\"Ŧ\":\"T\",\n\t\"Ɐ\":\"A\",\n\t\"Ꞁ\":\"L\",\n\t\"Ɯ\":\"M\",\n\t\"Ʌ\":\"V\",\n\t\"Ꜩ\":\"TZ\",\n\t\"Ú\":\"U\",\n\t\"Ŭ\":\"U\",\n\t\"Ǔ\":\"U\",\n\t\"Û\":\"U\",\n\t\"Ṷ\":\"U\",\n\t\"Ü\":\"U\",\n\t\"Ǘ\":\"U\",\n\t\"Ǚ\":\"U\",\n\t\"Ǜ\":\"U\",\n\t\"Ǖ\":\"U\",\n\t\"Ṳ\":\"U\",\n\t\"Ụ\":\"U\",\n\t\"Ű\":\"U\",\n\t\"Ȕ\":\"U\",\n\t\"Ù\":\"U\",\n\t\"Ủ\":\"U\",\n\t\"Ư\":\"U\",\n\t\"Ứ\":\"U\",\n\t\"Ự\":\"U\",\n\t\"Ừ\":\"U\",\n\t\"Ử\":\"U\",\n\t\"Ữ\":\"U\",\n\t\"Ȗ\":\"U\",\n\t\"Ū\":\"U\",\n\t\"Ṻ\":\"U\",\n\t\"Ų\":\"U\",\n\t\"Ů\":\"U\",\n\t\"Ũ\":\"U\",\n\t\"Ṹ\":\"U\",\n\t\"Ṵ\":\"U\",\n\t\"Ꝟ\":\"V\",\n\t\"Ṿ\":\"V\",\n\t\"Ʋ\":\"V\",\n\t\"Ṽ\":\"V\",\n\t\"Ꝡ\":\"VY\",\n\t\"Ẃ\":\"W\",\n\t\"Ŵ\":\"W\",\n\t\"Ẅ\":\"W\",\n\t\"Ẇ\":\"W\",\n\t\"Ẉ\":\"W\",\n\t\"Ẁ\":\"W\",\n\t\"Ⱳ\":\"W\",\n\t\"Ẍ\":\"X\",\n\t\"Ẋ\":\"X\",\n\t\"Ý\":\"Y\",\n\t\"Ŷ\":\"Y\",\n\t\"Ÿ\":\"Y\",\n\t\"Ẏ\":\"Y\",\n\t\"Ỵ\":\"Y\",\n\t\"Ỳ\":\"Y\",\n\t\"Ƴ\":\"Y\",\n\t\"Ỷ\":\"Y\",\n\t\"Ỿ\":\"Y\",\n\t\"Ȳ\":\"Y\",\n\t\"Ɏ\":\"Y\",\n\t\"Ỹ\":\"Y\",\n\t\"Ź\":\"Z\",\n\t\"Ž\":\"Z\",\n\t\"Ẑ\":\"Z\",\n\t\"Ⱬ\":\"Z\",\n\t\"Ż\":\"Z\",\n\t\"Ẓ\":\"Z\",\n\t\"Ȥ\":\"Z\",\n\t\"Ẕ\":\"Z\",\n\t\"Ƶ\":\"Z\",\n\t\"IJ\":\"IJ\",\n\t\"Œ\":\"OE\",\n\t\"ᴀ\":\"A\",\n\t\"ᴁ\":\"AE\",\n\t\"ʙ\":\"B\",\n\t\"ᴃ\":\"B\",\n\t\"ᴄ\":\"C\",\n\t\"ᴅ\":\"D\",\n\t\"ᴇ\":\"E\",\n\t\"ꜰ\":\"F\",\n\t\"ɢ\":\"G\",\n\t\"ʛ\":\"G\",\n\t\"ʜ\":\"H\",\n\t\"ɪ\":\"I\",\n\t\"ʁ\":\"R\",\n\t\"ᴊ\":\"J\",\n\t\"ᴋ\":\"K\",\n\t\"ʟ\":\"L\",\n\t\"ᴌ\":\"L\",\n\t\"ᴍ\":\"M\",\n\t\"ɴ\":\"N\",\n\t\"ᴏ\":\"O\",\n\t\"ɶ\":\"OE\",\n\t\"ᴐ\":\"O\",\n\t\"ᴕ\":\"OU\",\n\t\"ᴘ\":\"P\",\n\t\"ʀ\":\"R\",\n\t\"ᴎ\":\"N\",\n\t\"ᴙ\":\"R\",\n\t\"ꜱ\":\"S\",\n\t\"ᴛ\":\"T\",\n\t\"ⱻ\":\"E\",\n\t\"ᴚ\":\"R\",\n\t\"ᴜ\":\"U\",\n\t\"ᴠ\":\"V\",\n\t\"ᴡ\":\"W\",\n\t\"ʏ\":\"Y\",\n\t\"ᴢ\":\"Z\",\n\t\"á\":\"a\",\n\t\"ă\":\"a\",\n\t\"ắ\":\"a\",\n\t\"ặ\":\"a\",\n\t\"ằ\":\"a\",\n\t\"ẳ\":\"a\",\n\t\"ẵ\":\"a\",\n\t\"ǎ\":\"a\",\n\t\"â\":\"a\",\n\t\"ấ\":\"a\",\n\t\"ậ\":\"a\",\n\t\"ầ\":\"a\",\n\t\"ẩ\":\"a\",\n\t\"ẫ\":\"a\",\n\t\"ä\":\"a\",\n\t\"ǟ\":\"a\",\n\t\"ȧ\":\"a\",\n\t\"ǡ\":\"a\",\n\t\"ạ\":\"a\",\n\t\"ȁ\":\"a\",\n\t\"à\":\"a\",\n\t\"ả\":\"a\",\n\t\"ȃ\":\"a\",\n\t\"ā\":\"a\",\n\t\"ą\":\"a\",\n\t\"ᶏ\":\"a\",\n\t\"ẚ\":\"a\",\n\t\"å\":\"a\",\n\t\"ǻ\":\"a\",\n\t\"ḁ\":\"a\",\n\t\"ⱥ\":\"a\",\n\t\"ã\":\"a\",\n\t\"ꜳ\":\"aa\",\n\t\"æ\":\"ae\",\n\t\"ǽ\":\"ae\",\n\t\"ǣ\":\"ae\",\n\t\"ꜵ\":\"ao\",\n\t\"ꜷ\":\"au\",\n\t\"ꜹ\":\"av\",\n\t\"ꜻ\":\"av\",\n\t\"ꜽ\":\"ay\",\n\t\"ḃ\":\"b\",\n\t\"ḅ\":\"b\",\n\t\"ɓ\":\"b\",\n\t\"ḇ\":\"b\",\n\t\"ᵬ\":\"b\",\n\t\"ᶀ\":\"b\",\n\t\"ƀ\":\"b\",\n\t\"ƃ\":\"b\",\n\t\"ɵ\":\"o\",\n\t\"ć\":\"c\",\n\t\"č\":\"c\",\n\t\"ç\":\"c\",\n\t\"ḉ\":\"c\",\n\t\"ĉ\":\"c\",\n\t\"ɕ\":\"c\",\n\t\"ċ\":\"c\",\n\t\"ƈ\":\"c\",\n\t\"ȼ\":\"c\",\n\t\"ď\":\"d\",\n\t\"ḑ\":\"d\",\n\t\"ḓ\":\"d\",\n\t\"ȡ\":\"d\",\n\t\"ḋ\":\"d\",\n\t\"ḍ\":\"d\",\n\t\"ɗ\":\"d\",\n\t\"ᶑ\":\"d\",\n\t\"ḏ\":\"d\",\n\t\"ᵭ\":\"d\",\n\t\"ᶁ\":\"d\",\n\t\"đ\":\"d\",\n\t\"ɖ\":\"d\",\n\t\"ƌ\":\"d\",\n\t\"ı\":\"i\",\n\t\"ȷ\":\"j\",\n\t\"ɟ\":\"j\",\n\t\"ʄ\":\"j\",\n\t\"dz\":\"dz\",\n\t\"dž\":\"dz\",\n\t\"é\":\"e\",\n\t\"ĕ\":\"e\",\n\t\"ě\":\"e\",\n\t\"ȩ\":\"e\",\n\t\"ḝ\":\"e\",\n\t\"ê\":\"e\",\n\t\"ế\":\"e\",\n\t\"ệ\":\"e\",\n\t\"ề\":\"e\",\n\t\"ể\":\"e\",\n\t\"ễ\":\"e\",\n\t\"ḙ\":\"e\",\n\t\"ë\":\"e\",\n\t\"ė\":\"e\",\n\t\"ẹ\":\"e\",\n\t\"ȅ\":\"e\",\n\t\"è\":\"e\",\n\t\"ẻ\":\"e\",\n\t\"ȇ\":\"e\",\n\t\"ē\":\"e\",\n\t\"ḗ\":\"e\",\n\t\"ḕ\":\"e\",\n\t\"ⱸ\":\"e\",\n\t\"ę\":\"e\",\n\t\"ᶒ\":\"e\",\n\t\"ɇ\":\"e\",\n\t\"ẽ\":\"e\",\n\t\"ḛ\":\"e\",\n\t\"ꝫ\":\"et\",\n\t\"ḟ\":\"f\",\n\t\"ƒ\":\"f\",\n\t\"ᵮ\":\"f\",\n\t\"ᶂ\":\"f\",\n\t\"ǵ\":\"g\",\n\t\"ğ\":\"g\",\n\t\"ǧ\":\"g\",\n\t\"ģ\":\"g\",\n\t\"ĝ\":\"g\",\n\t\"ġ\":\"g\",\n\t\"ɠ\":\"g\",\n\t\"ḡ\":\"g\",\n\t\"ᶃ\":\"g\",\n\t\"ǥ\":\"g\",\n\t\"ḫ\":\"h\",\n\t\"ȟ\":\"h\",\n\t\"ḩ\":\"h\",\n\t\"ĥ\":\"h\",\n\t\"ⱨ\":\"h\",\n\t\"ḧ\":\"h\",\n\t\"ḣ\":\"h\",\n\t\"ḥ\":\"h\",\n\t\"ɦ\":\"h\",\n\t\"ẖ\":\"h\",\n\t\"ħ\":\"h\",\n\t\"ƕ\":\"hv\",\n\t\"í\":\"i\",\n\t\"ĭ\":\"i\",\n\t\"ǐ\":\"i\",\n\t\"î\":\"i\",\n\t\"ï\":\"i\",\n\t\"ḯ\":\"i\",\n\t\"ị\":\"i\",\n\t\"ȉ\":\"i\",\n\t\"ì\":\"i\",\n\t\"ỉ\":\"i\",\n\t\"ȋ\":\"i\",\n\t\"ī\":\"i\",\n\t\"į\":\"i\",\n\t\"ᶖ\":\"i\",\n\t\"ɨ\":\"i\",\n\t\"ĩ\":\"i\",\n\t\"ḭ\":\"i\",\n\t\"ꝺ\":\"d\",\n\t\"ꝼ\":\"f\",\n\t\"ᵹ\":\"g\",\n\t\"ꞃ\":\"r\",\n\t\"ꞅ\":\"s\",\n\t\"ꞇ\":\"t\",\n\t\"ꝭ\":\"is\",\n\t\"ǰ\":\"j\",\n\t\"ĵ\":\"j\",\n\t\"ʝ\":\"j\",\n\t\"ɉ\":\"j\",\n\t\"ḱ\":\"k\",\n\t\"ǩ\":\"k\",\n\t\"ķ\":\"k\",\n\t\"ⱪ\":\"k\",\n\t\"ꝃ\":\"k\",\n\t\"ḳ\":\"k\",\n\t\"ƙ\":\"k\",\n\t\"ḵ\":\"k\",\n\t\"ᶄ\":\"k\",\n\t\"ꝁ\":\"k\",\n\t\"ꝅ\":\"k\",\n\t\"ĺ\":\"l\",\n\t\"ƚ\":\"l\",\n\t\"ɬ\":\"l\",\n\t\"ľ\":\"l\",\n\t\"ļ\":\"l\",\n\t\"ḽ\":\"l\",\n\t\"ȴ\":\"l\",\n\t\"ḷ\":\"l\",\n\t\"ḹ\":\"l\",\n\t\"ⱡ\":\"l\",\n\t\"ꝉ\":\"l\",\n\t\"ḻ\":\"l\",\n\t\"ŀ\":\"l\",\n\t\"ɫ\":\"l\",\n\t\"ᶅ\":\"l\",\n\t\"ɭ\":\"l\",\n\t\"ł\":\"l\",\n\t\"lj\":\"lj\",\n\t\"ſ\":\"s\",\n\t\"ẜ\":\"s\",\n\t\"ẛ\":\"s\",\n\t\"ẝ\":\"s\",\n\t\"ḿ\":\"m\",\n\t\"ṁ\":\"m\",\n\t\"ṃ\":\"m\",\n\t\"ɱ\":\"m\",\n\t\"ᵯ\":\"m\",\n\t\"ᶆ\":\"m\",\n\t\"ń\":\"n\",\n\t\"ň\":\"n\",\n\t\"ņ\":\"n\",\n\t\"ṋ\":\"n\",\n\t\"ȵ\":\"n\",\n\t\"ṅ\":\"n\",\n\t\"ṇ\":\"n\",\n\t\"ǹ\":\"n\",\n\t\"ɲ\":\"n\",\n\t\"ṉ\":\"n\",\n\t\"ƞ\":\"n\",\n\t\"ᵰ\":\"n\",\n\t\"ᶇ\":\"n\",\n\t\"ɳ\":\"n\",\n\t\"ñ\":\"n\",\n\t\"nj\":\"nj\",\n\t\"ó\":\"o\",\n\t\"ŏ\":\"o\",\n\t\"ǒ\":\"o\",\n\t\"ô\":\"o\",\n\t\"ố\":\"o\",\n\t\"ộ\":\"o\",\n\t\"ồ\":\"o\",\n\t\"ổ\":\"o\",\n\t\"ỗ\":\"o\",\n\t\"ö\":\"o\",\n\t\"ȫ\":\"o\",\n\t\"ȯ\":\"o\",\n\t\"ȱ\":\"o\",\n\t\"ọ\":\"o\",\n\t\"ő\":\"o\",\n\t\"ȍ\":\"o\",\n\t\"ò\":\"o\",\n\t\"ỏ\":\"o\",\n\t\"ơ\":\"o\",\n\t\"ớ\":\"o\",\n\t\"ợ\":\"o\",\n\t\"ờ\":\"o\",\n\t\"ở\":\"o\",\n\t\"ỡ\":\"o\",\n\t\"ȏ\":\"o\",\n\t\"ꝋ\":\"o\",\n\t\"ꝍ\":\"o\",\n\t\"ⱺ\":\"o\",\n\t\"ō\":\"o\",\n\t\"ṓ\":\"o\",\n\t\"ṑ\":\"o\",\n\t\"ǫ\":\"o\",\n\t\"ǭ\":\"o\",\n\t\"ø\":\"o\",\n\t\"ǿ\":\"o\",\n\t\"õ\":\"o\",\n\t\"ṍ\":\"o\",\n\t\"ṏ\":\"o\",\n\t\"ȭ\":\"o\",\n\t\"ƣ\":\"oi\",\n\t\"ꝏ\":\"oo\",\n\t\"ɛ\":\"e\",\n\t\"ᶓ\":\"e\",\n\t\"ɔ\":\"o\",\n\t\"ᶗ\":\"o\",\n\t\"ȣ\":\"ou\",\n\t\"ṕ\":\"p\",\n\t\"ṗ\":\"p\",\n\t\"ꝓ\":\"p\",\n\t\"ƥ\":\"p\",\n\t\"ᵱ\":\"p\",\n\t\"ᶈ\":\"p\",\n\t\"ꝕ\":\"p\",\n\t\"ᵽ\":\"p\",\n\t\"ꝑ\":\"p\",\n\t\"ꝙ\":\"q\",\n\t\"ʠ\":\"q\",\n\t\"ɋ\":\"q\",\n\t\"ꝗ\":\"q\",\n\t\"ŕ\":\"r\",\n\t\"ř\":\"r\",\n\t\"ŗ\":\"r\",\n\t\"ṙ\":\"r\",\n\t\"ṛ\":\"r\",\n\t\"ṝ\":\"r\",\n\t\"ȑ\":\"r\",\n\t\"ɾ\":\"r\",\n\t\"ᵳ\":\"r\",\n\t\"ȓ\":\"r\",\n\t\"ṟ\":\"r\",\n\t\"ɼ\":\"r\",\n\t\"ᵲ\":\"r\",\n\t\"ᶉ\":\"r\",\n\t\"ɍ\":\"r\",\n\t\"ɽ\":\"r\",\n\t\"ↄ\":\"c\",\n\t\"ꜿ\":\"c\",\n\t\"ɘ\":\"e\",\n\t\"ɿ\":\"r\",\n\t\"ś\":\"s\",\n\t\"ṥ\":\"s\",\n\t\"š\":\"s\",\n\t\"ṧ\":\"s\",\n\t\"ş\":\"s\",\n\t\"ŝ\":\"s\",\n\t\"ș\":\"s\",\n\t\"ṡ\":\"s\",\n\t\"ṣ\":\"s\",\n\t\"ṩ\":\"s\",\n\t\"ʂ\":\"s\",\n\t\"ᵴ\":\"s\",\n\t\"ᶊ\":\"s\",\n\t\"ȿ\":\"s\",\n\t\"ɡ\":\"g\",\n\t\"ᴑ\":\"o\",\n\t\"ᴓ\":\"o\",\n\t\"ᴝ\":\"u\",\n\t\"ť\":\"t\",\n\t\"ţ\":\"t\",\n\t\"ṱ\":\"t\",\n\t\"ț\":\"t\",\n\t\"ȶ\":\"t\",\n\t\"ẗ\":\"t\",\n\t\"ⱦ\":\"t\",\n\t\"ṫ\":\"t\",\n\t\"ṭ\":\"t\",\n\t\"ƭ\":\"t\",\n\t\"ṯ\":\"t\",\n\t\"ᵵ\":\"t\",\n\t\"ƫ\":\"t\",\n\t\"ʈ\":\"t\",\n\t\"ŧ\":\"t\",\n\t\"ᵺ\":\"th\",\n\t\"ɐ\":\"a\",\n\t\"ᴂ\":\"ae\",\n\t\"ǝ\":\"e\",\n\t\"ᵷ\":\"g\",\n\t\"ɥ\":\"h\",\n\t\"ʮ\":\"h\",\n\t\"ʯ\":\"h\",\n\t\"ᴉ\":\"i\",\n\t\"ʞ\":\"k\",\n\t\"ꞁ\":\"l\",\n\t\"ɯ\":\"m\",\n\t\"ɰ\":\"m\",\n\t\"ᴔ\":\"oe\",\n\t\"ɹ\":\"r\",\n\t\"ɻ\":\"r\",\n\t\"ɺ\":\"r\",\n\t\"ⱹ\":\"r\",\n\t\"ʇ\":\"t\",\n\t\"ʌ\":\"v\",\n\t\"ʍ\":\"w\",\n\t\"ʎ\":\"y\",\n\t\"ꜩ\":\"tz\",\n\t\"ú\":\"u\",\n\t\"ŭ\":\"u\",\n\t\"ǔ\":\"u\",\n\t\"û\":\"u\",\n\t\"ṷ\":\"u\",\n\t\"ü\":\"u\",\n\t\"ǘ\":\"u\",\n\t\"ǚ\":\"u\",\n\t\"ǜ\":\"u\",\n\t\"ǖ\":\"u\",\n\t\"ṳ\":\"u\",\n\t\"ụ\":\"u\",\n\t\"ű\":\"u\",\n\t\"ȕ\":\"u\",\n\t\"ù\":\"u\",\n\t\"ủ\":\"u\",\n\t\"ư\":\"u\",\n\t\"ứ\":\"u\",\n\t\"ự\":\"u\",\n\t\"ừ\":\"u\",\n\t\"ử\":\"u\",\n\t\"ữ\":\"u\",\n\t\"ȗ\":\"u\",\n\t\"ū\":\"u\",\n\t\"ṻ\":\"u\",\n\t\"ų\":\"u\",\n\t\"ᶙ\":\"u\",\n\t\"ů\":\"u\",\n\t\"ũ\":\"u\",\n\t\"ṹ\":\"u\",\n\t\"ṵ\":\"u\",\n\t\"ᵫ\":\"ue\",\n\t\"ꝸ\":\"um\",\n\t\"ⱴ\":\"v\",\n\t\"ꝟ\":\"v\",\n\t\"ṿ\":\"v\",\n\t\"ʋ\":\"v\",\n\t\"ᶌ\":\"v\",\n\t\"ⱱ\":\"v\",\n\t\"ṽ\":\"v\",\n\t\"ꝡ\":\"vy\",\n\t\"ẃ\":\"w\",\n\t\"ŵ\":\"w\",\n\t\"ẅ\":\"w\",\n\t\"ẇ\":\"w\",\n\t\"ẉ\":\"w\",\n\t\"ẁ\":\"w\",\n\t\"ⱳ\":\"w\",\n\t\"ẘ\":\"w\",\n\t\"ẍ\":\"x\",\n\t\"ẋ\":\"x\",\n\t\"ᶍ\":\"x\",\n\t\"ý\":\"y\",\n\t\"ŷ\":\"y\",\n\t\"ÿ\":\"y\",\n\t\"ẏ\":\"y\",\n\t\"ỵ\":\"y\",\n\t\"ỳ\":\"y\",\n\t\"ƴ\":\"y\",\n\t\"ỷ\":\"y\",\n\t\"ỿ\":\"y\",\n\t\"ȳ\":\"y\",\n\t\"ẙ\":\"y\",\n\t\"ɏ\":\"y\",\n\t\"ỹ\":\"y\",\n\t\"ź\":\"z\",\n\t\"ž\":\"z\",\n\t\"ẑ\":\"z\",\n\t\"ʑ\":\"z\",\n\t\"ⱬ\":\"z\",\n\t\"ż\":\"z\",\n\t\"ẓ\":\"z\",\n\t\"ȥ\":\"z\",\n\t\"ẕ\":\"z\",\n\t\"ᵶ\":\"z\",\n\t\"ᶎ\":\"z\",\n\t\"ʐ\":\"z\",\n\t\"ƶ\":\"z\",\n\t\"ɀ\":\"z\",\n\t\"ff\":\"ff\",\n\t\"ffi\":\"ffi\",\n\t\"ffl\":\"ffl\",\n\t\"fi\":\"fi\",\n\t\"fl\":\"fl\",\n\t\"ij\":\"ij\",\n\t\"œ\":\"oe\",\n\t\"st\":\"st\",\n\t\"ₐ\":\"a\",\n\t\"ₑ\":\"e\",\n\t\"ᵢ\":\"i\",\n\t\"ⱼ\":\"j\",\n\t\"ₒ\":\"o\",\n\t\"ᵣ\":\"r\",\n\t\"ᵤ\":\"u\",\n\t\"ᵥ\":\"v\",\n\t\"ₓ\":\"x\",\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.replace(/[^A-Za-z0-9\\[\\] ]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || ch\n\t});\n};\n\nexports.transliterateToSafeASCII = function(str) {\n\treturn str.replace(/[^\\x00-\\x7F]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || \"\"\n\t});\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/utils/utils.js": { "title": "$:/core/modules/utils/utils.js", "text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar base64utf8 = require(\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\");\n\n/*\nDisplay a message, in colour if we're on a terminal\n*/\nexports.log = function(text,colour) {\n\tconsole.log($tw.node ? exports.terminalColour(colour) + text + exports.terminalColour() : text);\n};\n\nexports.terminalColour = function(colour) {\n\tif(!$tw.browser && $tw.node && process.stdout.isTTY) {\n\t\tif(colour) {\n\t\t\tvar code = exports.terminalColourLookup[colour];\n\t\t\tif(code) {\n\t\t\t\treturn \"\\x1b[\" + code + \"m\";\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"\\x1b[0m\"; // Cancel colour\n\t\t}\n\t}\n\treturn \"\";\n};\n\nexports.terminalColourLookup = {\n\t\"black\": \"0;30\",\n\t\"red\": \"0;31\",\n\t\"green\": \"0;32\",\n\t\"brown/orange\": \"0;33\",\n\t\"blue\": \"0;34\",\n\t\"purple\": \"0;35\",\n\t\"cyan\": \"0;36\",\n\t\"light gray\": \"0;37\"\n};\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\texports.log(text,\"brown/orange\");\n};\n\n/*\nReturn the integer represented by the str (string).\nReturn the dflt (default) parameter if str is not a base-10 number.\n*/\nexports.getInt = function(str,deflt) {\n\tvar i = parseInt(str,10);\n\treturn isNaN(i) ? deflt : i;\n}\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nConvert a string to sentence case (ie capitalise first letter)\n*/\nexports.toSentenceCase = function(str) {\n\treturn (str || \"\").replace(/^\\S/, function(c) {return c.toUpperCase();});\n}\n\n/*\nConvert a string to title case (ie capitalise each initial letter)\n*/\nexports.toTitleCase = function(str) {\n\treturn (str || \"\").replace(/(^|\\s)\\S/g, function(c) {return c.toUpperCase();});\n}\n\t\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nDetermine whether an array-item is an object-property\n*/\nexports.hopArray = function(object,array) {\n\tfor(var i=0; i<array.length; i++) {\n\t\tif($tw.utils.hop(object,array[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0XXX/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMilliseconds(),3);\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^XXX/, function() {\n\t\t\t\treturn date.getMilliseconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\t// If the user wants everything in UTC, shift the datestamp\n\t// Optimize for format string that essentially means\n\t// 'return raw UTC (tiddlywiki style) date string.'\n\tif(t.indexOf(\"[UTC]\") == 0 ) {\n\t\tif(t == \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\")\n\t\t\treturn $tw.utils.stringifyDate(new Date());\n\t\tvar offset = date.getTimezoneOffset() ; // in minutes\n\t\tdate = new Date(date.getTime()+offset*60*1000) ;\n\t\tt = t.substr(5) ;\n\t}\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\", duration: 365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\", duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\", duration: 24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\", duration: 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration: 60 * 1000},\n\t\t{name: \"Seconds\", duration: 1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&\", < to \"<\", > to \">\", \" to \""\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\").replace(/\\\"/mg,\""\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2), // Strip the & and the ;\n\t\tc;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\tc = parseInt(e.substr(2),16);\n\t\t} else {\n\t\t\tc = parseInt(e.substr(1),10);\n\t\t}\n\t\tif(isNaN(c)) {\n\t\t\treturn s;\n\t\t} else {\n\t\t\treturn converter(c);\n\t\t}\n\t} else {\n\t\tc = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/'/g, \"\\\\'\") // single quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/[\\x00-\\x1f\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n// Turns a string into a legal JSON string\n// Derived from peg.js, thanks to David Majda\nexports.jsonStringify = function(s) {\n\t// See http://www.json.org/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/\\x08/g, '\\\\b') // backspace\n\t\t.replace(/\\x0c/g, '\\\\f') // formfeed\n\t\t.replace(/\\t/g, '\\\\t') // tab\n\t\t.replace(/[\\x00-\\x1f\\x80-\\uFFFF]/g,function(s) {\n\t\t\treturn '\\\\u' + $tw.utils.pad(s.charCodeAt(0).toString(16).toUpperCase(),4);\n\t\t}); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10) || 0;\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\treturn base64utf8.base64.decode.call(base64utf8,string64);\n};\n\n/*\nEncode a string to base64\n*/\nexports.base64Encode = function(string64) {\n\treturn base64utf8.base64.encode.call(base64utf8,string64);\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\n\t\tm = r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type,_canonical_uri) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tif(_canonical_uri) {\n\t\tparts.push(_canonical_uri);\n\t} else {\n\t\tparts.push(\"data:\");\n\t\tparts.push(type);\n\t\tparts.push(isBase64 ? \";base64\" : \"\");\n\t\tparts.push(\",\");\n\t\tparts.push(isBase64 ? text : encodeURIComponent(text));\t\t\n\t}\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= ending.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n/*\nReturn system information useful for debugging\n*/\nexports.getSystemInfo = function(str,ending,position) {\n\tvar results = [],\n\t\tsave = function(desc,value) {\n\t\t\tresults.push(desc + \": \" + value);\n\t\t};\n\tif($tw.browser) {\n\t\tsave(\"User Agent\",navigator.userAgent);\n\t\tsave(\"Online Status\",window.navigator.onLine);\n\t}\n\tif($tw.node) {\n\t\tsave(\"Node Version\",process.version);\n\t}\n\treturn results.join(\"\\n\");\n};\n\nexports.parseNumber = function(str) {\n\treturn parseFloat(str) || 0;\n};\n\nexports.parseInt = function(str) {\n\treturn parseInt(str,10) || 0;\n};\n\nexports.stringifyNumber = function(num) {\n\treturn num + \"\";\n};\n\n})();\n", "type": "application/javascript", "module-type": "utils" }, "$:/core/modules/widgets/action-createtiddler.js": { "title": "$:/core/modules/widgets/action-createtiddler.js", "text": "/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw:false, require:false, exports:false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.hasBase = !!this.actionBaseTitle;\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionSaveDraftTitle = this.getAttribute(\"$savedrafttitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n\t//Following params are new since 5.1.22\n\tthis.actionTemplate = this.getAttribute(\"$template\");\n\tthis.useTemplate = !!this.actionTemplate;\n\tthis.actionOverwrite = this.getAttribute(\"$overwrite\",\"no\");\n\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.getTiddlerText(\"$:/language/DefaultNewTiddlerTitle\"), // Get the initial new-tiddler title\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tif(this.hasBase && this.actionOverwrite === \"no\") {\n\t\ttitle = this.wiki.generateNewTitle(this.actionBaseTitle);\n\t} else if (this.hasBase && this.actionOverwrite === \"yes\") {\n\t\ttitle = this.actionBaseTitle\n\t}\n\t// NO $basetitle BUT $template parameter is available\n\t// the title MUST be unique, otherwise the template would be overwritten\n\tif (!this.hasBase && this.useTemplate) {\n\t\ttitle = this.wiki.generateNewTitle(this.actionTemplate);\n\t} else if (!this.hasBase && !this.useTemplate) {\n\t\t// If NO $basetitle AND NO $template use initial title\n\t\t// DON'T overwrite any stuff\n\t\ttitle = this.wiki.generateNewTitle(title);\n\t}\n\tvar templateTiddler = this.wiki.getTiddler(this.actionTemplate) || {};\n\tvar tiddler = this.wiki.addTiddler(new $tw.Tiddler(templateTiddler.fields,creationFields,fields,modificationFields,{title: title}));\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.actionSaveDraftTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveDraftTitle,this.wiki.generateDraftTitle(title),this.getVariable(\"currentTiddler\"));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/action-deletefield.js": { "title": "$:/core/modules/widgets/action-deletefield.js", "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif(this.actionField && tiddler) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,removeFields,this.wiki.getModificationFields()));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/action-deletetiddler.js": { "title": "$:/core/modules/widgets/action-deletetiddler.js", "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/action-listops.js": { "title": "$:/core/modules/widgets/action-listops.js", "text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/action-navigate.js": { "title": "$:/core/modules/widgets/action-navigate.js", "text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tevent = event || {};\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/action-popup.js": { "title": "$:/core/modules/widgets/action-popup.js", "text": "/*\\\ntitle: $:/core/modules/widgets/action-popup.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to trigger a popup.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ActionPopupWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nActionPopupWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nActionPopupWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nActionPopupWidget.prototype.execute = function() {\n\tthis.actionState = this.getAttribute(\"$state\");\n\tthis.actionCoords = this.getAttribute(\"$coords\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nActionPopupWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$state\"] || changedAttributes[\"$coords\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nActionPopupWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Trigger the popup\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(this.actionCoords);\n\tif(match) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: null,\n\t\t\tdomNodeRect: {\n\t\t\t\tleft: parseFloat(match[1]),\n\t\t\t\ttop: parseFloat(match[2]),\n\t\t\t\twidth: parseFloat(match[3]),\n\t\t\t\theight: parseFloat(match[4])\n\t\t\t},\n\t\t\ttitle: this.actionState,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-popup\"] = ActionPopupWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/action-sendmessage.js": { "title": "$:/core/modules/widgets/action-sendmessage.js", "text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/action-setfield.js": { "title": "$:/core/modules/widgets/action-setfield.js", "text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\") || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/browse.js": { "title": "$:/core/modules/widgets/browse.js", "text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\t// Nw.js supports \"webkitdirectory\" and \"nwdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\tif(this.nwdirectory) {\n\t\tdomNode.setAttribute(\"nwdirectory\",this.nwdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,{\n\t\t\t\tcallback: function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t},\n\t\t\t\tdeserializer: self.deserializer\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.deserializer = this.getAttribute(\"deserializer\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n\tthis.nwdirectory = this.getAttribute(\"nwdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/button.js": { "title": "$:/core/modules/widgets/button.js", "text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = \"button\";\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif((this.set || this.setTitle) && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\t\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(self,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup || self.popupTitle) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set || self.setTitle) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n return this.setTitle ? (this.setField ? this.wiki.getTiddler(this.setTitle).getFieldString(this.setField) === this.setTo :\n\t\t(this.setIndex ? this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex) === this.setTo :\n\t\t\tthis.wiki.getTiddlerText(this.setTitle))) || this.defaultSetValue || this.getVariable(\"currentTiddler\") :\n\t\tthis.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.popupTitle ? this.wiki.getTiddler(this.popupTitle) : this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\tif(this.popupTitle) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popupTitle,\n\t\t\twiki: this.wiki,\n\t\t\tnoStateReference: true\n\t\t});\n\t} else {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popup,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tif(this.setTitle) {\n\t\tthis.setField ? this.wiki.setText(this.setTitle,this.setField,undefined,this.setTo) :\n\t\t\t\t(this.setIndex ? this.wiki.setText(this.setTitle,undefined,this.setIndex,this.setTo) :\n\t\t\t\tthis.wiki.setText(this.setTitle,\"text\",undefined,this.setTo));\n\t} else {\n\t\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\tthis.setTitle = this.getAttribute(\"setTitle\");\n\tthis.setField = this.getAttribute(\"setField\");\n\tthis.setIndex = this.getAttribute(\"setIndex\");\n\tthis.popupTitle = this.getAttribute(\"popupTitle\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/checkbox.js": { "title": "$:/core/modules/widgets/checkbox.js", "text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value;\n\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxIndex) {\n\t\t\tvar value = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n\tif(this.checkboxCheckActions && checked) {\n\t\tthis.invokeActionString(this.checkboxCheckActions,this,event);\n\t}\n\tif(this.checkboxUncheckActions && !checked) {\n\t\tthis.invokeActionString(this.checkboxUncheckActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxCheckActions = this.getAttribute(\"checkactions\");\n\tthis.checkboxUncheckActions = this.getAttribute(\"uncheckactions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/codeblock.js": { "title": "$:/core/modules/widgets/codeblock.js", "text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/count.js": { "title": "$:/core/modules/widgets/count.js", "text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = \"0\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/diff-text.js": { "title": "$:/core/modules/widgets/diff-text.js", "text": "/*\\\ntitle: $:/core/modules/widgets/diff-text.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display a diff between two texts\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tdmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nvar DiffTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDiffTextWidget.prototype = new Widget();\n\nDiffTextWidget.prototype.invisibleCharacters = {\n\t\"\\n\": \"↩︎\\n\",\n\t\"\\r\": \"⇠\",\n\t\"\\t\": \"⇥\\t\"\n};\n\n/*\nRender this widget into the DOM\n*/\nDiffTextWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create the diff\n\tvar dmpObject = new dmp.diff_match_patch(),\n\t\tdiffs = dmpObject.diff_main(this.getAttribute(\"source\"),this.getAttribute(\"dest\"));\n\t// Apply required cleanup\n\tswitch(this.getAttribute(\"cleanup\",\"semantic\")) {\n\t\tcase \"none\":\n\t\t\t// No cleanup\n\t\t\tbreak;\n\t\tcase \"efficiency\":\n\t\t\tdmpObject.diff_cleanupEfficiency(diffs);\n\t\t\tbreak;\n\t\tdefault: // case \"semantic\"\n\t\t\tdmpObject.diff_cleanupSemantic(diffs);\n\t\t\tbreak;\n\t}\n\t// Create the elements\n\tvar domContainer = this.document.createElement(\"div\"), \n\t\tdomDiff = this.createDiffDom(diffs);\n\tparent.insertBefore(domContainer,nextSibling);\n\t// Set variables\n\tthis.setVariable(\"diff-count\",diffs.reduce(function(acc,diff) {\n\t\tif(diff[0] !== dmp.DIFF_EQUAL) {\n\t\t\tacc++;\n\t\t}\n\t\treturn acc;\n\t},0).toString());\n\t// Render child widgets\n\tthis.renderChildren(domContainer,null);\n\t// Render the diff\n\tdomContainer.appendChild(domDiff);\n\t// Save our container\n\tthis.domNodes.push(domContainer);\n};\n\n/*\nCreate DOM elements representing a list of diffs\n*/\nDiffTextWidget.prototype.createDiffDom = function(diffs) {\n\tvar self = this;\n\t// Create the element and assign the attributes\n\tvar domPre = this.document.createElement(\"pre\"),\n\t\tdomCode = this.document.createElement(\"code\");\n\t$tw.utils.each(diffs,function(diff) {\n\t\tvar tag = diff[0] === dmp.DIFF_INSERT ? \"ins\" : (diff[0] === dmp.DIFF_DELETE ? \"del\" : \"span\"),\n\t\t\tclassName = diff[0] === dmp.DIFF_INSERT ? \"tc-diff-insert\" : (diff[0] === dmp.DIFF_DELETE ? \"tc-diff-delete\" : \"tc-diff-equal\"),\n\t\t\tdom = self.document.createElement(tag),\n\t\t\ttext = diff[1],\n\t\t\tcurrPos = 0,\n\t\t\tre = /([\\x00-\\x1F])/mg,\n\t\t\tmatch = re.exec(text),\n\t\t\tspan,\n\t\t\tprintable;\n\t\tdom.className = className;\n\t\twhile(match) {\n\t\t\tif(currPos < match.index) {\n\t\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos,match.index)));\n\t\t\t}\n\t\t\tspan = self.document.createElement(\"span\");\n\t\t\tspan.className = \"tc-diff-invisible\";\n\t\t\tprintable = self.invisibleCharacters[match[0]] || (\"[0x\" + match[0].charCodeAt(0).toString(16) + \"]\");\n\t\t\tspan.appendChild(self.document.createTextNode(printable));\n\t\t\tdom.appendChild(span);\n\t\t\tcurrPos = match.index + match[0].length;\n\t\t\tmatch = re.exec(text);\n\t\t}\n\t\tif(currPos < text.length) {\n\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos)));\n\t\t}\n\t\tdomCode.appendChild(dom);\n\t});\n\tdomPre.appendChild(domCode);\n\treturn domPre;\n};\n\n/*\nCompute the internal state of the widget\n*/\nDiffTextWidget.prototype.execute = function() {\n\t// Make child widgets\n\tvar parseTreeNodes;\n\tif(this.parseTreeNode && this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/language/Diffs/CountMessage\"}\n\t\t\t}\n\t\t}];\n\t}\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDiffTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.dest || changedAttributes.cleanup) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports[\"diff-text\"] = DiffTextWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/draggable.js": { "title": "$:/core/modules/widgets/draggable.js", "text": "/*\\\ntitle: $:/core/modules/widgets/draggable.js\ntype: application/javascript\nmodule-type: widget\n\nDraggable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DraggableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDraggableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDraggableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Sanitise the specified tag\n\tvar tag = this.draggableTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"div\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [\"tc-draggable\"];\n\tif(this.draggableClasses) {\n\t\tclasses.push(this.draggableClasses);\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Add event handlers\n\t$tw.utils.makeDraggable({\n\t\tdomNode: domNode,\n\t\tdragTiddlerFn: function() {return self.getAttribute(\"tiddler\");},\n\t\tdragFilterFn: function() {return self.getAttribute(\"filter\");},\n\t\tstartActions: self.startActions,\n\t\tendActions: self.endActions,\n\t\twidget: this\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nDraggableWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.draggableTag = this.getAttribute(\"tag\",\"div\");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\tthis.startActions = this.getAttribute(\"startactions\");\n\tthis.endActions = this.getAttribute(\"endactions\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tag || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.draggable = DraggableWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/droppable.js": { "title": "$:/core/modules/widgets/droppable.js", "text": "/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\n\t\ttag = this.droppableTag;\n\t}\n\t// Create element and assign classes\n\tvar domNode = this.document.createElement(tag),\n\t\tclasses = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tdomNode.className = classes.join(\" \");\n\t// Add event handlers\n\tif(this.droppableEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"}\n\t\t]);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDroppableWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDroppableWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\n\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDroppableWidget.prototype.handleDragEnterEvent = function(event) {\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Set the drop effect\n\tevent.dataTransfer.dropEffect = this.droppableEffect;\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar dataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Try to import the various data types we understand\n\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\tfieldsArray.forEach(function(fields) {\n\t\t\tself.performActions(fields.title || fields.text,event);\n\t\t});\n\t});\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.performActions = function(title,event) {\n\tif(this.droppableActions) {\n\t\tvar modifierKey = event.ctrlKey && ! event.shiftKey ? \"ctrl\" : event.shiftKey && !event.ctrlKey ? \"shift\" : \n\t\t\t\tevent.ctrlKey && event.shiftKey ? \"ctrl-shift\" : \"normal\" ;\n\t\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDroppableWidget.prototype.execute = function() {\n\tthis.droppableActions = this.getAttribute(\"actions\");\n\tthis.droppableEffect = this.getAttribute(\"effect\",\"copy\");\n\tthis.droppableTag = this.getAttribute(\"tag\");\n\tthis.droppableClass = this.getAttribute(\"class\");\n\tthis.droppableEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"] || changedAttributes.tag || changedAttributes.enable) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.droppable = DroppableWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/dropzone.js": { "title": "$:/core/modules/widgets/dropzone.js", "text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = this.dropzoneClass || \"tc-dropzone\";\n\t// Add event handlers\n\tif(this.dropzoneEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\t\t\n\t}\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally\n\tif(this.currentlyEntered.length === 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDragEndEvent = function(event) {\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t};\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\tif(dataTransfer.files) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,{\n\t\t\tcallback: readFileCallback,\n\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,this.wiki.generateNewTitle(\"Untitled\"),readFileCallback);\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t};\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),{\n\t\t\t\t\tcallback: readFileCallback,\n\t\t\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\tthis.dropzoneClass = this.getAttribute(\"class\");\n\tthis.dropzoneDeserializer = this.getAttribute(\"deserializer\");\n\tthis.dropzoneEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.enable) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/edit-binary.js": { "title": "$:/core/modules/widgets/edit-binary.js", "text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Get our parameters\n\tvar editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tvar tiddler = this.wiki.getTiddler(editTitle);\n\tvar type = tiddler.fields.type;\n\tvar text = tiddler.fields.text;\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on draft tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!draft.title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!draft.title\"}\n\t\t},\n\t\tchildren: [{\n\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to internal data URI (no external)\n\tif(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets([element]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/edit-bitmap.js": { "title": "$:/core/modules/widgets/edit-bitmap.js", "text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370,\n\tDEFAULT_IMAGE_TYPE = \"image/png\";\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tif(tiddler && tiddler.fields.type && tiddler.fields.text) {\n\t\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\t\t\n\t} else {\n\t\tcurrImage.width = DEFAULT_IMAGE_WIDTH;\n\t\tcurrImage.height = DEFAULT_IMAGE_HEIGHT;\n\t\tcurrImage.onerror();\n\t}\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\n/*\n** Rotate the canvas left by 90 degrees\n*/\nEditBitmapWidget.prototype.rotateCanvasLeft = function() {\n\t// Get the current size of the image\n\tvar origWidth = this.currCanvas.width,\n\t\torigHeight = this.currCanvas.height;\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\"),\n\t\tnewWidth = origHeight,\n\t\tnewHeight = origWidth;\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.save();\n\tctx.translate(newWidth / 2,newHeight / 2);\n\tctx.rotate(-Math.PI / 2);\n\tctx.drawImage(this.currCanvas,-origWidth / 2,-origHeight / 2);\n\tctx.restore();\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle) || new $tw.Tiddler({title: this.editTitle,type: DEFAULT_IMAGE_TYPE});\n\t// data URIs look like \"data:<type>;base64,<text>\"\n\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\tposColon = dataURL.indexOf(\":\"),\n\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\tposComma = dataURL.indexOf(\",\"),\n\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\ttext = dataURL.substring(posComma+1);\n\tvar update = {type: type, text: text};\n\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/edit-shortcut.js": { "title": "$:/core/modules/widgets/edit-shortcut.js", "text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n\t// Focus the input Node if focus === \"yes\" or focus === \"true\"\n\tif(this.shortcutFocus === \"yes\" || this.shortcutFocus === \"true\") {\n\t\tthis.focus();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n\tthis.shortcutFocus = this.getAttribute(\"focus\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nfocus the input node\n*/\nEditShortcutWidget.prototype.focus = function() {\n\tif(this.inputNode.focus && this.inputNode.select) {\n\t\tthis.inputNode.focus();\n\t\tthis.inputNode.select();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"] || changedAttributes.focus) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/edit-text.js": { "title": "$:/core/modules/widgets/edit-text.js", "text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/edit.js": { "title": "$:/core/modules/widgets/edit.js", "text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\tthis.editFocus = this.getAttribute(\"focus\",\"\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder},\n\t\t\t\"tabindex\": {type: \"string\", value: this.editTabIndex},\n\t\t\t\"focus\": {type: \"string\", value: this.editFocus}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/element.js": { "title": "$:/core/modules/widgets/element.js", "text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\t// Adjust headings by the current base level\n\tvar headingLevel = [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].indexOf(tag);\n\tif(headingLevel !== -1) {\n\t\tvar baseLevel = parseInt(this.getVariable(\"tv-adjust-heading-level\",\"0\"),10) || 0;\n\t\theadingLevel = Math.min(Math.max(headingLevel + 1 + baseLevel,1),6);\n\t\ttag = \"h\" + headingLevel;\n\t}\n\t// Create the DOM node\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/encrypt.js": { "title": "$:/core/modules/widgets/encrypt.js", "text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/entity.js": { "title": "$:/core/modules/widgets/entity.js", "text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/fieldmangler.js": { "title": "$:/core/modules/widgets/fieldmangler.js", "text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.mangleTitle, tags: tag},modification));\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/fields.js": { "title": "$:/core/modules/widgets/fields.js", "text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.sort = this.getAttribute(\"sort\",\"yes\") === \"yes\";\n\tthis.sortReverse = this.getAttribute(\"sortReverse\",\"no\") === \"yes\";\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.include = this.getAttribute(\"include\",null);\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\n\t// Get the inclusion and exclusion list\n\tvar excludeArr = (this.exclude) ? this.exclude.split(\" \") : [\"text\"];\n\t// Include takes precedence\n\tvar includeArr = (this.include) ? this.include.split(\" \") : null;\n\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tif (includeArr) { // Include takes precedence\n\t\t\tfor(var i=0; i<includeArr.length; i++) {\n\t\t\t\tif(tiddler.fields[includeArr[i]]) {\n\t\t\t\t\tfields.push(includeArr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\tif(excludeArr.indexOf(fieldName) === -1) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.sort) fields.sort();\n\t\tif (this.sortReverse) fields.reverse();\n\t\tfor(var f=0, fmax=fields.length; f<fmax; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tvar row = this.template,\n\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\tif(reMatch) {\n\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\ttext.push(row);\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif( changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude ||\n\t\tchangedAttributes.include || changedAttributes.sort || changedAttributes.sortReverse ||\n\t\tchangedTiddlers[this.tiddlerTitle] || changedAttributes.stripTitlePrefix) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/image.js": { "title": "$:/core/modules/widgets/image.js", "text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/importvariables.js": { "title": "$:/core/modules/widgets/importvariables.js", "text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar widgetPointer = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = widgetPointer.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\tvar node = {\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params,\n\t\t\t\t\tisMacroDefinition: parseTreeNode.isMacroDefinition\n\t\t\t\t};\n\t\t\t\tif (parseTreeNode.isMacroDefinition) {\n\t\t\t\t\t// Macro definitions can be folded into\n\t\t\t\t\t// current widget instead of adding\n\t\t\t\t\t// another link to the chain.\n\t\t\t\t\tvar widget = widgetPointer.makeChildWidget(node);\n\t\t\t\t\twidget.computeAttributes();\n\t\t\t\t\twidget.execute();\n\t\t\t\t\t// We SHALLOW copy over all variables\n\t\t\t\t\t// in widget. We can't use\n\t\t\t\t\t// $tw.utils.assign, because that copies\n\t\t\t\t\t// up the prototype chain, which we\n\t\t\t\t\t// don't want.\n\t\t\t\t\t$tw.utils.each(Object.keys(widget.variables), function(key) {\n\t\t\t\t\t\twidgetPointer.variables[key] = widget.variables[key];\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\twidgetPointer.makeChildWidgets([node]);\n\t\t\t\t\twidgetPointer = widgetPointer.children[0];\n\t\t\t\t}\n\t\t\t\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\n\tif (widgetPointer != this) {\n\t\twidgetPointer.parseTreeNode.children = this.parseTreeNode.children;\n\t} else {\n\t\twidgetPointer.makeChildWidgets();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/keyboard.js": { "title": "$:/core/modules/widgets/keyboard.js", "text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tself.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\",\"\");\n\tthis.message = this.getAttribute(\"message\",\"\");\n\tthis.param = this.getAttribute(\"param\",\"\");\n\tthis.key = this.getAttribute(\"key\",\"\");\n\tthis.tag = this.getAttribute(\"tag\",\"\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tif(this.key.substr(0,2) === \"((\" && this.key.substr(-2,2) === \"))\") {\n\t\tthis.shortcutTiddlers = [];\n\t\tvar name = this.key.substring(2,this.key.length -2);\n\t\t$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {\n\t\t\tself.shortcutTiddlers.push(\"$:/config/\" + platformDescriptor + \"/\" + name);\n\t\t});\n\t}\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed\n\tif(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {\n\t\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/link.js": { "title": "$:/core/modules/widgets/link.js", "text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.overrideClasses === undefined) {\n\t\tclasses.push(\"tc-tiddlylink\");\n\t\tif(this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t\t}\n\t\tif(this.isMissing && !this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t\t} else {\n\t\t\tif(!this.isMissing) {\n\t\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t\t}\n\t\t}\n\t\tif(this.linkClasses) {\n\t\t\tclasses.push(this.linkClasses);\t\t\t\n\t\t}\n\t} else if(this.overrideClasses !== \"\") {\n\t\tclasses.push(this.overrideClasses)\n\t}\n\tif(classes.length > 0) {\n\t\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t}\n\t// Set an href\n\tvar wikilinkTransformFilter = this.getVariable(\"tv-filter-export-link\"),\n\t\twikiLinkText;\n\tif(wikilinkTransformFilter) {\n\t\t// Use the filter to construct the href\n\t\twikiLinkText = this.wiki.filterTiddlers(wikilinkTransformFilter,this,function(iterator) {\n\t\t\titerator(self.wiki.getTiddler(self.to),self.to)\n\t\t})[0];\n\t} else {\n\t\t// Expand the tv-wikilink-template variable to construct the href\n\t\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\";\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",encodeURIComponent(this.to));\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\t}\n\t// Override with the value of tv-get-export-link if defined\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.overrideClasses = this.getAttribute(\"overrideClass\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = (this.getVariable(\"tv-show-missing-links\") || \"yes\") === \"no\";\n\t// Make the child widgets\n\tvar templateTree;\n\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\ttemplateTree = this.parseTreeNode.children;\n\t} else {\n\t\t// Default template is a link to the title\n\t\ttemplateTree = [{type: \"text\", text: this.to}];\n\t}\n\tthis.makeChildWidgets(templateTree);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/linkcatcher.js": { "title": "$:/core/modules/widgets/linkcatcher.js", "text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n\t// When executing actions we avoid trapping navigate events, so that we don't trigger ourselves recursively\n\tthis.executingActions = false;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(!this.executingActions) {\n\t\t// Execute the actions\n\t\tif(this.catchTo) {\n\t\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t\t}\n\t\tif(this.catchMessage && this.parentWidget) {\n\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\ttype: this.catchMessage,\n\t\t\t\tparam: event.navigateTo,\n\t\t\t\tnavigateTo: event.navigateTo\n\t\t\t});\n\t\t}\n\t\tif(this.catchSet) {\n\t\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t\t}\n\t\tif(this.catchActions) {\n\t\t\tthis.executingActions = true;\n\t\t\tthis.invokeActionString(this.catchActions,this,event,{navigateTo: event.navigateTo});\n\t\t\tthis.executingActions = false;\n\t\t}\n\t} else {\n\t\t// This is a navigate event generated by the actions of this linkcatcher, so we don't trap it again, but just pass it to the parent\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: \"tm-navigate\",\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/list.js": { "title": "$:/core/modules/widgets/list.js", "text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/macrocall.js": { "title": "$:/core/modules/widgets/macrocall.js", "text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar macroName = this.parseTreeNode.name || this.getAttribute(\"$name\"),\n\t\tvariableInfo = this.getVariableInfo(macroName,{params: params}),\n\t\ttext = variableInfo.text,\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t\t// Wrap the parse tree in a vars widget assigning the parameters to variables named \"__paramname__\"\n\t\tvar attributes = {};\n\t\t$tw.utils.each(variableInfo.params,function(param) {\n\t\t\tvar name = \"__\" + param.name + \"__\";\n\t\t\tattributes[name] = {\n\t\t\t\tname: name,\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalue: param.value\n\t\t\t};\n\t\t});\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"vars\",\n\t\t\tattributes: attributes,\n\t\t\tchildren: parseTreeNodes\n\t\t}];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/navigator.js": { "title": "$:/core/modules/widgets/navigator.js", "text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\tthis.setVariable(\"tv-story-list\",this.storyTitle);\n\tthis.setVariable(\"tv-history-list\",this.historyTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tif(this.storyTitle) {\n\t\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t{title: this.storyTitle},\n\t\t\tstoryTiddler,\n\t\t\t{list: storyList}\n\t\t));\t\t\n\t}\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tif(storyList) {\n\t\tvar p = storyList.indexOf(title);\n\t\twhile(p !== -1) {\n\t\t\tstoryList.splice(p,1);\n\t\t\tp = storyList.indexOf(title);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tif(storyList) {\n\t\tvar pos = storyList.indexOf(oldTitle);\n\t\tif(pos !== -1) {\n\t\t\tstoryList[pos] = newTitle;\n\t\t\tdo {\n\t\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\t\tif(pos !== -1) {\n\t\t\t\t\tstoryList.splice(pos,1);\n\t\t\t\t}\n\t\t\t} while(pos !== -1);\n\t\t} else {\n\t\t\tstoryList.splice(0,0,newTitle);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tif(this.storyTitle) {\n\t\tthis.wiki.addToStory(title,fromTitle,this.storyTitle,{\n\t\t\topenLinkFromInsideRiver: this.getAttribute(\"openLinkFromInsideRiver\",\"top\"),\n\t\t\topenLinkFromOutsideRiver: this.getAttribute(\"openLinkFromOutsideRiver\",\"top\")\n\t\t});\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar editTiddler = $tw.hooks.invokeHook(\"th-editing-tiddler\",event);\n\tif(!editTiddler) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\treturn this.wiki.generateDraftTitle(title);\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\nconsole.log(\"Relinking '\" + draftOf + \"' to '\" + draftTitle + \"'\");\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-cancelling-tiddler\", event);\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-new-tiddler\", event);\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Make a copy of the additional fields excluding any blank ones\n\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\n\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\n\t\tif(filteredAdditionalFields[fieldName] === \"\") {\n\t\t\tdelete filteredAdditionalFields[fieldName];\n\t\t}\n\t});\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\texistingTiddler,\n\t\tfilteredAdditionalFields,\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList && storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tif(slot === -1) {\n\t\t\tslot = this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\" ? storyList.length - 1 : slot;\n\t\t}\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList && storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList && storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n//\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix || \"$:/state/folded/\";\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\tthis.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/password.js": { "title": "$:/core/modules/widgets/password.js", "text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/qualify.js": { "title": "$:/core/modules/widgets/qualify.js", "text": "/*\\\ntitle: $:/core/modules/widgets/qualify.js\ntype: application/javascript\nmodule-type: widget\n\nQualify text to a variable \n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar QualifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nQualifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nQualifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nQualifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.qualifyName = this.getAttribute(\"name\");\n\tthis.qualifyTitle = this.getAttribute(\"title\");\n\t// Set context variable\n\tif(this.qualifyName) {\n\t\tthis.setVariable(this.qualifyName,this.qualifyTitle + \"-\" + this.getStateQualifier());\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nQualifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.title) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.qualify = QualifyWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/radio.js": { "title": "$:/core/modules/widgets/radio.js", "text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tvar isChecked = this.getValue() === this.radioValue;\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\n \t\t\"tc-radio \" + this.radioClass + (isChecked ? \" tc-radio-selected\" : \"\")\n \t);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(isChecked) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif (this.radioIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex);\n\t} else {\n\t\tvalue = tiddler && tiddler.getFieldString(this.radioField);\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/range.js": { "title": "$:/core/modules/widgets/range.js", "text": "/*\\\ntitle: $:/core/modules/widgets/range.js\ntype: application/javascript\nmodule-type: widget\n\nRange widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RangeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRangeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRangeWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"range\");\n\tthis.inputDomNode.setAttribute(\"class\",this.elementClass);\n\tif(this.minValue){\n\t\tthis.inputDomNode.setAttribute(\"min\", this.minValue);\n\t}\n\tif(this.maxValue){\n\t\tthis.inputDomNode.setAttribute(\"max\", this.maxValue);\n\t}\n\tif(this.increment){\n\t\tthis.inputDomNode.setAttribute(\"step\", this.increment);\n\t}\n\tthis.inputDomNode.value = this.getValue();\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\t\t\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.inputDomNode,nextSibling);\n\tthis.domNodes.push(this.inputDomNode);\n};\n\nRangeWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle),\n\t\tfieldName = this.tiddlerField || \"text\",\n\t\tvalue = this.defaultValue;\n\tif(tiddler) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.tiddlerIndex,this.defaultValue || \"\");\n\t\t} else {\n\t\t\tif($tw.utils.hop(tiddler.fields,fieldName)) {\n\t\t\t\tvalue = tiddler.fields[fieldName] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.defaultValue || \"\";\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nRangeWidget.prototype.handleInputEvent = function(event) {\n\tif(this.getValue() !== this.inputDomNode.value) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,\"\",this.tiddlerIndex,this.inputDomNode.value);\n\t\t} else {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,this.tiddlerField,null,this.inputDomNode.value);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRangeWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.tiddlerField = this.getAttribute(\"field\");\n\tthis.tiddlerIndex = this.getAttribute(\"index\");\n\tthis.minValue = this.getAttribute(\"min\");\n\tthis.maxValue = this.getAttribute(\"max\");\n\tthis.increment = this.getAttribute(\"increment\");\n\tthis.defaultValue = this.getAttribute(\"default\");\n\tthis.elementClass = this.getAttribute(\"class\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRangeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes['min'] || changedAttributes['max'] || changedAttributes['increment'] || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.tiddlerTitle]) {\n\t\t\tvar value = this.getValue();\n\t\t\tif(this.inputDomNode.value !== value) {\n\t\t\t\tthis.inputDomNode.value = value;\t\t\t\t\n\t\t\t}\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.range = RangeWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/raw.js": { "title": "$:/core/modules/widgets/raw.js", "text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/reveal.js": { "title": "$:/core/modules/widgets/reveal.js", "text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tvar left,top;\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tleft = this.popup.left + this.popup.width - domNode.offsetWidth;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t}\n\tif(!this.positionAllowNegative) {\n\t\tleft = Math.max(0,left);\n\t\ttop = Math.max(0,top);\n\t}\n\tdomNode.style.left = left + \"px\";\n\tdomNode.style.top = top + \"px\";\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis.positionAllowNegative = this.getAttribute(\"positionAllowNegative\") === \"yes\";\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTiddlerTitle = this.state;\n\tthis.stateTitle = this.getAttribute(\"stateTitle\");\n\tthis.stateField = this.getAttribute(\"stateField\");\n\tthis.stateIndex = this.getAttribute(\"stateIndex\");\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state,\n\t defaultState = this[\"default\"];\n\tif(this.stateTitle) {\n\t\tvar stateTitleTiddler = this.wiki.getTiddler(this.stateTitle);\n\t\tif(this.stateField) {\n\t\t\tstate = stateTitleTiddler ? stateTitleTiddler.getFieldString(this.stateField) || defaultState : defaultState;\n\t\t} else if(this.stateIndex) {\n\t\t\tstate = stateTitleTiddler ? this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex) || defaultState : defaultState;\n\t\t} else if(stateTitleTiddler) {\n\t\t\tstate = this.wiki.getTiddlerText(this.stateTitle) || defaultState;\n\t\t} else {\n\t\t\tstate = defaultState;\n\t\t}\n\t} else {\n\t\tstate = this.stateTiddlerTitle ? this.wiki.getTextReference(this.state,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\t}\n\tif(state === null) {\n\t\tstate = this[\"default\"];\n\t}\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.isOpen = this.text === state;\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.isOpen = this.text !== state;\n\t\t\tbreak;\n\t\tcase \"lt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t\tcase \"gt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"lteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"gteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.compareStateText = function(state) {\n\treturn state.localeCompare(this.text,undefined,{numeric: true,sensitivity: \"case\"});\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes.positionAllowNegative || changedAttributes[\"default\"] || changedAttributes.animate || changedAttributes.stateTitle || changedAttributes.stateField || changedAttributes.stateIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar currentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\tvar self = this;\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\t//make sure that the state hasn't changed during the close animation\n\t\t\tself.readState()\n\t\t\tif(!self.isOpen) {\n\t\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t\t\t}\n\t\t}});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/scrollable.js": { "title": "$:/core/modules/widgets/scrollable.js", "text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/select.js": { "title": "$:/core/modules/widgets/select.js", "text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,value);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tselect.children[i].selected = values.indexOf(select.children[i].value) !== -1\n\t\t}\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\tthis.selectTooltip = this.getAttribute(\"tooltip\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tif(this.selectTooltip) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"title\",this.selectTooltip);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex || changedAttributes.selectTooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/set.js": { "title": "$:/core/modules/widgets/set.js", "text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setTiddler = this.getAttribute(\"tiddler\");\n\tthis.setSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.setField = this.getAttribute(\"field\");\n\tthis.setIndex = this.getAttribute(\"index\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,!!this.parseTreeNode.isMacroDefinition);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setTiddler) {\n\t\tvar tiddler;\n\t\tif(this.setSubTiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.setTiddler);\t\t\t\n\t\t}\n\t\tif(!tiddler) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t} else if(this.setField) {\n\t\t\tvalue = tiddler.getFieldString(this.setField) || this.setEmptyValue;\n\t\t} else if(this.setIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue);\n\t\t} else {\n\t\t\tvalue = tiddler.fields.text || this.setEmptyValue ;\n\t\t}\n\t} else if(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(this.setValue == null) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\t\t\t\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value || \"\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select || changedAttributes.tiddler || (this.setTiddler && changedTiddlers[this.setTiddler]) || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes.emptyValue ||\n\t (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/text.js": { "title": "$:/core/modules/widgets/text.js", "text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/tiddler.js": { "title": "$:/core/modules/widgets/tiddler.js", "text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/transclude.js": { "title": "$:/core/modules/widgets/transclude.js", "text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/vars.js": { "title": "$:/core/modules/widgets/vars.js", "text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/view.js": { "title": "$:/core/modules/widgets/view.js", "text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tthis.viewMode = this.getAttribute(\"mode\",\"block\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/widget.js": { "title": "$:/core/modules/widgets/widget.js", "text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning that the widget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\t// Get widget classes\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t\t// Process any subclasses\n\t\t$tw.modules.forEachModuleOfType(\"widget-subclass\",function(title,module) {\n\t\t\tif(module.baseClass) {\n\t\t\t\tvar baseClass = Widget.prototype.widgetClasses[module.baseClass];\n\t\t\t\tif(!baseClass) {\n\t\t\t\t\tthrow \"Module '\" + title + \"' is attemping to extend a non-existent base class '\" + module.baseClass + \"'\";\n\t\t\t\t}\n\t\t\t\tvar subClass = module.constructor;\n\t\t\t\tsubClass.prototype = new baseClass();\n\t\t\t\t$tw.utils.extend(subClass.prototype,module.prototype);\n\t\t\t\tWidget.prototype.widgetClasses[module.name || module.baseClass] = subClass;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\nisMacroDefinition: true if the variable is set via a \\define macro pragma (and hence should have variable substitution performed)\n*/\nWidget.prototype.setVariable = function(name,value,params,isMacroDefinition) {\n\tthis.variables[name] = {value: value, params: params, isMacroDefinition: !!isMacroDefinition};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n\nReturns an object with the following fields:\n\nparams: array of {name:,value:} of parameters passed to wikitext variables\ntext: text of variable, with parameters properly substituted\n*/\nWidget.prototype.getVariableInfo = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value,\n\t\t\tparams = this.resolveVariableParameters(variable.params,actualParams);\n\t\t// Substitute any parameters specified in the definition\n\t\t$tw.utils.each(params,function(param) {\n\t\t\tvalue = $tw.utils.replaceString(value,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(param.name) + \"\\\\$\",\"mg\"),param.value);\n\t\t});\n\t\t// Only substitute variable references if this variable was defined with the \\define pragma\n\t\tif(variable.isMacroDefinition) {\n\t\t\tvalue = this.substituteVariableReferences(value);\t\t\t\n\t\t}\n\t\treturn {\n\t\t\ttext: value,\n\t\t\tparams: params\n\t\t};\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn {\n\t\ttext: this.evaluateMacroModule(name,actualParams,options.defaultValue)\n\t};\n};\n\n/*\nSimplified version of getVariableInfo() that just returns the text\n*/\nWidget.prototype.getVariable = function(name,options) {\n\treturn this.getVariableInfo(name,options).text;\n};\n\nWidget.prototype.resolveVariableParameters = function(formalParams,actualParams) {\n\tformalParams = formalParams || [];\n\tactualParams = actualParams || [];\n\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\tparamInfo, paramValue,\n\t\tresults = [];\n\t// Step through each of the parameters in the macro definition\n\tfor(var p=0; p<formalParams.length; p++) {\n\t\t// Check if we've got a macro call parameter with the same name\n\t\tparamInfo = formalParams[p];\n\t\tparamValue = undefined;\n\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t}\n\t\t}\n\t\t// If not, use the next available anonymous macro call parameter\n\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\tnextAnonParameter++;\n\t\t}\n\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t}\n\t\t// If we've still not got a value, use the default, if any\n\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t// Store the parameter name and value\n\t\tresults.push({name: paramInfo.name, value: paramValue});\n\t}\n\treturn results;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"filtered\") {\n\t\t\tvalue = self.wiki.filterTiddlers(attribute.filter,self)[0] || \"\";\n\t\t} else if(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\tvar children = this.children;\n\tfor(var i = 0; i < children.length; i++) {\n\t\tchildren[i].render(parent,nextSibling);\n\t};\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar children = this.children,\n\t\trefreshed = false;\n\tfor (var i = 0; i < children.length; i++) {\n\t\trefreshed = children[i].refresh(changedTiddlers) || refreshed;\n\t}\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction) {\n\t\t\tchild.refreshSelf();\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/widgets/wikify.js": { "title": "$:/core/modules/widgets/wikify.js", "text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n", "type": "application/javascript", "module-type": "widget" }, "$:/core/modules/wiki-bulkops.js": { "title": "$:/core/modules/wiki-bulkops.js", "text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options)\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.slice(0) : undefined,\n\t\t\t\t\tlist = tiddler.fields.list ? tiddler.fields.list.slice(0) : undefined,\n\t\t\t\t\tisModified = false;\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming tag '\" + tags[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming list item '\" + list[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n\n})();\n", "type": "application/javascript", "module-type": "wikimethod" }, "$:/core/modules/wiki.js": { "title": "$:/core/modules/wiki.js", "text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nAdd available indexers to this wiki\n*/\nexports.addIndexersToWiki = function() {\n\tvar self = this;\n\t$tw.utils.each($tw.modules.applyMethods(\"indexer\"),function(Indexer,name) {\n\t\tself.addIndexer(new Indexer(self),name);\n\t});\n};\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.isBinaryTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.encoding === \"base64\";\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric,isAlphaNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t\t\t\t\t\t\t(isDescending ? y - x : x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if(isAlphaNumeric) {\n\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked within the given parse tree\n */\nexports.extractLinks = function(parseTreeRoot) {\n\t// Count up the links\n\tvar links = [],\n\t\tcheckParseTree = function(parseTree) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcheckParseTree(parseTreeRoot);\n\treturn links;\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\tif(parser) {\n\t\t\treturn self.extractLinks(parser.tree);\n\t\t}\n\t\treturn [];\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinksIndexer = this.getIndexer(\"BacklinksIndexer\"),\n\t\tbacklinks = backlinksIndexer && backlinksIndexer.lookup(targetTitle);\n\n\tif(!backlinks) {\n\t\tbacklinks = [];\n\t\tthis.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self.getTiddlerLinks(title);\n\t\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\t\tbacklinks.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\t// Try to use the indexer\n\tvar self = this,\n\t\ttagIndexer = this.getIndexer(\"TagIndexer\"),\n\t\tresults = tagIndexer && tagIndexer.subIndexers[3].lookup(tag);\n\tif(!results) {\n\t\t// If not available, perform a manual scan\n\t\tresults = this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\t\tvar tagmap = self.getTagMap();\n\t\t\treturn self.sortByList(tagmap[tag],tag);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar self = this,\n\t\treplacedTitles = Object.create(null);\n\t// Given a title, this function will place it in the correct location\n\t// within titles.\n\tfunction moveItemInList(title) {\n\t\tif(!$tw.utils.hop(replacedTitles, title)) {\n\t\t\treplacedTitles[title] = true;\n\t\t\tvar newPos = -1,\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(afterTitle === \"\") {\n\t\t\t\t\tnewPos = titles.length;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\t// if this title is placed relative\n\t\t\t\t\t// to another title, make sure that\n\t\t\t\t\t// title is placed before we place\n\t\t\t\t\t// this one.\n\t\t\t\t\tmoveItemInList(beforeTitle);\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\t// Same deal\n\t\t\t\t\tmoveItemInList(afterTitle);\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If a new position is specified, let's move it\n\t\t\t\tif (newPos !== -1) {\n\t\t\t\t\t// get its current Pos, and make sure\n\t\t\t\t\t// sure that it's _actually_ in the list\n\t\t\t\t\t// and that it would _actually_ move\n\t\t\t\t\t// (#4275) We don't bother calling\n\t\t\t\t\t// indexOf unless we have a new\n\t\t\t\t\t// position to work with\n\t\t\t\t\tvar currPos = titles.indexOf(title);\n\t\t\t\t\tif(currPos >= 0 && newPos !== currPos) {\n\t\t\t\t\t\t// move it!\n\t\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tmoveItemInList(title);\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\nexports.getTiddlersAsJson = function(filter,spaces) {\n\tvar tiddlers = this.filterTiddlers(filter),\n\t\tspaces = (spaces === undefined) ? $tw.config.preferences.jsonSpaces : spaces,\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,spaces);\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n\t// Use the generic binary parser for any binary types not registered so far\n\tif($tw.Wiki.parsers[\"application/octet-stream\"]) {\n\t\tObject.keys($tw.config.contentTypeInfo).forEach(function(type) {\n\t\t\tif(!$tw.utils.hop($tw.Wiki.parsers,type) && $tw.config.contentTypeInfo[type].encoding === \"base64\") {\n\t\t\t\t$tw.Wiki.parsers[type] = $tw.Wiki.parsers[\"application/octet-stream\"];\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type,tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title}},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\";\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tfield: If specified, restricts the search to the specified field, or an array of field names\n\tanchored: If true, forces all but regexp searches to be anchored to the start of text\n\texcludeField: If true, the field options are inverted to specify the fields that are not to be searched\n\tThe search mode is determined by the first of these boolean flags to be true\n\t\tliteral: searches for literal string\n\t\twhitespace: same as literal except runs of whitespace are treated as a single space\n\t\tregexp: treats the search term as a regular expression\n\t\twords: (default) treats search string as a list of tokens, and matches if all tokens are found, regardless of adjacency or ordering\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\",\n\t\tanchor = options.anchored ? \"^\" : \"\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else if(options.whitespace) {\n\t\tterms = [];\n\t\t$tw.utils.each(text.split(/\\s+/g),function(term) {\n\t\t\tif(term) {\n\t\t\t\tterms.push($tw.utils.escapeRegExp(term));\n\t\t\t}\n\t\t});\n\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + terms.join(\"\\\\s+\") + \")\",flags)];\n\t} else if(options.regexp) {\n\t\ttry {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + text + \")\",flags)];\t\t\t\n\t\t} catch(e) {\n\t\t\tsearchTermsRegExps = null;\n\t\t\tconsole.log(\"Regexp error parsing /(\" + text + \")/\" + flags + \": \",e);\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Accumulate the array of fields to be searched or excluded from the search\n\tvar fields = [];\n\tif(options.field) {\n\t\tif($tw.utils.isArray(options.field)) {\n\t\t\t$tw.utils.each(options.field,function(fieldName) {\n\t\t\t\tif(fieldName) {\n\t\t\t\t\tfields.push(fieldName);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push(options.field);\n\t\t}\n\t}\n\t// Use default fields if none specified and we're not excluding fields (excluding fields with an empty field array is the same as searching all fields)\n\tif(fields.length === 0 && !options.excludeField) {\n\t\tfields.push(\"title\");\n\t\tfields.push(\"tags\");\n\t\tfields.push(\"text\");\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar notYetFound = searchTermsRegExps.slice();\n\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tsearchFields;\n\t\t// Get the list of fields we're searching\n\t\tif(options.excludeField) {\n\t\t\tsearchFields = Object.keys(tiddler.fields);\n\t\t\t$tw.utils.each(fields,function(fieldName) {\n\t\t\t\tvar p = searchFields.indexOf(fieldName);\n\t\t\t\tif(p !== -1) {\n\t\t\t\t\tsearchFields.splice(p,1);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsearchFields = fields;\n\t\t}\n\t\tfor(var fieldIndex=0; notYetFound.length>0 && fieldIndex<searchFields.length; fieldIndex++) {\n\t\t\t// Don't search the text field if the content type is binary\n\t\t\tvar fieldName = searchFields[fieldIndex];\n\t\t\tif(fieldName === \"text\" && contentTypeInfo.encoding !== \"utf8\") {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tvar str = tiddler.fields[fieldName],\n\t\t\t\tt;\n\t\t\tif(str) {\n\t\t\t\tif($tw.utils.isArray(str)) {\n\t\t\t\t\t// If the field value is an array, test each regexp against each field array entry and fail if each regexp doesn't match at least one field array entry\n\t\t\t\t\tfor(var s=0; s<str.length; s++) {\n\t\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\t\tif(notYetFound[t].test(str[s])) {\n\t\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the field isn't an array, force it to a string and test each regexp against it and fail if any do not match\n\t\t\t\t\tstr = tiddler.getFieldString(fieldName);\n\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\tif(notYetFound[t].test(str)) {\n\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn notYetFound.length == 0;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(!tiddler.hasField(\"_is_skinny\")) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text || \"\";\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n}\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\tvar result = [],\n\t\toutstanding = files.length,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t};\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],$tw.utils.extend({},options,{callback: readFileCallback}));\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Give the hook a chance to process the drag\n\tif($tw.hooks.invokeHook(\"th-importing-file\",{\n\t\tfile: file,\n\t\ttype: type,\n\t\tisBinary: isBinary,\n\t\tcallback: callback\n\t}) !== true) {\n\t\tthis.readFileContent(file,type,isBinary,options.deserializer,callback);\n\t}\n};\n\n/*\nLower level utility to read the content of a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFileContent = function(file,type,isBinary,deserializer,callback) {\n\tvar self = this;\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields,{deserializer: deserializer}));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\t\t\n};\n\n/*\nAdd a new tiddler to the story river\ntitle: a title string or an array of title strings\nfromTitle: the title of the tiddler from which the navigation originated\nstoryTitle: title of story tiddler (defaults to $:/StoryList)\noptions: see story.js\n*/\nexports.addToStory = function(title,fromTitle,storyTitle,options) {\n\tvar story = new $tw.Story({wiki: this, storyTitle: storyTitle});\n\tstory.addToStory(title,fromTitle,options);\t\t\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nexports.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle,\n\t\tusername = this.getTiddlerText(\"$:/status/UserName\"),\n\t\tattribution = username ? \" by \" + username : \"\";\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\" + attribution;\n\t\tc++;\n\t} while(this.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n// Determine whether a plugin by title is dynamically loadable\nexports.doesPluginRequireReload = function(title) {\n\treturn this.doesPluginInfoRequireReload(this.getPluginInfo(title) || this.getTiddlerDataCached(title));\n};\n\n// Determine whether a plugin info structure is dynamically loadable\nexports.doesPluginInfoRequireReload = function(pluginInfo) {\n\tif(pluginInfo) {\n\t\tvar foundModule = false;\n\t\t$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {\n\t\t\tif(tiddler.type === \"application/javascript\" && $tw.utils.hop(tiddler,\"module-type\")) {\n\t\t\t\tfoundModule = true;\n\t\t\t}\n\t\t});\n\t\treturn foundModule;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n})();\n\n", "type": "application/javascript", "module-type": "wikimethod" }, "$:/palettes/Blanca": { "title": "$:/palettes/Blanca", "name": "Blanca", "description": "A clean white palette to let you focus", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n" }, "$:/palettes/Blue": { "title": "$:/palettes/Blue", "name": "Blue", "description": "A blue theme", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n" }, "$:/palettes/Muted": { "title": "$:/palettes/Muted", "name": "Muted", "description": "Bright tiddlers on a muted background", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n" }, "$:/palettes/ContrastLight": { "title": "$:/palettes/ContrastLight", "name": "Contrast (Light)", "description": "High contrast and unambiguous (light version)", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n" }, "$:/palettes/ContrastDark": { "title": "$:/palettes/ContrastDark", "name": "Contrast (Dark)", "description": "High contrast and unambiguous (dark version)", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n" }, "$:/palettes/DarkPhotos": { "title": "$:/palettes/DarkPhotos", "created": "20150402111612188", "description": "Good with dark photo backgrounds", "modified": "20150402112344080", "name": "DarkPhotos", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n" }, "$:/palettes/GruvboxDark": { "title": "$:/palettes/GruvboxDark", "name": "Gruvbox Dark", "description": "Retro groove color scheme", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "license": "https://github.com/morhetz/gruvbox", "text": "alert-background: #cc241d\nalert-border: #cc241d\nalert-highlight: #d79921\nalert-muted-foreground: #504945\nbackground: #3c3836\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #504945\nbutton-foreground: #fbf1c7\nbutton-border: transparent\ncode-background: #504945\ncode-border: #504945\ncode-foreground: #fb4934\ndiff-delete-background: #fb4934\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #b8bb26\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #fb4934\ndownload-background: #b8bb26\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #665c54\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ebdbb2\ndropdown-tab-background: #665c54\ndropzone-background: #98971a\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #d3869b\nexternal-link-foreground: #8ec07c\nforeground: #fbf1c7\nmenubar-background: #504945\nmenubar-foreground: <<colour foreground>>\nmessage-background: #83a598\nmessage-border: #83a598\nmessage-foreground: #3c3836\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #504945\nmodal-footer-background: #3c3836\nmodal-footer-border: #3c3836\nmodal-header-border: #3c3836\nmuted-foreground: #d5c4a1\nnotification-background: <<colour primary>>\nnotification-border: <<colour primary>>\npage-background: #282828\npre-background: #504945\npre-border: #504945\nprimary: #d79921\nselect-tag-background: #665c54\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #7c6f64\nsidebar-controls-foreground: #504945\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #fbf1c7\nsidebar-muted-foreground-hover: #7c6f64\nsidebar-muted-foreground: #504945\nsidebar-tab-background-selected: #bdae93\nsidebar-tab-background: #3c3836\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #bdae93\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #282828\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #458588\nsidebar-tiddler-link-foreground: #98971a\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ebdbb2\ntab-background: #665c54\ntab-border-selected: #665c54\ntab-border: #665c54\ntab-divider: #bdae93\ntab-foreground-selected: #282828\ntab-foreground: #ebdbb2\ntable-border: #7c6f64\ntable-footer-background: #665c54\ntable-header-background: #504945\ntag-background: #d3869b\ntag-foreground: #282828\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #7c6f64\ntiddler-controls-foreground-selected: #7c6f64\ntiddler-controls-foreground: #665c54\ntiddler-editor-background: #282828\ntiddler-editor-border-image: #282828\ntiddler-editor-border: #282828\ntiddler-editor-fields-even: #504945\ntiddler-editor-fields-odd: #7c6f64\ntiddler-info-background: #32302f\ntiddler-info-border: #ebdbb2\ntiddler-info-tab-background: #ebdbb2\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #7c6f64\ntiddler-title-foreground: #a89984\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #504945\nvery-muted-foreground: #bdae93\nwikilist-background: <<colour page-background>>\nwikilist-button-background: <<colour button-background>>\nwikilist-button-foreground: <<colour button-foreground>>\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour muted-foreground>>\nwikilist-button-open-hover: <<colour primary>>\nwikilist-button-open: <<colour dropzone-background>>\nwikilist-button-remove: <<colour dirty-indicator>>\nwikilist-button-remove-hover: <<colour alert-background>>\nwikilist-droplink-dragover: <<colour dropzone-background>>\nwikilist-button-reveal: <<colour sidebar-tiddler-link-foreground-hover>>\nwikilist-button-reveal-hover: <<colour message-background>>" }, "$:/palettes/Nord": { "title": "$:/palettes/Nord", "name": "Nord", "description": "An arctic, north-bluish color palette.", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "license": "MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md", "text": "alert-background: #D08770\nalert-border: #D08770\nalert-highlight: #B48EAD\nalert-muted-foreground: #4C566A\nbackground: #3b4252\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #4C566A\nbutton-foreground: #D8DEE9\nbutton-border: transparent\ncode-background: #2E3440\ncode-border: #2E3440\ncode-foreground: #BF616A\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #A3BE8C\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #BF616A\ndownload-background: #A3BE8C\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ECEFF4\ndropdown-tab-background: #4C566A\ndropzone-background: #A3BE8C\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5E81AC\nexternal-link-foreground: #8FBCBB\nforeground: #d8dee9\nmenubar-background: #2E3440\nmenubar-foreground: #d8dee9\nmessage-background: #2E3440\nmessage-border: #2E3440\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #3b4252\nmodal-footer-background: #3b4252\nmodal-footer-border: #3b4252\nmodal-header-border: #3b4252\nmuted-foreground: #4C566A\nnotification-background: <<colour primary>>\nnotification-border: #EBCB8B\npage-background: #2e3440\npre-background: #2E3440\npre-border: #2E3440\nprimary: #5E81AC\nselect-tag-background: #3b4252\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #D8DEE9\nsidebar-controls-foreground: #4C566A\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #D8DEE9\nsidebar-muted-foreground-hover: #4C566A\nsidebar-muted-foreground: #4C566A\nsidebar-tab-background-selected: #ECEFF4\nsidebar-tab-background: #4C566A\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #4C566A\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #4C566A\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #A3BE8C\nsidebar-tiddler-link-foreground: #81A1C1\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ECEFF4\ntab-background: #4C566A\ntab-border-selected: #4C566A\ntab-border: #4C566A\ntab-divider: #4C566A\ntab-foreground-selected: #4C566A\ntab-foreground: #D8DEE9\ntable-border: #4C566A\ntable-footer-background: #2e3440\ntable-header-background: #2e3440\ntag-background: #A3BE8C\ntag-foreground: #4C566A\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: \ntiddler-controls-foreground-selected: #EBCB8B\ntiddler-controls-foreground: #4C566A\ntiddler-editor-background: #2e3440\ntiddler-editor-border-image: #2e3440\ntiddler-editor-border: #2e3440\ntiddler-editor-fields-even: #2e3440\ntiddler-editor-fields-odd: #2e3440\ntiddler-info-background: #2e3440\ntiddler-info-border: #2e3440\ntiddler-info-tab-background: #2e3440\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #4C566A\ntiddler-title-foreground: #81A1C1\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #2d3038\nvery-muted-foreground: #2d3038\n" }, "$:/palettes/Rocker": { "title": "$:/palettes/Rocker", "name": "Rocker", "description": "A dark theme", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n" }, "$:/palettes/SolarFlare": { "title": "$:/palettes/SolarFlare", "name": "Solar Flare", "description": "Warm, relaxing earth colours", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n download-foreground: <<colour background>>\n dragger-foreground: <<colour background>>\n dropdown-background: <<colour background>>\n modal-background: <<colour background>>\n sidebar-foreground-shadow: <<colour background>>\n tiddler-background: <<colour background>>\n tiddler-border: <<colour background>>\n tiddler-link-background: <<colour background>>\n tab-background-selected: <<colour background>>\n dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n dragger-background: <<colour foreground>>\n tab-foreground: <<colour foreground>>\n tab-foreground-selected: <<colour tab-foreground>>\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n sidebar-tab-foreground: <<colour tab-foreground>>\n sidebar-button-foreground: <<colour foreground>>\n sidebar-controls-foreground: <<colour foreground>>\n sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n alert-muted-foreground: <<colour base01>>\n: base00\n code-foreground: <<colour base00>>\n message-foreground: <<colour base00>>\n tag-foreground: <<colour base00>>\n: base0\n sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n muted-foreground: <<colour base1>>\n blockquote-bar: <<colour muted-foreground>>\n dropdown-border: <<colour muted-foreground>>\n sidebar-muted-foreground: <<colour muted-foreground>>\n tiddler-title-foreground: <<colour muted-foreground>>\n site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n modal-footer-background: <<colour base2>>\n page-background: <<colour base2>>\n modal-backdrop: <<colour page-background>>\n notification-background: <<colour page-background>>\n code-background: <<colour page-background>>\n code-border: <<colour code-background>>\n pre-background: <<colour page-background>>\n pre-border: <<colour pre-background>>\n sidebar-tab-background-selected: <<colour page-background>>\n table-header-background: <<colour base2>>\n tag-background: <<colour base2>>\n tiddler-editor-background: <<colour base2>>\n tiddler-info-background: <<colour base2>>\n tiddler-info-tab-background: <<colour base2>>\n tab-background: <<colour base2>>\n dropdown-tab-background: <<colour tab-background>>\n: base3\n alert-background: <<colour base3>>\n message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n alert-highlight: <<colour magenta>>\n: violet\n external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n primary: <<colour blue-muted>>\n download-background: <<colour primary>>\n tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n modal-footer-border: <<colour tab-border>>\n modal-header-border: <<colour tab-border>>\n notification-border: <<colour tab-border>>\n sidebar-tab-border: <<colour tab-border>>\n tab-border-selected: <<colour tab-border>>\n sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n" }, "$:/palettes/SolarizedLight": { "title": "$:/palettes/SolarizedLight", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "description": "Precision colors for machines and people", "license": "MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE", "name": "SolarizedLight", "text": "alert-background: #eee8d5\nalert-border: #073642\nalert-highlight: #cb4b16\nalert-muted-foreground: #586e75\nbackground: #fdf6e3\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #cb4b16\nbutton-foreground: #fdf6e3\nbutton-border: transparent\ncode-background: #eee8d5\ncode-border: #93a1a1\ncode-foreground: #d33682\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #859900\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #D08770\ndownload-background: #859900\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #fdf6e3\ndropdown-tab-background: #93a1a1\ndropzone-background: #859900\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: #d33682\nexternal-link-foreground-visited: #b58900\nexternal-link-foreground: #cb4b16\nforeground: #839496\nmessage-background: #586e75\nmessage-border: #586e75\nmessage-foreground: #eee8d5\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #eee8d5\nmodal-footer-background: #eee8d5\nmodal-footer-border: #eee8d5\nmodal-header-border: #eee8d5\nmuted-foreground: #93a1a1\nnotification-background: #EBCB8B\nnotification-border: #D08770\npage-background: #eee8d5\npre-background: #eee8d5\npre-border: #93a1a1\nprimary: #2aa198\nselect-tag-background: #eee8d5\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: #eee8d5\nsidebar-controls-foreground-hover: #268bd2\nsidebar-controls-foreground: #586e75\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #839496\nsidebar-muted-foreground-hover: #657b83\nsidebar-muted-foreground: #93a1a1\nsidebar-tab-background-selected: #eee8d5\nsidebar-tab-background: #839496\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #657b83\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #839496\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #859900\nsidebar-tiddler-link-foreground: #268bd2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #dc322f\ntab-background-selected: #fdf6e3\ntab-background: #839496\ntab-border-selected: #93a1a1\ntab-border: #93a1a1\ntab-divider: #fdf6e3\ntab-foreground-selected: #839496\ntab-foreground: #eee8d5\ntable-border: #657b83\ntable-footer-background: #657b83\ntable-header-background: #93a1a1\ntag-background: #6c71c4\ntag-foreground: #eee8d5\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #b58900\ntiddler-controls-foreground-selected: #b58900\ntiddler-controls-foreground: #073642\ntiddler-editor-background: #eee8d5\ntiddler-editor-border-image: #eee8d5\ntiddler-editor-border: #eee8d5\ntiddler-editor-fields-even: #eee8d5\ntiddler-editor-fields-odd: #fdf6e3\ntiddler-info-background: #eee8d5\ntiddler-info-border: #eee8d5\ntiddler-info-tab-background: #586e75\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #586e75\ntiddler-title-foreground: #073642\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #839496\nvery-muted-foreground: #93a1a1\n" }, "$:/palettes/SpartanDay": { "title": "$:/palettes/SpartanDay", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "description": "Cold, spartan day colors", "name": "Spartan Day", "text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #FAFAFA\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: #ececec\ncode-border: #ececec\ncode-foreground: \ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #FFFFFF\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #F5F5F5\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: \nexternal-link-foreground: \nforeground: rgba(0, 0, 0, 0.87)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(0, 0, 0, 0.54)\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour very-muted-foreground>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(0, 0, 0, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #f4f4f4\npre-background: #ececec\npre-border: #ececec\nprimary: #3949ab\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #aeaeae\nsidebar-controls-foreground: #c6c6c6\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\nsite-title-foreground: rgba(0, 0, 0, 0.87)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\ntab-foreground: rgba(0, 0, 0, 0.54)\ntable-border: #d8d8d8\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: #f9f9f9\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: #e8e7e7\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\ntiddler-info-background: #F5F5F5\ntiddler-info-border: #F5F5F5\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #000000\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\n" }, "$:/palettes/SpartanNight": { "title": "$:/palettes/SpartanNight", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "description": "Dark spartan colors", "name": "Spartan Night", "text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #303030\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #424242\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #050505\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #7c318c\nexternal-link-foreground: #9e3eb3\nforeground: rgba(255, 255, 255, 0.7)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(255, 255, 255, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #212121\npre-background: #2a2a2a\npre-border: transparent\nprimary: #5656f3\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #494949\nsidebar-controls-foreground: #5d5d5d\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: rgba(255, 255, 255, 0.7)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #3a3a3a\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: rgb(55,55,55)\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #454545\ntiddler-info-border: #454545\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\n" }, "$:/palettes/Twilight": { "title": "$:/palettes/Twilight", "tags": "$:/tags/Palette", "author": "Thomas Elmiger", "type": "application/x-tiddler-dictionary", "name": "Twilight", "description": "Delightful, soft darkness.", "text": "alert-background: rgb(255, 255, 102)\nalert-border: rgb(232, 232, 125)\nalert-highlight: rgb(255, 51, 51)\nalert-muted-foreground: rgb(224, 82, 82)\nbackground: rgb(38, 38, 38)\nblockquote-bar: rgba(240, 196, 117, 0.7)\nbutton-background: rgb(63, 63, 63)\nbutton-border: rgb(127, 127, 127)\nbutton-foreground: rgb(179, 179, 179)\ncode-background: rgba(0,0,0,0.03)\ncode-border: rgba(0,0,0,0.08)\ncode-foreground: rgb(255, 94, 94)\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: rgb(255, 94, 94)\ndownload-background: #19a974\ndownload-foreground: rgb(38, 38, 38)\ndragger-background: rgb(179, 179, 179)\ndragger-foreground: rgb(38, 38, 38)\ndropdown-background: rgb(38, 38, 38)\ndropdown-border: rgb(255, 255, 255)\ndropdown-tab-background: rgba(0,0,0,.1)\ndropdown-tab-background-selected: rgba(255,255,255,1)\ndropzone-background: #9eebcf\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: rgb(179, 179, 255)\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: rgb(153, 153, 255)\nforeground: rgb(179, 179, 179)\nmessage-background: <<colour tag-foreground>>\nmessage-border: #96ccff\nmessage-foreground: <<colour tag-background>>\nmodal-backdrop: rgb(179, 179, 179)\nmodal-background: rgb(38, 38, 38)\nmodal-border: rgba(0,0,0,.5)\nmodal-footer-background: #f4f4f4\nmodal-footer-border: rgba(0,0,0,.1)\nmodal-header-border: rgba(0,0,0,.2)\nmuted-foreground: rgb(255, 255, 255)\nnotification-background: <<colour tag-foreground>>\nnotification-border: <<colour tag-background>>\npage-background: rgb(26, 26, 26)\npre-background: rgb(25, 25, 25)\npre-border: rgba(0,0,0,.2)\nprimary: rgb(255, 201, 102)\nselect-tag-background: \nselect-tag-foreground: \nsidebar-button-foreground: rgb(179, 179, 179)\nsidebar-controls-foreground: rgb(153, 153, 153)\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-foreground: rgb(141, 141, 141)\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\nsidebar-tab-background-selected: rgb(26, 26, 26)\nsidebar-tab-border: rgb(127, 127, 127)\nsidebar-tab-border-selected: rgb(127, 127, 127)\nsidebar-tab-divider: rgb(127, 127, 127)\nsidebar-tab-foreground: rgb(179, 179, 179)\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\nsite-title-foreground: rgb(255, 201, 102)\nstatic-alert-foreground: rgba(0,0,0,.3)\ntab-background: rgba(0,0,0,0.125)\ntab-background-selected: rgb(38, 38, 38)\ntab-border: rgb(255, 201, 102)\ntab-border-selected: rgb(255, 201, 102)\ntab-divider: rgb(255, 201, 102)\ntab-foreground: rgb(179, 179, 179)\ntab-foreground-selected: rgb(179, 179, 179)\ntable-border: rgba(255,255,255,.3)\ntable-footer-background: rgba(0,0,0,.4)\ntable-header-background: rgba(0,0,0,.1)\ntag-background: rgb(255, 201, 102)\ntag-foreground: rgb(25, 25, 25)\ntiddler-background: rgb(38, 38, 38)\ntiddler-border: rgba(240, 196, 117, 0.7)\ntiddler-controls-foreground: rgb(128, 128, 128)\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\ntiddler-editor-background: rgb(33, 33, 33)\ntiddler-editor-border: rgb(63, 63, 63)\ntiddler-editor-border-image: rgb(25, 25, 25)\ntiddler-editor-fields-even: rgb(33, 33, 33)\ntiddler-editor-fields-odd: rgb(28, 28, 28)\ntiddler-info-background: rgb(43, 43, 43)\ntiddler-info-border: rgb(25, 25, 25)\ntiddler-info-tab-background: rgb(43, 43, 43)\ntiddler-link-background: rgb(38, 38, 38)\ntiddler-link-foreground: rgb(204, 204, 255)\ntiddler-subtitle-foreground: rgb(255, 255, 255)\ntiddler-title-foreground: rgb(255, 192, 76)\ntoolbar-cancel-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-done-button: \ntoolbar-edit-button: \ntoolbar-info-button: \ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \nuntagged-background: rgb(255, 255, 255)\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\n" }, "$:/palettes/Vanilla": { "title": "$:/palettes/Vanilla", "name": "Vanilla", "description": "Pale and unobtrusive", "tags": "$:/tags/Palette", "type": "application/x-tiddler-dictionary", "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\nwikilist-background: #e5e5e5\nwikilist-item: #fff\nwikilist-info: #000\nwikilist-title: #666\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #aaa\nwikilist-button-open: #4fb82b\nwikilist-button-open-hover: green\nwikilist-button-reveal: #5778d8\nwikilist-button-reveal-hover: blue\nwikilist-button-remove: #d85778\nwikilist-button-remove-hover: red\nwikilist-toolbar-background: #d3d3d3\nwikilist-toolbar-foreground: #888\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #acacac\nwikilist-button-foreground: #000\n" }, "$:/core/readme": { "title": "$:/core/readme", "text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n" }, "$:/library/sjcl.js/license": { "title": "$:/library/sjcl.js/license", "type": "text/plain", "text": "SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" }, "$:/core/templates/MOTW.html": { "title": "$:/core/templates/MOTW.html", "text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)https://tiddlywiki.com --> " }, "$:/core/templates/alltiddlers.template.html": { "title": "$:/core/templates/alltiddlers.template.html", "type": "text/vnd.tiddlywiki-html", "text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n" }, "$:/core/templates/canonical-uri-external-image": { "title": "$:/core/templates/canonical-uri-external-image", "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>" }, "$:/core/templates/canonical-uri-external-raw": { "title": "$:/core/templates/canonical-uri-external-raw", "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\n\n-->\n<$view field=\"title\" format=\"doubleurlencoded\"/>" }, "$:/core/templates/canonical-uri-external-text": { "title": "$:/core/templates/canonical-uri-external-text", "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid" }, "$:/core/templates/css-tiddler": { "title": "$:/core/templates/css-tiddler", "text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`" }, "$:/core/templates/exporters/CsvFile": { "title": "$:/core/templates/exporters/CsvFile", "tags": "$:/tags/Exporter", "description": "{{$:/language/Exporters/CsvFile}}", "extension": ".csv", "text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n" }, "$:/core/templates/exporters/JsonFile": { "title": "$:/core/templates/exporters/JsonFile", "tags": "$:/tags/Exporter", "description": "{{$:/language/Exporters/JsonFile}}", "extension": ".json", "text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n" }, "$:/core/templates/exporters/StaticRiver": { "title": "$:/core/templates/exporters/StaticRiver", "tags": "$:/tags/Exporter", "description": "{{$:/language/Exporters/StaticRiver}}", "extension": ".html", "text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n" }, "$:/core/templates/exporters/StaticRiver/Content": { "title": "$:/core/templates/exporters/StaticRiver/Content", "text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>\n" }, "$:/core/templates/exporters/TidFile": { "title": "$:/core/templates/exporters/TidFile", "tags": "$:/tags/Exporter", "description": "{{$:/language/Exporters/TidFile}}", "extension": ".tid", "text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>" }, "$:/core/save/all-external-js": { "title": "$:/core/save/all-external-js", "text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5-external-js.html}}\n" }, "$:/core/templates/tiddlywiki5.js": { "title": "$:/core/templates/tiddlywiki5.js", "text": "\\rules only filteredtranscludeinline transcludeinline codeinline\n\n/*\n{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}\n`*/\n`<!--~~ Library modules ~~-->\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/plain-text-tiddler}}}\n<!--~~ Boot prefix ~~-->\n{{ $:/boot/bootprefix.js ||$:/core/templates/plain-text-tiddler}}\n<!--~~ Core plugin ~~-->\n{{$:/core/templates/tiddlywiki5.js/tiddlers}}\n<!--~~ Boot kernel ~~-->\n{{ $:/boot/boot.js ||$:/core/templates/plain-text-tiddler}}\n" }, "$:/core/templates/tiddlywiki5.js/tiddlers": { "title": "$:/core/templates/tiddlywiki5.js/tiddlers", "text": "`\n$tw.preloadTiddlerArray(`<$text text=<<jsontiddlers \"[[$:/core]]\">>/>`);\n$tw.preloadTiddlerArray([{\n\ttitle: \"$:/config/SaveWikiButton/Template\",\n\ttext: \"$:/core/save/all-external-js\"\n}]);\n`\n" }, "$:/core/templates/tiddlywiki5-external-js.html": { "title": "$:/core/templates/tiddlywiki5-external-js.html", "text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Raw markup for the bottom of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}\n</body>\n<script src=\"%24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\" onerror=\"alert('Error: Cannot load tiddlywiki.js');\"></script>\n</html>\n" }, "$:/core/templates/html-div-skinny-tiddler": { "title": "$:/core/templates/html-div-skinny-tiddler", "text": "<!--\n\nThis template is a variant of $:/core/templates/html-div-tiddler used for saving skinny tiddlers (with no text field)\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre></pre>\n</div>`\n" }, "$:/core/templates/html-div-tiddler": { "title": "$:/core/templates/html-div-tiddler", "text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n" }, "$:/core/templates/html-tiddler": { "title": "$:/core/templates/html-tiddler", "text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />" }, "$:/core/templates/javascript-tiddler": { "title": "$:/core/templates/javascript-tiddler", "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`" }, "$:/core/templates/json-tiddler": { "title": "$:/core/templates/json-tiddler", "text": "<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>" }, "$:/core/templates/module-tiddler": { "title": "$:/core/templates/module-tiddler", "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`" }, "$:/core/templates/plain-text-tiddler": { "title": "$:/core/templates/plain-text-tiddler", "text": "<$view field=\"text\" format=\"text\" />" }, "$:/core/templates/raw-static-tiddler": { "title": "$:/core/templates/raw-static-tiddler", "text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />" }, "$:/core/save/all": { "title": "$:/core/save/all", "text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n" }, "$:/core/save/empty": { "title": "$:/core/save/empty", "text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n" }, "$:/core/save/lazy-all": { "title": "$:/core/save/lazy-all", "text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n" }, "$:/core/save/lazy-images": { "title": "$:/core/save/lazy-images", "text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[is[image]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n" }, "$:/core/templates/server/static.sidebar.wikitext": { "title": "$:/core/templates/server/static.sidebar.wikitext", "text": "\\whitespace trim\n<div class=\"tc-sidebar-scrollable\" style=\"overflow: auto;\">\n<div class=\"tc-sidebar-header\">\n<h1 class=\"tc-site-title\">\n<$transclude tiddler=\"$:/SiteTitle\"/>\n</h1>\n<div class=\"tc-site-subtitle\">\n<$transclude tiddler=\"$:/SiteSubtitle\"/>\n</div>\n<h2>\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$list filter={{$:/DefaultTiddlers}}>\n<div class=\"tc-menu-list-subitem\">\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n</$list>\n</div>\n<!-- Currently disabled the recent list as it is unweildy when the responsive narrow view kicks in\n<h2>\n{{$:/language/SideBar/Recent/Caption}}\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n</div>\n</div>\n</div>\n-->\n" }, "$:/core/templates/server/static.tiddler.html": { "title": "$:/core/templates/server/static.tiddler.html", "text": "\\whitespace trim\n\\define tv-wikilink-template() $uri_encoded$\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content={{$:/core/templates/version}} />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"%24%3A%2Fcore%2Ftemplates%2Fstatic.template.css\">\n<title><$view field=\"caption\" format=\"plainwikified\"><$view field=\"title\"/></$view>: <$view tiddler=\"$:/core/wiki/title\" format=\"plainwikified\"/></title>\n</head>\n<body class=\"tc-body\">\n<$transclude tiddler=\"$:/core/templates/server/static.sidebar.wikitext\" mode=\"inline\"/>\n<section class=\"tc-story-river\">\n<div class=\"tc-tiddler-frame\">\n<$transclude tiddler=\"$:/core/templates/server/static.tiddler.wikitext\" mode=\"inline\"/>\n</div>\n</section>\n</body>\n</html>" }, "$:/core/templates/server/static.tiddler.wikitext": { "title": "$:/core/templates/server/static.tiddler.wikitext", "text": "\\whitespace trim\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<h2><$text text=<<currentTiddler>>/></h2>\n</div>\n</div>\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n<div class=\"tc-tags-wrapper\">\n<$list filter=\"[all[current]tags[]sort[title]]\">\n<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<$macrocall $name=\"tag-pill\" tag=<<currentTiddler>>/>\n</a>\n</$list>\n</div>\n<div class=\"tc-tiddler-body\">\n<$transclude mode=\"block\"/>\n</div>\n" }, "$:/core/templates/single.tiddler.window": { "title": "$:/core/templates/single.tiddler.window", "text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"tv-show-missing-links\" value={{$:/config/MissingLinks}}>\n\n<$set name=\"storyviewTitle\" value={{$:/view}}>\n\n<$set name=\"languageTitle\" value={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n" }, "$:/core/templates/split-recipe": { "title": "$:/core/templates/split-recipe", "text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n" }, "$:/core/templates/static-tiddler": { "title": "$:/core/templates/static-tiddler", "text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>" }, "$:/core/templates/static.area": { "title": "$:/core/templates/static.area", "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n<!-- ensure splash screen isn't shown when JS is disabled -->\n`<style>\n.tc-remove-when-wiki-loaded {display: none;}\n</style>`\n" }, "$:/core/templates/static.content": { "title": "$:/core/templates/static.content", "text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n" }, "$:/core/templates/static.template.css": { "title": "$:/core/templates/static.template.css", "text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n" }, "$:/core/templates/static.template.html": { "title": "$:/core/templates/static.template.html", "type": "text/vnd.tiddlywiki-html", "text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n" }, "$:/core/templates/static.tiddler.html": { "title": "$:/core/templates/static.tiddler.html", "text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`" }, "$:/core/templates/store.area.template.html": { "title": "$:/core/templates/store.area.template.html", "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n<$list filter={{{ [<skinnySaveTiddlerFilter>] }}} template=\"$:/core/templates/html-div-skinny-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>" }, "$:/core/templates/tid-tiddler": { "title": "$:/core/templates/tid-tiddler", "text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />" }, "$:/core/templates/tiddler-metadata": { "title": "$:/core/templates/tiddler-metadata", "text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>" }, "$:/core/templates/tiddlywiki5.html": { "title": "$:/core/templates/tiddlywiki5.html", "text": "<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n" }, "$:/core/templates/version": { "title": "$:/core/templates/version", "text": "<<version>>" }, "$:/core/templates/wikified-tiddler": { "title": "$:/core/templates/wikified-tiddler", "text": "<$transclude />" }, "$:/core/ui/AboveStory/tw2-plugin-check": { "title": "$:/core/ui/AboveStory/tw2-plugin-check", "tags": "$:/tags/AboveStory", "text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n" }, "$:/core/ui/Actions/new-image": { "title": "$:/core/ui/Actions/new-image", "tags": "$:/tags/Actions", "description": "create a new image tiddler", "text": "\\define get-type()\nimage/$(imageType)$\n\\end\n<$vars imageType={{$:/config/NewImageType}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=<<get-type>> tags={{$:/config/NewTiddler/Tags!!tags}}/>\n</$vars>\n" }, "$:/core/ui/Actions/new-journal": { "title": "$:/core/ui/Actions/new-journal", "tags": "$:/tags/Actions", "description": "create a new journal tiddler", "text": "<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$reveal type=\"nomatch\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalTags>> text={{{ [<journalTitle>get[]] }}}/>\n</$reveal>\n<$reveal type=\"match\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalTags>> text=<<journalText>>/>\n</$reveal>\n</$wikify>\n</$vars>\n" }, "$:/core/ui/Actions/new-tiddler": { "title": "$:/core/ui/Actions/new-tiddler", "tags": "$:/tags/Actions", "description": "create a new empty tiddler", "text": "<$action-sendmessage $message=\"tm-new-tiddler\" tags={{$:/config/NewTiddler/Tags!!tags}}/>\n" }, "$:/core/ui/AdvancedSearch/Filter": { "title": "$:/core/ui/AdvancedSearch/Filter", "tags": "$:/tags/AdvancedSearch", "caption": "{{$:/language/Search/Filter/Caption}}", "text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n" }, "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": { "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear", "tags": "$:/tags/AdvancedSearch/FilterButton", "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n" }, "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": { "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete", "tags": "$:/tags/AdvancedSearch/FilterButton", "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n" }, "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": { "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown", "tags": "$:/tags/AdvancedSearch/FilterButton", "text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n" }, "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": { "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export", "tags": "$:/tags/AdvancedSearch/FilterButton", "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n" }, "$:/core/ui/AdvancedSearch/Shadows": { "title": "$:/core/ui/AdvancedSearch/Shadows", "tags": "$:/tags/AdvancedSearch", "caption": "{{$:/language/Search/Shadows/Caption}}", "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n" }, "$:/core/ui/AdvancedSearch/Standard": { "title": "$:/core/ui/AdvancedSearch/Standard", "tags": "$:/tags/AdvancedSearch", "caption": "{{$:/language/Search/Standard/Caption}}", "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$list>\n</$reveal>\n" }, "$:/core/ui/AdvancedSearch/System": { "title": "$:/core/ui/AdvancedSearch/System", "tags": "$:/tags/AdvancedSearch", "caption": "{{$:/language/Search/System/Caption}}", "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}}/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n" }, "$:/AdvancedSearch": { "title": "$:/AdvancedSearch", "icon": "$:/core/images/advanced-search-button", "color": "#bbb", "text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n" }, "$:/core/ui/AlertTemplate": { "title": "$:/core/ui/AlertTemplate", "text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/cancel-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$wikify name=\"format\" text=<<lingo Tiddler/DateFormat>>>\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=<<format>>/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</$wikify>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n" }, "$:/core/ui/BinaryWarning": { "title": "$:/core/ui/BinaryWarning", "text": "\\define lingo-base() $:/language/BinaryWarning/\n<<lingo Prompt>>\n" }, "$:/core/ui/Components/plugin-info": { "title": "$:/core/ui/Components/plugin-info", "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1>\n''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'': <$view field=\"description\"><$view field=\"title\"/></$view> $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n</$set>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n" }, "$:/core/ui/Components/tag-link": { "title": "$:/core/ui/Components/tag-link", "text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>" }, "$:/core/ui/ControlPanel/Advanced": { "title": "$:/core/ui/ControlPanel/Advanced", "tags": "$:/tags/ControlPanel/Info", "caption": "{{$:/language/ControlPanel/Advanced/Caption}}", "text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n" }, "$:/core/ui/ControlPanel/Appearance": { "title": "$:/core/ui/ControlPanel/Appearance", "tags": "$:/tags/ControlPanel", "caption": "{{$:/language/ControlPanel/Appearance/Caption}}", "text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n" }, "$:/core/ui/ControlPanel/Basics": { "title": "$:/core/ui/ControlPanel/Basics", "tags": "$:/tags/ControlPanel/Info", "caption": "{{$:/language/ControlPanel/Basics/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/language/DefaultNewTiddlerTitle\"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/language/DefaultNewTiddlerTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" tag=\"textarea\" class=\"tc-edit-texteditor\" default=\"\"/> |\n|<$link to=\"$:/config/NewTiddler/Tags\"><<lingo NewTiddler/Tags/Prompt>></$link> |<$list filter=\"[[$:/config/NewTiddler/Tags]]\" template=\"$:/core/ui/EditTemplate/tags\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$list filter=\"[[$:/config/NewJournal/Tags]]\" template=\"$:/core/ui/EditTemplate/tags\"/> |\n|<$link to=\"$:/config/AutoFocus\"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n" }, "$:/core/ui/ControlPanel/EditorTypes": { "title": "$:/core/ui/ControlPanel/EditorTypes", "tags": "$:/tags/ControlPanel/Advanced", "caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n" }, "$:/core/ui/ControlPanel/Info": { "title": "$:/core/ui/ControlPanel/Info", "tags": "$:/tags/ControlPanel", "caption": "{{$:/language/ControlPanel/Info/Caption}}", "text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n" }, "$:/core/ui/ControlPanel/KeyboardShortcuts": { "title": "$:/core/ui/ControlPanel/KeyboardShortcuts", "tags": "$:/tags/ControlPanel", "caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\"true\" style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n<small>{{$:/core/images/close-button}}</small>\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[[$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>match[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n" }, "$:/core/ui/ControlPanel/LoadedModules": { "title": "$:/core/ui/ControlPanel/LoadedModules", "tags": "$:/tags/ControlPanel/Advanced", "caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n" }, "$:/core/ui/ControlPanel/Modals/AddPlugins": { "title": "$:/core/ui/ControlPanel/Modals/AddPlugins", "subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}", "text": "\\define install-plugin-actions()\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$set name=\"url\" value={{!!url}}>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]\" variable=\"dependency\">\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url=<<url>> title=<<dependency>>/>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define install-plugin-button()\n<div>\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$set name=\"reinstall-type\" value={{{ [<libraryVersion>compare:version:eq<installedVersion>then[tc-reinstall]] [<libraryVersion>compare:version:gt<installedVersion>then[tc-reinstall-upgrade]] [<libraryVersion>compare:version:lt<installedVersion>then[tc-reinstall-downgrade]] }}}>\n<$button actions=<<install-plugin-actions>> class={{{ [<assetInfo>get[original-title]has[version]then<reinstall-type>] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\n{{$:/core/images/download-button}}\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\">\n<$list filter=\"[<libraryVersion>compare:version:gt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[<libraryVersion>compare:version:lt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\">\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\n</$list>\n\"\"\">\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\n</$list>\n</$list>\n</$button>\n<div>\n</div>\n<$reveal stateTitle=<<assetInfo>> stateField=\"requires-reload\" type=\"match\" text=\"yes\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>\n</$set>\n</$set>\n</$set>\n</div>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1><strong><$text text={{{ [<assetInfo>get[name]] ~[<assetInfo>get[original-title]split[/]last[1]] }}}/></strong>: <$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-buttons\">\n<<install-plugin-button>>\n</div>\n</div>\n<$set name=\"original-title\" value={{{ [<assetInfo>get[original-title]] }}}>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]] ~[<assetInfo>get[original-title]!is[tiddler]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]!is[tiddler]]\">\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\n</$list>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]\" variable=\"ignore\">\n<div>\n{{$:/language/ControlPanel/Plugins/AlsoRequires}}\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]\" variable=\"dependency\">\n<$text text=<<dependency>>/>\n</$list>\n</div>\n</$list>\n</$set>\n</div>\n</$list>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-sub-plugins\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>sort[title]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n</$list>\n</div>\n</$reveal>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<$reveal type=\"nomatch\" text=\"yes\" state=<<popup-state>> tag=\"div\" class=\"tc-plugin-info-sub-plugin-indicator\">\n<$wikify name=\"count\" text=\"\"\"<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>]\"/>\"\"\">\n<$button class=\"tc-btn-invisible\" set=<<popup-state>> setTo=\"yes\">\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\n</$button>\n</$wikify>\n</$reveal>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[title]]\" variable=\"assetInfo\">\n<$list filter=\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[<assetInfo>!has[parent-plugin]]\" variable=\"ignore\"><!-- Hide sub-plugins if we're not searching -->\n<<display-plugin-info \"$type$\">>\n</$list>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<$set name=\"transclusion\" value=<<connectionTiddler>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Updates]] [[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$set>\n\n</$list>\n\\end\n\n\\define close-library-button()\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n<div class=\"tc-tab-set\">\n<$set name=\"defaultTab\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\n<div class=\"tc-tab-buttons\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$button set=<<qualify \"$:/state/addplugins/tab\">> setTo=<<currentTiddler>> default=<<defaultTab>> selectedClass=\"tc-tab-selected\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\"/>\n</$set>\n</$button>\n</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$reveal type=\"match\" state=<<qualify \"$:/state/addplugins/tab\">> text=<<currentTiddler>> default=<<defaultTab>>>\n<h2><$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link></h2>\n//<$view field=\"url\"/>//\n<$transclude mode=\"block\"/>\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n<<display-server-connection>>\n</$reveal>\n</$list>\n</div>\n</$set>\n</div>\n\\end\n\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<div>\n<<plugin-library-listing>>\n</div>\n" }, "$:/core/ui/ControlPanel/Palette": { "title": "$:/core/ui/ControlPanel/Palette", "tags": "$:/tags/ControlPanel/Appearance", "caption": "{{$:/language/ControlPanel/Palette/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/PaletteManager}}\n\n</$reveal>\n\n" }, "$:/core/ui/ControlPanel/Parsing": { "title": "$:/core/ui/ControlPanel/Parsing", "tags": "$:/tags/ControlPanel/Advanced", "caption": "{{$:/language/ControlPanel/Parsing/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<<rule>>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>" }, "$:/core/ui/ControlPanel/Plugins/Add/Languages": { "title": "$:/core/ui/ControlPanel/Plugins/Add/Languages", "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)", "text": "<<display-server-assets language>>\n" }, "$:/core/ui/ControlPanel/Plugins/Add/Plugins": { "title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins", "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)", "text": "<<display-server-assets plugin>>\n" }, "$:/core/ui/ControlPanel/Plugins/Add/Themes": { "title": "$:/core/ui/ControlPanel/Plugins/Add/Themes", "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)", "text": "<<display-server-assets theme>>\n" }, "$:/core/ui/ControlPanel/Plugins/Add/Updates": { "title": "$:/core/ui/ControlPanel/Plugins/Add/Updates", "caption": "<$importvariables filter=\"$:/core/ui/ControlPanel/Plugins/Add/Updates\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<<update-count>>)</$importvariables>", "text": "\\define each-updateable-plugin(body)\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\" variable=\"assetInfo\">\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$list filter=\"[<assetInfo>get[original-title]has[version]!version<libraryVersion>]\" variable=\"ignore\">\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$list filter=\"[<installedversion>!match<libraryVersion>]\" variable=\"ignore\">\n$body$\n</$list>\n</$set>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define update-all-actions()\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<<install-plugin-actions>>\n\"\"\"/>\n\\end\n\n\\define update-count()\n<$wikify name=\"count-filter\" text=<<each-updateable-plugin \"[[<$text text=<<assetInfo>>/>]]\">>><$count filter=<<count-filter>>/></$wikify>\n\\end\n\n<$button actions=<<update-all-actions>> class=\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\">\n{{$:/core/images/download-button}} {{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\n</$button>\n\n<div class=\"tc-plugin-library-listing\">\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<$macrocall $name=\"display-plugin-info\" type={{{ [<assetInfo>get[original-plugin-type]] }}}/>\n\"\"\"/>\n</div>\n" }, "$:/core/ui/ControlPanel/Plugins/AddPlugins": { "title": "$:/core/ui/ControlPanel/Plugins/AddPlugins", "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green tc-primary-btn\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n" }, "$:/core/ui/ControlPanel/Plugins/Installed/Languages": { "title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages", "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)", "text": "<<plugin-table language>>\n" }, "$:/core/ui/ControlPanel/Plugins/Installed/Plugins": { "title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins", "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)", "text": "<<plugin-table plugin>>\n" }, "$:/core/ui/ControlPanel/Plugins/Installed/Themes": { "title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes", "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)", "text": "<<plugin-table theme>>\n" }, "$:/core/ui/ControlPanel/Plugins": { "title": "$:/core/ui/ControlPanel/Plugins", "tags": "$:/tags/ControlPanel", "caption": "{{$:/language/ControlPanel/Plugins/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[title]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n" }, "$:/core/ui/ControlPanel/Saving/DownloadSaver": { "title": "$:/core/ui/ControlPanel/Saving/DownloadSaver", "tags": "$:/tags/ControlPanel/Saving", "caption": "{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<<lingo Hint>>\n\n!! <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<lingo AutoSave/Description>> </$checkbox>\n" }, "$:/core/ui/ControlPanel/Saving/General": { "title": "$:/core/ui/ControlPanel/Saving/General", "tags": "$:/tags/ControlPanel/Saving", "caption": "{{$:/language/ControlPanel/Saving/General/Caption}}", "list-before": "", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!! <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo AutoSave/Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo AutoSave/Disabled/Description>> </$radio>\n" }, "$:/core/ui/ControlPanel/Saving/GitHub": { "title": "$:/core/ui/ControlPanel/Saving/GitHub", "tags": "$:/tags/ControlPanel/Saving", "caption": "{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitHub\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitHub/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitHub/Password>> |<$password name=\"github\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitHub/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitHub/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitHub/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitHub/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitHub/ServerURL\" default=\"https://api.github.com\" tag=\"input\"/> |" }, "$:/core/ui/ControlPanel/Saving/GitLab": { "title": "$:/core/ui/ControlPanel/Saving/GitLab", "tags": "$:/tags/ControlPanel/Saving", "caption": "{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitLab\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitLab/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitLab/Password>> |<$password name=\"gitlab\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitLab/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitLab/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitLab/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitLab/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitLab/ServerURL\" default=\"https://gitlab.com/api/v4\" tag=\"input\"/> |" }, "$:/core/ui/ControlPanel/Saving/TiddlySpot": { "title": "$:/core/ui/ControlPanel/Saving/TiddlySpot", "tags": "$:/tags/ControlPanel/Saving", "caption": "{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<backupURL>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n|<<lingo Backups>> |<<backupLink>> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>" }, "$:/core/ui/ControlPanel/Saving/Gitea": { "title": "$:/core/ui/ControlPanel/Saving/Gitea", "tags": "$:/tags/ControlPanel/Saving", "caption": "{{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~Gitea\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/Gitea/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo Gitea/Password>> |<$password name=\"Gitea\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/Gitea/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/Gitea/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/Gitea/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/Gitea/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/Gitea/ServerURL\" default=\"https://gitea/api/v1\" tag=\"input\"/> |\n" }, "$:/core/ui/ControlPanel/Saving": { "title": "$:/core/ui/ControlPanel/Saving", "tags": "$:/tags/ControlPanel", "caption": "{{$:/language/ControlPanel/Saving/Caption}}", "text": "{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Saving/General\">>\n</div>\n" }, "$:/core/buttonstyles/Borderless": { "title": "$:/core/buttonstyles/Borderless", "tags": "$:/tags/ToolbarButtonStyle", "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}", "text": "tc-btn-invisible" }, "$:/core/buttonstyles/Boxed": { "title": "$:/core/buttonstyles/Boxed", "tags": "$:/tags/ToolbarButtonStyle", "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}", "text": "tc-btn-boxed" }, "$:/core/buttonstyles/Rounded": { "title": "$:/core/buttonstyles/Rounded", "tags": "$:/tags/ToolbarButtonStyle", "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}", "text": "tc-btn-rounded" }, "$:/core/ui/ControlPanel/Settings/CamelCase": { "title": "$:/core/ui/ControlPanel/Settings/CamelCase", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n" }, "$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab": { "title": "$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab", "caption": "{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}", "tags": "$:/tags/ControlPanel/Settings", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\n\n<$link to=\"$:/config/DefaultMoreSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultMoreSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n" }, "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": { "title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab", "caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}", "tags": "$:/tags/ControlPanel/Settings", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n" }, "$:/core/ui/ControlPanel/Settings/EditorToolbar": { "title": "$:/core/ui/ControlPanel/Settings/EditorToolbar", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n" }, "$:/core/ui/ControlPanel/Settings/InfoPanelMode": { "title": "$:/core/ui/ControlPanel/Settings/InfoPanelMode", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n<$link to=\"$:/config/TiddlerInfo/Mode\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\"> <<lingo Popup/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\"> <<lingo Sticky/Description>> </$radio>\n" }, "$:/core/ui/ControlPanel/Settings/LinkToBehaviour": { "title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n <option value=\"above\"><<lingo \"OpenAbove\">></option>\n <option value=\"below\"><<lingo \"OpenBelow\">></option>\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n" }, "$:/core/ui/ControlPanel/Settings/MissingLinks": { "title": "$:/core/ui/ControlPanel/Settings/MissingLinks", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n" }, "$:/core/ui/ControlPanel/Settings/NavigationAddressBar": { "title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n" }, "$:/core/ui/ControlPanel/Settings/NavigationHistory": { "title": "$:/core/ui/ControlPanel/Settings/NavigationHistory", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n" }, "$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode": { "title": "$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/CopyToClipboard\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/CopyToClipboard\"><<lingo CopyToClipboard/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\"><<lingo UpdateAddressBar/Description>></$link> </$checkbox>\n" }, "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": { "title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n" }, "$:/core/ui/ControlPanel/Settings/TitleLinks": { "title": "$:/core/ui/ControlPanel/Settings/TitleLinks", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n" }, "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": { "title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n" }, "$:/core/ui/ControlPanel/Settings/ToolbarButtons": { "title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons", "tags": "$:/tags/ControlPanel/Settings", "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n" }, "$:/core/ui/ControlPanel/Settings": { "title": "$:/core/ui/ControlPanel/Settings", "tags": "$:/tags/ControlPanel", "caption": "{{$:/language/ControlPanel/Settings/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n" }, "$:/core/ui/ControlPanel/StoryView": { "title": "$:/core/ui/ControlPanel/StoryView", "tags": "$:/tags/ControlPanel/Appearance", "caption": "{{$:/language/ControlPanel/StoryView/Caption}}", "text": "{{$:/snippets/viewswitcher}}\n" }, "$:/core/ui/ControlPanel/Stylesheets": { "title": "$:/core/ui/ControlPanel/Stylesheets", "tags": "$:/tags/ControlPanel/Advanced", "caption": "{{$:/language/ControlPanel/Stylesheets/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo Stylesheets/Hint>>\n\n{{$:/snippets/peek-stylesheets}}\n" }, "$:/core/ui/ControlPanel/Theme": { "title": "$:/core/ui/ControlPanel/Theme", "tags": "$:/tags/ControlPanel/Appearance", "caption": "{{$:/language/ControlPanel/Theme/Caption}}", "text": "{{$:/snippets/themeswitcher}}\n" }, "$:/core/ui/ControlPanel/TiddlerFields": { "title": "$:/core/ui/ControlPanel/TiddlerFields", "tags": "$:/tags/ControlPanel/Advanced", "caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}" }, "$:/core/ui/ControlPanel/Toolbars/EditToolbar": { "title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar", "tags": "$:/tags/ControlPanel/Toolbars", "caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>" }, "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate": { "title": "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate", "text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span> <$transclude field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n" }, "$:/core/ui/ControlPanel/Toolbars/EditorToolbar": { "title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar", "tags": "$:/tags/ControlPanel/Toolbars", "caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n" }, "$:/core/ui/ControlPanel/Toolbars/ItemTemplate": { "title": "$:/core/ui/ControlPanel/Toolbars/ItemTemplate", "text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"> <$transclude field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude field=\"description\"/></i></span>\n</$draggable>\n" }, "$:/core/ui/ControlPanel/Toolbars/PageControls": { "title": "$:/core/ui/ControlPanel/Toolbars/PageControls", "tags": "$:/tags/ControlPanel/Toolbars", "caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n" }, "$:/core/ui/ControlPanel/Toolbars/ViewToolbar": { "title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar", "tags": "$:/tags/ControlPanel/Toolbars", "caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n" }, "$:/core/ui/ControlPanel/Toolbars": { "title": "$:/core/ui/ControlPanel/Toolbars", "tags": "$:/tags/ControlPanel/Appearance", "caption": "{{$:/language/ControlPanel/Toolbars/Caption}}", "text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n" }, "$:/ControlPanel": { "title": "$:/ControlPanel", "icon": "$:/core/images/options-button", "color": "#bbb", "text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n" }, "$:/core/ui/DefaultSearchResultList": { "title": "$:/core/ui/DefaultSearchResultList", "tags": "$:/tags/SearchResults", "caption": "{{$:/language/Search/DefaultResults/Caption}}", "text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n" }, "$:/core/ui/EditTemplate/body/preview/diffs-current": { "title": "$:/core/ui/EditTemplate/body/preview/diffs-current", "tags": "$:/tags/EditPreview", "caption": "differences from current", "list-after": "$:/core/ui/EditTemplate/body/preview/output", "text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n" }, "$:/core/ui/EditTemplate/body/preview/diffs-shadow": { "title": "$:/core/ui/EditTemplate/body/preview/diffs-shadow", "tags": "$:/tags/EditPreview", "caption": "differences from shadow (if any)", "list-after": "$:/core/ui/EditTemplate/body/preview/output", "text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n" }, "$:/core/ui/EditTemplate/body/preview/output": { "title": "$:/core/ui/EditTemplate/body/preview/output", "tags": "$:/tags/EditPreview", "caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}", "text": "\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n" }, "$:/state/showeditpreview": { "title": "$:/state/showeditpreview", "text": "no" }, "$:/core/ui/EditTemplate/body/editor": { "title": "$:/core/ui/EditTemplate/body/editor", "text": "<$edit\n\n field=\"text\"\n class=\"tc-edit-texteditor tc-edit-texteditor-body\"\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n tabindex={{$:/config/EditTabIndex}}\n focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\n\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n" }, "$:/core/ui/EditTemplate/body/toolbar/button": { "title": "$:/core/ui/EditTemplate/body/toolbar/button", "text": "\\define toolbar-button-icon()\n<$list\n\n filter=\"[all[current]!has[custom-icon]]\"\n variable=\"no-custom-icon\"\n\n><$transclude\n\n tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n filter={{!!condition}}\n variable=\"list-condition\"\n\n><$wikify\n\n name=\"tooltip-text\"\n text=<<toolbar-button-tooltip>>\n mode=\"inline\"\n output=\"text\"\n\n><$list\n\n filter=\"[all[current]!has[dropdown]]\"\n variable=\"no-dropdown\"\n\n><$button\n\n class=\"tc-btn-invisible $(buttonClasses)$\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$list><$list\n\n filter=\"[all[current]has[dropdown]]\"\n variable=\"dropdown\"\n\n><$set\n\n name=\"dropdown-state\"\n value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n popup=<<dropdown-state>>\n class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n selectedClass=\"tc-selected\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button><$reveal\n\n state=<<dropdown-state>>\n type=\"popup\"\n position=\"below\"\n animate=\"yes\"\n tag=\"span\"\n\n><div\n\n class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n tiddler={{!!dropdown}}\n mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n name=\"buttonClasses\"\n value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>" }, "$:/core/ui/EditTemplate/body": { "title": "$:/core/ui/EditTemplate/body", "tags": "$:/tags/EditTemplate", "text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[all[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" tabindex={{$:/config/EditTabIndex}}></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[all[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n" }, "$:/core/ui/EditTemplate/controls": { "title": "$:/core/ui/EditTemplate/controls", "tags": "$:/tags/EditTemplate", "text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n" }, "$:/core/ui/EditTemplate/fields": { "title": "$:/core/ui/EditTemplate/fields", "tags": "$:/tags/EditTemplate", "text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define current-tiddler-new-field-selector()\n[data-tiddler-title=\"$(currentTiddlerCSSescaped)$\"] .tc-edit-field-add-name input\n\\end\n\n\\define new-field-actions()\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/>\n\\end\n\n\\define new-field()\n<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button tooltip=<<lingo Fields/Add/Button/Hint>>>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\\whitespace trim\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\" storyview=\"pop\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>> \n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=<<newFieldNameTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}}/>\n</span> \n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> \n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=<<newFieldNameTiddler>>>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$set name=\"newFieldName\" value={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$set>\n</$linkcatcher>\n</$set>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}>\n<$keyboard key=\"((add-field))\" actions=<<new-field-actions>>>\n<$edit-text tiddler=<<newFieldValueTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\" tabindex={{$:/config/EditTabIndex}}/>\n</$keyboard>\n</$set>\n</span> \n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n" }, "$:/core/ui/EditTemplate/shadow": { "title": "$:/core/ui/EditTemplate/shadow", "tags": "$:/tags/EditTemplate", "text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>" }, "$:/core/ui/EditTemplate/tags": { "title": "$:/core/ui/EditTemplate/tags", "tags": "$:/tags/EditTemplate", "text": "\\whitespace trim\n\n\\define lingo-base() $:/language/EditTemplate/\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB,icon)\n\\whitespace trim\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label tc-tag-list-item\">\n<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">{{$:/core/images/close-button}}</$button>\n</span>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette,icon)\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon=\"\"\"$icon$\"\"\"/>\n\\end\n\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}} icon={{!!icon}}/>\n</$list>\n<$set name=\"tabIndex\" value={{$:/config/EditTabIndex}}>\n<$macrocall $name=\"tag-picker\"/>\n</$set>\n</$fieldmangler>\n</div>\n" }, "$:/core/ui/EditTemplate/title": { "title": "$:/core/ui/EditTemplate/title", "tags": "$:/tags/EditTemplate", "text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}}/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[title<fromTitle>backlinks[]limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$tiddler tiddler=<<fromTitle>> >\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo/References\"/>\n</$tiddler>\n</$reveal>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n" }, "$:/core/ui/EditTemplate/type": { "title": "$:/core/ui/EditTemplate/type", "tags": "$:/tags/EditTemplate", "text": "\\define lingo-base() $:/language/EditTemplate/\n\\whitespace trim\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}}/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</$set>\n</div>\n" }, "$:/core/ui/EditTemplate": { "title": "$:/core/ui/EditTemplate", "text": "\\define save-tiddler-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>\n<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}>\n<$fieldmangler>\n<$vars storyTiddler=<<currentTiddler>> newTagNameTiddler=<<qualify \"$:/temp/NewTagName\">> newFieldNameTiddler=<<qualify \"$:/temp/NewFieldName\">> newFieldValueTiddler=<<qualify \"$:/temp/NewFieldValue\">>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" actions=<<save-tiddler-actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>>/>\n</$set>\n</$list>\n</$keyboard>\n</$keyboard>\n</$vars>\n</$fieldmangler>\n</div>\n" }, "$:/core/ui/Buttons/cancel": { "title": "$:/core/ui/Buttons/cancel", "tags": "$:/tags/EditToolbar", "caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}", "description": "{{$:/language/Buttons/Cancel/Hint}}", "text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/delete": { "title": "$:/core/ui/Buttons/delete", "tags": "$:/tags/EditToolbar $:/tags/ViewToolbar", "caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}", "description": "{{$:/language/Buttons/Delete/Hint}}", "text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/save": { "title": "$:/core/ui/Buttons/save", "tags": "$:/tags/EditToolbar", "caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}", "description": "{{$:/language/Buttons/Save/Hint}}", "text": "\\define save-tiddler-button()\n<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<<save-tiddler-actions>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button></$fieldmangler>\n\\end\n<<save-tiddler-button>>\n" }, "$:/core/ui/EditorToolbar/bold": { "title": "$:/core/ui/EditorToolbar/bold", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/bold", "caption": "{{$:/language/Buttons/Bold/Caption}}", "description": "{{$:/language/Buttons/Bold/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((bold))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n" }, "$:/core/ui/EditorToolbar/clear-dropdown": { "title": "$:/core/ui/EditorToolbar/clear-dropdown", "text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n" }, "$:/core/ui/EditorToolbar/clear": { "title": "$:/core/ui/EditorToolbar/clear", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/erase", "caption": "{{$:/language/Buttons/Clear/Caption}}", "description": "{{$:/language/Buttons/Clear/Hint}}", "condition": "[<targetTiddler>is[image]]", "dropdown": "$:/core/ui/EditorToolbar/clear-dropdown", "text": "" }, "$:/core/ui/EditorToolbar/editor-height-dropdown": { "title": "$:/core/ui/EditorToolbar/editor-height-dropdown", "text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n" }, "$:/core/ui/EditorToolbar/editor-height": { "title": "$:/core/ui/EditorToolbar/editor-height", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/fixed-height", "custom-icon": "yes", "caption": "{{$:/language/Buttons/EditorHeight/Caption}}", "description": "{{$:/language/Buttons/EditorHeight/Hint}}", "condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] +[first[]]", "dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown", "text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n" }, "$:/core/ui/EditorToolbar/excise-dropdown": { "title": "$:/core/ui/EditorToolbar/excise-dropdown", "text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n" }, "$:/core/ui/EditorToolbar/excise": { "title": "$:/core/ui/EditorToolbar/excise", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/excise", "caption": "{{$:/language/Buttons/Excise/Caption}}", "description": "{{$:/language/Buttons/Excise/Hint}}", "condition": "[<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] +[first[]]", "shortcuts": "((excise))", "dropdown": "$:/core/ui/EditorToolbar/excise-dropdown", "text": "" }, "$:/core/ui/EditorToolbar/heading-1": { "title": "$:/core/ui/EditorToolbar/heading-1", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/heading-1", "caption": "{{$:/language/Buttons/Heading1/Caption}}", "description": "{{$:/language/Buttons/Heading1/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "button-classes": "tc-text-editor-toolbar-item-start-group", "shortcuts": "((heading-1))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n" }, "$:/core/ui/EditorToolbar/heading-2": { "title": "$:/core/ui/EditorToolbar/heading-2", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/heading-2", "caption": "{{$:/language/Buttons/Heading2/Caption}}", "description": "{{$:/language/Buttons/Heading2/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((heading-2))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n" }, "$:/core/ui/EditorToolbar/heading-3": { "title": "$:/core/ui/EditorToolbar/heading-3", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/heading-3", "caption": "{{$:/language/Buttons/Heading3/Caption}}", "description": "{{$:/language/Buttons/Heading3/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((heading-3))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n" }, "$:/core/ui/EditorToolbar/heading-4": { "title": "$:/core/ui/EditorToolbar/heading-4", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/heading-4", "caption": "{{$:/language/Buttons/Heading4/Caption}}", "description": "{{$:/language/Buttons/Heading4/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((heading-4))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n" }, "$:/core/ui/EditorToolbar/heading-5": { "title": "$:/core/ui/EditorToolbar/heading-5", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/heading-5", "caption": "{{$:/language/Buttons/Heading5/Caption}}", "description": "{{$:/language/Buttons/Heading5/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((heading-5))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n" }, "$:/core/ui/EditorToolbar/heading-6": { "title": "$:/core/ui/EditorToolbar/heading-6", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/heading-6", "caption": "{{$:/language/Buttons/Heading6/Caption}}", "description": "{{$:/language/Buttons/Heading6/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((heading-6))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n" }, "$:/core/ui/EditorToolbar/italic": { "title": "$:/core/ui/EditorToolbar/italic", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/italic", "caption": "{{$:/language/Buttons/Italic/Caption}}", "description": "{{$:/language/Buttons/Italic/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((italic))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n" }, "$:/core/ui/EditorToolbar/line-width-dropdown": { "title": "$:/core/ui/EditorToolbar/line-width-dropdown", "text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n" }, "$:/core/ui/EditorToolbar/line-width": { "title": "$:/core/ui/EditorToolbar/line-width", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/line-width", "caption": "{{$:/language/Buttons/LineWidth/Caption}}", "description": "{{$:/language/Buttons/LineWidth/Hint}}", "condition": "[<targetTiddler>is[image]]", "dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown", "text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>" }, "$:/core/ui/EditorToolbar/link-dropdown": { "title": "$:/core/ui/EditorToolbar/link-dropdown", "text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $tiddler=<<dropdown-state>> />\n<$action-deletetiddler $tiddler=<<searchTiddler>> />\n<$action-deletetiddler $tiddler=<<linkTiddler>> />\n\\end\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" >\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"ENTER\" actions=<<add-link-actions>>>\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$keyboard>\n</$vars>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>" }, "$:/core/ui/EditorToolbar/link": { "title": "$:/core/ui/EditorToolbar/link", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/link", "caption": "{{$:/language/Buttons/Link/Caption}}", "description": "{{$:/language/Buttons/Link/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "button-classes": "tc-text-editor-toolbar-item-start-group", "shortcuts": "((link))", "dropdown": "$:/core/ui/EditorToolbar/link-dropdown", "text": "" }, "$:/core/ui/EditorToolbar/linkify": { "title": "$:/core/ui/EditorToolbar/linkify", "caption": "{{$:/language/Buttons/Linkify/Caption}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "description": "{{$:/language/Buttons/Linkify/Hint}}", "icon": "$:/core/images/linkify", "list-before": "$:/core/ui/EditorToolbar/mono-block", "shortcuts": "((linkify))", "tags": "$:/tags/EditorToolbar", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"]]\"\n/>\n" }, "$:/core/ui/EditorToolbar/list-bullet": { "title": "$:/core/ui/EditorToolbar/list-bullet", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/list-bullet", "caption": "{{$:/language/Buttons/ListBullet/Caption}}", "description": "{{$:/language/Buttons/ListBullet/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((list-bullet))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n" }, "$:/core/ui/EditorToolbar/list-number": { "title": "$:/core/ui/EditorToolbar/list-number", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/list-number", "caption": "{{$:/language/Buttons/ListNumber/Caption}}", "description": "{{$:/language/Buttons/ListNumber/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((list-number))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n" }, "$:/core/ui/EditorToolbar/mono-block": { "title": "$:/core/ui/EditorToolbar/mono-block", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/mono-block", "caption": "{{$:/language/Buttons/MonoBlock/Caption}}", "description": "{{$:/language/Buttons/MonoBlock/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "button-classes": "tc-text-editor-toolbar-item-start-group", "shortcuts": "((mono-block))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n" }, "$:/core/ui/EditorToolbar/mono-line": { "title": "$:/core/ui/EditorToolbar/mono-line", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/mono-line", "caption": "{{$:/language/Buttons/MonoLine/Caption}}", "description": "{{$:/language/Buttons/MonoLine/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((mono-line))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n" }, "$:/core/ui/EditorToolbar/more-dropdown": { "title": "$:/core/ui/EditorToolbar/more-dropdown", "text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n" }, "$:/core/ui/EditorToolbar/more": { "title": "$:/core/ui/EditorToolbar/more", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/down-arrow", "caption": "{{$:/language/Buttons/More/Caption}}", "description": "{{$:/language/Buttons/More/Hint}}", "condition": "[<targetTiddler>]", "dropdown": "$:/core/ui/EditorToolbar/more-dropdown", "text": "" }, "$:/core/ui/EditorToolbar/opacity-dropdown": { "title": "$:/core/ui/EditorToolbar/opacity-dropdown", "text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n" }, "$:/core/ui/EditorToolbar/opacity": { "title": "$:/core/ui/EditorToolbar/opacity", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/opacity", "caption": "{{$:/language/Buttons/Opacity/Caption}}", "description": "{{$:/language/Buttons/Opacity/Hint}}", "condition": "[<targetTiddler>is[image]]", "dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown", "text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n" }, "$:/core/ui/EditorToolbar/paint-dropdown": { "title": "$:/core/ui/EditorToolbar/paint-dropdown", "text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n" }, "$:/core/ui/EditorToolbar/paint": { "title": "$:/core/ui/EditorToolbar/paint", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/paint", "caption": "{{$:/language/Buttons/Paint/Caption}}", "description": "{{$:/language/Buttons/Paint/Hint}}", "condition": "[<targetTiddler>is[image]]", "dropdown": "$:/core/ui/EditorToolbar/paint-dropdown", "text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n" }, "$:/core/ui/EditorToolbar/picture-dropdown": { "title": "$:/core/ui/EditorToolbar/picture-dropdown", "text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n" }, "$:/core/ui/EditorToolbar/picture": { "title": "$:/core/ui/EditorToolbar/picture", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/picture", "caption": "{{$:/language/Buttons/Picture/Caption}}", "description": "{{$:/language/Buttons/Picture/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((picture))", "dropdown": "$:/core/ui/EditorToolbar/picture-dropdown", "text": "" }, "$:/core/ui/EditorToolbar/preview-type-dropdown": { "title": "$:/core/ui/EditorToolbar/preview-type-dropdown", "text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n" }, "$:/core/ui/EditorToolbar/preview-type": { "title": "$:/core/ui/EditorToolbar/preview-type", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/chevron-down", "caption": "{{$:/language/Buttons/PreviewType/Caption}}", "description": "{{$:/language/Buttons/PreviewType/Hint}}", "condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]", "button-classes": "tc-text-editor-toolbar-item-adjunct", "dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown" }, "$:/core/ui/EditorToolbar/preview": { "title": "$:/core/ui/EditorToolbar/preview", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/preview-open", "custom-icon": "yes", "caption": "{{$:/language/Buttons/Preview/Caption}}", "description": "{{$:/language/Buttons/Preview/Hint}}", "condition": "[<targetTiddler>]", "button-classes": "tc-text-editor-toolbar-item-start-group", "shortcuts": "((preview))", "text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n" }, "$:/core/ui/EditorToolbar/quote": { "title": "$:/core/ui/EditorToolbar/quote", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/quote", "caption": "{{$:/language/Buttons/Quote/Caption}}", "description": "{{$:/language/Buttons/Quote/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((quote))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n" }, "$:/core/ui/EditorToolbar/rotate-left": { "title": "$:/core/ui/EditorToolbar/rotate-left", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/rotate-left", "caption": "{{$:/language/Buttons/RotateLeft/Caption}}", "description": "{{$:/language/Buttons/RotateLeft/Hint}}", "condition": "[<targetTiddler>is[image]]", "text": "<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"rotate-left\"\n/>\n" }, "$:/core/ui/EditorToolbar/size-dropdown": { "title": "$:/core/ui/EditorToolbar/size-dropdown", "text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> × <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n" }, "$:/core/ui/EditorToolbar/size": { "title": "$:/core/ui/EditorToolbar/size", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/size", "caption": "{{$:/language/Buttons/Size/Caption}}", "description": "{{$:/language/Buttons/Size/Hint}}", "condition": "[<targetTiddler>is[image]]", "dropdown": "$:/core/ui/EditorToolbar/size-dropdown", "text": "" }, "$:/core/ui/EditorToolbar/stamp-dropdown": { "title": "$:/core/ui/EditorToolbar/stamp-dropdown", "text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n</$list>\n\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix={{{ [[$(snippetTitle)$]addsuffix[/prefix]get[text]] }}}\nsuffix={{{ [[$(snippetTitle)$]addsuffix[/suffix]get[text]] }}}\n/>\n\n</$list>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" />\n\n</$transclude>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n" }, "$:/core/ui/EditorToolbar/stamp": { "title": "$:/core/ui/EditorToolbar/stamp", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/stamp", "caption": "{{$:/language/Buttons/Stamp/Caption}}", "description": "{{$:/language/Buttons/Stamp/Hint}}", "condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] +[first[]]", "shortcuts": "((stamp))", "dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown", "text": "" }, "$:/core/ui/EditorToolbar/strikethrough": { "title": "$:/core/ui/EditorToolbar/strikethrough", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/strikethrough", "caption": "{{$:/language/Buttons/Strikethrough/Caption}}", "description": "{{$:/language/Buttons/Strikethrough/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((strikethrough))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n" }, "$:/core/ui/EditorToolbar/subscript": { "title": "$:/core/ui/EditorToolbar/subscript", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/subscript", "caption": "{{$:/language/Buttons/Subscript/Caption}}", "description": "{{$:/language/Buttons/Subscript/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((subscript))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n" }, "$:/core/ui/EditorToolbar/superscript": { "title": "$:/core/ui/EditorToolbar/superscript", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/superscript", "caption": "{{$:/language/Buttons/Superscript/Caption}}", "description": "{{$:/language/Buttons/Superscript/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((superscript))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n" }, "$:/core/ui/EditorToolbar/transcludify": { "title": "$:/core/ui/EditorToolbar/transcludify", "caption": "{{$:/language/Buttons/Transcludify/Caption}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "description": "{{$:/language/Buttons/Transcludify/Hint}}", "icon": "$:/core/images/transcludify", "list-before": "$:/core/ui/EditorToolbar/mono-block", "shortcuts": "((transcludify))", "tags": "$:/tags/EditorToolbar", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"{{\"\n\tsuffix=\"}}\"\n/>\n" }, "$:/core/ui/EditorToolbar/underline": { "title": "$:/core/ui/EditorToolbar/underline", "tags": "$:/tags/EditorToolbar", "icon": "$:/core/images/underline", "caption": "{{$:/language/Buttons/Underline/Caption}}", "description": "{{$:/language/Buttons/Underline/Hint}}", "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]", "shortcuts": "((underline))", "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n" }, "$:/core/Filters/AllTags": { "title": "$:/core/Filters/AllTags", "tags": "$:/tags/Filter", "filter": "[tags[]!is[system]sort[title]]", "description": "{{$:/language/Filters/AllTags}}", "text": "" }, "$:/core/Filters/AllTiddlers": { "title": "$:/core/Filters/AllTiddlers", "tags": "$:/tags/Filter", "filter": "[!is[system]sort[title]]", "description": "{{$:/language/Filters/AllTiddlers}}", "text": "" }, "$:/core/Filters/Drafts": { "title": "$:/core/Filters/Drafts", "tags": "$:/tags/Filter", "filter": "[has[draft.of]sort[title]]", "description": "{{$:/language/Filters/Drafts}}", "text": "" }, "$:/core/Filters/Missing": { "title": "$:/core/Filters/Missing", "tags": "$:/tags/Filter", "filter": "[all[missing]sort[title]]", "description": "{{$:/language/Filters/Missing}}", "text": "" }, "$:/core/Filters/Orphans": { "title": "$:/core/Filters/Orphans", "tags": "$:/tags/Filter", "filter": "[all[orphans]sort[title]]", "description": "{{$:/language/Filters/Orphans}}", "text": "" }, "$:/core/Filters/OverriddenShadowTiddlers": { "title": "$:/core/Filters/OverriddenShadowTiddlers", "tags": "$:/tags/Filter", "filter": "[is[shadow]]", "description": "{{$:/language/Filters/OverriddenShadowTiddlers}}", "text": "" }, "$:/core/Filters/RecentSystemTiddlers": { "title": "$:/core/Filters/RecentSystemTiddlers", "tags": "$:/tags/Filter", "filter": "[has[modified]!sort[modified]limit[50]]", "description": "{{$:/language/Filters/RecentSystemTiddlers}}", "text": "" }, "$:/core/Filters/RecentTiddlers": { "title": "$:/core/Filters/RecentTiddlers", "tags": "$:/tags/Filter", "filter": "[!is[system]has[modified]!sort[modified]limit[50]]", "description": "{{$:/language/Filters/RecentTiddlers}}", "text": "" }, "$:/core/Filters/SessionTiddlers": { "title": "$:/core/Filters/SessionTiddlers", "tags": "$:/tags/Filter", "filter": "[haschanged[]]", "description": "{{$:/language/Filters/SessionTiddlers}}", "text": "" }, "$:/core/Filters/ShadowTiddlers": { "title": "$:/core/Filters/ShadowTiddlers", "tags": "$:/tags/Filter", "filter": "[all[shadows]sort[title]]", "description": "{{$:/language/Filters/ShadowTiddlers}}", "text": "" }, "$:/core/Filters/StoryList": { "title": "$:/core/Filters/StoryList", "tags": "$:/tags/Filter", "filter": "[list[$:/StoryList]] -$:/AdvancedSearch", "description": "{{$:/language/Filters/StoryList}}", "text": "" }, "$:/core/Filters/SystemTags": { "title": "$:/core/Filters/SystemTags", "tags": "$:/tags/Filter", "filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]", "description": "{{$:/language/Filters/SystemTags}}", "text": "" }, "$:/core/Filters/SystemTiddlers": { "title": "$:/core/Filters/SystemTiddlers", "tags": "$:/tags/Filter", "filter": "[is[system]sort[title]]", "description": "{{$:/language/Filters/SystemTiddlers}}", "text": "" }, "$:/core/Filters/TypedTiddlers": { "title": "$:/core/Filters/TypedTiddlers", "tags": "$:/tags/Filter", "filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]", "description": "{{$:/language/Filters/TypedTiddlers}}", "text": "" }, "$:/core/ui/ImportListing": { "title": "$:/core/ui/ImportListing", "text": "\\define lingo-base() $:/language/Import/\n\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n\n\\define select-all-actions()\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n<table>\n<tbody>\n<tr>\n<th>\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" stateTitle=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" setTitle=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" setTitle=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" stateTitle=<<previewPopupState>> tag=\"div\">\n<$list filter=\"[{$:/state/importpreviewtype}has[text]]\" variable=\"listItem\" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>\n<$transclude tiddler={{$:/state/importpreviewtype}}/>\n</$list>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n" }, "$:/core/ui/ImportPreviews/Diff": { "title": "$:/core/ui/ImportPreviews/Diff", "tags": "$:/tags/ImportPreview", "caption": "{{$:/language/Import/Listing/Preview/Diff}}", "text": "<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>>/>\n" }, "$:/core/ui/ImportPreviews/DiffFields": { "title": "$:/core/ui/ImportPreviews/DiffFields", "tags": "$:/tags/ImportPreview", "caption": "{{$:/language/Import/Listing/Preview/DiffFields}}", "text": "<$macrocall $name=\"compareTiddlers\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>> exclude=\"text\"/>\n" }, "$:/core/ui/ImportPreviews/Fields": { "title": "$:/core/ui/ImportPreviews/Fields", "tags": "$:/tags/ImportPreview", "caption": "{{$:/language/Import/Listing/Preview/Fields}}", "text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[<payloadTiddler>subtiddlerfields<currentTiddler>sort[]] -text\" variable=\"fieldName\">\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<fieldName>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<fieldName>> tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>>/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n" }, "$:/core/ui/ImportPreviews/Text": { "title": "$:/core/ui/ImportPreviews/Text", "tags": "$:/tags/ImportPreview", "caption": "{{$:/language/Import/Listing/Preview/Text}}", "text": "<$transclude tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> mode=\"block\"/>\n" }, "$:/core/ui/ImportPreviews/TextRaw": { "title": "$:/core/ui/ImportPreviews/TextRaw", "tags": "$:/tags/ImportPreview", "caption": "{{$:/language/Import/Listing/Preview/TextRaw}}", "text": "<pre><code><$view tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> /></code></pre>" }, "$:/core/ui/KeyboardShortcuts/advanced-search": { "title": "$:/core/ui/KeyboardShortcuts/advanced-search", "tags": "$:/tags/KeyboardShortcut", "key": "((advanced-search))", "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\"/>\n</$navigator>\n" }, "$:/core/ui/KeyboardShortcuts/new-image": { "title": "$:/core/ui/KeyboardShortcuts/new-image", "tags": "$:/tags/KeyboardShortcut", "key": "((new-image))", "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-image}}\n</$navigator>\n" }, "$:/core/ui/KeyboardShortcuts/new-journal": { "title": "$:/core/ui/KeyboardShortcuts/new-journal", "tags": "$:/tags/KeyboardShortcut", "key": "((new-journal))", "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-journal}}\n</$navigator>\n" }, "$:/core/ui/KeyboardShortcuts/new-tiddler": { "title": "$:/core/ui/KeyboardShortcuts/new-tiddler", "tags": "$:/tags/KeyboardShortcut", "key": "((new-tiddler))", "text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-tiddler}}\n</$navigator>\n" }, "$:/core/ui/KeyboardShortcuts/sidebar-search": { "title": "$:/core/ui/KeyboardShortcuts/sidebar-search", "tags": "$:/tags/KeyboardShortcut", "key": "((sidebar-search))", "text": "<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n" }, "$:/core/ui/KeyboardShortcut/toggle-sidebar": { "title": "$:/core/ui/KeyboardShortcut/toggle-sidebar", "tags": "$:/tags/KeyboardShortcut", "key": "((toggle-sidebar))", "text": "<$list filter=\"[[$:/state/sidebar]is[missing]] [{$:/state/sidebar}removeprefix[yes]]\" emptyMessage=\"\"\"\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"yes\"/>\n\"\"\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"no\"/>\n</$list>\n" }, "$:/core/ui/ListItemTemplate": { "title": "$:/core/ui/ListItemTemplate", "text": "<div class=\"tc-menu-list-item\">\n<$link />\n</div>" }, "$:/Manager/ItemMain/Fields": { "title": "$:/Manager/ItemMain/Fields", "tags": "$:/tags/Manager/ItemMain", "caption": "{{$:/language/Manager/Item/Fields}}", "text": "<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n" }, "$:/Manager/ItemMain/RawText": { "title": "$:/Manager/ItemMain/RawText", "tags": "$:/tags/Manager/ItemMain", "caption": "{{$:/language/Manager/Item/RawText}}", "text": "<pre><code><$view/></code></pre>\n" }, "$:/Manager/ItemMain/WikifiedText": { "title": "$:/Manager/ItemMain/WikifiedText", "tags": "$:/tags/Manager/ItemMain", "caption": "{{$:/language/Manager/Item/WikifiedText}}", "text": "<$transclude mode=\"block\"/>\n" }, "$:/Manager/ItemSidebar/Colour": { "title": "$:/Manager/ItemSidebar/Colour", "tags": "$:/tags/Manager/ItemSidebar", "caption": "{{$:/language/Manager/Item/Colour}}", "text": "\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/> / <$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n" }, "$:/Manager/ItemSidebar/Icon": { "title": "$:/Manager/ItemSidebar/Icon", "tags": "$:/tags/Manager/ItemSidebar", "caption": "{{$:/language/Manager/Item/Icon}}", "text": "<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall $name=\"image-picker-include-tagged-images\" actions=\"\"\"\n<$action-setfield $field=\"icon\" $value=<<imageTitle>>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/image-picker\">>/>\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n" }, "$:/Manager/ItemSidebar/Tags": { "title": "$:/Manager/ItemSidebar/Tags", "tags": "$:/tags/Manager/ItemSidebar", "caption": "{{$:/language/Manager/Item/Tags}}", "text": "\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>] [all[current]tags[]]\"\n/>\n\\end\n\n<p>\n<$list filter=\"[all[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</p>\n" }, "$:/Manager/ItemSidebar/Tools": { "title": "$:/Manager/ItemSidebar/Tools", "tags": "$:/tags/Manager/ItemSidebar", "caption": "{{$:/language/Manager/Item/Tools}}", "text": "<p>\n<$button to=<<currentTiddler>>>{{$:/core/images/link}} open</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>{{$:/core/images/edit-button}} edit</$button>\n</p>\n" }, "$:/Manager": { "title": "$:/Manager", "icon": "$:/core/images/list", "color": "#bbb", "text": "\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n" }, "$:/core/ui/MissingTemplate": { "title": "$:/core/ui/MissingTemplate", "text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n" }, "$:/core/ui/MoreSideBar/All": { "title": "$:/core/ui/MoreSideBar/All", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/All/Caption}}", "text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n" }, "$:/core/ui/MoreSideBar/Drafts": { "title": "$:/core/ui/MoreSideBar/Drafts", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/Drafts/Caption}}", "text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n" }, "$:/core/ui/MoreSideBar/Explorer": { "title": "$:/core/ui/MoreSideBar/Explorer", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/Explorer/Caption}}", "text": "<<tree \"$:/\">>\n" }, "$:/core/ui/MoreSideBar/Missing": { "title": "$:/core/ui/MoreSideBar/Missing", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/Missing/Caption}}", "text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n" }, "$:/core/ui/MoreSideBar/Orphans": { "title": "$:/core/ui/MoreSideBar/Orphans", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/Orphans/Caption}}", "text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n" }, "$:/core/ui/MoreSideBar/Plugins": { "title": "$:/core/ui/MoreSideBar/Plugins", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/ControlPanel/Plugins/Caption}}", "text": "\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Plugins/Plugins\">>\n" }, "$:/core/ui/MoreSideBar/Recent": { "title": "$:/core/ui/MoreSideBar/Recent", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/Recent/Caption}}", "text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n" }, "$:/core/ui/MoreSideBar/Shadows": { "title": "$:/core/ui/MoreSideBar/Shadows", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/Shadows/Caption}}", "text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n" }, "$:/core/ui/MoreSideBar/System": { "title": "$:/core/ui/MoreSideBar/System", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/System/Caption}}", "text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n" }, "$:/core/ui/MoreSideBar/Tags": { "title": "$:/core/ui/MoreSideBar/Tags", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/Tags/Caption}}", "text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n" }, "$:/core/ui/MoreSideBar/Types": { "title": "$:/core/ui/MoreSideBar/Types", "tags": "$:/tags/MoreSideBar", "caption": "{{$:/language/SideBar/Types/Caption}}", "text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n" }, "$:/core/ui/MoreSideBar/Plugins/Languages": { "title": "$:/core/ui/MoreSideBar/Plugins/Languages", "tags": "$:/tags/MoreSideBar/Plugins", "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}}", "text": "<$list filter=\"[!has[draft.of]plugin-type[language]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n" }, "$:/core/ui/MoreSideBar/Plugins/Plugins": { "title": "$:/core/ui/MoreSideBar/Plugins/Plugins", "tags": "$:/tags/MoreSideBar/Plugins", "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}", "text": "<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n" }, "$:/core/ui/MoreSideBar/Plugins/Theme": { "title": "$:/core/ui/MoreSideBar/Plugins/Theme", "tags": "$:/tags/MoreSideBar/Plugins", "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}", "text": "<$list filter=\"[!has[draft.of]plugin-type[theme]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n" }, "$:/core/ui/Buttons/advanced-search": { "title": "$:/core/ui/Buttons/advanced-search", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}", "description": "{{$:/language/Buttons/AdvancedSearch/Hint}}", "text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n" }, "$:/core/ui/Buttons/close-all": { "title": "$:/core/ui/Buttons/close-all", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}", "description": "{{$:/language/Buttons/CloseAll/Hint}}", "text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/control-panel": { "title": "$:/core/ui/Buttons/control-panel", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}", "description": "{{$:/language/Buttons/ControlPanel/Hint}}", "text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n" }, "$:/core/ui/Buttons/encryption": { "title": "$:/core/ui/Buttons/encryption", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}", "description": "{{$:/language/Buttons/Encryption/Hint}}", "text": "\\whitespace trim\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n" }, "$:/core/ui/Buttons/export-page": { "title": "$:/core/ui/Buttons/export-page", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}", "description": "{{$:/language/Buttons/ExportPage/Hint}}", "text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>" }, "$:/core/ui/Buttons/fold-all": { "title": "$:/core/ui/Buttons/fold-all", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}", "description": "{{$:/language/Buttons/FoldAll/Hint}}", "text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/full-screen": { "title": "$:/core/ui/Buttons/full-screen", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}", "description": "{{$:/language/Buttons/FullScreen/Hint}}", "text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/home": { "title": "$:/core/ui/Buttons/home", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}", "description": "{{$:/language/Buttons/Home/Hint}}", "text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/import": { "title": "$:/core/ui/Buttons/import", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}", "description": "{{$:/language/Buttons/Import/Hint}}", "text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>" }, "$:/core/ui/Buttons/language": { "title": "$:/core/ui/Buttons/language", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}", "description": "{{$:/language/Buttons/Language/Hint}}", "text": "\\whitespace trim\n\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/languageswitcher}}\n</div>\n</$reveal>\n" }, "$:/core/ui/Buttons/manager": { "title": "$:/core/ui/Buttons/manager", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}", "description": "{{$:/language/Buttons/Manager/Hint}}", "text": "\\whitespace trim\n\\define manager-button(class)\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Manager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n" }, "$:/core/ui/Buttons/more-page-actions": { "title": "$:/core/ui/Buttons/more-page-actions", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}", "description": "{{$:/language/Buttons/More/Hint}}", "text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>" }, "$:/core/ui/Buttons/new-image": { "title": "$:/core/ui/Buttons/new-image", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}", "description": "{{$:/language/Buttons/NewImage/Hint}}", "text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n" }, "$:/core/ui/Buttons/new-journal": { "title": "$:/core/ui/Buttons/new-journal", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}", "description": "{{$:/language/Buttons/NewJournal/Hint}}", "text": "\\whitespace trim\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<journalButton>>\n" }, "$:/core/ui/Buttons/new-tiddler": { "title": "$:/core/ui/Buttons/new-tiddler", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}", "description": "{{$:/language/Buttons/NewTiddler/Hint}}", "text": "\\whitespace trim\n<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>\n" }, "$:/core/ui/Buttons/palette": { "title": "$:/core/ui/Buttons/palette", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}", "description": "{{$:/language/Buttons/Palette/Hint}}", "text": "\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>\n" }, "$:/core/ui/Buttons/print": { "title": "$:/core/ui/Buttons/print", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}", "description": "{{$:/language/Buttons/Print/Hint}}", "text": "<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Print/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/refresh": { "title": "$:/core/ui/Buttons/refresh", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}", "description": "{{$:/language/Buttons/Refresh/Hint}}", "text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/save-wiki": { "title": "$:/core/ui/Buttons/save-wiki", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}", "description": "{{$:/language/Buttons/SaveWiki/Hint}}", "text": "<$button tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>" }, "$:/core/ui/Buttons/storyview": { "title": "$:/core/ui/Buttons/storyview", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}", "description": "{{$:/language/Buttons/StoryView/Hint}}", "text": "\\whitespace trim\n\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/viewswitcher}}\n</div>\n</$reveal>\n" }, "$:/core/ui/Buttons/tag-manager": { "title": "$:/core/ui/Buttons/tag-manager", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}", "description": "{{$:/language/Buttons/TagManager/Hint}}", "text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n" }, "$:/core/ui/Buttons/theme": { "title": "$:/core/ui/Buttons/theme", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}", "description": "{{$:/language/Buttons/Theme/Hint}}", "text": "\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n{{$:/snippets/themeswitcher}}\n</$linkcatcher>\n</div>\n</$reveal>\n" }, "$:/core/ui/Buttons/timestamp": { "title": "$:/core/ui/Buttons/timestamp", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}", "description": "{{$:/language/Buttons/Timestamp/Hint}}", "text": "\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/On/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n" }, "$:/core/ui/Buttons/unfold-all": { "title": "$:/core/ui/Buttons/unfold-all", "tags": "$:/tags/PageControls", "caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}", "description": "{{$:/language/Buttons/UnfoldAll/Hint}}", "text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>" }, "$:/core/ui/PageTemplate/pagecontrols": { "title": "$:/core/ui/PageTemplate/pagecontrols", "text": "\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$list>\n</$set>\n</$list>\n</div>\n" }, "$:/core/ui/PageStylesheet": { "title": "$:/core/ui/PageStylesheet", "text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n" }, "$:/core/ui/PageTemplate/alerts": { "title": "$:/core/ui/PageTemplate/alerts", "tags": "$:/tags/PageTemplate", "text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n" }, "$:/core/ui/PageTemplate/drafts": { "title": "$:/core/ui/PageTemplate/drafts", "tags": "$:/tags/PageTemplate", "text": "\\whitespace trim\n<$reveal state=\"$:/status/IsReadOnly\" type=\"nomatch\" text=\"yes\" tag=\"div\" class=\"tc-drafts-list\">\n<$list filter=\"[has[draft.of]!sort[modified]] -[list[$:/StoryList]]\">\n<$link>\n{{$:/core/images/edit-button}} <$text text=<<currentTiddler>>/>\n</$link>\n</$list>\n</$reveal>\n" }, "$:/core/ui/PageTemplate/pluginreloadwarning": { "title": "$:/core/ui/PageTemplate/pluginreloadwarning", "tags": "$:/tags/PageTemplate", "text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[{$:/status/RequireReloadDueToPluginChange}match[yes]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n" }, "$:/core/ui/PageTemplate/sidebar": { "title": "$:/core/ui/PageTemplate/sidebar", "tags": "$:/tags/PageTemplate", "text": "\\whitespace trim\n\\define config-title()\n$:/config/SideBarSegments/Visibility/$(listItem)$\n\\end\n\n<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\" variable=\"listItem\">\n\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\" tag=\"div\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$reveal>\n\n</$list>\n\n</$reveal>\n\n</div>\n\n</$scrollable>\n" }, "$:/core/ui/PageTemplate/story": { "title": "$:/core/ui/PageTemplate/story", "tags": "$:/tags/PageTemplate", "text": "\\whitespace trim\n<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template={{$:/config/ui/ViewTemplate}} editTemplate={{$:/config/ui/EditTemplate}} storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n" }, "$:/core/ui/PageTemplate/topleftbar": { "title": "$:/core/ui/PageTemplate/topleftbar", "tags": "$:/tags/PageTemplate", "text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n" }, "$:/core/ui/PageTemplate/toprightbar": { "title": "$:/core/ui/PageTemplate/toprightbar", "tags": "$:/tags/PageTemplate", "text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n" }, "$:/core/ui/PageTemplate": { "title": "$:/core/ui/PageTemplate", "text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"tv-enable-drag-and-drop\" value={{$:/config/DragAndDrop/Enable}}>\n\n<$set name=\"tv-show-missing-links\" value={{$:/config/MissingLinks}}>\n\n<$set name=\"storyviewTitle\" value={{$:/view}}>\n\n<$set name=\"languageTitle\" value={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone enable=<<tv-enable-drag-and-drop>>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n" }, "$:/PaletteManager": { "title": "$:/PaletteManager", "text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n\\define edit-colour-placeholder()\n edit $(colourName)$\n\\end\n\\define colour-tooltip(showhide) $showhide$ editor for $(newColourName)$ \n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define delete-colour-index-actions() <$action-setfield $index=<<colourName>>/>\n\\define palette-manager-colour-row-segment()\n\\whitespace trim\n<$edit-text index=<<colourName>> tag=\"input\" placeholder=<<edit-colour-placeholder>> default=\"\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\" class=\"tc-palette-manager-colour-input\"/>\n<$list filter=\"[<currentTiddler>getindex<colourName>removeprefix[<<]removesuffix[>>]] [<currentTiddler>getindex<colourName>removeprefix[<$]removesuffix[/>]]\" variable=\"ignore\">\n<$set name=\"state\" value={{{ [[$:/state/palettemanager/]addsuffix<currentTiddler>addsuffix[/]addsuffix<colourName>] }}}>\n<$wikify name=\"newColourName\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall={{{ [<currentTiddler>getindex<colourName>] }}}/>\"\"\">\n<$reveal state=<<state>> type=\"nomatch\" text=\"show\">\n<$button tooltip=<<colour-tooltip show>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" set=<<state>> setTo=\"show\">{{$:/core/images/down-arrow}} <$text text=<<newColourName>>/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$button tooltip=<<colour-tooltip hide>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" actions=\"\"\"<$action-deletetiddler $tiddler=<<state>>/>\"\"\">{{$:/core/images/up-arrow}} <$text text=<<newColourName>>/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$set name=\"colourName\" value=<<newColourName>>>\n<br>\n<<palette-manager-colour-row-segment>>\n<br><br>\n</$set>\n</$reveal>\n</$wikify>\n</$set>\n</$list>\n\\end\n\\define palette-manager-colour-row()\n\\whitespace trim\n<tr>\n<td>\n<span style=\"float:right;\">\n<$button tooltip=<<lingo Delete/Hint>> aria-label=<<lingo Delete/Hint>> class=\"tc-btn-invisible\" actions=<<delete-colour-index-actions>>>\n{{$:/core/images/delete-button}}</$button>\n</span>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<<palette-manager-colour-row-segment>>\n</td>\n</tr>\n\\end\n\\define palette-manager-table()\n\\whitespace trim\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]\" variable=\"colourName\">\n<$list filter=\"[<currentTiddler>indexes[]removeprefix<colourName>suffix[]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[{$:/state/palettemanager/showexternal}removeprefix[yes]suffix[]]\" variable=\"ignore\">\n<<palette-manager-colour-row>>\n</$list>\n\"\"\">\n<<palette-manager-colour-row>>\n</$list>\n</$list>\n</tbody>\n</table>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<$checkbox tiddler=\"$:/state/palettemanager/showexternal\" field=\"text\" checked=\"yes\" unchecked=\"no\"> <<lingo Names/External/Show>></$checkbox>\n\n<<palette-manager-table>>\n" }, "$:/core/ui/PluginInfo": { "title": "$:/core/ui/PluginInfo", "text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n" }, "$:/core/ui/PluginInfo/Default/contents": { "title": "$:/core/ui/PluginInfo/Default/contents", "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link />\n</li>\n</$list>\n</ul>\n" }, "$:/core/ui/PluginListItemTemplate": { "title": "$:/core/ui/PluginListItemTemplate", "text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}><$view field=\"description\"><$view field=\"title\"/></$view></$link>\n</div>" }, "$:/core/ui/SearchResults": { "title": "$:/core/ui/SearchResults", "text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n\n</div>\n" }, "$:/core/ui/SideBar/More": { "title": "$:/core/ui/SideBar/More", "tags": "$:/tags/SideBar", "caption": "{{$:/language/SideBar/More/Caption}}", "text": "<div class=\"tc-more-sidebar\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" default={{$:/config/DefaultMoreSidebarTab}} state=\"$:/state/tab/moresidebar\" class=\"tc-vertical tc-sidebar-tabs-more\" />\n</div>" }, "$:/core/ui/SideBar/Open": { "title": "$:/core/ui/SideBar/Open", "tags": "$:/tags/SideBar", "caption": "{{$:/language/SideBar/Open/Caption}}", "text": "\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>>>\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">{{$:/core/images/close-button}}</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n" }, "$:/core/ui/SideBar/Recent": { "title": "$:/core/ui/SideBar/Recent", "tags": "$:/tags/SideBar", "caption": "{{$:/language/SideBar/Recent/Caption}}", "text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n" }, "$:/core/ui/SideBar/Tools": { "title": "$:/core/ui/SideBar/Tools", "tags": "$:/tags/SideBar", "caption": "{{$:/language/SideBar/Tools/Caption}}", "text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\" class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] }}}>\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n" }, "$:/core/ui/SideBarLists": { "title": "$:/core/ui/SideBarLists", "text": "<$transclude tiddler=\"$:/core/ui/SideBarSegments/search\"/>\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\"/>\n\n" }, "$:/core/ui/SideBarSegments/page-controls": { "title": "$:/core/ui/SideBarSegments/page-controls", "tags": "$:/tags/SideBarSegment", "text": "{{||$:/core/ui/PageTemplate/pagecontrols}}\n" }, "$:/core/ui/SideBarSegments/search": { "title": "$:/core/ui/SideBarSegments/search", "tags": "$:/tags/SideBarSegment", "text": "\\whitespace trim\n<div class=\"tc-sidebar-lists tc-sidebar-search\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"searchTerm\" value={{{ [<searchTiddler>get[text]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search<searchTerm>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$set>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n</div>\n" }, "$:/core/ui/SideBarSegments/site-subtitle": { "title": "$:/core/ui/SideBarSegments/site-subtitle", "tags": "$:/tags/SideBarSegment", "text": "<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n" }, "$:/core/ui/SideBarSegments/site-title": { "title": "$:/core/ui/SideBarSegments/site-title", "tags": "$:/tags/SideBarSegment", "text": "<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n" }, "$:/core/ui/SideBarSegments/tabs": { "title": "$:/core/ui/SideBarSegments/tabs", "tags": "$:/tags/SideBarSegment", "text": "<div class=\"tc-sidebar-lists tc-sidebar-tabs\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" class=\"tc-sidebar-tabs-main\"/>\n\n</div>\n" }, "$:/TagManager": { "title": "$:/TagManager", "icon": "$:/core/images/tag-button", "color": "#bbb", "text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n\\whitespace trim\n<$link to=\"\"><<lingo Icons/None>></$link>\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n\\whitespace trim\n<div class=\"tc-drop-down-wrapper\">\n<$button popupTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal stateTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=<<__title__>> icon=<<navigateTo>>/>\"\"\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define toggleButton(state)\n\\whitespace trim\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"closed\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"open\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n\\whitespace trim\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td>{{||$:/core/ui/TagTemplate}}</td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal stateTitle={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td style=\"position:relative;\">\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n" }, "$:/core/ui/TagTemplate": { "title": "$:/core/ui/TagTemplate", "text": "\\whitespace trim\n<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n" }, "$:/core/ui/TiddlerFieldTemplate": { "title": "$:/core/ui/TiddlerFieldTemplate", "text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>" }, "$:/core/ui/TiddlerFields": { "title": "$:/core/ui/TiddlerFields", "text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n" }, "$:/core/ui/TiddlerInfo/Advanced/PluginInfo": { "title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo", "tags": "$:/tags/TiddlerInfo/Advanced", "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n" }, "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": { "title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo", "tags": "$:/tags/TiddlerInfo/Advanced", "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n" }, "$:/core/ui/TiddlerInfo/Advanced": { "title": "$:/core/ui/TiddlerInfo/Advanced", "tags": "$:/tags/TiddlerInfo", "caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}", "text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n" }, "$:/core/ui/TiddlerInfo/Fields": { "title": "$:/core/ui/TiddlerInfo/Fields", "tags": "$:/tags/TiddlerInfo", "caption": "{{$:/language/TiddlerInfo/Fields/Caption}}", "text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n" }, "$:/core/ui/TiddlerInfo/List": { "title": "$:/core/ui/TiddlerInfo/List", "tags": "$:/tags/TiddlerInfo", "caption": "{{$:/language/TiddlerInfo/List/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n" }, "$:/core/ui/TiddlerInfo/Listed": { "title": "$:/core/ui/TiddlerInfo/Listed", "tags": "$:/tags/TiddlerInfo", "caption": "{{$:/language/TiddlerInfo/Listed/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n" }, "$:/core/ui/TiddlerInfo/References": { "title": "$:/core/ui/TiddlerInfo/References", "tags": "$:/tags/TiddlerInfo", "caption": "{{$:/language/TiddlerInfo/References/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>" }, "$:/core/ui/TiddlerInfo/Tagging": { "title": "$:/core/ui/TiddlerInfo/Tagging", "tags": "$:/tags/TiddlerInfo", "caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n" }, "$:/core/ui/TiddlerInfo/Tools": { "title": "$:/core/ui/TiddlerInfo/Tools", "tags": "$:/tags/TiddlerInfo", "caption": "{{$:/language/TiddlerInfo/Tools/Caption}}", "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n" }, "$:/core/ui/TiddlerInfo": { "title": "$:/core/ui/TiddlerInfo", "text": "<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>" }, "$:/core/ui/TopBar/menu": { "title": "$:/core/ui/TopBar/menu", "tags": "$:/tags/TopRightBar", "text": "<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]!match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$list>\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$list>\n" }, "$:/core/ui/UntaggedTemplate": { "title": "$:/core/ui/UntaggedTemplate", "text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n" }, "$:/core/ui/ViewTemplate/body": { "title": "$:/core/ui/ViewTemplate/body", "tags": "$:/tags/ViewTemplate", "text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>\n" }, "$:/core/ui/ViewTemplate/classic": { "title": "$:/core/ui/ViewTemplate/classic", "tags": "$:/tags/ViewTemplate $:/tags/EditTemplate", "text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n" }, "$:/core/ui/ViewTemplate/import": { "title": "$:/core/ui/ViewTemplate/import", "tags": "$:/tags/ViewTemplate", "text": "\\define lingo-base() $:/language/Import/\n\n\\define buttons()\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n<<lingo Listing/Preview>> <$select tiddler=\"$:/state/importpreviewtype\" default=\"$:/core/ui/ImportPreviews/Text\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\">\n<option value=<<currentTiddler>>>{{!!caption}}</option>\n</$list>\n</$select>\n\\end\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<<buttons>>\n\n{{||$:/core/ui/ImportListing}}\n\n<<buttons>>\n\n</div>\n\n</$list>\n" }, "$:/core/ui/ViewTemplate/plugin": { "title": "$:/core/ui/ViewTemplate/plugin", "tags": "$:/tags/ViewTemplate", "text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n<$set name=\"plugin-type\" value={{!!plugin-type}}>\n<$set name=\"default-popup-state\" value=\"yes\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n{{||$:/core/ui/Components/plugin-info}}\n</$set>\n</$set>\n</$set>\n</$list>\n" }, "$:/core/ui/ViewTemplate/subtitle": { "title": "$:/core/ui/ViewTemplate/subtitle", "tags": "$:/tags/ViewTemplate", "text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}} />\n<$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n" }, "$:/core/ui/ViewTemplate/tags": { "title": "$:/core/ui/ViewTemplate/tags", "tags": "$:/tags/ViewTemplate", "text": "<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>\n" }, "$:/core/ui/ViewTemplate/title": { "title": "$:/core/ui/ViewTemplate/title", "tags": "$:/tags/ViewTemplate", "text": "\\whitespace trim\n\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}>\n<$transclude tiddler={{$:/config/DefaultTiddlerIcon}}/>\n</$transclude>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>> mode=\"block\"/></$list>\n\n</$reveal>\n</div>" }, "$:/core/ui/ViewTemplate/unfold": { "title": "$:/core/ui/ViewTemplate/unfold", "tags": "$:/tags/ViewTemplate", "text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n" }, "$:/core/ui/ViewTemplate": { "title": "$:/core/ui/ViewTemplate", "text": "\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>><div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$vars>\n" }, "$:/core/ui/Buttons/clone": { "title": "$:/core/ui/Buttons/clone", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}", "description": "{{$:/language/Buttons/Clone/Hint}}", "text": "\\whitespace trim\n<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Clone/Caption}}/>\n</span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/close-others": { "title": "$:/core/ui/Buttons/close-others", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}", "description": "{{$:/language/Buttons/CloseOthers/Hint}}", "text": "\\whitespace trim\n<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>\n</span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/close": { "title": "$:/core/ui/Buttons/close", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}", "description": "{{$:/language/Buttons/Close/Hint}}", "text": "\\whitespace trim\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Close/Caption}}/>\n</span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/edit": { "title": "$:/core/ui/Buttons/edit", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}", "description": "{{$:/language/Buttons/Edit/Hint}}", "text": "\\whitespace trim\n<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Edit/Caption}}/>\n</span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/export-tiddler": { "title": "$:/core/ui/Buttons/export-tiddler", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}", "description": "{{$:/language/Buttons/ExportTiddler/Hint}}", "text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>" }, "$:/core/ui/Buttons/fold-bar": { "title": "$:/core/ui/Buttons/fold-bar", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}", "description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}", "text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->" }, "$:/core/ui/Buttons/fold-others": { "title": "$:/core/ui/Buttons/fold-others", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}", "description": "{{$:/language/Buttons/FoldOthers/Hint}}", "text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>\n</span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/fold": { "title": "$:/core/ui/Buttons/fold", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}", "description": "{{$:/language/Buttons/Fold/Hint}}", "text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n" }, "$:/core/ui/Buttons/info": { "title": "$:/core/ui/Buttons/info", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}", "description": "{{$:/language/Buttons/Info/Hint}}", "text": "\\whitespace trim\n\\define button-content()\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Info/Caption}}/>\n</span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>" }, "$:/core/ui/Buttons/more-tiddler-actions": { "title": "$:/core/ui/Buttons/more-tiddler-actions", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}", "description": "{{$:/language/Buttons/More/Hint}}", "text": "\\whitespace trim\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/More/Caption}}/>\n</span>\n</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>" }, "$:/core/ui/Buttons/new-here": { "title": "$:/core/ui/Buttons/new-here", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}", "description": "{{$:/language/Buttons/NewHere/Hint}}", "text": "\\whitespace trim\n\\define newHereActions()\n<$set name=\"tags\" filter=\"[<currentTiddler>] [{$:/config/NewTiddler/Tags!!tags}]\">\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<tags>>/>\n</$set>\n\\end\n\\define newHereButton()\n<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewHere/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>\n" }, "$:/core/ui/Buttons/new-journal-here": { "title": "$:/core/ui/Buttons/new-journal-here", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}", "description": "{{$:/language/Buttons/NewJournalHere/Hint}}", "text": "\\whitespace trim\n\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>\n</span>\n</$list>\n</$wikify>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags!!tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set>\n</$set>\n</$set>\n" }, "$:/core/ui/Buttons/open-window": { "title": "$:/core/ui/Buttons/open-window", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}", "description": "{{$:/language/Buttons/OpenWindow/Hint}}", "text": "\\whitespace trim\n<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>\n</span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/permalink": { "title": "$:/core/ui/Buttons/permalink", "tags": "$:/tags/ViewToolbar", "caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}", "description": "{{$:/language/Buttons/Permalink/Hint}}", "text": "\\whitespace trim\n<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permalink/Caption}}/>\n</span>\n</$list>\n</$button>" }, "$:/core/ui/Buttons/permaview": { "title": "$:/core/ui/Buttons/permaview", "tags": "$:/tags/ViewToolbar $:/tags/PageControls", "caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}", "description": "{{$:/language/Buttons/Permaview/Hint}}", "text": "\\whitespace trim\n<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permaview/Caption}}/>\n</span>\n</$list>\n</$button>" }, "$:/DefaultTiddlers": { "title": "$:/DefaultTiddlers", "text": "GettingStarted\n" }, "$:/temp/advancedsearch": { "title": "$:/temp/advancedsearch", "text": "" }, "$:/snippets/allfields": { "title": "$:/snippets/allfields", "text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n" }, "$:/config/AnimationDuration": { "title": "$:/config/AnimationDuration", "text": "400" }, "$:/config/AutoFocus": { "title": "$:/config/AutoFocus", "text": "title" }, "$:/config/AutoSave": { "title": "$:/config/AutoSave", "text": "yes" }, "$:/config/BitmapEditor/Colour": { "title": "$:/config/BitmapEditor/Colour", "text": "#444" }, "$:/config/BitmapEditor/ImageSizes": { "title": "$:/config/BitmapEditor/ImageSizes", "text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]" }, "$:/config/BitmapEditor/LineWidth": { "title": "$:/config/BitmapEditor/LineWidth", "text": "3px" }, "$:/config/BitmapEditor/LineWidths": { "title": "$:/config/BitmapEditor/LineWidths", "text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px" }, "$:/config/BitmapEditor/Opacities": { "title": "$:/config/BitmapEditor/Opacities", "text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0" }, "$:/config/BitmapEditor/Opacity": { "title": "$:/config/BitmapEditor/Opacity", "text": "1.0" }, "$:/config/DefaultMoreSidebarTab": { "title": "$:/config/DefaultMoreSidebarTab", "text": "$:/core/ui/MoreSideBar/Tags" }, "$:/config/DefaultSidebarTab": { "title": "$:/config/DefaultSidebarTab", "text": "$:/core/ui/SideBar/Open" }, "$:/config/DownloadSaver/AutoSave": { "title": "$:/config/DownloadSaver/AutoSave", "text": "no" }, "$:/config/Drafts/TypingTimeout": { "title": "$:/config/Drafts/TypingTimeout", "text": "400" }, "$:/config/EditTemplateFields/Visibility/title": { "title": "$:/config/EditTemplateFields/Visibility/title", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/tags": { "title": "$:/config/EditTemplateFields/Visibility/tags", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/text": { "title": "$:/config/EditTemplateFields/Visibility/text", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/creator": { "title": "$:/config/EditTemplateFields/Visibility/creator", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/created": { "title": "$:/config/EditTemplateFields/Visibility/created", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/modified": { "title": "$:/config/EditTemplateFields/Visibility/modified", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/modifier": { "title": "$:/config/EditTemplateFields/Visibility/modifier", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/type": { "title": "$:/config/EditTemplateFields/Visibility/type", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/draft.title": { "title": "$:/config/EditTemplateFields/Visibility/draft.title", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/draft.of": { "title": "$:/config/EditTemplateFields/Visibility/draft.of", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/revision": { "title": "$:/config/EditTemplateFields/Visibility/revision", "text": "hide" }, "$:/config/EditTemplateFields/Visibility/bag": { "title": "$:/config/EditTemplateFields/Visibility/bag", "text": "hide" }, "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": { "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4", "text": "hide" }, "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": { "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5", "text": "hide" }, "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": { "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6", "text": "hide" }, "$:/config/EditorTypeMappings/image/gif": { "title": "$:/config/EditorTypeMappings/image/gif", "text": "bitmap" }, "$:/config/EditorTypeMappings/image/webp": { "title": "$:/config/EditorTypeMappings/image/webp", "text": "bitmap" }, "$:/config/EditorTypeMappings/image/heic": { "title": "$:/config/EditorTypeMappings/image/heic", "text": "bitmap" }, "$:/config/EditorTypeMappings/image/heif": { "title": "$:/config/EditorTypeMappings/image/heif", "text": "bitmap" }, "$:/config/EditorTypeMappings/image/jpeg": { "title": "$:/config/EditorTypeMappings/image/jpeg", "text": "bitmap" }, "$:/config/EditorTypeMappings/image/jpg": { "title": "$:/config/EditorTypeMappings/image/jpg", "text": "bitmap" }, "$:/config/EditorTypeMappings/image/png": { "title": "$:/config/EditorTypeMappings/image/png", "text": "bitmap" }, "$:/config/EditorTypeMappings/image/x-icon": { "title": "$:/config/EditorTypeMappings/image/x-icon", "text": "bitmap" }, "$:/config/EditorTypeMappings/text/vnd.tiddlywiki": { "title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki", "text": "text" }, "$:/config/Manager/Show": { "title": "$:/config/Manager/Show", "text": "tiddlers" }, "$:/config/Manager/Filter": { "title": "$:/config/Manager/Filter", "text": "" }, "$:/config/Manager/Order": { "title": "$:/config/Manager/Order", "text": "forward" }, "$:/config/Manager/Sort": { "title": "$:/config/Manager/Sort", "text": "title" }, "$:/config/Manager/System": { "title": "$:/config/Manager/System", "text": "system" }, "$:/config/Manager/Tag": { "title": "$:/config/Manager/Tag", "text": "" }, "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText": { "title": "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText", "text": "hide" }, "$:/config/MissingLinks": { "title": "$:/config/MissingLinks", "text": "yes" }, "$:/config/Navigation/UpdateAddressBar": { "title": "$:/config/Navigation/UpdateAddressBar", "text": "no" }, "$:/config/Navigation/UpdateHistory": { "title": "$:/config/Navigation/UpdateHistory", "text": "no" }, "$:/config/NewImageType": { "title": "$:/config/NewImageType", "text": "jpeg" }, "$:/config/OfficialPluginLibrary": { "title": "$:/config/OfficialPluginLibrary", "tags": "$:/tags/PluginLibrary", "url": "https://tiddlywiki.com/library/v5.1.22/index.html", "caption": "{{$:/language/OfficialPluginLibrary}}", "text": "{{$:/language/OfficialPluginLibrary/Hint}}\n" }, "$:/config/Navigation/openLinkFromInsideRiver": { "title": "$:/config/Navigation/openLinkFromInsideRiver", "text": "below" }, "$:/config/Navigation/openLinkFromOutsideRiver": { "title": "$:/config/Navigation/openLinkFromOutsideRiver", "text": "top" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme", "text": "hide" }, "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": { "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all", "text": "hide" }, "$:/config/Performance/Instrumentation": { "title": "$:/config/Performance/Instrumentation", "text": "no" }, "$:/config/RegisterPluginType/plugin": { "title": "$:/config/RegisterPluginType/plugin", "text": "yes" }, "$:/config/RegisterPluginType/theme": { "title": "$:/config/RegisterPluginType/theme", "text": "no" }, "$:/config/RegisterPluginType/language": { "title": "$:/config/RegisterPluginType/language", "text": "no" }, "$:/config/RegisterPluginType/info": { "title": "$:/config/RegisterPluginType/info", "text": "no" }, "$:/config/RegisterPluginType/import": { "title": "$:/config/RegisterPluginType/import", "text": "no" }, "$:/config/SaveWikiButton/Template": { "title": "$:/config/SaveWikiButton/Template", "text": "$:/core/save/all" }, "$:/config/SaverFilter": { "title": "$:/config/SaverFilter", "text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]" }, "$:/config/Search/AutoFocus": { "title": "$:/config/Search/AutoFocus", "text": "true" }, "$:/config/Search/MinLength": { "title": "$:/config/Search/MinLength", "text": "3" }, "$:/config/SearchResults/Default": { "title": "$:/config/SearchResults/Default", "text": "$:/core/ui/DefaultSearchResultList" }, "$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]": { "title": "$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]", "text": "yes" }, "$:/config/ShortcutInfo/add-field": { "title": "$:/config/ShortcutInfo/add-field", "text": "{{$:/language/EditTemplate/Fields/Add/Button/Hint}}" }, "$:/config/ShortcutInfo/advanced-search": { "title": "$:/config/ShortcutInfo/advanced-search", "text": "{{$:/language/Buttons/AdvancedSearch/Hint}}" }, "$:/config/ShortcutInfo/bold": { "title": "$:/config/ShortcutInfo/bold", "text": "{{$:/language/Buttons/Bold/Hint}}" }, "$:/config/ShortcutInfo/cancel-edit-tiddler": { "title": "$:/config/ShortcutInfo/cancel-edit-tiddler", "text": "{{$:/language/Buttons/Cancel/Hint}}" }, "$:/config/ShortcutInfo/excise": { "title": "$:/config/ShortcutInfo/excise", "text": "{{$:/language/Buttons/Excise/Hint}}" }, "$:/config/ShortcutInfo/heading-1": { "title": "$:/config/ShortcutInfo/heading-1", "text": "{{$:/language/Buttons/Heading1/Hint}}" }, "$:/config/ShortcutInfo/heading-2": { "title": "$:/config/ShortcutInfo/heading-2", "text": "{{$:/language/Buttons/Heading2/Hint}}" }, "$:/config/ShortcutInfo/heading-3": { "title": "$:/config/ShortcutInfo/heading-3", "text": "{{$:/language/Buttons/Heading3/Hint}}" }, "$:/config/ShortcutInfo/heading-4": { "title": "$:/config/ShortcutInfo/heading-4", "text": "{{$:/language/Buttons/Heading4/Hint}}" }, "$:/config/ShortcutInfo/heading-5": { "title": "$:/config/ShortcutInfo/heading-5", "text": "{{$:/language/Buttons/Heading5/Hint}}" }, "$:/config/ShortcutInfo/heading-6": { "title": "$:/config/ShortcutInfo/heading-6", "text": "{{$:/language/Buttons/Heading6/Hint}}" }, "$:/config/ShortcutInfo/italic": { "title": "$:/config/ShortcutInfo/italic", "text": "{{$:/language/Buttons/Italic/Hint}}" }, "$:/config/ShortcutInfo/link": { "title": "$:/config/ShortcutInfo/link", "text": "{{$:/language/Buttons/Link/Hint}}" }, "$:/config/ShortcutInfo/list-bullet": { "title": "$:/config/ShortcutInfo/list-bullet", "text": "{{$:/language/Buttons/ListBullet/Hint}}" }, "$:/config/ShortcutInfo/list-number": { "title": "$:/config/ShortcutInfo/list-number", "text": "{{$:/language/Buttons/ListNumber/Hint}}" }, "$:/config/ShortcutInfo/mono-block": { "title": "$:/config/ShortcutInfo/mono-block", "text": "{{$:/language/Buttons/MonoBlock/Hint}}" }, "$:/config/ShortcutInfo/mono-line": { "title": "$:/config/ShortcutInfo/mono-line", "text": "{{$:/language/Buttons/MonoLine/Hint}}" }, "$:/config/ShortcutInfo/new-image": { "title": "$:/config/ShortcutInfo/new-image", "text": "{{$:/language/Buttons/NewImage/Hint}}" }, "$:/config/ShortcutInfo/new-journal": { "title": "$:/config/ShortcutInfo/new-journal", "text": "{{$:/language/Buttons/NewJournal/Hint}}" }, "$:/config/ShortcutInfo/new-tiddler": { "title": "$:/config/ShortcutInfo/new-tiddler", "text": "{{$:/language/Buttons/NewTiddler/Hint}}" }, "$:/config/ShortcutInfo/picture": { "title": "$:/config/ShortcutInfo/picture", "text": "{{$:/language/Buttons/Picture/Hint}}" }, "$:/config/ShortcutInfo/preview": { "title": "$:/config/ShortcutInfo/preview", "text": "{{$:/language/Buttons/Preview/Hint}}" }, "$:/config/ShortcutInfo/quote": { "title": "$:/config/ShortcutInfo/quote", "text": "{{$:/language/Buttons/Quote/Hint}}" }, "$:/config/ShortcutInfo/save-tiddler": { "title": "$:/config/ShortcutInfo/save-tiddler", "text": "{{$:/language/Buttons/Save/Hint}}" }, "$:/config/ShortcutInfo/sidebar-search": { "title": "$:/config/ShortcutInfo/sidebar-search", "text": "{{$:/language/Buttons/SidebarSearch/Hint}}" }, "$:/config/ShortcutInfo/stamp": { "title": "$:/config/ShortcutInfo/stamp", "text": "{{$:/language/Buttons/Stamp/Hint}}" }, "$:/config/ShortcutInfo/strikethrough": { "title": "$:/config/ShortcutInfo/strikethrough", "text": "{{$:/language/Buttons/Strikethrough/Hint}}" }, "$:/config/ShortcutInfo/subscript": { "title": "$:/config/ShortcutInfo/subscript", "text": "{{$:/language/Buttons/Subscript/Hint}}" }, "$:/config/ShortcutInfo/superscript": { "title": "$:/config/ShortcutInfo/superscript", "text": "{{$:/language/Buttons/Superscript/Hint}}" }, "$:/config/ShortcutInfo/toggle-sidebar": { "title": "$:/config/ShortcutInfo/toggle-sidebar", "text": "{{$:/language/Buttons/ToggleSidebar/Hint}}" }, "$:/config/ShortcutInfo/underline": { "title": "$:/config/ShortcutInfo/underline", "text": "{{$:/language/Buttons/Underline/Hint}}" }, "$:/config/SyncFilter": { "title": "$:/config/SyncFilter", "text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]" }, "$:/config/Tags/MinLength": { "title": "$:/config/Tags/MinLength", "text": "0" }, "$:/config/TextEditor/EditorHeight/Height": { "title": "$:/config/TextEditor/EditorHeight/Height", "text": "400px" }, "$:/config/TextEditor/EditorHeight/Mode": { "title": "$:/config/TextEditor/EditorHeight/Mode", "text": "auto" }, "$:/config/TiddlerInfo/Default": { "title": "$:/config/TiddlerInfo/Default", "text": "$:/core/ui/TiddlerInfo/Fields" }, "$:/config/TiddlerInfo/Mode": { "title": "$:/config/TiddlerInfo/Mode", "text": "popup" }, "$:/config/Tiddlers/TitleLinks": { "title": "$:/config/Tiddlers/TitleLinks", "text": "no" }, "$:/config/Toolbar/ButtonClass": { "title": "$:/config/Toolbar/ButtonClass", "text": "tc-btn-invisible" }, "$:/config/Toolbar/Icons": { "title": "$:/config/Toolbar/Icons", "text": "yes" }, "$:/config/Toolbar/Text": { "title": "$:/config/Toolbar/Text", "text": "no" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions", "text": "show" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar", "text": "hide" }, "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": { "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others", "text": "hide" }, "$:/config/shortcuts-mac/bold": { "title": "$:/config/shortcuts-mac/bold", "text": "meta-B" }, "$:/config/shortcuts-mac/italic": { "title": "$:/config/shortcuts-mac/italic", "text": "meta-I" }, "$:/config/shortcuts-mac/underline": { "title": "$:/config/shortcuts-mac/underline", "text": "meta-U" }, "$:/config/shortcuts-mac/new-image": { "title": "$:/config/shortcuts-mac/new-image", "text": "ctrl-I" }, "$:/config/shortcuts-mac/new-journal": { "title": "$:/config/shortcuts-mac/new-journal", "text": "ctrl-J" }, "$:/config/shortcuts-mac/new-tiddler": { "title": "$:/config/shortcuts-mac/new-tiddler", "text": "ctrl-N" }, "$:/config/shortcuts-not-mac/bold": { "title": "$:/config/shortcuts-not-mac/bold", "text": "ctrl-B" }, "$:/config/shortcuts-not-mac/italic": { "title": "$:/config/shortcuts-not-mac/italic", "text": "ctrl-I" }, "$:/config/shortcuts-not-mac/underline": { "title": "$:/config/shortcuts-not-mac/underline", "text": "ctrl-U" }, "$:/config/shortcuts-not-mac/new-image": { "title": "$:/config/shortcuts-not-mac/new-image", "text": "alt-I" }, "$:/config/shortcuts-not-mac/new-journal": { "title": "$:/config/shortcuts-not-mac/new-journal", "text": "alt-J" }, "$:/config/shortcuts-not-mac/new-tiddler": { "title": "$:/config/shortcuts-not-mac/new-tiddler", "text": "alt-N" }, "$:/config/shortcuts/add-field": { "title": "$:/config/shortcuts/add-field", "text": "enter" }, "$:/config/shortcuts/advanced-search": { "title": "$:/config/shortcuts/advanced-search", "text": "ctrl-shift-A" }, "$:/config/shortcuts/cancel-edit-tiddler": { "title": "$:/config/shortcuts/cancel-edit-tiddler", "text": "escape" }, "$:/config/shortcuts/excise": { "title": "$:/config/shortcuts/excise", "text": "ctrl-E" }, "$:/config/shortcuts/sidebar-search": { "title": "$:/config/shortcuts/sidebar-search", "text": "ctrl-shift-F" }, "$:/config/shortcuts/heading-1": { "title": "$:/config/shortcuts/heading-1", "text": "ctrl-1" }, "$:/config/shortcuts/heading-2": { "title": "$:/config/shortcuts/heading-2", "text": "ctrl-2" }, "$:/config/shortcuts/heading-3": { "title": "$:/config/shortcuts/heading-3", "text": "ctrl-3" }, "$:/config/shortcuts/heading-4": { "title": "$:/config/shortcuts/heading-4", "text": "ctrl-4" }, "$:/config/shortcuts/heading-5": { "title": "$:/config/shortcuts/heading-5", "text": "ctrl-5" }, "$:/config/shortcuts/heading-6": { "title": "$:/config/shortcuts/heading-6", "text": "ctrl-6" }, "$:/config/shortcuts/link": { "title": "$:/config/shortcuts/link", "text": "ctrl-L" }, "$:/config/shortcuts/linkify": { "title": "$:/config/shortcuts/linkify", "text": "alt-shift-L" }, "$:/config/shortcuts/list-bullet": { "title": "$:/config/shortcuts/list-bullet", "text": "ctrl-shift-L" }, "$:/config/shortcuts/list-number": { "title": "$:/config/shortcuts/list-number", "text": "ctrl-shift-N" }, "$:/config/shortcuts/mono-block": { "title": "$:/config/shortcuts/mono-block", "text": "ctrl-shift-M" }, "$:/config/shortcuts/mono-line": { "title": "$:/config/shortcuts/mono-line", "text": "ctrl-M" }, "$:/config/shortcuts/picture": { "title": "$:/config/shortcuts/picture", "text": "ctrl-shift-I" }, "$:/config/shortcuts/preview": { "title": "$:/config/shortcuts/preview", "text": "alt-P" }, "$:/config/shortcuts/quote": { "title": "$:/config/shortcuts/quote", "text": "ctrl-Q" }, "$:/config/shortcuts/save-tiddler": { "title": "$:/config/shortcuts/save-tiddler", "text": "ctrl+enter" }, "$:/config/shortcuts/stamp": { "title": "$:/config/shortcuts/stamp", "text": "ctrl-S" }, "$:/config/shortcuts/strikethrough": { "title": "$:/config/shortcuts/strikethrough", "text": "ctrl-T" }, "$:/config/shortcuts/subscript": { "title": "$:/config/shortcuts/subscript", "text": "ctrl-shift-B" }, "$:/config/shortcuts/superscript": { "title": "$:/config/shortcuts/superscript", "text": "ctrl-shift-P" }, "$:/config/shortcuts/toggle-sidebar": { "title": "$:/config/shortcuts/toggle-sidebar", "text": "alt-shift-S" }, "$:/config/shortcuts/transcludify": { "title": "$:/config/shortcuts/transcludify", "text": "alt-shift-T" }, "$:/config/ui/EditTemplate": { "title": "$:/config/ui/EditTemplate", "text": "$:/core/ui/EditTemplate" }, "$:/config/ui/ViewTemplate": { "title": "$:/config/ui/ViewTemplate", "text": "$:/core/ui/ViewTemplate" }, "$:/config/WikiParserRules/Inline/wikilink": { "title": "$:/config/WikiParserRules/Inline/wikilink", "text": "enable" }, "$:/snippets/currpalettepreview": { "title": "$:/snippets/currpalettepreview", "text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch()\n<$set name=\"swatchColour\" value={{##$(colour)$}}\n><div class=\"tc-swatch\" style=<<swatchStyle>> title=<<colour>>/></$set>\n\\end\n<div class=\"tc-swatches-horiz\"><$list filter=\"\nforeground\nbackground\nmuted-foreground\nprimary\npage-background\ntab-background\ntiddler-info-background\n\" variable=\"colour\"><<swatch>></$list></div>" }, "$:/snippets/download-wiki-button": { "title": "$:/snippets/download-wiki-button", "text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>" }, "$:/language": { "title": "$:/language", "text": "$:/languages/en-GB" }, "$:/snippets/languageswitcher": { "title": "$:/snippets/languageswitcher", "text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n\n<$linkcatcher to=\"$:/language\">\n<div class=\"tc-chooser tc-language-chooser\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/language}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>" }, "$:/core/macros/CSS": { "title": "$:/core/macros/CSS", "tags": "$:/tags/Macro", "text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"><$transclude tiddler=\"$:/config/DefaultColourMappings/$name$\"/></$transclude></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n -webkit-box-shadow: $shadow$;\n -moz-box-shadow: $shadow$;\n box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n -webkit-filter: $filter$;\n -moz-filter: $filter$;\n filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n -webkit-transition: $transition$;\n -moz-transition: $transition$;\n transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n -webkit-transform-origin: $origin$;\n -moz-transform-origin: $origin$;\n transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\n-moz-column-count: $columns$;\n-webkit-column-count: $columns$;\ncolumn-count: $columns$;\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}} _canonical_uri={{$title$!!_canonical_uri}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-background-attachment(text)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" type=\"nomatch\" text=\"\">$text$</$reveal>\n\\end\n" }, "$:/core/macros/colour-picker": { "title": "$:/core/macros/colour-picker", "tags": "$:/tags/Macro", "text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<span style=\"display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/>\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n" }, "$:/core/macros/copy-to-clipboard": { "title": "$:/core/macros/copy-to-clipboard", "tags": "$:/tags/Macro", "text": "\\define copy-to-clipboard(src,class:\"tc-btn-invisible\",style)\n<$button class=<<__class__>> style=<<__style__>> message=\"tm-copy-to-clipboard\" param=<<__src__>> tooltip={{$:/language/Buttons/CopyToClipboard/Hint}}>\n{{$:/core/images/copy-clipboard}} <$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>\n</$button>\n\\end\n\n\\define copy-to-clipboard-above-right(src,class:\"tc-btn-invisible\",style)\n<div style=\"position: relative;\">\n<div style=\"position: absolute; bottom: 0; right: 0;\">\n<$macrocall $name=\"copy-to-clipboard\" src=<<__src__>> class=<<__class__>> style=<<__style__>>/>\n</div>\n</div>\n\\end\n\n" }, "$:/core/macros/diff": { "title": "$:/core/macros/diff", "tags": "$:/tags/Macro", "text": "\\define compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>>>\n<$diff-text source=<<source>> dest=<<dest>>/>\n</$set>\n</$set>\n\\end\n\n\\define compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)\n<table class=\"tc-diff-tiddlers\">\n<tbody>\n<$set name=\"sourceFields\" filter=\"[<__sourceTiddlerTitle__>fields[]sort[]]\">\n<$set name=\"destFields\" filter=\"[<__destSubTiddlerTitle__>subtiddlerfields<__destTiddlerTitle__>sort[]]\">\n<$list filter=\"[enlist<sourceFields>] [enlist<destFields>] -[enlist<__exclude__>] +[sort[]]\" variable=\"fieldName\">\n<tr>\n<th>\n<$text text=<<fieldName>>/> \n</th>\n<td>\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>> field=<<fieldName>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>> field=<<fieldName>>>\n<$diff-text source=<<source>> dest=<<dest>>>\n</$diff-text>\n</$set>\n</$set>\n</td>\n</tr>\n</$list>\n</$set>\n</$set>\n</tbody>\n</table>\n\\end\n" }, "$:/core/macros/dumpvariables": { "title": "$:/core/macros/dumpvariables", "tags": "$:/tags/Macro", "text": "\\define dumpvariables()\n<ul>\n<$list filter=\"[variables[]]\" variable=\"varname\">\n<li>\n<strong><code><$text text=<<varname>>/></code></strong>:<br/>\n<$codeblock code={{{ [<varname>getvariable[]] }}}/>\n</li>\n</$list>\n</ul>\n\\end\n" }, "$:/core/macros/export": { "title": "$:/core/macros/export", "tags": "$:/tags/Macro", "text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\"><$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button></span><$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n" }, "$:/core/macros/image-picker": { "title": "$:/core/macros/image-picker", "created": "20170715180840889", "modified": "20170715180914005", "tags": "$:/tags/Macro", "type": "text/vnd.tiddlywiki", "text": "\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n$actions$\n<$transclude tiddler=<<imageTitle>>/>\n</$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]\",subfilter:\"\")\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n" }, "$:/core/macros/lingo": { "title": "$:/core/macros/lingo", "tags": "$:/tags/Macro", "text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n" }, "$:/core/macros/list": { "title": "$:/core/macros/list", "tags": "$:/tags/Macro", "text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage)\n\\whitespace trim\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\" emptyMessage=<<__emptyMessage__>>>\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\"/>\n<div>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$transclude>\n</div>\n</$droppable>\n</$list>\n</$type$>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<__tag__>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Save the new order to the Tag Tiddler -->\n<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore:currentTiddler<actionTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n<$fieldmangler tiddler=<<actionTiddler>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n</$fieldmangler>\n</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n<$set name=\"tag\" value=<<__tag__>>>\n<$list filter=\"[<__tag__>tagging[]$subFilter$]\" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n</span>\n\\end\n" }, "$:/core/macros/tabs": { "title": "$:/core/macros/tabs", "tags": "$:/tags/Macro", "text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\" storyview=\"pop\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=\"$buttonTemplate$\" mode=\"inline\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$transclude>\n</$set></$tiddler></$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\" retain=\"\"\"$retain$\"\"\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n" }, "$:/core/macros/tag-picker": { "title": "$:/core/macros/tag-picker", "tags": "$:/tags/Macro", "text": "\\define add-tag-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n\\end\n\n\\define tag-button()\n<$button class=\"tc-btn-invisible\" tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<tag>>/>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$button>\n\\end\n\n\\define tag-picker-inner()\n\\whitespace trim\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$keyboard key=\"ENTER\" actions=<<add-tag-actions>>>\n<$edit-text tiddler=<<newTagNameTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex=<<tabIndex>> focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}}/>\n</$keyboard>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$set name=\"tag\" value={{{ [<newTagNameTiddler>get[text]] }}}>\n<$button set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n<<add-tag-actions>>\n<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$set name=\"newTagName\" value={{{ [<newTagNameTiddler>get[text]] }}}>\n<$list filter=\"[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]!is[system]search:title<newTagName>sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n<hr>\n<$list filter=\"[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]is[system]search:title<newTagName>sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n</$set>\n</div>\n</$reveal>\n</div>\n\\end\n\\define tag-picker()\n\\whitespace trim\n<$list filter=\"[<newTagNameTiddler>match[]]\" emptyMessage=<<tag-picker-inner>>>\n<$set name=\"newTagNameTiddler\" value=<<qualify \"$:/temp/NewTagName\">>>\n<<tag-picker-inner>>\n</$set>\n</$list>\n\\end\n" }, "$:/core/macros/tag": { "title": "$:/core/macros/tag", "tags": "$:/tags/Macro", "text": "\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$element-tag$ $element-attributes$ class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view tiddler=<<__tag__>> field=\"title\" format=\"text\" />\n</$element-tag$>\n</$vars>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=<<__tag__>> icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-pill-body\" tag=<<__tag__>> icon={{{ [<__tag__>get[icon]] }}} colour={{{ [<__tag__>get[color]] }}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n" }, "$:/core/macros/thumbnails": { "title": "$:/core/macros/thumbnails", "tags": "$:/tags/Macro", "text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n" }, "$:/core/macros/timeline": { "title": "$:/core/macros/timeline", "created": "20141212105914482", "modified": "20141212110330815", "tags": "$:/tags/Macro", "text": "\\define timeline-title()\n\\whitespace trim\n<!-- Override this macro with a global macro \n of the same name if you need to change \n how titles are displayed on the timeline \n -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><<timeline-title>></$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n" }, "$:/core/macros/toc": { "title": "$:/core/macros/toc", "tags": "$:/tags/Macro", "text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n <$transclude field=\"caption\">\n <$view field=\"title\"/>\n </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n <<toc-caption>>\n </$list>\n <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </li>\n </$set>\n </$set>\n </$vars>\n </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\"\")\n<$macrocall $name=\"toc-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$link>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-expandable-empty-message()\n<$macrocall $name=\"toc-linked-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\"\",exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <ol class=\"tc-toc toc-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n </$list>\n </$list>\n </ol>\n </$set>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\" >\n <li class=<<toc-item-class>>>\n <$link>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n </$list>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n </$list>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<$macrocall $name=\"toc-linked-selective-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <ol class=\"tc-toc toc-selective-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-selective-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </$list>\n </$list>\n </ol>\n </$set>\n</$vars>\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>\n <div class=\"tc-tabbed-table-of-contents\">\n <$linkcatcher to=<<__selectedTiddler__>>>\n <div class=\"tc-table-of-contents\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"[all[current]] -[<__selectedTiddler__>get[text]]\"/>\n </div>\n </$linkcatcher>\n <div class=\"tc-tabbed-table-of-contents-content\">\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"nomatch\" text=\"\">\n <$transclude mode=\"block\" tiddler=<<__template__>>>\n <h1><<toc-caption>></h1>\n <$transclude mode=\"block\">$missingText$</$transclude>\n </$transclude>\n </$reveal>\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"match\" text=\"\">\n $unselectedText$\n </$reveal>\n </div>\n </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=<<__selectedTiddler__>>>\n <$macrocall $name=\"toc-tabbed-external-nav\" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>\n</$linkcatcher>\n\\end\n\n" }, "$:/core/macros/translink": { "title": "$:/core/macros/translink", "tags": "$:/tags/Macro", "text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n" }, "$:/core/macros/tree": { "title": "$:/core/macros/tree", "tags": "$:/tags/Macro", "text": "\\define leaf-link(full-title,chunk,separator: \"/\")\n<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>\n\\end\n\n\\define leaf-node(prefix,chunk)\n<li>\n<$list filter=\"[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]\" variable=\"full-title\">\n<$list filter=\"[<full-title>removeprefix<__prefix__>]\" variable=\"chunk\">\n<span>{{$:/core/images/file}}</span> <$macrocall $name=\"leaf-link\" full-title=<<full-title>> chunk=<<chunk>>/>\n</$list>\n</$list>\n</li>\n\\end\n\n\\define branch-node(prefix,chunk,separator: \"/\")\n<li>\n<$set name=\"reveal-state\" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>\n<$reveal type=\"nomatch\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<span>(<$count filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]\"/>)</span>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$macrocall $name=\"tree-node\" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>\n</$reveal>\n</$set>\n</li>\n\\end\n\n\\define tree-node(prefix,separator: \"/\")\n<ol>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"leaf-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"branch-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n</ol>\n\\end\n\n\\define tree(prefix: \"$:/\",separator: \"/\")\n<div class=\"tc-tree\">\n<span><$text text=<<__prefix__>>/></span>\n<div>\n<$macrocall $name=\"tree-node\" prefix=<<__prefix__>> separator=<<__separator__>>/>\n</div>\n</div>\n\\end\n" }, "$:/core/macros/utils": { "title": "$:/core/macros/utils", "text": "\\define colour(colour)\n$colour$\n\\end\n" }, "$:/snippets/minifocusswitcher": { "title": "$:/snippets/minifocusswitcher", "text": "<$select tiddler=\"$:/config/AutoFocus\">\n<$list filter=\"title tags text type fields\">\n<option value=<<currentTiddler>>><<currentTiddler>></option>\n</$list>\n</$select>\n" }, "$:/snippets/minilanguageswitcher": { "title": "$:/snippets/minilanguageswitcher", "text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>" }, "$:/snippets/minithemeswitcher": { "title": "$:/snippets/minithemeswitcher", "text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>" }, "$:/snippets/modules": { "title": "$:/snippets/modules", "text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n" }, "$:/palette": { "title": "$:/palette", "text": "$:/palettes/Vanilla" }, "$:/snippets/paletteeditor": { "title": "$:/snippets/paletteeditor", "text": "<$transclude tiddler=\"$:/PaletteManager\"/>\n" }, "$:/snippets/palettepreview": { "title": "$:/snippets/palettepreview", "text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n{{||$:/snippets/currpalettepreview}}\n</$set>\n" }, "$:/snippets/paletteswitcher": { "title": "$:/snippets/paletteswitcher", "text": "<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[name]]\"><$set name=\"cls\" filter=\"[all[current]prefix{$:/palette}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/>{{||$:/snippets/currpalettepreview}}</$link>\n</div></$set>\n</$list>\n</div>\n</$linkcatcher>\n" }, "$:/snippets/peek-stylesheets": { "title": "$:/snippets/peek-stylesheets", "text": "\\define expandable-stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$vars state=<<qualify \"$:/state/peek-stylesheets/open/\">>>\n<$set name=\"state\" value={{{ [<state>addsuffix<currentTiddler>] }}}>\n<li>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"no\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"yes\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"div\">\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</$reveal>\n</li>\n</$set>\n</$vars>\n</$list>\n</ol>\n\\end\n\n\\define stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</li>\n</$list>\n</ol>\n\\end\n\n<$vars modeState=<<qualify \"$:/state/peek-stylesheets/mode/\">>>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"expanded\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"restored\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}</$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<expandable-stylesheets-list>>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<stylesheets-list>>\n</$reveal>\n\n</$vars>\n" }, "$:/temp/search": { "title": "$:/temp/search", "text": "" }, "$:/tags/AdvancedSearch": { "title": "$:/tags/AdvancedSearch", "list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]" }, "$:/tags/AdvancedSearch/FilterButton": { "title": "$:/tags/AdvancedSearch/FilterButton", "list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete" }, "$:/tags/ControlPanel": { "title": "$:/tags/ControlPanel", "list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals" }, "$:/tags/ControlPanel/Info": { "title": "$:/tags/ControlPanel/Info", "list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced" }, "$:/tags/ControlPanel/Plugins": { "title": "$:/tags/ControlPanel/Plugins", "list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]" }, "$:/tags/EditTemplate": { "title": "$:/tags/EditTemplate", "list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]" }, "$:/tags/EditToolbar": { "title": "$:/tags/EditToolbar", "list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]" }, "$:/tags/EditorToolbar": { "title": "$:/tags/EditorToolbar", "list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/rotate-left $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type" }, "$:/tags/Manager/ItemMain": { "title": "$:/tags/Manager/ItemMain", "list": "$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields" }, "$:/tags/Manager/ItemSidebar": { "title": "$:/tags/Manager/ItemSidebar", "list": "$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools" }, "$:/tags/MoreSideBar": { "title": "$:/tags/MoreSideBar", "list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Explorer]] [[$:/core/ui/MoreSideBar/Plugins]]", "text": "" }, "$:/tags/PageControls": { "title": "$:/tags/PageControls", "list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]" }, "$:/tags/PageTemplate": { "title": "$:/tags/PageTemplate", "list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]", "text": "" }, "$:/tags/PluginLibrary": { "title": "$:/tags/PluginLibrary", "list": "$:/config/OfficialPluginLibrary" }, "$:/tags/SideBar": { "title": "$:/tags/SideBar", "list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]", "text": "" }, "$:/tags/SideBarSegment": { "title": "$:/tags/SideBarSegment", "list": "[[$:/core/ui/SideBarSegments/site-title]] [[$:/core/ui/SideBarSegments/site-subtitle]] [[$:/core/ui/SideBarSegments/page-controls]] [[$:/core/ui/SideBarSegments/search]] [[$:/core/ui/SideBarSegments/tabs]]" }, "$:/tags/TiddlerInfo": { "title": "$:/tags/TiddlerInfo", "list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]", "text": "" }, "$:/tags/TiddlerInfo/Advanced": { "title": "$:/tags/TiddlerInfo/Advanced", "list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]" }, "$:/tags/ViewTemplate": { "title": "$:/tags/ViewTemplate", "list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]" }, "$:/tags/ViewToolbar": { "title": "$:/tags/ViewToolbar", "list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]" }, "$:/snippets/themeswitcher": { "title": "$:/snippets/themeswitcher", "text": "<$linkcatcher to=\"$:/theme\">\n<div class=\"tc-chooser\"><$list filter=\"[plugin-type[theme]sort[title]]\"><$set name=\"cls\" filter=\"[all[current]field:title{$:/theme}] [[$:/theme]!has[text]addsuffix[s/tiddlywiki/vanilla]field:title<currentTiddler>] +[limit[1]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>" }, "$:/core/wiki/title": { "title": "$:/core/wiki/title", "text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}" }, "$:/view": { "title": "$:/view", "text": "classic" }, "$:/snippets/viewswitcher": { "title": "$:/snippets/viewswitcher", "text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<$linkcatcher to=\"$:/view\">\n<div class=\"tc-chooser tc-viewswitcher\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$set name=\"cls\" filter=\"[<storyview>prefix{$:/view}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link to=<<storyview>>><$transclude tiddler=<<icon>>/><$text text=<<storyview>>/></$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>" } } }
<h1 class="tc-site-title"> <$transclude tiddler="$:/SiteTitle" mode="inline"/> </h1>
\whitespace trim <$vars vhide={{{[[$:/state/sidebar]get[text]]+[match[no]] display:none; +[replace[no]]}}}> <$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes"> <div class="tc-subtitle" style=<<vhide>>> <$link to={{!!modifier}} /> <$view field="modified" format="date" template={{$:/language/Tiddler/DateFormat}}/> </div> </$reveal> </$vars>
\whitespace trim \define title-styles() fill:$(foregroundColor)$; \end \define config-title() $:/config/ViewToolbarButtons/Visibility/$(listItem)$ \end <$vars vhide={{{[[$:/state/sidebar]get[text]]+[match[no]] display:none; +[replace[no]]}}}> <div class="tc-tiddler-title" style=<<vhide>>> <div class="tc-titlebar" style=<<vhide>>> <span class="tc-tiddler-controls" style=<<vhide>>> <$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$reveal type="nomatch" state=<<config-title>> text="hide"><$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list> </span> <$set name="tv-wikilinks" value={{$:/config/Tiddlers/TitleLinks}}> <$link> <$set name="foregroundColor" value={{!!color}}> <span class="tc-tiddler-title-icon" style=<<title-styles>>> <$transclude tiddler={{!!icon}}> <$transclude tiddler={{$:/config/DefaultTiddlerIcon}}/> </$transclude> </span> </$set> <$list filter="[all[current]removeprefix[$:/]]"> <h2 class="tc-title" title={{$:/language/SystemTiddler/Tooltip}}> <span class="tc-system-title-prefix">$:/</span><$text text=<<currentTiddler>>/> </h2> </$list> <$list filter="[all[current]!prefix[$:/]]"> <h2 class="tc-title"> <$view field="title"/> </h2> </$list> </$link> </$set> </div> <$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tc-tiddler-info tc-popup-handle" animate="yes" retain="yes"> <$list filter="[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]" variable="listItem"><$transclude tiddler=<<listItem>> mode="block"/></$list> </$reveal> </div> </$vars>
Home
The following tiddlers were imported: # [[fLmg]]
no
YYYY-0MM-0DD 0hh12:0mmam
/*\ title: $:/macros/charlie/getstartupcontext.js type: application/javascript module-type: macro \*/ (function(){ /*jslint node: true, browser: true */ /*global $tw: false */ "use strict"; /* Information about this macro This is the mysamplemacro of Tiddly Wiki 5 written in JavaScript */ exports.name = "getstartupcontext"; exports.params = [ { name: "character" }, { name: "address" } ]; /* Run the macro */ exports.run = function() { const queryString = window.location.search; try { const urlParams = new URLSearchParams(queryString); const wikicontext = urlParams.get('context'); var output = wikicontext; if ( (output !== "OffGridding") && (output !== "HydroCutting") && (output !== "Chromebook") ){ output = "ProductReviews"; }; document.title = output; } catch(err) { output = "ProductReviews"; } return output; }; })();
$:/palettes/CJ's Vanilla
alert-background: #ffe476 alert-border: #b99e2f alert-highlight: #881122 alert-muted-foreground: #b99e2f background: #ffffff blockquote-bar: <<colour muted-foreground>> button-background: button-foreground: button-border: code-background: #f7f7f9 code-border: #e1e1e8 code-foreground: #dd1144 diff-delete-background: #ffc9c9 diff-delete-foreground: <<colour foreground>> diff-equal-background: diff-equal-foreground: <<colour foreground>> diff-insert-background: #aaefad diff-insert-foreground: <<colour foreground>> diff-invisible-background: diff-invisible-foreground: <<colour muted-foreground>> dirty-indicator: #ff0000 download-background: #34c734 download-foreground: <<colour background>> dragger-background: <<colour foreground>> dragger-foreground: <<colour background>> dropdown-background: <<colour background>> dropdown-border: <<colour muted-foreground>> dropdown-tab-background-selected: #fff dropdown-tab-background: #ececec dropzone-background: rgba(0,200,0,0.7) external-link-background-hover: inherit external-link-background-visited: inherit external-link-background: inherit external-link-foreground-hover: inherit external-link-foreground-visited: #0000aa external-link-foreground: #0000ee foreground: #333333 message-background: #ecf2ff message-border: #cfd6e6 message-foreground: #547599 modal-backdrop: <<colour foreground>> modal-background: <<colour background>> modal-border: #999999 modal-footer-background: #f5f5f5 modal-footer-border: #dddddd modal-header-border: #eeeeee muted-foreground: #bbb notification-background: #ffffdd notification-border: #999999 page-background: #f0fff5 pre-background: #f5f5f5 pre-border: #cccccc primary: #5778d8 select-tag-background: select-tag-foreground: sidebar-button-foreground: <<colour foreground>> sidebar-controls-foreground-hover: #000000 sidebar-controls-foreground: #aaaaaa sidebar-foreground-shadow: rgba(255,255,255, 0.8) sidebar-foreground: #000000 sidebar-muted-foreground-hover: #444444 sidebar-muted-foreground: #c0c0c0 sidebar-tab-background-selected: #f4f4f4 sidebar-tab-background: #e0e0e0 sidebar-tab-border-selected: <<colour tab-border-selected>> sidebar-tab-border: <<colour tab-border>> sidebar-tab-divider: #7e7b7b sidebar-tab-foreground-selected: sidebar-tab-foreground: <<colour tab-foreground>> sidebar-tiddler-link-foreground-hover: #444444 sidebar-tiddler-link-foreground: #0a00ee site-title-foreground: <<colour tiddler-title-foreground>> static-alert-foreground: #aaaaaa tab-background-selected: #ffffff tab-background: #d8d8d8 tab-border-selected: #d8d8d8 tab-border: #cccccc tab-divider: #d8d8d8 tab-foreground-selected: <<colour tab-foreground>> tab-foreground: #666666 table-border: #7e7c7c table-footer-background: #a8a8a8 table-header-background: #f0f0f0 tag-background: #ec6 tag-foreground: #ffffff tiddler-background: <<colour background>> tiddler-border: #dddddd tiddler-controls-foreground-hover: #888888 tiddler-controls-foreground-selected: #444444 tiddler-controls-foreground: #cccccc tiddler-editor-background: #f8f8f8 tiddler-editor-border-image: #ffffff tiddler-editor-border: #cccccc tiddler-editor-fields-even: #e0e8e0 tiddler-editor-fields-odd: #f0f4f0 tiddler-info-background: #f8f8f8 tiddler-info-border: #dddddd tiddler-info-tab-background: #f8f8f8 tiddler-link-background: <<colour background>> tiddler-link-foreground: <<colour primary>> tiddler-subtitle-foreground: #c0c0c0 tiddler-title-foreground: #182955 toolbar-new-button: toolbar-options-button: toolbar-save-button: toolbar-info-button: toolbar-edit-button: toolbar-close-button: toolbar-delete-button: toolbar-cancel-button: toolbar-done-button: untagged-background: #999999 very-muted-foreground: #888888 wikilist-background: #e5e5e5 wikilist-item: #fff wikilist-info: #000 wikilist-title: #666 wikilist-title-svg: <<colour wikilist-title>> wikilist-url: #aaa wikilist-button-open: #4fb82b wikilist-button-open-hover: green wikilist-button-reveal: #5778d8 wikilist-button-reveal-hover: blue wikilist-button-remove: #d85778 wikilist-button-remove-hover: red wikilist-toolbar-background: #d3d3d3 wikilist-toolbar-foreground: #888 wikilist-droplink-dragover: rgba(255,192,192,0.5) wikilist-button-background: #acacac wikilist-button-foreground: #000
{ "tiddlers": { "$:/plugins/flibbles/relink/js/bulkops.js": { "text": "/*\\\nmodule-type: startup\n\nReplaces the relinkTiddler defined in $:/core/modules/wiki-bulkops.js\n\nThis is a startup instead of a wikimethods module-type because it's the only\nway to ensure this runs after the old relinkTiddler method is applied.\n\n\\*/\n(function(){\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\n\nexports.name = \"redefine-relinkTiddler\";\nexports.synchronous = true;\n// load-modules is when wikimethods are applied in\n// ``$:/core/modules/startup/load-modules.js``\nexports.after = ['load-modules'];\n\nexports.startup = function() {\n\t$tw.Wiki.prototype.relinkTiddler = relinkTiddler;\n};\n\n/** Walks through all relinkable tiddlers and relinks them.\n * This replaces the existing function in core Tiddlywiki.\n */\nfunction relinkTiddler(fromTitle, toTitle, options) {\n\tvar self = this;\n\tvar failures = this.eachRelinkableTiddler(\n\t\t\tfromTitle,\n\t\t\ttoTitle,\n\t\t\toptions,\n\t\t\tfunction(changes, tiddler) {\n\t\tvar newTiddler = new $tw.Tiddler(tiddler,changes,self.getModificationFields())\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\tself.addTiddler(newTiddler);\n\t});\n\tif (failures.length > 0) {\n\t\tlanguage.reportFailures(failures);\n\t}\n};\n\n})();\n", "module-type": "startup", "title": "$:/plugins/flibbles/relink/js/bulkops.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/errors.js": { "text": "/*\\\nmodule-type: library\n\nThis is the exception that gets thrown when a relink is impossible.\n (Or the hoops we'd have to go through to make it work are more than the user\n would want Relink to do, like create new tiddlers)\n\\*/\n\nfunction RelinkError() {};\nRelinkError.prototype = Object.create(Error);\nexports.RelinkError = RelinkError;\n\nfunction CannotRelinkError() { };\nCannotRelinkError.prototype = new RelinkError();\nexports.CannotRelinkError = CannotRelinkError\n\nfunction CannotFindMacroDefError(macroName) { this.macroName = macroName; };\nCannotFindMacroDefError.prototype = new RelinkError();\nexports.CannotFindMacroDefError = CannotFindMacroDefError;\n//Cannot find definition for ${macroName}. Make sure your macro whitelist is configured properly, and that you're macro is globally defined, or defined in all the places it's used.\n", "module-type": "library", "title": "$:/plugins/flibbles/relink/js/errors.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/language.js": { "text": "/*\\\nmodule-type: library\n\nThis handles all logging and alerts Relink emits.\n\n\\*/\n\nexports.logRelink = function(message, args, options) {\n\tif (options.quiet) {\n\t\treturn;\n\t}\n\tvar raw = exports.log[message];\n\tif (raw) {\n\t\t// This is cheap, but whatevs. To do a proper\n\t\t// rendering would require working through a wiki\n\t\t// object. Too heavy weight for log messages.\n\t\tvar msg = raw.replace(/<<([^<>]+)>>/g, function(match, key) {\n\t\t\treturn args[key] || (\"<<\"+key+\">>\");\n\t\t});\n\t\tif (raw.indexOf('%c') >= 0) {\n\t\t\t// Doing a little bit of bold so the user sees\n\t\t\t// where we had to jump through hoops.\n\t\t\tconsole.log(\"%c\" + msg, \"\", \"font-weight: bold;\");\n\t\t} else {\n\t\t\tconsole.log(msg);\n\t\t}\n\t} else {\n\t\tconsole.warn(\"No such log message: \" + message);\n\t}\n};\n\nexports.getString = function(title, options) {\n\ttitle = \"$:/plugins/flibbles/relink/language/\" + title;\n\treturn options.wiki.renderTiddler(\"text/plain\", title,\n\t {variables: options.variables});\n};\n\nexports.failureAlert = \"Relink was unable to update the following tiddlers due to the complexity of the title:\";\n\nexports.reportFailures = function(failureList) {\n\tvar reportList = failureList.map(function(f) {return \"\\n \" + f});\n\tconsole.warn(exports.failureAlert + reportList);\n};\n\nexports.log = {\n\t\"attribute\": \"Renaming '<<from>>' to '<<to>>' in <<<element>> <<attribute>> /> attribute of tiddler '<<tiddler>>'\",\n\t\"attribute-placeholder\": \"Renaming '<<from>>' to '<<to>>' in <<<element>> <<attribute>> /> attribute of tiddler '<<tiddler>>' %cby creating placeholder macros\",\n\t\"field\": \"Renaming '<<from>>' to '<<to>>' in <<field>> of tiddler '<<tiddler>>'\",\n\t\"filteredtransclude\": \"Renaming '<<from>>' to '<<to>>' in filtered transclusion of tiddler '<<tiddler>>'\",\n\t\"filteredtransclude-placeholder\": \"Renaming '<<from>>' to '<<to>>' in filtered transclusion of tiddler '<<tiddler>>' %cby creating placeholder macros\",\n\t\"filteredtransclude-placeholder-widget\": \"Renaming '<<from>>' to '<<to>>' in filtered transclusion of tiddler '<<tiddler>>' %cby converting it into a widget and creating placeholder macros\",\n\t\"filteredtransclude-widget\": \"Renaming '<<from>>' to '<<to>>' in filtered transclusion of tiddler '<<tiddler>>' %cby converting it into a widget\",\n\t\"import\": \"Renaming '<<from>>' to '<<to>>' in \\\\import filter of tiddler '<<tiddler>>'\",\n\t\"import-placeholder\": \"Renaming '<<from>>' to '<<to>>' in \\\\import filter of tiddler '<<tiddler>>' %cby creating placeholder macros\",\n\t\"macrodef\": \"Renaming '<<from>>' to '<<to>>' in <<macro>> definition of tiddler '<<tiddler>>'\",\n\t\"macrodef-placeholder\": \"Renaming '<<from>>' to '<<to>>' in <<macro>> definition of tiddler '<<tiddler>>' %cby creating more placeholder macros\",\n\t\"prettylink\": \"Renaming '<<from>>' to '<<to>>' in prettylink of tiddler '<<tiddler>>'\",\n\t\"prettylink-placeholder\": \"Renaming '<<from>>' to '<<to>>' in prettylink of tiddler '<<tiddler>>' %cby converting it into a widget and creating placeholder macros\",\n\t\"prettylink-widget\": \"Renaming '<<from>>' to '<<to>>' in prettylink of tiddler '<<tiddler>>' %cby converting it into a widget\",\n\t\"transclude\": \"Renaming '<<from>>' to '<<to>>' in transclusion of tiddler '<<tiddler>>'\",\n\t\"transclude-placeholder\": \"Renaming '<<from>>' to '<<to>>' in transclusion of tiddler '<<tiddler>>' %cby converting it into a widget and creating placeholder macros\",\n\t\"transclude-widget\": \"Renaming '<<from>>' to '<<to>>' in transclusion of tiddler '<<tiddler>>' %cby converting it into a widget\",\n\t\"wikilink\": \"Renaming '<<from>>' to '<<to>>' in CamelCase link of tiddler '<<tiddler>>'\",\n\t\"wikilink-placeholder\": \"Renaming '<<from>>' to '<<to>>' in CamelCase link of tiddler '<<tiddler>>' %cby converting it into a widget and creating placeholder macros\",\n\t\"wikilink-pretty\": \"Renaming '<<from>>' to '<<to>>' in CamelCase link of tiddler '<<tiddler>>' %cby converting it into a prettylink\"\n};\n", "module-type": "library", "title": "$:/plugins/flibbles/relink/js/language.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/settings.js": { "text": "/*\\\nmodule-type: library\n\nThis handles the fetching and distribution of relink settings.\n\n\\*/\n\nvar fieldTypes = Object.create(null);\n\n$tw.modules.forEachModuleOfType(\"relinkfieldtype\", function(title, exports) {\n\tfieldTypes[exports.name] = exports;\n\t// For legacy reasons, some of the field types can go by other names\n\tif (exports.aliases) {\n\t\t$tw.utils.each(exports.aliases, function(alias) {\n\t\t\tfieldTypes[alias] = exports;\n\t\t});\n\t}\n});\n\n/**Returns a specific relinker.\n * This is useful for wikitext rules which need to parse a filter or a list\n */\nexports.getRelinker = function(name) {\n\treturn fieldTypes[name];\n};\n\nexports.getAttributes = function(options) {\n\treturn getSettings(options).attributes;\n};\n\nexports.getFields = function(options) {\n\treturn getSettings(options).fields;\n};\n\nexports.getMacros = function(options) {\n\treturn getSettings(options).macros;\n};\n\nexports.getOperators = function(options) {\n\treturn getSettings(options).operators;\n};\n\n/**Factories define methods that create settings given config tiddlers.\n * for factory method 'example', it will be called once for each:\n * \"$:/config/flibbles/relink/example/...\" tiddler that exists.\n * the argument \"key\" will be set to the contents of \"...\"\n *\n * The reason I build relink settings in this convoluted way is to minimize\n * the number of times tiddlywiki has to run through EVERY tiddler looking\n * for relink config tiddlers.\n *\n * Also, by exporting \"factories\", anyone who extends relink can patch in\n * their own factory methods to create settings that are generated exactly\n * once per rename.\n */\nexports.factories = {\n\tattributes: function(attributes, tiddler, key) {\n\t\tvar relinker = fieldTypes[tiddler.fields.text];\n\t\tif (relinker) {\n\t\t\tvar elem = root(key);\n\t\t\tvar attr = key.substr(elem.length+1);\n\t\t\tattributes[elem] = attributes[elem] || Object.create(null);\n\t\t\tattributes[elem][attr] = relinker;\n\t\t}\n\t},\n\tfields: function(fields, tiddler, name) {\n\t\tvar relinker = fieldTypes[tiddler.fields.text];\n\t\tif (relinker) {\n\t\t\tfields[name] = relinker;\n\t\t}\n\t},\n\tmacros: function(macros, tiddler, key) {\n\t\tvar relinker = fieldTypes[tiddler.fields.text];\n\t\tif (relinker) {\n\t\t\t// We take the last index, not the first, because macro\n\t\t\t// parameters can't have slashes, but macroNames can.\n\t\t\tvar name = dir(key);\n\t\t\tvar arg = key.substr(name.length+1);\n\t\t\tmacros[name] = macros[name] || Object.create(null);\n\t\t\tmacros[name][arg] = relinker;\n\t\t}\n\t},\n\toperators: function(operators, tiddler, name) {\n\t\tvar relinker = fieldTypes[tiddler.fields.text];\n\t\tif (relinker) {\n\t\t\toperators[name] = relinker;\n\t\t}\n\t}\n};\n\n/**We're caching the generated settings inside of options. Not exactly how\n * options was meant to be used, but it's fiiiiine.\n * The wiki global cache isn't a great place, because it'll get cleared many\n * times during a bulk relinking operation, and we can't recalculate this every\n * time without exploding a rename operation's time.\n * options works great. It only lasts just as long as the rename.\n * No longer, no shorter.\n */\nfunction getSettings(options) {\n\tvar secretCache = \"__relink_settings\";\n\tvar cache = options[secretCache];\n\tif (cache === undefined) {\n\t\tcache = options[secretCache] = compileSettings(options.wiki);\n\t}\n\treturn cache;\n};\n\nfunction compileSettings(wiki) {\n\tvar prefix = \"$:/config/flibbles/relink/\";\n\tvar settings = Object.create(null);\n\tfor (var name in exports.factories) {\n\t\tsettings[name] = Object.create(null);\n\t}\n\twiki.eachShadowPlusTiddlers(function(tiddler, title) {\n\t\tif (title.substr(0, prefix.length) === prefix) {\n\t\t\tvar remainder = title.substr(prefix.length);\n\t\t\tvar category = root(remainder);\n\t\t\tvar factory = exports.factories[category];\n\t\t\tif (factory) {\n\t\t\t\tvar name = remainder.substr(category.length+1);\n\t\t\t\tfactory(settings[category], tiddler, name);\n\t\t\t}\n\t\t}\n\t});\n\treturn settings;\n};\n\n/* Returns first bit of a path. path/to/tiddler -> path\n */\nfunction root(string) {\n\tvar index = string.indexOf('/');\n\tif (index >= 0) {\n\t\treturn string.substr(0, index);\n\t}\n};\n\n/* Returns all but the last bit of a path. path/to/tiddler -> path/to\n */\nfunction dir(string) {\n\tvar index = string.lastIndexOf('/');\n\tif (index >= 0) {\n\t\treturn string.substr(0, index);\n\t}\n}\n", "module-type": "library", "title": "$:/plugins/flibbles/relink/js/settings.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/wikimethods.js": { "text": "/*\\\nmodule-type: wikimethod\n\nIntroduces some utility methods used by Relink.\n\n\\*/\n\nvar errors = require('$:/plugins/flibbles/relink/js/errors');\n\nvar relinkOperations = Object.create(null);\n$tw.modules.applyMethods('relinkoperator', relinkOperations);\n\n/**Walks through all non-shadow tiddlers and sees which ones need to be relinked\n *\n * For each one, calls method on it with arguments (changes, tiddler, title)\n * Returns a list of tiddlers it would fail to update.\n */\nexports.eachRelinkableTiddler = function(fromTitle, toTitle, options, method) {\n\tvar data = this.getRelinkableTiddlers(fromTitle, toTitle, options);\n\tfor (var title in data.changes) {\n\t\tmethod(data.changes[title], this.getTiddler(title), title);\n\t}\n\treturn data.failures;\n};\n\n/** Returns a pair like this,\n * { changes: {...}, failures: [] }\n */\nexports.getRelinkableTiddlers = function(fromTitle, toTitle, options) {\n\tvar cache = this.getGlobalCache(\"relink-\"+fromTitle, function() {\n\t\treturn Object.create(null);\n\t});\n\tif (!cache[toTitle]) {\n\t\tcache[toTitle] = getFreshRelinkableTiddlers(this, fromTitle, toTitle, options);\n\t}\n\treturn cache[toTitle];\n};\n\nfunction getFreshRelinkableTiddlers(wiki, fromTitle, toTitle, options) {\n\toptions = options || {};\n\toptions.wiki = options.wiki || wiki;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\tvar failures = [];\n\tvar changeList = Object.create(null);\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tvar toUpdate = getRelinkFilter(wiki);\n\t\tvar tiddlerList = toUpdate.call(wiki); // no source or widget\n\t\tfor (var i = 0; i < tiddlerList.length; i++) {\n\t\t\tvar title = tiddlerList[i];\n\t\t\tvar tiddler = wiki.getTiddler(title);\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(tiddler\n\t\t\t&& !tiddler.fields[\"plugin-type\"]\n\t\t\t&& tiddler.fields.type !== \"application/javascript\") {\n\t\t\t\ttry {\n\t\t\t\t\tvar changes = Object.create(null);\n\t\t\t\t\tfor (var operation in relinkOperations) {\n\t\t\t\t\t\trelinkOperations[operation](tiddler, fromTitle, toTitle, changes, options);\n\t\t\t\t\t}\n\t\t\t\t\t// If any fields changed, update tiddler\n\t\t\t\t\tif(Object.keys(changes).length > 0) {\n\t\t\t\t\t\tchangeList[title] = changes;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof errors.RelinkError) {\n\t\t\t\t\t\tfailures.push(title);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Should we test for instanceof Error instead?: yes\n\t\t\t\t\t\t// Does that work in the testing environment?: no\n\t\t\t\t\t\tif (e.message) {\n\t\t\t\t\t\t\te.message = e.message + \"\\nWhen relinking '\" + title + \"'\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn {changes: changeList, failures: failures};\n};\n\nfunction getRelinkFilter(wiki) {\n\tvar toUpdate = \"$:/config/flibbles/relink/to-update\";\n\treturn wiki.getCacheForTiddler(toUpdate, \"relink-toUpdate\", function() {\n\t\tvar tiddler = wiki.getTiddler(toUpdate);\n\t\tif (tiddler) {\n\t\t\tvar filter = wiki.compileFilter(tiddler.fields.text);\n\t\t\treturn filter;\n\t\t} else {\n\t\t\treturn wiki.allTitles;\n\t\t}\n\t});\n};\n\n/**Returns a list of tiddlers that would be renamed by a relink operations.\n */\nexports.relinkTiddlerDryRun = function(fromTitle, toTitle, options) {\n\tvar results = [];\n\tthis.eachRelinkableTiddler(\n\t\t\tfromTitle,\n\t\t\ttoTitle,\n\t\t\toptions,\n\t\t\tfunction(changes, tiddler, title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\nvar ImportVariablesWidget = require(\"$:/core/modules/widgets/importvariables.js\").importvariables;\n\nexports.relinkGlobalMacros = function() {\n\tif (!this._relinkWidget) {\n\t\tvar importWidget = this.relinkGenerateVariableWidget( \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\");\n\t\tthis.addEventListener(\"change\", function(changes) {\n\t\t\timportWidget.refresh(changes);\n\t\t});\n\t\tthis._relinkWidget = importWidget;\n\t}\n\tvar rtn = this._relinkWidget;\n\twhile (rtn.children.length > 0) {\n\t\trtn = rtn.children[0];\n\t}\n\treturn rtn;\n};\n\nexports.relinkGenerateVariableWidget = function(filter, parent) {\n\tvar treeNode = { attributes: {\n\t\t\"filter\": {\n\t\t\ttype: \"string\",\n\t\t\tvalue: filter\n\t\t}\n\t}};\n\tvar importWidget = new ImportVariablesWidget(treeNode,{parentWidget: parent, wiki: this});\n\timportWidget.computeAttributes();\n\timportWidget.execute();\n\t// These two functions neuter the widget, so it never tries\n\t// to render.\n\timportWidget.findNextSiblingDomNode = function() {};\n\timportWidget.renderChildren(this.parentDomNode);\n\treturn importWidget;\n};\n", "module-type": "wikimethod", "title": "$:/plugins/flibbles/relink/js/wikimethods.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/filteroperators/impossible.js": { "text": "/*\\\nmodule-type: relinkfilteroperator\n\nGiven an input of toTitles, (probably just one), outputs all the tiddlers in\nwhich Relink would fail to update the operand to any of those given titles.\n\n`[[{terrible'}!!\"title\"]relink:impossible[fromTiddler]]`\n\nWould output all the tiddlers where Relink would fail to update `from here` to\n`{terrible'}!!\"title\"`\n\nI know, it's weird. You'd think it would test all incoming inputs instead of\nusing them as to fromTitle, but this is the only way to input both a fromTitle\nand a toTitle.\n\nResults are dominantly appanded if more than one input tiddler is given.\n\\*/\n\nexports.impossible = function(source,operator,options) {\n\tvar fromTitle = operator.operand,\n\t\tresults = [];\n\tif (fromTitle) {\n\t\tsource(function(toTiddler, toTitle) {\n\t\t\tvar fails = options.wiki.eachRelinkableTiddler(\n\t\t\t\tfromTitle, toTitle,\n\t\t\t\t$tw.utils.extend({quiet: true}, options),\n\t\t\t\tfunction(tiddler, title) {});\n\t\t\t$tw.utils.pushTop(results, fails);\n\t\t});\n\t}\n\treturn results;\n};\n", "module-type": "relinkfilteroperator", "title": "$:/plugins/flibbles/relink/js/filteroperators/impossible.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/filteroperators/references.js": { "text": "/*\\\nmodule-type: relinkfilteroperator\n\nGiven a title as an operand, returns all non-shadow tiddlers that have any\nsort of updatable reference to it.\n\n\n`relink:references[fromTiddler]]`\n\nReturns all tiddlers that reference `fromTiddler` somewhere inside them.\n\nInput is ignored. Maybe it shouldn't do this.\nAlso, maybe it should properly recon, instead of fake replacing the title with\n`__relink_dummy__`\n\\*/\n\nexports.references = function(source,operator,options) {\n\tvar fromTitle = operator.operand,\n\t\tresults = [];\n\tif (fromTitle) {\n\t\toptions.wiki.eachRelinkableTiddler(\n\t\t\tfromTitle, \"__relink_dummy__\",\n\t\t\t$tw.utils.extend({quiet: true}, options),\n\t\t\tfunction(changes, tiddler, title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t}\n\treturn results;\n};\n", "module-type": "relinkfilteroperator", "title": "$:/plugins/flibbles/relink/js/filteroperators/references.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/filteroperators/relink.js": { "text": "/*\\\nmodule-type: filteroperator\n\nThis filter acts as a namespace for several small, simple filters, such as\n\n`[relink:impossible[]]`\n\n\\*/\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\n\nvar relinkFilterOperators;\n\nfunction getRelinkFilterOperators() {\n\tif(!relinkFilterOperators) {\n\t\trelinkFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"relinkfilteroperator\",\n\t\t relinkFilterOperators);\n\t}\n\treturn relinkFilterOperators;\n}\n\nexports.relink = function(source,operator,options) {\n\tvar suffixPair = parseSuffix(operator.suffix);\n\tvar relinkFilterOperator = getRelinkFilterOperators()[suffixPair[0]];\n\tif (relinkFilterOperator) {\n\t\tvar newOperator = $tw.utils.extend({}, operator);\n\t\tnewOperator.suffix = suffixPair[1];\n\t\treturn relinkFilterOperator(source, newOperator, options);\n\t} else {\n\t\treturn [language.getString(\"Error/RelinkFilterOperator\", options)];\n\t}\n};\n\nfunction parseSuffix(suffix) {\n\tvar index = suffix? suffix.indexOf(\":\"): -1;\n\tif (index >= 0) {\n\t\treturn [suffix.substr(0, index), suffix.substr(index+1)];\n\t} else {\n\t\treturn [suffix];\n\t}\n}\n", "module-type": "filteroperator", "title": "$:/plugins/flibbles/relink/js/filteroperators/relink.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/filteroperators/splitafter.js": { "text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: relinkfilteroperator\n\nFilter operator that splits each result on the last occurance of the specified separator and returns the last bit.\n\nWhat does this have to do with relink? Nothing. I need this so I can render\nthe configuration menu. I //could// use [splitregexp[]], but then I'd be\nlimited to Tiddlywiki v5.1.20 or later.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitafter = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar index = title.lastIndexOf(operator.operand);\n\t\tif(index < 0) {\n\t\t\t$tw.utils.pushTop(results,title);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,title.substr(index+1));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n\n", "title": "$:/plugins/flibbles/relink/js/filteroperators/splitafter.js", "type": "application/javascript", "module-type": "relinkfilteroperator" }, "$:/plugins/flibbles/relink/js/fieldtypes/filter.js": { "text": "/*\\\nThis specifies logic for updating filters to reflect title changes.\n\\*/\n\n/**Returns undefined if no change was made.\n */\n\nvar CannotRelinkError = require(\"$:/plugins/flibbles/relink/js/errors.js\").CannotRelinkError;\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\n\nexports.name = \"filter\";\n\nexports.relink = function(filter, fromTitle, toTitle, options) {\n\tif (!filter || filter.indexOf(fromTitle) < 0) {\n\t\treturn undefined;\n\t}\n\tvar relinker = new Rebuilder(filter);\n\tvar whitelist = settings.getOperators(options);\n\tvar p = 0, // Current position in the filter string\n\t\tmatch, noPrecedingWordBarrier,\n\t\twordBarrierRequired=false;\n\tvar whitespaceRegExp = /\\s+/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filter.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filter);\n\t\tnoPrecedingWordBarrier = false;\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t} else if (p != 0) {\n\t\t\tif (wordBarrierRequired) {\n\t\t\t\trelinker.add(' ', p, p);\n\t\t\t\twordBarrierRequired = false;\n\t\t\t} else {\n\t\t\t\tnoPrecedingWordBarrier = true;\n\t\t\t}\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filter.length) {\n\t\t\tvar val;\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filter);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\t// It's a bad filter\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif(match[1]) { // prefix\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\t// We check if this is a standalone title,\n\t\t\t\t// like `[[MyTitle]]`. We treat those like\n\t\t\t\t// `\"MyTitle\"` or `MyTitle`. Not like a run.\n\t\t\t\tvar standaloneTitle = /\\[\\[([^\\]]+)\\]\\]/g;\n\t\t\t\tstandaloneTitle.lastIndex = p;\n\t\t\t\tvar alone = standaloneTitle.exec(filter);\n\t\t\t\tif (!alone || alone.index != p) {\n\t\t\t\t\t// It's a legit run\n\t\t\t\t\tp =parseFilterOperation(relinker,fromTitle,toTitle,filter,p,whitelist,options);\n\t\t\t\t\tif (p === undefined) {\n\t\t\t\t\t\t// The filter is malformed\n\t\t\t\t\t\t// We do nothing.\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tbracketTitle = alone[1];\n\t\t\t\toperandRegExp.lastIndex = standaloneTitle.lastIndex;\n\t\t\t\tval = alone[1];\n\t\t\t} else {\n\t\t\t\t// standalone Double quoted string, single\n\t\t\t\t// quoted string, or noquote ahead.\n\t\t\t\tval = match[3] || match[4] || match[5];\n\t\t\t}\n\t\t\t// From here on, we're dealing with a standalone title\n\t\t\t// expression. like `\"MyTitle\"` or `[[MyTitle]]`\n\t\t\t// We're much more flexible about relinking these.\n\t\t\tvar preference = undefined;\n\t\t\tif (match[3]) {\n\t\t\t\tpreference = '\"';\n\t\t\t} else if (match[4]) {\n\t\t\t\tpreference = \"'\";\n\t\t\t} else if (match[5]) {\n\t\t\t\tpreference = '';\n\t\t\t}\n\t\t\tif (val === fromTitle) {\n\t\t\t\tvar newVal = wrapTitle(toTitle, preference);\n\t\t\t\tif (newVal === undefined) {\n\t\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\t\tthrow new CannotRelinkError();\n\t\t\t\t\t}\n\t\t\t\t\tnewVal = \"[<\"+options.placeholder.getPlaceholderFor(toTitle)+\">]\";\n\t\t\t\t\toptions.usedPlaceholder = true;\n\t\t\t\t}\n\t\t\t\tif (newVal[0] != '[') {\n\t\t\t\t\t// not bracket enclosed\n\t\t\t\t\t// this requires whitespace\n\t\t\t\t\t// arnound it\n\t\t\t\t\tif (noPrecedingWordBarrier && !match[1]) {\n\t\t\t\t\t\trelinker.add(' ', p, p);\n\t\t\t\t\t}\n\t\t\t\t\twordBarrierRequired = true;\n\t\t\t\t}\n\t\t\t\trelinker.add(newVal,p,operandRegExp.lastIndex);\n\t\t\t}\n\t\t\tp = operandRegExp.lastIndex;\n\t\t}\n\t}\n\treturn relinker.results();\n};\n\nfunction wrapTitle(value, preference) {\n\tvar choices = {\n\t\t\"\": function(v) {return !/[\\s\\[\\]]/.test(v); },\n\t\t\"[\": canBePrettyOperand,\n\t\t\"'\": function(v) {return v.indexOf(\"'\") < 0; },\n\t\t'\"': function(v) {return v.indexOf('\"') < 0; }\n\t};\n\tvar wrappers = {\n\t\t\"\": function(v) {return v; },\n\t\t\"[\": function(v) {return \"[[\"+v+\"]]\"; },\n\t\t\"'\": function(v) {return \"'\"+v+\"'\"; },\n\t\t'\"': function(v) {return '\"'+v+'\"'; }\n\t};\n\tif (choices[preference]) {\n\t\tif (choices[preference](value)) {\n\t\t\treturn wrappers[preference](value);\n\t\t}\n\t}\n\tfor (var quote in choices) {\n\t\tif (choices[quote](value)) {\n\t\t\treturn wrappers[quote](value);\n\t\t}\n\t}\n\t// No quotes will work on this\n\treturn undefined;\n}\n\nfunction parseFilterOperation(relinker, fromTitle, toTitle, filterString, p, whitelist, options) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\t// Missing [ in filter expression\n\t\treturn undefined;\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\tp++;\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\t// Missing [ in filter expression\n\t\t\treturn undefined;\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tvar operand = filterString.substring(p,nextBracketPos);\n\t\t\t\tvar ref = $tw.utils.parseTextReference(operand);\n\t\t\t\tif (ref.title === fromTitle) {\n\t\t\t\t\tif(!canBePrettyIndirect(toTitle)) {\n\t\t\t\t\t\tthrow new CannotRelinkError();\n\t\t\t\t\t}\n\t\t\t\t\tref.title = toTitle;\n\t\t\t\t\tvar newRef = refHandler.toString(ref);\n\t\t\t\t\t// We don't check the whitelist.\n\t\t\t\t\t// All indirect operands convert.\n\t\t\t\t\trelinker.add(newRef,p,nextBracketPos);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tvar operand = filterString.substring(p,nextBracketPos);\n\t\t\t\t// Check if this is a relevant operator\n\t\t\t\tvar handler = fieldType(whitelist, operator);\n\t\t\t\tif (!handler) {\n\t\t\t\t\t// This operator isn't managed. Bye.\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tvar result = handler.relink(operand, fromTitle, toTitle, options);\n\t\t\t\tif (!result) {\n\t\t\t\t\t// The fromTitle wasn't in the operand.\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tvar wrapped;\n\t\t\t\tif (!canBePrettyOperand(result)) {\n\t\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\t\tthrow new CannotRelinkError();\n\t\t\t\t\t}\n\t\t\t\t\tvar ph = options.placeholder.getPlaceholderFor(result);\n\t\t\t\t\twrapped = \"<\"+ph+\">\";\n\t\t\t\t\toptions.usedPlaceholder = true;\n\t\t\t\t} else {\n\t\t\t\t\twrapped = \"[\"+result+\"]\";\n\t\t\t\t}\n\t\t\t\trelinker.add(wrapped, p-1, nextBracketPos+1);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Unterminated regular expression\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\t// Missing closing bracket in filter expression\n\t\t\t// return undefined;\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\t// Missing ] in filter expression\n\t\treturn undefined;\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n// Returns the relinker needed for a given operator, or returns undefined.\nfunction fieldType(whitelist, operator) {\n\treturn whitelist[operator.operator] ||\n\t (operator.suffix &&\n\t whitelist[operator.operator + \":\" + operator.suffix]);\n};\n\nfunction canBePrettyOperand(value) {\n\treturn value.indexOf(']') < 0;\n};\n\nfunction canBePrettyIndirect(value) {\n\treturn value.indexOf('}') < 0;\n};\n", "module-type": "relinkfieldtype", "title": "$:/plugins/flibbles/relink/js/fieldtypes/filter.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/fieldtypes/list.js": { "text": "/*\\\nThis manages replacing titles that occur within stringLists, like,\n\nTiddlerA [[Tiddler with spaces]] [[Another Title]]\n\\*/\n\nvar CannotRelinkError = require(\"$:/plugins/flibbles/relink/js/errors.js\").CannotRelinkError;\n\nexports.name = \"list\";\n\n/**Returns undefined if no change was made.\n * Parameter: value can literally be a list. This can happen for builtin\n * types 'list' and 'tag'. In those cases, we also return list.\n */\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tvar isModified = false,\n\t\tactualList = false,\n\t\tlist;\n\tif (typeof value !== \"string\") {\n\t\t// Not a string. Must be a list.\n\t\t// clone it, since we may make changes to this possibly\n\t\t// frozen list.\n\t\tlist = (value || []).slice(0);\n\t\tactualList = true;\n\t} else {\n\t\tlist = $tw.utils.parseStringArray(value || \"\");\n\t}\n\t$tw.utils.each(list,function (title,index) {\n\t\tif(title === fromTitle) {\n\t\t\tlist[index] = toTitle;\n\t\t\tisModified = true;\n\t\t}\n\t});\n\tif (isModified) {\n\t\t// It doesn't parse correctly alone, it won't\n\t\t// parse correctly in any list.\n\t\tif (!canBeListItem(toTitle)) {\n\t\t\tthrow new CannotRelinkError();\n\t\t}\n\t\tif (actualList) {\n\t\t\treturn list;\n\t\t} else {\n\t\t\treturn $tw.utils.stringifyList(list);\n\t\t}\n\t}\n\treturn undefined;\n};\n\nfunction canBeListItem(value) {\n\tvar regexp = /\\]\\][^\\S\\xA0]/m;\n\treturn !regexp.test(value);\n};\n", "module-type": "relinkfieldtype", "title": "$:/plugins/flibbles/relink/js/fieldtypes/list.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/fieldtypes/reference.js": { "text": "/*\\\nThis manages replacing titles that occur inside text references,\n\ntiddlerTitle\ntiddlerTitle!!field\n!!field\ntiddlerTitle##propertyIndex\n\\*/\n\nvar CannotRelinkError = require(\"$:/plugins/flibbles/relink/js/errors.js\").CannotRelinkError;\n\nexports.name = \"reference\";\n\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tvar reference = $tw.utils.parseTextReference(value);\n\tif (reference.title !== fromTitle) {\n\t\treturn undefined;\n\t}\n\treference.title = toTitle;\n\treturn exports.toString(reference);\n};\n\nexports.toString = function(textReference) {\n\tvar title = textReference.title || '';\n\tif (!exports.canBePretty(title)) {\n\t\tthrow new CannotRelinkError();\n\t}\n\tif (textReference.field) {\n\t\treturn title + \"!!\" + textReference.field;\n\t} else if (textReference.index) {\n\t\treturn title + \"##\" + textReference.index;\n\t}\n\treturn title;\n};\n\nexports.canBePretty = function(title) {\n\treturn title.indexOf(\"!!\") < 0 && title.indexOf(\"##\") < 0;\n};\n", "module-type": "relinkfieldtype", "title": "$:/plugins/flibbles/relink/js/fieldtypes/reference.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/fieldtypes/title.js": { "text": "/*\\\nThis specifies logic for replacing a single-tiddler field. This is the\nsimplest kind of field type. One title swaps out for the other.\n\\*/\n\n// NOTE TO MODDERS: If you're making your own field types, the name must be\n// alpha characters only.\nexports.name = 'title';\n\n/**Returns undefined if no change was made.\n */\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tif (value === fromTitle) {\n\t\treturn toTitle;\n\t}\n\treturn undefined;\n};\n\n// This is legacy support for when 'title' was known as 'field'\nexports.aliases = ['field', 'yes'];\n", "module-type": "relinkfieldtype", "title": "$:/plugins/flibbles/relink/js/fieldtypes/title.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/fields.js": { "text": "/*\\\n\nHandles all fields specified in the plugin configuration. Currently, this\nonly supports single-value fields.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\n\nexports['fields'] = function(tiddler, fromTitle, toTitle, changes, options) {\n\tvar fields = settings.getFields(options);\n\t$tw.utils.each(fields, function(handler, field) {\n\t\tvar input = tiddler.fields[field];\n\t\tvar value = handler.relink(input, fromTitle, toTitle, options);\n\t\tif (value !== undefined) {\n\t\t\tlog(\"field\", {\n\t\t\t\tfrom: fromTitle,\n\t\t\t\tto: toTitle,\n\t\t\t\ttiddler: tiddler.fields.title,\n\t\t\t\tfield: descriptor(field)\n\t\t\t}, options);\n\t\t\tchanges[field] = value;\n\t\t}\n\t});\n};\n\nfunction descriptor(field) {\n\tif (field === \"tags\") {\n\t\treturn \"tags\";\n\t} else {\n\t\treturn field + \" field\" ;\n\t}\n};\n", "module-type": "relinkoperator", "title": "$:/plugins/flibbles/relink/js/relinkoperations/fields.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text.js": { "text": "/*\\\n\nDepending on the tiddler type, this will apply textOperators which may\nrelink titles within the body.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar defaultOperator = \"text/vnd.tiddlywiki\";\n\nvar textOperators = Object.create(null);\n$tw.modules.applyMethods('relinktextoperator', textOperators);\n\nexports['text'] = function(tiddler, fromTitle, toTitle, changes, options) {\n\tvar text = tiddler.fields.text,\n\t\tbuilder = [],\n\t\tbuildIndex = 0;\n\tif (text && text.indexOf(fromTitle) >= 0) {\n\t\tvar type = tiddler.fields.type || defaultOperator;\n\t\tif (textOperators[type]) {\n\t\t\ttextOperators[type].call(this, tiddler, fromTitle, toTitle, changes, options);\n\t\t}\n\t}\n};\n", "module-type": "relinkoperator", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext.js": { "text": "/*\\\n\nChecks for fromTitle in a tiddler's text. If found, sees if it's relevant,\nand tries to swap it out if it is.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar type = 'text/vnd.tiddlywiki';\nvar WikiParser = require(\"$:/core/modules/parsers/wikiparser/wikiparser.js\")[type];\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder.js\");\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar rules = Object.create(null);\n\n$tw.modules.forEachModuleOfType(\"relinkwikitextrule\", function(title, exports) {\n\tvar names = exports.name;\n\tif (typeof names === \"string\") {\n\t\tnames = [names];\n\t}\n\tfor (var i = 0; i < names.length; i++) {\n\t\trules[names[i]] = exports;\n\t}\n});\n\nfunction WikiRelinker(text, title, toTitle, options) {\n\tWikiParser.call(this, null, text, options);\n\tif (!this.relinkMethodsInjected) {\n\t\t$tw.utils.each([this.pragmaRuleClasses, this.blockRuleClasses, this.inlineRuleClasses], function(classList) {\n\t\t\tfor (var name in classList) {\n\t\t\t\tif (rules[name]) {\n\t\t\t\t\tdelete rules[name].name;\n\t\t\t\t\t$tw.utils.extend(classList[name].prototype, rules[name]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tWikiRelinker.prototype.relinkMethodsInjected = true;\n\t}\n\tthis.title = title;\n\tthis.toTitle = toTitle;\n\tthis.inlineRules = this.blockRules.concat(this.pragmaRules, this.inlineRules);\n\t// We work through relinkRules so we can change it later.\n\t// relinkRules is inlineRules so it gets touched up by amendRules().\n\tthis.relinkRules = this.inlineRules;\n\tthis.placeholders = Object.create(null);\n\tthis.reverseMap = Object.create(null);\n\tthis.knownMacros = Object.create(null);\n\tthis.widget = undefined;\n};\n\nWikiRelinker.prototype = Object.create(WikiParser.prototype);\nWikiRelinker.prototype.parsePragmas = function() {return []; };\nWikiRelinker.prototype.parseInlineRun = function() {};\nWikiRelinker.prototype.parseBlocks = function() {};\n\nWikiRelinker.prototype.getPlaceholderFor = function(value, category) {\n\tvar placeholder = this.reverseMap[value];\n\tif (placeholder) {\n\t\treturn placeholder;\n\t}\n\tvar number = 0;\n\tvar prefix = \"relink-\"\n\tif (category && category !== \"title\") {\n\t\t// I don't like \"relink-title-1\". \"relink-1\" should be for\n\t\t// titles. lists, and filters can have descriptors though.\n\t\tprefix += category + \"-\";\n\t}\n\tdo {\n\t\tnumber += 1;\n\t\tplaceholder = prefix + number;\n\t} while (this.knownMacros[placeholder]);\n\tthis.placeholders[placeholder] = value;\n\tthis.reverseMap[value] = placeholder;\n\tthis.reserve(placeholder);\n\treturn placeholder;\n};\n\nWikiRelinker.prototype.addWidget = function(widget) {\n\tthis.widget = widget;\n\twhile (this.widget.children.length > 0) {\n\t\tthis.widget = this.widget.children[0];\n\t}\n};\n\nWikiRelinker.prototype.getVariableWidget = function() {\n\tif (!this.widget) {\n\t\tthis.widget = this.wiki.relinkGlobalMacros();\n\t\tvar parentWidget = new Widget({}, {parentWidget: this.widget});\n\t\tparentWidget.setVariable(\"currentTiddler\", this.title);\n\t\tvar widget = new Widget({}, {parentWidget: parentWidget});\n\t\tthis.addWidget(widget);\n\t}\n\treturn this.widget;\n};\n\nWikiRelinker.prototype.reserve = function(macro) {\n\tthis.knownMacros[macro] = true;\n};\n\nWikiRelinker.prototype.getPreamble = function() {\n\tvar results = [];\n\tfor (var name in this.placeholders) {\n\t\tvar val = this.placeholders[name];\n\t\tresults.push(\"\\\\define \"+name+\"() \"+val+\"\\n\");\n\t}\n\tif (results.length > 0) {\n\t\treturn results.join('');\n\t} else {\n\t\treturn undefined;\n\t}\n};\n\nexports[type] = function(tiddler, fromTitle, toTitle, changes, options) {\n\tvar text = tiddler.fields.text,\n\t\tbuilder = new Rebuilder(text),\n\t\tparser = new WikiRelinker(text, tiddler.fields.title, toTitle, options),\n\t\tmatchingRule;\n\twhile (matchingRule = parser.findNextMatch(parser.relinkRules, parser.pos)) {\n\t\tif (matchingRule.rule.relink) {\n\t\t\tvar newSegment = matchingRule.rule.relink(tiddler, text, fromTitle, toTitle, options);\n\t\t\tif (newSegment !== undefined) {\n\t\t\t\tbuilder.add(newSegment, matchingRule.matchIndex, parser.pos);\n\t\t\t}\n\t\t} else {\n\t\t\tif (matchingRule.rule.matchRegExp !== undefined) {\n\t\t\t\tparser.pos = matchingRule.rule.matchRegExp.lastIndex;\n\t\t\t} else {\n\t\t\t\t// We can't easily determine the end of this\n\t\t\t\t// rule match. We'll \"parse\" it so that\n\t\t\t\t// parser.pos gets updated, but we throw away\n\t\t\t\t// the results.\n\t\t\t\tmatchingRule.rule.parse();\n\t\t\t}\n\t\t}\n\t}\n\tif (builder.changed()) {\n\t\tbuilder.prepend(parser.getPreamble());\n\t\tchanges.text = builder.results();\n\t}\n};\n", "module-type": "relinktextoperator", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/comment.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles comment blocks. Or rather //doesn't// handle them, since we should\nignore their contents.\n\n\"<!-- [[Renamed Title]] -->\" will remain unchanged.\n\n\\*/\n\nexports.name = [\"commentinline\", \"commentblock\"];\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\treturn undefined;\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/comment.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/filteredtransclude.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement of filtered transclusions in wiki text like,\n\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n\nThis renames both the list and the template field.\n\n\\*/\n\nexports.name = ['filteredtranscludeinline', 'filteredtranscludeblock'];\n\nvar filterHandler = require(\"$:/plugins/flibbles/relink/js/settings\").getRelinker('filter');\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar utils = require(\"./utils.js\");\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\tvar m = this.match;\n\t\tfilter = m[1],\n\t\ttooltip = m[2],\n\t\ttemplate = m[3],\n\t\tstyle = m[4],\n\t\tclasses = m[5],\n\t\tparser = this.parser,\n\t\tlogArguments = {\n\t\t\tfrom: fromTitle,\n\t\t\tto: toTitle,\n\t\t\ttiddler: tiddler.fields.title\n\t\t};\n\tparser.pos = this.matchRegExp.lastIndex;\n\tvar modified = false;\n\tif ($tw.utils.trim(template) === fromTitle) {\n\t\t// preserves user-inputted whitespace\n\t\ttemplate = template.replace(fromTitle, toTitle);\n\t\tmodified = true;\n\t}\n\tvar extendedOptions = $tw.utils.extend({placeholder: this.parser}, options);\n\tvar relinkedFilter = filterHandler.relink(filter, fromTitle, toTitle, extendedOptions);\n\tvar message = \"filteredtransclude\";\n\tif (extendedOptions.usedPlaceholder) {\n\t\tmessage = \"filteredtransclude-placeholder\";\n\t}\n\tif (relinkedFilter !== undefined) {\n\t\tfilter = relinkedFilter;\n\t\tmodified = true;\n\t}\n\tif (!modified) {\n\t\treturn undefined;\n\t}\n\tif (canBePretty(filter) && canBePrettyTemplate(template)) {\n\t\tlog(message, logArguments, options);\n\t\treturn prettyList(filter, tooltip, template, style, classes);\n\t}\n\tmessage = message + \"-widget\";\n\tif (classes !== undefined) {\n\t\tclasses = classes.split('.').join(' ');\n\t}\n\tfunction wrap(name, value, treatAsTitle) {\n\t\tif (!value) {\n\t\t\treturn '';\n\t\t}\n\t\tvar wrappedValue = utils.wrapAttributeValue(value);\n\t\tif (wrappedValue === undefined) {\n\t\t\tvar category = treatAsTitle ? undefined : name;\n\t\t\twrappedValue = \"<<\"+parser.getPlaceholderFor(value,category)+\">>\";\n\t\t\tmessage = \"filteredtransclude-placeholder-widget\";\n\t\t}\n\t\treturn \" \"+name+\"=\"+wrappedValue;\n\t};\n\tvar widget = [\n\t\t\"<$list\",\n\t\twrap(\"filter\", filter),\n\t\twrap(\"tooltip\", tooltip),\n\t\twrap(\"template\", template, true),\n\t\twrap(\"style\", style),\n\t\twrap(\"itemClass\", classes),\n\t\t\"/>\"\n\t].join('');\n\tlog(message, logArguments, options);\n\treturn widget;\n};\n\nfunction canBePretty(filter) {\n\treturn filter.indexOf('|') < 0 && filter.indexOf('}}') < 0;\n};\n\nfunction canBePrettyTemplate(template) {\n\treturn !template || (\n\t\ttemplate.indexOf('|') < 0\n\t\t&& template.indexOf('{') < 0\n\t\t&& template.indexOf('}') < 0);\n};\n\nfunction prettyList(filter, tooltip, template, style, classes) {\n\tif (tooltip === undefined) {\n\t\ttooltip = '';\n\t} else {\n\t\ttooltip = \"|\" + tooltip;\n\t}\n\tif (template === undefined) {\n\t\ttemplate = '';\n\t} else {\n\t\ttemplate = \"||\" + template;\n\t}\n\tif (classes === undefined) {\n\t\tclasses = '';\n\t} else {\n\t\tclasses = \".\" + classes;\n\t}\n\tstyle = style || '';\n\treturn \"{{{\"+filter+tooltip+template+\"}}\"+style+\"}\"+classes;\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/filteredtransclude.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement in attributes of widgets and html elements\nThis is configurable to select exactly which attributes of which elements\nshould be changed.\n\n<$link to=\"TiddlerTitle\" />\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar html = require(\"$:/core/modules/parsers/wikiparser/rules/html.js\");\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar filterHandler = require(\"$:/plugins/flibbles/relink/js/settings\").getRelinker('filter');\nvar macrocall = require(\"./macrocall.js\");\nvar CannotRelinkError = require(\"$:/plugins/flibbles/relink/js/errors.js\").CannotRelinkError;\n\nexports.name = \"html\";\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\tvar managedElement = settings.getAttributes(options)[this.nextTag.tag],\n\t\tbuilder = new Rebuilder(text, this.nextTag.start);\n\tvar importFilterAttr;\n\tfor (var attributeName in this.nextTag.attributes) {\n\t\tvar attr = this.nextTag.attributes[attributeName];\n\t\tvar nextEql = text.indexOf('=', attr.start);\n\t\t// This is the rare case of changing tiddler\n\t\t// \"true\" to something else when \"true\" is\n\t\t// implicit, like <$link to /> We ignore those.\n\t\tif (nextEql < 0 || nextEql > attr.end) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (this.nextTag.tag === \"$importvariables\" && attributeName === \"filter\") {\n\t\t\timportFilterAttr = attr;\n\t\t}\n\t\tvar oldValue, quote, logMessage = \"attribute\";\n\t\tif (attr.type === \"string\") {\n\t\t\tvar handler = getAttributeHandler(this.nextTag, attributeName, options);\n\t\t\tif (!handler) {\n\t\t\t\t// We don't manage this attribute. Bye.\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvar extendedOptions = $tw.utils.extend({placeholder: this.parser}, options);\n\t\t\toldValue = attr.value;\n\t\t\tvar value = handler.relink(attr.value, fromTitle, toTitle, extendedOptions);\n\t\t\tif (value === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (extendedOptions.usedPlaceholder) {\n\t\t\t\tlogMessage = \"attribute-placeholder\";\n\t\t\t}\n\t\t\tquote = utils.determineQuote(text, attr);\n\t\t\tattr.quotedValue = utils.wrapAttributeValue(value,quote);\n\t\t\tif (attr.quotedValue === undefined) {\n\t\t\t\t// The value was unquotable. We need to make\n\t\t\t\t// a macro in order to replace it.\n\t\t\t\tvalue = this.parser.getPlaceholderFor(value,handler.name)\n\t\t\t\tattr.type = \"macro\";\n\t\t\t\tattr.quotedValue = \"<<\"+value+\">>\";\n\t\t\t\tlogMessage = \"attribute-placeholder\";\n\t\t\t}\n\t\t\tattr.value = value;\n\t\t} else if (attr.type === \"indirect\") {\n\t\t\tif (toTitle.indexOf(\"}\") >= 0) {\n\t\t\t\t// Impossible replacement\n\t\t\t\tthrow new CannotRelinkError();\n\t\t\t}\n\t\t\toldValue = attr.textReference;\n\t\t\tquote = \"{{\";\n\t\t\tvar ref = $tw.utils.parseTextReference(attr.textReference);\n\t\t\tif (ref.title !== fromTitle) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tref.title = toTitle;\n\t\t\tattr.textReference = refHandler.toString(ref);\n\t\t\tattr.quotedValue = \"{{\"+attr.textReference+\"}}\";\n\t\t} else if (attr.type === \"filtered\") {\n\t\t\tvar extendedOptions = $tw.utils.extend({placeholder: this.parser}, options);\n\t\t\toldValue = attr.filter\n\t\t\tvar filter = filterHandler.relink(attr.filter, fromTitle, toTitle, extendedOptions);\n\t\t\tif (filter === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!canBeFilterValue(filter)) {\n\t\t\t\t// Although I think we can actually do this one.\n\t\t\t\tthrow new CannotRelinkError();\n\t\t\t}\n\t\t\tattr.filter = filter;\n\t\t\tattr.quotedValue = \"{{{\" + filter + \"}}}\";\n\t\t\tquote = \"{{{\";\n\t\t} else if (attr.type === \"macro\") {\n\t\t\tvar macro = attr.value;\n\t\t\toldValue = attr.value;\n\t\t\tvar newMacro = macrocall.relinkMacroInvocation(macro, text, this.parser, fromTitle, toTitle, options);\n\t\t\tif (newMacro === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (macrocall.mustBeAWidget(newMacro)) {\n\t\t\t\tthrow new CannotRelinkError();\n\t\t\t}\n\t\t\tattr.value = newMacro;\n\t\t\t// TODO: Let's not hack like this. attr.value is\n\t\t\t// expected to be a string of the unquoted value below.\n\t\t\t// Make this better when I can.\n\t\t\toldValue.length = (macro.end-macro.start)-4;\n\t\t\tquote = \"<<\";\n\t\t\tattr.quotedValue = macrocall.macroToString(newMacro, text, this.parser, options);\n\t\t} else {\n\t\t\tcontinue;\n\t\t}\n\t\t// account for the quote if it's there.\n\t\t// We count backwards from the end to preserve whitespace\n\t\tvar valueStart = attr.end\n\t\t - (quote.length*2)\n\t\t - oldValue.length;\n\t\tbuilder.add(attr.quotedValue, valueStart, attr.end);\n\t\tvar logArguments = {\n\t\t\tfrom: fromTitle,\n\t\t\tto: toTitle,\n\t\t\ttiddler: tiddler.fields.title,\n\t\t\telement: this.nextTag.tag,\n\t\t\tattribute: attributeName\n\t\t};\n\t\tlog(logMessage, logArguments, options);\n\t}\n\tif (importFilterAttr) {\n\t\tvar importFilter = computeAttribute(importFilterAttr, this.parser, options);\n\t\tvar parentWidget = this.parser.getVariableWidget();\n\t\tvar varHolder = options.wiki.relinkGenerateVariableWidget(importFilter, parentWidget);\n\t\tthis.parser.addWidget(varHolder);\n\t}\n\tthis.parser.pos = this.nextTag.end;\n\treturn builder.results(this.nextTag.end);\n};\n\n/** Returns the field handler for the given attribute of the given widget.\n * If this returns undefined, it means we don't handle it. So skip.\n */\nfunction getAttributeHandler(widget, attributeName, options) {\n\tif (widget.tag === \"$macrocall\") {\n\t\tvar nameAttr = widget.attributes[\"$name\"];\n\t\tvar macro = settings.getMacros(options)[nameAttr.value];\n\t\tif (macro) {\n\t\t\treturn macro[attributeName];\n\t\t}\n\t} else {\n\t\tvar element = settings.getAttributes(options)[widget.tag];\n\t\tif (element) {\n\t\t\treturn element[attributeName];\n\t\t}\n\t}\n\treturn undefined;\n};\n\nfunction computeAttribute(attribute, parser, options) {\n\tvar value;\n\tif(attribute.type === \"filtered\") {\n\t\tvar parentWidget = parser.getVariableWidget();\n\t\tvalue = options.wiki.filterTiddlers(attribute.filter,parentWidget)[0] || \"\";\n\t} else if(attribute.type === \"indirect\") {\n\t\tvar parentWidget = parser.getVariableWidget();\n\t\tvalue = options.wiki.getTextReference(attribute.textReference,\"\",parentWidget.variables.currentTiddler.value);\n\t} else if(attribute.type === \"macro\") {\n\t\tvar parentWidget = parser.getVariableWidget();\n\t\tvalue = parentWidget.getVariable(attribute.value.name,{params: attribute.value.params});\n\t} else { // String attribute\n\t\tvalue = attribute.value;\n\t}\n\treturn value;\n};\n\nfunction canBeFilterValue(value) {\n\treturn value.indexOf(\"}}}\") < 0 && value.substr(value.length-2) !== '}}';\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/import.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles import pragmas\n\n\\import [tag[MyTiddler]]\n\\*/\n\nvar settings = require(\"$:/plugins/flibbles/relink/js/settings.js\");\nvar log = require(\"$:/plugins/flibbles/relink/js/language.js\").logRelink;\nvar filterRelinker = settings.getRelinker('filter');\n\nexports.name = \"import\";\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\t// In this one case, I'll let the parser parse out the filter and move\n\t// the ptr.\n\tvar start = this.matchRegExp.lastIndex;\n\tvar parseTree = this.parse();\n\tvar filter = parseTree[0].attributes.filter.value;\n\n\tvar extendedOptions = $tw.utils.extend({placeholder: this.parser},options);\n\tvar value = filterRelinker.relink(filter, fromTitle, toTitle, extendedOptions);\n\tvar rtn = undefined;\n\tif (value !== undefined) {\n\t\tvar message = extendedOptions.usedPlaceholder ? \"import-placeholder\" : \"import\";\n\t\tlog(message, {\n\t\t\tfrom: fromTitle,\n\t\t\tto: toTitle,\n\t\t\ttiddler: tiddler.fields.title\n\t\t}, options);\n\t\tvar newline = text.substring(start+filter.length, this.parser.pos);\n\t\tfilter = value;\n\t\trtn = \"\\\\import \" + value + newline;\n\t}\n\n\t// Before we go, we need to actually import the variables\n\t// it's calling for.\n\tvar parentWidget = this.parser.getVariableWidget();\n\tvar variableHolder = options.wiki.relinkGenerateVariableWidget(filter, parentWidget);\n\tthis.parser.addWidget(variableHolder);\n\n\treturn rtn;\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/import.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrocall.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles macro calls.\n\n<<myMacro '[[MyFilter]]' 'myTitle'>>\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar CannotFindMacroDefError = require(\"$:/plugins/flibbles/relink/js/errors.js\").CannotFindMacroDefError;\n\nexports.name = [\"macrocallinline\", \"macrocallblock\"];\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2],\n\t\tmacroText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar start = this.matchRegExp.lastIndex - this.match[0].length;\n\tvar managedMacro = settings.getMacros(options)[macroName];\n\tif (!managedMacro) {\n\t\t// We don't manage this macro. Bye.\n\t\treturn undefined;\n\t}\n\tvar offset = macroName.length+2;\n\toffset = $tw.utils.skipWhiteSpace(macroText, offset);\n\tvar params = parseParams(paramString, offset+start);\n\tvar macroInfo = {\n\t\tname: macroName,\n\t\tstart: start,\n\t\tend: this.matchRegExp.lastIndex,\n\t\tparams: params\n\t};\n\tvar results = this.relinkMacroInvocation(macroInfo, text, this.parser, fromTitle, toTitle, options);\n\tif (results) {\n\t\treturn this.macroToString(results, text, this.parser, options);\n\t} else {\n\t\treturn undefined;\n\t}\n};\n\n/**Processes the given macro,\n * macro: {name:, params:, start:, end:}\n * each parameters: {name:, end:, value:}\n * Macro invocation returned is the same, but relinked, and may have new keys:\n * parameters: {type: macro, start:, newValue: (quoted replacement value)}\n */\nexports.relinkMacroInvocation = function(macro, text, parser, fromTitle, toTitle, options) {\n\tvar managedMacro = settings.getMacros(options)[macro.name];\n\tvar modified = false;\n\tif (!managedMacro) {\n\t\t// We don't manage this macro. Bye.\n\t\treturn undefined;\n\t}\n\tif (macro.params.every(function(p) {\n\t\treturn p.value.indexOf(fromTitle) < 0;\n\t})) {\n\t\t// We cut early if the fromTitle doesn't even appear\n\t\t// anywhere in the title. This is to avoid any headache\n\t\t// about finding macro definitions (and any resulting\n\t\t// exceptions if there isn't even a title to replace.\n\t\treturn undefined;\n\t}\n\tvar outMacro = $tw.utils.extend({}, macro);\n\toutMacro.params = macro.params.slice();\n\tfor (var managedArg in managedMacro) {\n\t\tvar index = getParamIndexWithinMacrocall(macro.name, managedArg, macro.params, parser, options);\n\t\tif (index < 0) {\n\t\t\t// this arg either was not supplied, or we can't find\n\t\t\t// the definition, so we can't tie it to an anonymous\n\t\t\t// argument. Either way, move on to the next.\n\t\t\tcontinue;\n\t\t}\n\t\tvar param = macro.params[index];\n\t\tvar handler = managedMacro[managedArg];\n\t\tvar extendedOptions = $tw.utils.extend({placeholder: parser}, options);\n\t\tvar value = handler.relink(param.value, fromTitle, toTitle, extendedOptions);\n\t\tif (value === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\tvar quote = utils.determineQuote(text, param);\n\t\tvar quoted = utils.wrapAttributeValue(value, quote, ['', \"'\", '\"', '[[', '\"\"\"']);\n\t\tvar newParam = $tw.utils.extend({}, param);\n\t\tif (quoted === undefined) {\n\t\t\tvar ph = parser.getPlaceholderFor(value,handler.name);\n\t\t\tnewParam.newValue = \"<<\"+ph+\">>\";\n\t\t\tnewParam.type = \"macro\";\n\t\t} else {\n\t\t\tnewParam.start = newParam.end - (newParam.value.length + (quote.length*2));\n\t\t\tnewParam.value = value;\n\t\t\tnewParam.newValue = quoted;\n\t\t}\n\t\toutMacro.params[index] = newParam;\n\t\tmodified = true;\n\t}\n\tif (modified) {\n\t\treturn outMacro;\n\t}\n\treturn undefined;\n};\n\nexports.mustBeAWidget = function(macro) {\n\tfor (var i = 0; i < macro.params.length; i++) {\n\t\tif (macro.params[i].type === \"macro\") {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false\n};\n\n/**Given a macro object ({name:, params:, start: end:}), and the text where\n * it was parsed from, returns a new macro that maintains any syntactic\n * structuring.\n */\nexports.macroToString = function(macro, text, parser, options) {\n\tif (exports.mustBeAWidget(macro)) {\n\t\tvar names = getParamNames(macro.name, macro.params, parser, options);\n\t\tvar attrs = [];\n\t\tfor (var i = 0; i < macro.params.length; i++) {\n\t\t\tvar p = macro.params[i];\n\t\t\tvar val;\n\t\t\tif (p.newValue) {\n\t\t\t\tval = p.newValue;\n\t\t\t} else {\n\t\t\t\tval = utils.wrapAttributeValue(p.value);\n\t\t\t}\n\t\t\tattrs.push(\" \"+names[i]+\"=\"+val);\n\t\t}\n\t\treturn \"<$macrocall $name=\"+utils.wrapAttributeValue(macro.name)+attrs.join('')+\"/>\";\n\t} else {\n\t\tvar builder = new Rebuilder(text, macro.start);\n\t\tfor (var i = 0; i < macro.params.length; i++) {\n\t\t\tvar param = macro.params[i];\n\t\t\tif (param.newValue) {\n\t\t\t\tbuilder.add(param.newValue, param.start, param.end);\n\t\t\t}\n\t\t}\n\t\treturn builder.results(macro.end);\n\t}\n};\n\nfunction getParamIndexWithinMacrocall(macroName, param, params, parser, options) {\n\tvar index, i;\n\tfor (i = 0; i < params.length; i++) {\n\t\tif (params[i].name === param) {\n\t\t\treturn i;\n\t\t}\n\t}\n\tvar expectedIndex = indexOfParameterDef(macroName, param, parser, options);\n\t// We've got to skip over all the named parameter instances.\n\tif (expectedIndex >= 0) {\n\t\tvar anonI = 0;\n\t\tfor (i = 0; i < params.length; i++) {\n\t\t\tif (params[i].name === undefined) {\n\t\t\t\tif (anonI === expectedIndex) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tanonI++;\n\t\t\t} else {\n\t\t\t\tvar indexOfOther = indexOfParameterDef(macroName, params[i].name, parser, options);\n\t\t\t\tif (indexOfOther < expectedIndex) {\n\t\t\t\t\tanonI++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn -1;\n};\n\n// Looks up the definition of a macro, and figures out what the expected index\n// is for the given parameter.\nfunction indexOfParameterDef(macroName, paramName, parser, options) {\n\tvar def = getDefinition(macroName, parser, options);\n\tvar params = def.params || [];\n\tfor (var i = 0; i < params.length; i++) {\n\t\tif (params[i].name === paramName) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\nfunction getParamNames(macroName, params, parser, options) {\n\tvar used = Object.create(null);\n\tvar rtn = new Array(params.length);\n\tvar anonsExist = false;\n\tvar i;\n\tfor (i = 0; i < params.length; i++) {\n\t\tvar name = params[i].name;\n\t\tif (name) {\n\t\t\trtn[i] = name;\n\t\t\tused[name] = true;\n\t\t} else {\n\t\t\tanonsExist = true;\n\t\t}\n\t}\n\tif (anonsExist) {\n\t\tvar defParams = getDefinition(macroName, parser, options).params || [];\n\t\tvar defPtr = 0;\n\t\tfor (i = 0; i < params.length; i++) {\n\t\t\tif (rtn[i] === undefined) {\n\t\t\t\twhile(defPtr < defParams.length && used[defParams[defPtr].name]) {\n\t\t\t\t\tdefPtr++;\n\t\t\t\t}\n\t\t\t\tif (defPtr >= defParams.length) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\trtn[i] = defParams[defPtr].name;\n\t\t\t\tused[defParams[defPtr].name] = true;\n\t\t\t}\n\t\t}\n\t}\n\treturn rtn;\n};\n\n/** Returns undefined if the definition cannot be found.\n */\nfunction getDefinition (macroName, parser, options) {\n\tvar variableContainer = parser.getVariableWidget();\n\tvar def = variableContainer.variables[macroName];\n\tif (!def) {\n\t\t// Check with the macro modules\n\t\tif ($tw.utils.hop($tw.macros, macroName)) {\n\t\t\tdef = $tw.macros[macroName];\n\t\t} else {\n\t\t\tthrow new CannotFindMacroDefError(macroName);\n\t\t}\n\t}\n\treturn def;\n};\n\nfunction parseParams(paramString, pos) {\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\t//paramInfo.start = pos;\n\t\tparamInfo.end = reParam.lastIndex + pos;\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn params;\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrocall.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrodef.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles pragma macro definitions. Except we only update placeholder macros\nthat we may have previously install.\n\n\\define relink-?() Tough title\n\n\\*/\n\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar settings = require(\"$:/plugins/flibbles/relink/js/settings\");\n\nexports.name = \"macrodef\";\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\tvar setParseTreeNode = this.parse();\n\tvar parentWidget = this.parser.getVariableWidget();\n\tvar setWidget = parentWidget.makeChildWidget(setParseTreeNode[0]);\n\tsetWidget.computeAttributes();\n\tsetWidget.execute();\n\tthis.parser.addWidget(setWidget);\n\t// Parse set the pos pointer, but we don't want to skip the macro body.\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar m = this.match;\n\t// This macro is not available should we need to make one.\n\tthis.parser.reserve(m[1]);\n\t// !m[3] means it's not a multiline macrodef\n\tvar placeholder = /^relink-(?:(\\w+)-)?(\\d+)$/.exec(m[1]);\n\tif (placeholder && m[2] === '' && !m[3]) {\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(text, this.parser.pos);\n\t\tvar valueRegExp = /([^\\n\\r]+)(\\r?\\n)/mg;\n\t\tvalueRegExp.lastIndex = this.parser.pos;\n\t\tvar match = valueRegExp.exec(text);\n\t\tif (match) {\n\t\t\tvar handler = settings.getRelinker(placeholder[1] || 'title');\n\t\t\t\t// This is a filter\n\t\t\tvar extendedOptions = $tw.utils.extend({placeholder: this.parser}, options);\n\t\t\tvar value = handler.relink(match[1], fromTitle, toTitle, extendedOptions);\n\t\t\tif (value !== undefined) {\n\t\t\t\tvar message = \"macrodef\";\n\t\t\t\tif (extendedOptions.usedPlaceholder) {\n\t\t\t\t\tmessage = \"macrodef-placeholder\";\n\t\t\t\t}\n\t\t\t\tlog(message, {\n\t\t\t\t\tfrom: fromTitle,\n\t\t\t\t\tto: toTitle,\n\t\t\t\t\ttiddler: tiddler.fields.title,\n\t\t\t\t\tmacro: m[1]\n\t\t\t\t}, options);\n\t\t\t\tthis.parser.pos += match[0].length;\n\t\t\t\treturn \"\\\\define \"+m[1]+\"() \"+value+match[2];\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined;\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrodef.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement in wiki text inline rules, like,\n\n[[Introduction]]\n\n[[link description|TiddlerTitle]]\n\n\\*/\n\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar utils = require(\"./utils.js\");\n\nexports.name = \"prettylink\";\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar caption, quoted, m = this.match;\n\tif (m[2] === fromTitle) {\n\t\t// format is [[caption|MyTiddler]]\n\t\tcaption = m[1];\n\t} else if (m[2] !== undefined || m[1] !== fromTitle) {\n\t\t// format is [[MyTiddler]], and it doesn't match\n\t\treturn undefined;\n\t}\n\tvar logArguments = {\n\t\tfrom: fromTitle,\n\t\tto: toTitle,\n\t\ttiddler: tiddler.fields.title\n\t};\n\tif (utils.canBePretty(toTitle)) {\n\t\tlog(\"prettylink\", logArguments, options);\n\t\treturn prettyLink(toTitle, caption);\n\t} else if (caption === undefined) {\n\t\t// If we don't have a caption, we have to resort to placeholders\n\t\t// anyway to prevent link/caption desync from later relinks.\n\t\t// It doesn't matter whether the toTitle is quotable\n\t\tlog(\"prettylink-placeholder\", logArguments, options);\n\t\tvar ph = this.parser.getPlaceholderFor(toTitle);\n\t\treturn \"<$link to=<<\"+ph+\">>><$text text=<<\"+ph+\">>/></$link>\";\n\t} else if (quoted = utils.wrapAttributeValue(toTitle)) {\n\t\tlog(\"prettylink-widget\", logArguments, options);\n\t\treturn \"<$link to=\"+quoted+\">\"+caption+\"</$link>\";\n\t} else {\n\t\tlog(\"prettylink-placeholder\", logArguments, options);\n\t\tvar ph = this.parser.getPlaceholderFor(toTitle);\n\t\treturn \"<$link to=<<\"+ph+\">>>\"+caption+\"</$link>\";\n\t}\n};\n\nfunction prettyLink(title, caption) {\n\tif (caption) {\n\t\treturn \"[[\" + caption + \"|\" + title + \"]]\";\n\t} else {\n\t\treturn \"[[\" + title + \"]]\";\n\t}\n};\n\nfunction isSafe(value) {\n\treturn value.indexOf(\"]]\") < 0 && value[value.length-1] !== ']';\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/rules.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nParses and acknowledges any pragma rules a tiddler has.\n\n\\rules except html wikilink\n\n\\*/\n\nexports.name = \"rules\";\n\n/**This is all we have to do. The rules rule doesn't parse. It just amends\n * the rules, which is exactly what I want it to do too.\n * It also takes care of moving the pos pointer forward.\n */\nexports.relink = function() { this.parse(); };\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/rules.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/transclude.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement of transclusions in wiki text like,\n\n{{RenamedTiddler}}\n{{RenamedTiddler||TemplateTitle}}\n\nThis renames both the tiddler and the template field.\n\n\\*/\n\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar utils = require(\"./utils.js\");\n\nexports.name = ['transcludeinline', 'transcludeblock'];\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\tvar m = this.match,\n\t\treference = m[1],\n\t\ttemplate = m[2],\n\t\tquoted,\n\t\tlogArguments = {\n\t\t\tfrom: fromTitle,\n\t\t\tto: toTitle,\n\t\t\ttiddler: tiddler.fields.title\n\t\t};\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar trimmedRef = $tw.utils.trim(reference);\n\tvar ref = $tw.utils.parseTextReference(trimmedRef);\n\t// This block takes care of 99% of all cases\n\tif (canBePrettyTemplate(toTitle) &&\n\t\t// title part has one extra restriction\n\t (ref.title !== fromTitle || refHandler.canBePretty(toTitle))) {\n\t\tvar modified = false;\n\t\tif (ref.title === fromTitle) {\n\t\t\tmodified = true;\n\t\t\tref.title = toTitle;\n\t\t\tvar refString = refHandler.toString(ref);\n\t\t\t// preserve user's whitespace\n\t\t\treference = reference.replace(trimmedRef, refString);\n\t\t}\n\t\tif ($tw.utils.trim(template) === fromTitle) {\n\t\t\tmodified = true;\n\t\t\t// preserve user's whitespace\n\t\t\ttemplate = template.replace(fromTitle, toTitle);\n\t\t}\n\t\tif (modified) {\n\t\t\tlog(\"transclude\", logArguments, options);\n\t\t\treturn prettyTransclude(reference, template);\n\t\t}\n\t\treturn undefined;\n\t}\n\t// Now for the 1%...\n\tif (ref.title === fromTitle) {\n\t\tvar resultTitle = utils.wrapAttributeValue(toTitle);\n\t\tif (resultTitle === undefined) {\n\t\t\tresultTitle = \"<<\"+this.parser.getPlaceholderFor(toTitle)+\">>\";\n\t\t\tlog(\"transclude-placeholder\", logArguments, options);\n\t\t} else {\n\t\t\tlog(\"transclude-widget\", logArguments, options);\n\t\t}\n\t\tif ($tw.utils.trim(template) === fromTitle) {\n\t\t\t// Now for this bizarre-ass use-case, where both the\n\t\t\t// title and template are being replaced.\n\t\t\tvar attrs = this.transcludeAttributes(ref.field, ref.index);\n\t\t\treturn \"<$tiddler tiddler=\"+resultTitle+\"><$transclude tiddler=\"+resultTitle+attrs+\"/></$tiddler>\";\n\t\t} else {\n\t\t\tref.title = undefined;\n\t\t\treturn \"<$tiddler tiddler=\"+resultTitle+\">\"+prettyTransclude(ref, template)+\"</$tiddler>\";\n\t\t}\n\t}\n\tif ($tw.utils.trim(template) === fromTitle) {\n\t\tvar resultTemplate = utils.wrapAttributeValue(toTitle);\n\t\tvar message = \"transclude-widget\";\n\t\tvar rtn;\n\t\tif (resultTemplate === undefined) {\n\t\t\tresultTemplate = \"<<\"+this.parser.getPlaceholderFor(toTitle)+\">>\";\n\t\t\tmessage = \"transclude-placeholder\";\n\t\t}\n\t\tif (ref.title) {\n\t\t\tvar resultTitle = utils.wrapAttributeValue(ref.title);\n\t\t\tif (resultTitle === undefined) {\n\t\t\t\t// This is one of the rare cases were we need\n\t\t\t\t// to placeholder a title OTHER than the one\n\t\t\t\t// we're changing.\n\t\t\t\tresultTitle = \"<<\"+this.parser.getPlaceholderFor(ref.title)+\">>\";\n\t\t\t\tmessage = \"transclude-placeholder\";\n\t\t\t}\n\t\t\tvar attrs = this.transcludeAttributes(ref.field, ref.index);\n\t\t\trtn = \"<$tiddler tiddler=\"+resultTitle+\"><$transclude tiddler=\"+resultTemplate+attrs+\"/></$tiddler>\";\n\t\t} else {\n\t\t\trtn = \"<$transclude tiddler=\"+resultTemplate+\"/>\";\n\t\t}\n\t\tlog(message, logArguments, options);\n\t\treturn rtn;\n\t}\n\treturn undefined;\n};\n\nfunction canBePrettyTemplate(value) {\n\treturn value.indexOf('}') < 0 && value.indexOf('{') < 0 && value.indexOf('|') < 0;\n};\n\n/**Returns attributes for a transclude widget.\n * only field or index should be used, not both, but both will return\n * the intuitive (albeit useless) result.\n */\nexports.transcludeAttributes = function(field, index) {\n\treturn rtn = [\n\t\twrapAttribute(this.parser, \"field\", field),\n\t\twrapAttribute(this.parser, \"index\", index)\n\t].join('');\n};\n\nfunction wrapAttribute(wikiRelinker, name, value) {\n\tif (value) {\n\t\tvar wrappedValue = utils.wrapAttributeValue(value);\n\t\tif (wrappedValue === undefined) {\n\t\t\twrappedValue = \"<<\"+wikiRelinker.getPlaceholderFor(value, name)+\">>\";\n\t\t}\n\t\treturn \" \"+name+\"=\"+wrappedValue;\n\t}\n\treturn '';\n};\n\nfunction prettyTransclude(textReference, template) {\n\tif (typeof textReference !== \"string\") {\n\t\ttextReference = refHandler.toString(textReference);\n\t}\n\tif (!textReference) {\n\t\ttextReference = '';\n\t}\n\tif (template !== undefined) {\n\t\treturn \"{{\"+textReference+\"||\"+template+\"}}\";\n\t} else {\n\t\treturn \"{{\"+textReference+\"}}\";\n\t}\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/transclude.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/utils.js": { "text": "/*\\\nmodule-type: library\n\nUtility methods for the wikitext relink rules.\n\n\\*/\n\n/**Finds an appropriate quote mark for a given value.\n *\n *Tiddlywiki doesn't have escape characters for attribute values. Instead,\n * we just have to find the type of quotes that'll work for the given title.\n * There exist titles that simply can't be quoted.\n * If it can stick with the preference, it will.\n *\n * return: Returns the wrapped value, or undefined if it's impossible to wrap\n */\nexports.wrapAttributeValue = function(value, preference, whitelist) {\n\twhitelist = whitelist || [\"\", \"'\", '\"', '\"\"\"'];\n\tvar choices = {\n\t\t\"\": function(v) {return !/([\\/\\s<>\"'=])/.test(v); },\n\t\t\"'\": function(v) {return v.indexOf(\"'\") < 0; },\n\t\t'\"': function(v) {return v.indexOf('\"') < 0; },\n\t\t'\"\"\"': function(v) {return v.indexOf('\"\"\"') < 0 && v[v.length-1] != '\"';},\n\t\t\"[[\": exports.canBePrettyOperand\n\t};\n\tvar wrappers = {\n\t\t\"\": function(v) {return v; },\n\t\t\"'\": function(v) {return \"'\"+v+\"'\"; },\n\t\t'\"': function(v) {return '\"'+v+'\"'; },\n\t\t'\"\"\"': function(v) {return '\"\"\"'+v+'\"\"\"'; },\n\t\t\"[[\": function(v) {return \"[[\"+v+\"]]\"; }\n\t};\n\tif (choices[preference]) {\n\t\tif (choices[preference](value)) {\n\t\t\treturn wrappers[preference](value);\n\t\t}\n\t}\n\tfor (var i = 0; i < whitelist.length; i++) {\n\t\tvar quote = whitelist[i];\n\t\tif (choices[quote](value)) {\n\t\t\treturn wrappers[quote](value);\n\t\t}\n\t}\n\t// No quotes will work on this\n\treturn undefined;\n};\n\n/**Return true if value can be used inside a prettylink.\n */\nexports.canBePretty = function(value) {\n\treturn value.indexOf(\"]]\") < 0 && value[value.length-1] !== ']';\n};\n\nexports.canBePrettyOperand = function(value) {\n\treturn value.indexOf(']') < 0;\n};\n\n/**Given some text, and a param or attribute within that text, this returns\n * what type of quotation that attribute is using.\n *\n * param: An object in the form {end:, ...}\n */\nexports.determineQuote = function(text, param) {\n\tvar pos = param.end-1;\n\tif (text[pos] === \"'\") {\n\t\treturn \"'\";\n\t}\n\tif (text[pos] === '\"') {\n\t\tif (text.substr(pos-2, 3) === '\"\"\"') {\n\t\t\treturn '\"\"\"';\n\t\t} else {\n\t\t\treturn '\"';\n\t\t}\n\t}\n\tif (text.substr(pos-1,2) === ']]' && text.substr((pos-param.value.length)-3, 2) === '[[') {\n\t\treturn \"[[\";\n\t}\n\treturn '';\n};\n", "module-type": "library", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/utils.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/wikilink.js": { "text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles CamelCase links\n\nWikiLink\n\nbut not:\n\n~WikiLink\n\n\\*/\n\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar utils = require(\"./utils.js\");\n\nexports.name = \"wikilink\";\n\nexports.relink = function(tiddler, text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (this.match[0] === fromTitle && this.match[0][0] !== '~') {\n\t\tvar logArguments = {\n\t\t\tfrom: fromTitle,\n\t\t\tto: toTitle,\n\t\t\ttiddler: tiddler.fields.title\n\t\t};\n\t\tif (toTitle.match(this.matchRegExp) && toTitle[0] !== '~') {\n\t\t\tlog(\"wikilink\", logArguments, options);\n\t\t\treturn toTitle;\n\t\t} else if (utils.canBePretty(toTitle)) {\n\t\t\tlog(\"wikilink-pretty\", logArguments, options);\n\t\t\treturn \"[[\" + toTitle + \"]]\";\n\t\t} else {\n\t\t\tvar ph = this.parser.getPlaceholderFor(toTitle);\n\t\t\tlog(\"wikilink-placeholder\", logArguments, options);\n\t\t\treturn \"<$link to=<<\"+ph+\">>><$text text=<<\"+ph+\">>/></$link>\";\n\t\t}\n\t}\n\treturn undefined;\n};\n", "module-type": "relinkwikitextrule", "title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/wikilink.js", "type": "application/javascript" }, "$:/plugins/flibbles/relink/js/utils/rebuilder.js": { "text": "/*\\\n\nThis helper class aids in reconstructing an existing string with new parts.\n\n\\*/\n\nfunction Rebuilder(text, start) {\n\tthis.text = text;\n\tthis.index = start || 0;\n\tthis.pieces = [];\n};\n\nmodule.exports = Rebuilder;\n\n/**Pieces must be added consecutively.\n * Start and end are the indices in the old string specifying where to graft\n * in the new piece.\n */\nRebuilder.prototype.add = function(value, start, end) {\n\tthis.pieces.push(this.text.substring(this.index, start), value);\n\tthis.index = end;\n};\n\nRebuilder.prototype.changed = function() {\n\treturn this.pieces.length > 0;\n};\n\n/** This sticks something on the beginning of the resulting content.\n */\nRebuilder.prototype.prepend = function(content) {\n\tif (content) {\n\t\tthis.pieces.unshift(content);\n\t}\n};\n\nRebuilder.prototype.results = function(end) {\n\tif (this.changed()) {\n\t\tthis.pieces.push(this.text.substring(this.index, end));\n\t\treturn this.pieces.join('');\n\t}\n\treturn undefined;\n};\n", "module-type": "library", "title": "$:/plugins/flibbles/relink/js/utils/rebuilder.js", "type": "application/javascript" }, "$:/config/flibbles/relink/attributes/$button/to": { "title": "$:/config/flibbles/relink/attributes/$button/to", "text": "title" }, "$:/config/flibbles/relink/attributes/$checkbox/tiddler": { "title": "$:/config/flibbles/relink/attributes/$checkbox/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$checkbox/tag": { "title": "$:/config/flibbles/relink/attributes/$checkbox/tag", "text": "title" }, "$:/config/flibbles/relink/attributes/$count/filter": { "title": "$:/config/flibbles/relink/attributes/$count/filter", "text": "filter" }, "$:/config/flibbles/relink/attributes/$draggable/tiddler": { "title": "$:/config/flibbles/relink/attributes/$draggable/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$draggable/filter": { "title": "$:/config/flibbles/relink/attributes/$draggable/filter", "text": "filter" }, "$:/config/flibbles/relink/attributes/$edit-bitmap/tiddler": { "title": "$:/config/flibbles/relink/attributes/$edit-bitmap/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$edit-text/tiddler": { "title": "$:/config/flibbles/relink/attributes/$edit-text/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$edit/tiddler": { "title": "$:/config/flibbles/relink/attributes/$edit/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$encrypt/filter": { "title": "$:/config/flibbles/relink/attributes/$encrypt/filter", "text": "filter" }, "$:/config/flibbles/relink/attributes/$fieldmangler/tiddler": { "title": "$:/config/flibbles/relink/attributes/$fieldmangler/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$fields/tiddler": { "title": "$:/config/flibbles/relink/attributes/$fields/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$image/source": { "title": "$:/config/flibbles/relink/attributes/$image/source", "text": "title" }, "$:/config/flibbles/relink/attributes/$importvariables/filter": { "title": "$:/config/flibbles/relink/attributes/$importvariables/filter", "text": "filter" }, "$:/config/flibbles/relink/attributes/$linkcatcher/to": { "title": "$:/config/flibbles/relink/attributes/$linkcatcher/to", "text": "title" }, "$:/config/flibbles/relink/attributes/$linkcatcher/set": { "title": "$:/config/flibbles/relink/attributes/$linkcatcher/set", "text": "title" }, "$:/config/flibbles/relink/attributes/$link/to": { "title": "$:/config/flibbles/relink/attributes/$link/to", "text": "title" }, "$:/config/flibbles/relink/attributes/$list/filter": { "title": "$:/config/flibbles/relink/attributes/$list/filter", "text": "filter" }, "$:/config/flibbles/relink/attributes/$list/template": { "title": "$:/config/flibbles/relink/attributes/$list/template", "text": "title" }, "$:/config/flibbles/relink/attributes/$list/editTemplate": { "title": "$:/config/flibbles/relink/attributes/$list/editTemplate", "text": "title" }, "$:/config/flibbles/relink/attributes/$list/history": { "title": "$:/config/flibbles/relink/attributes/$list/history", "text": "title" }, "$:/config/flibbles/relink/attributes/$navigator/story": { "title": "$:/config/flibbles/relink/attributes/$navigator/story", "text": "title" }, "$:/config/flibbles/relink/attributes/$navigator/history": { "title": "$:/config/flibbles/relink/attributes/$navigator/history", "text": "title" }, "$:/config/flibbles/relink/attributes/$radio/tiddler": { "title": "$:/config/flibbles/relink/attributes/$radio/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$range/tiddler": { "title": "$:/config/flibbles/relink/attributes/$range/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$reveal/stateTitle": { "title": "$:/config/flibbles/relink/attributes/$reveal/stateTitle", "text": "title" }, "$:/config/flibbles/relink/attributes/$select/tiddler": { "title": "$:/config/flibbles/relink/attributes/$select/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$setvariable/tiddler": { "title": "$:/config/flibbles/relink/attributes/$setvariable/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$setvariable/subtiddler": { "title": "$:/config/flibbles/relink/attributes/$setvariable/subtiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$setvariable/filter": { "title": "$:/config/flibbles/relink/attributes/$setvariable/filter", "text": "filter" }, "$:/config/flibbles/relink/attributes/$set/tiddler": { "title": "$:/config/flibbles/relink/attributes/$set/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$set/subtiddler": { "title": "$:/config/flibbles/relink/attributes/$set/subtiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$set/filter": { "title": "$:/config/flibbles/relink/attributes/$set/filter", "text": "filter" }, "$:/config/flibbles/relink/attributes/$tiddler/tiddler": { "title": "$:/config/flibbles/relink/attributes/$tiddler/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$transclude/tiddler": { "title": "$:/config/flibbles/relink/attributes/$transclude/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$transclude/subtiddler": { "title": "$:/config/flibbles/relink/attributes/$transclude/subtiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$view/tiddler": { "title": "$:/config/flibbles/relink/attributes/$view/tiddler", "text": "title" }, "$:/config/flibbles/relink/attributes/$view/subtiddler": { "title": "$:/config/flibbles/relink/attributes/$view/subtiddler", "text": "title" }, "$:/plugins/flibbles/relink/configuration": { "title": "$:/plugins/flibbles/relink/configuration", "text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/flibbles/relink/Configuration]!has[draft.of]]\" \"$:/plugins/flibbles/relink/ui/configuration/Fields\">>\n</div>\n" }, "$:/config/flibbles/relink/fields/list": { "title": "$:/config/flibbles/relink/fields/list", "text": "list" }, "$:/config/flibbles/relink/fields/list-after": { "title": "$:/config/flibbles/relink/fields/list-after", "text": "title" }, "$:/config/flibbles/relink/fields/list-before": { "title": "$:/config/flibbles/relink/fields/list-before", "text": "title" }, "$:/config/flibbles/relink/fields/tags": { "title": "$:/config/flibbles/relink/fields/tags", "text": "list" }, "$:/plugins/flibbles/relink/language/Buttons/Delete/Caption": { "title": "$:/plugins/flibbles/relink/language/Buttons/Delete/Caption", "text": "delete" }, "$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Hint": { "title": "$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Hint", "text": "Specify a new widget/element attribute to be updated whenever a tiddler is renamed" }, "$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Caption": { "title": "$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Caption", "text": "add" }, "$:/plugins/flibbles/relink/language/Buttons/NewField/Hint": { "title": "$:/plugins/flibbles/relink/language/Buttons/NewField/Hint", "text": "Specify a new field to be updated whenever a tiddler is renamed" }, "$:/plugins/flibbles/relink/language/Buttons/NewField/Caption": { "title": "$:/plugins/flibbles/relink/language/Buttons/NewField/Caption", "text": "add" }, "$:/plugins/flibbles/relink/language/Buttons/NewOperator/Hint": { "title": "$:/plugins/flibbles/relink/language/Buttons/NewOperator/Hint", "text": "Specify a new filter operator to be considered whenever a tiddler is renamed" }, "$:/plugins/flibbles/relink/language/Buttons/NewOperator/Caption": { "title": "$:/plugins/flibbles/relink/language/Buttons/NewOperator/Caption", "text": "add" }, "$:/plugins/flibbles/relink/language/Buttons/NewParameter/Hint": { "title": "$:/plugins/flibbles/relink/language/Buttons/NewParameter/Hint", "text": "Specify a new macro parameter to be updated whenever a tiddler is renamed" }, "$:/plugins/flibbles/relink/language/Buttons/NewParameter/Caption": { "title": "$:/plugins/flibbles/relink/language/Buttons/NewParameter/Caption", "text": "add" }, "$:/plugins/flibbles/relink/language/Error/RelinkFilterOperator": { "title": "$:/plugins/flibbles/relink/language/Error/RelinkFilterOperator", "text": "Filter Error: Unknown suffix for the 'relink' filter operator" }, "$:/plugins/flibbles/relink/language/Help/Attributes": { "title": "$:/plugins/flibbles/relink/language/Help/Attributes", "text": "See the [[Attributes documentation page|https://flibbles.github.io/tw5-relink/#Attributes]] for details." }, "$:/plugins/flibbles/relink/language/Help/Fields": { "title": "$:/plugins/flibbles/relink/language/Help/Fields", "text": "See the [[Fields documentation page|https://flibbles.github.io/tw5-relink/#Fields]] for details." }, "$:/plugins/flibbles/relink/language/Help/Macros": { "title": "$:/plugins/flibbles/relink/language/Help/Macros", "text": "See the [[Macros documentation page|https://flibbles.github.io/tw5-relink/#Macros]] for details." }, "$:/plugins/flibbles/relink/language/Help/Operators": { "title": "$:/plugins/flibbles/relink/language/Help/Operators", "text": "See the [[Operators documentation page|https://flibbles.github.io/tw5-relink/#Operators]] for details." }, "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Empty": { "title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Empty", "text": "No tiddlers contain any fields, links, macros, transclusions, or widgets referencing this one" }, "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Description": { "title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Description", "text": "The following tiddlers contain fields, links, macros, transclusions, or widgets referencing this one:" }, "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption": { "title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption", "text": "//Relink// References" }, "$:/plugins/flibbles/relink/language/ui/Attributes/Caption": { "title": "$:/plugins/flibbles/relink/language/ui/Attributes/Caption", "text": "Attributes" }, "$:/plugins/flibbles/relink/language/ui/Fields/Caption": { "title": "$:/plugins/flibbles/relink/language/ui/Fields/Caption", "text": "Fields" }, "$:/plugins/flibbles/relink/language/ui/Macros/Caption": { "title": "$:/plugins/flibbles/relink/language/ui/Macros/Caption", "text": "Macros" }, "$:/plugins/flibbles/relink/language/ui/Operators/Caption": { "title": "$:/plugins/flibbles/relink/language/ui/Operators/Caption", "text": "Operators" }, "$:/config/flibbles/relink/macros/csvtiddlers/filter": { "title": "$:/config/flibbles/relink/macros/csvtiddlers/filter", "text": "filter" }, "$:/config/flibbles/relink/macros/datauri/title": { "title": "$:/config/flibbles/relink/macros/datauri/title", "text": "title" }, "$:/config/flibbles/relink/macros/jsontiddler/title": { "title": "$:/config/flibbles/relink/macros/jsontiddler/title", "text": "title" }, "$:/config/flibbles/relink/macros/jsontiddlers/filter": { "title": "$:/config/flibbles/relink/macros/jsontiddlers/filter", "text": "filter" }, "$:/config/flibbles/relink/macros/list-links/filter": { "title": "$:/config/flibbles/relink/macros/list-links/filter", "text": "filter" }, "$:/config/flibbles/relink/macros/list-links-draggable/tiddler": { "title": "$:/config/flibbles/relink/macros/list-links-draggable/tiddler", "text": "title" }, "$:/config/flibbles/relink/macros/list-links-draggable/itemTemplate": { "title": "$:/config/flibbles/relink/macros/list-links-draggable/itemTemplate", "text": "title" }, "$:/config/flibbles/relink/macros/list-tagged-draggable/tag": { "title": "$:/config/flibbles/relink/macros/list-tagged-draggable/tag", "text": "title" }, "$:/config/flibbles/relink/macros/list-tagged-draggable/itemTemplate": { "title": "$:/config/flibbles/relink/macros/list-tagged-draggable/itemTemplate", "text": "title" }, "$:/config/flibbles/relink/macros/toc/tag": { "title": "$:/config/flibbles/relink/macros/toc/tag", "text": "title" }, "$:/config/flibbles/relink/macros/toc/selectedTiddler": { "title": "$:/config/flibbles/relink/macros/toc/selectedTiddler", "text": "title" }, "$:/config/flibbles/relink/macros/toc/template": { "title": "$:/config/flibbles/relink/macros/toc/template", "text": "title" }, "$:/config/flibbles/relink/macros/tabs/buttonTemplate": { "title": "$:/config/flibbles/relink/macros/tabs/buttonTemplate", "text": "title" }, "$:/config/flibbles/relink/macros/tabs/default": { "title": "$:/config/flibbles/relink/macros/tabs/default", "text": "title" }, "$:/config/flibbles/relink/macros/tabs/tabsList": { "title": "$:/config/flibbles/relink/macros/tabs/tabsList", "text": "filter" }, "$:/config/flibbles/relink/macros/tabs/template": { "title": "$:/config/flibbles/relink/macros/tabs/template", "text": "title" }, "$:/config/flibbles/relink/macros/tag/tag": { "title": "$:/config/flibbles/relink/macros/tag/tag", "text": "title" }, "$:/config/flibbles/relink/macros/tag-pill/tag": { "title": "$:/config/flibbles/relink/macros/tag-pill/tag", "text": "title" }, "$:/config/flibbles/relink/macros/timeline/subfilter": { "title": "$:/config/flibbles/relink/macros/timeline/subfilter", "text": "filter" }, "$:/config/flibbles/relink/operators/list": { "title": "$:/config/flibbles/relink/operators/list", "text": "reference" }, "$:/config/flibbles/relink/operators/tag": { "title": "$:/config/flibbles/relink/operators/tag", "text": "title" }, "$:/config/flibbles/relink/operators/title": { "title": "$:/config/flibbles/relink/operators/title", "text": "title" }, "$:/config/flibbles/relink/operators/field:title": { "title": "$:/config/flibbles/relink/operators/field:title", "text": "title" }, "$:/language/EditTemplate/Title/Impossibles/Prompt": { "title": "$:/language/EditTemplate/Title/Impossibles/Prompt", "text": "The following references to this tiddler can ''not'' be updated by //Relink// due to the complexity of the new title:" }, "$:/language/EditTemplate/Title/References/Prompt": { "title": "$:/language/EditTemplate/Title/References/Prompt", "text": "The following tiddlers will be updated if relinking:" }, "$:/language/EditTemplate/Title/Relink/Prompt": { "title": "$:/language/EditTemplate/Title/Relink/Prompt", "text": "Use //Relink// to update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' across all other tiddlers" }, "$:/core/ui/EditTemplate/title": { "title": "$:/core/ui/EditTemplate/title", "tags": "$:/tags/EditTemplate", "text": "\\define conditional-list(state, prompt, filter)\n<$list filter=\"[subfilter<__filter__>limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/$state$\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}}\n<<lingo [[$prompt$]]>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}}\n<<lingo [[$prompt$]]>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$list filter=<<__filter__>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>\n</$reveal>\n\n</$vars>\n\\end\n\n<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\" tabindex={{$:/config/EditTabIndex}}/>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<<conditional-list impossibles EditTemplate/Title/Impossibles/Prompt \"[{!!draft.title}relink:impossible<fromTitle>]\">>\n\n<<conditional-list references EditTemplate/Title/References/Prompt \"[relink:references<fromTitle>!title[$:/StoryList]sort[title]]\">>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n" }, "$:/plugins/flibbles/relink/readme": { "title": "$:/plugins/flibbles/relink/readme", "type": "text/vnd.tiddlywiki", "text": "When renaming a tiddler, Relink can update the fields, filters, and widgets\nof all other tiddlers. However, it works through whitelisting.\n\nIt's already configured to update tiddler titles for all core widgets, filters,\nand fields, but the whitelists can be customized for each of this in the\nconfiguration panel.\n\nSee [[the tw5-relink website|https://github.com/flibbles/tw5-relink]] for\nmore details and examples.\n" }, "$:/config/flibbles/relink/settings/default-type": { "title": "$:/config/flibbles/relink/settings/default-type", "text": "title" }, "$:/plugins/flibbles/relink/ui/TiddlerInfo/References": { "title": "$:/plugins/flibbles/relink/ui/TiddlerInfo/References", "caption": "{{$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption}}", "tags": "$:/tags/TiddlerInfo", "text": "\\define lingo-base() $:/plugins/flibbles/relink/language/TiddlerInfo/\n\\define filter() [relink:references<currentTiddler>!title[$:/StoryList]sort[title]]\n<$list filter=\"[subfilter<filter>first[]]\">\n\n<<lingo References/Description>>\n</$list>\n\n<$list filter=<<filter>> emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n" }, "$:/plugins/flibbles/relink/ui/components/button-delete": { "title": "$:/plugins/flibbles/relink/ui/components/button-delete", "text": "\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\n<$button class=\"tc-btn-invisible\"><$list filter=\"[all[current]is[tiddler]]\">\n<$action-deletetiddler $tiddler=<<currentTiddler>> />\n</$list><$list filter=\"[all[current]is[shadow]]\">\n<$action-setfield $tiddler=<<tiddlerName>> text=\"\" />\n</$list>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">{{$:/core/images/delete-button}}</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$(lingo-base)$Delete/Caption}}/></span>\n</$list></$button>\n" }, "$:/plugins/flibbles/relink/ui/components/select-fieldtype": { "title": "$:/plugins/flibbles/relink/ui/components/select-fieldtype", "text": "<$select tiddler=<<currentTiddler>> default={{$:/config/flibbles/relinke/settings/default-type}} >\n<$list variable=\"option\"\n filter=\"[[relinkfieldtype]modules[]removeprefix[$:/plugins/flibbles/relink/js/fieldtypes/]removesuffix[.js]move:-100{$:/config/flibbles/relink/settings/default-type}]\">\n<option><$text text=<<option>> /></option>\n</$list>\n</$select>\n" }, "$:/plugins/flibbles/relink/ui/configuration/Attributes": { "title": "$:/plugins/flibbles/relink/ui/configuration/Attributes", "caption": "{{$:/plugins/flibbles/relink/language/ui/Attributes/Caption}}", "tags": "$:/tags/flibbles/relink/Configuration", "text": "\\define prefix-attr() $:/config/flibbles/relink/attributes/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define state-base() $:/state/flibbles/relink/\n\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Attributes}}\n\n<table><tbody>\n<tr><th>Widget/HTML Element</th><th>Attribute</th><th>Type</th><th>Delete</th></tr>\n<$list filter=\"[all[shadows+tiddlers]prefix<prefix-attr>!has[draft.of]has[text]]\">\n<$set name=\"element\"\n filter=\"[all[current]removeprefix<prefix-attr>splitbefore[/]removesuffix[/]]\">\n<$set name=\"attribute\"\n filter=\"[all[current]removeprefix<prefix-attr>removeprefix<element>removeprefix[/]]\">\n<tr>\n<td><$text text=<<element>> /></td>\n<td><$text text=<<attribute>> /></td>\n<td>{{||$:/plugins/flibbles/relink/ui/components/select-fieldtype}}</td>\n<td>{{||$:/plugins/flibbles/relink/ui/components/button-delete}}</td>\n</tr>\n</$set></$set></$list>\n</tbody></table>\n\n<em class=\"tc-edit\">Add a new attribute:</em>\n<$edit-text tiddler=\"$(state-base)$element-name\"\n tag=\"input\" default=\"\" placeholder=\"widget/element\" />\n<$edit-text tiddler=\"$(state-base)$attribute-name\"\n tag=\"input\" default=\"\" placeholder=\"attribute\" />\n<$button tooltip={{$(lingo-base)$NewAttribute/Hint}}\n aria-label={{$(lingo-base)$NewAttribute/Caption}}>\n<$set name=\"tiddlerName\"\n filter=\"[<prefix-attr>addsuffix{$(state-base)$element-name}addsuffix[/]addsuffix{$(state-base)$attribute-name}]\">\n<$action-setfield $tiddler=<<tiddlerName>>\n text={{$:/config/flibbles/relink/settings/default-type}} />\n</$set>\n<$action-deletetiddler $tiddler=\"$(state-base)$attribute-name\" />\n<$action-deletetiddler $tiddler=\"$(state-base)$element-name\" />\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n\\end\n\n<<body>>\n" }, "$:/plugins/flibbles/relink/ui/configuration/Fields": { "title": "$:/plugins/flibbles/relink/ui/configuration/Fields", "caption": "{{$:/plugins/flibbles/relink/language/ui/Fields/Caption}}", "tags": "$:/tags/flibbles/relink/Configuration", "text": "\\define prefix-fields() $:/config/flibbles/relink/fields/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define state-base() $:/state/flibbles/relink/\n\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Fields}}\n\n<table><tbody>\n<tr><th>Field Name</th><th>Field Type</th><th>Delete</th></tr>\n<$list filter=\"[all[shadows+tiddlers]prefix<prefix-fields>!has[draft.of]has[text]]\">\n<tr>\n<td><$list filter=\"[all[current]removeprefix<prefix-fields>]\"><<currentTiddler>></$list></td>\n<td>{{||$:/plugins/flibbles/relink/ui/components/select-fieldtype}}</td>\n<td>{{||$:/plugins/flibbles/relink/ui/components/button-delete}}</td>\n</tr>\n</$list>\n</tbody></table>\n\n<em class=\"tc-edit\">Add a new field:</em>\n<$edit-text tiddler=\"$(state-base)$field-name\"\n tag=\"input\" default=\"\" placeholder=\"field name\" />\n<$button tooltip={{$(lingo-base)$NewField/Hint}}\n aria-label={{$(lingo-base)$NewField/Caption}}>\n<$set name=\"tiddlerName\"\n filter=\"[<prefix-fields>addsuffix{$(state-base)$field-name}]\">\n<$action-setfield $tiddler=<<tiddlerName>>\n text={{$:/config/flibbles/relink/settings/default-type}} />\n</$set>\n<$action-deletetiddler $tiddler=\"$(state-base)$field-name\" />\n<$text text={{$(lingo-base)$NewField/Caption}}/>\n</$button>\n\\end\n\n<<body>>\n" }, "$:/plugins/flibbles/relink/ui/configuration/Macros": { "title": "$:/plugins/flibbles/relink/ui/configuration/Macros", "caption": "{{$:/plugins/flibbles/relink/language/ui/Macros/Caption}}", "tags": "$:/tags/flibbles/relink/Configuration", "text": "\\define prefix-macro() $:/config/flibbles/relink/macros/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define state-base() $:/state/flibbles/relink/\n\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Macros}}\n\n<table><tbody>\n<tr><th>Macro</th><th>Parameter</th><th>Type</th><th>Delete</th></tr>\n<$list filter=\"[all[shadows+tiddlers]prefix<prefix-macro>!has[draft.of]has[text]]\">\n<$set name=\"parameter\"\n filter=\"[all[current]removeprefix<prefix-macro>relink:splitafter[/]]\">\n<$set name=\"macro\"\n filter=\"[all[current]removeprefix<prefix-macro>removesuffix<parameter>removesuffix[/]]\">\n<tr>\n<td><$text text=<<macro>> /></td>\n<td><$text text=<<parameter>> /></td>\n<td>{{||$:/plugins/flibbles/relink/ui/components/select-fieldtype}}</td>\n<td>{{||$:/plugins/flibbles/relink/ui/components/button-delete}}</td>\n</tr>\n</$set></$set></$list>\n</tbody></table>\n\n<em class=\"tc-edit\">Add a new macro parameter:</em>\n<$edit-text tiddler=\"$(state-base)$macro-name\"\n tag=\"input\" default=\"\" placeholder=\"macro\" />\n<$edit-text tiddler=\"$(state-base)$parameter-name\"\n tag=\"input\" default=\"\" placeholder=\"parameter\" />\n<$button tooltip={{$(lingo-base)$NewParameter/Hint}}\n aria-label={{$(lingo-base)$NewParameter/Caption}}>\n<$set name=\"tiddlerName\"\n filter=\"[<prefix-macro>addsuffix{$(state-base)$macro-name}addsuffix[/]addsuffix{$(state-base)$parameter-name}]\">\n<$action-setfield $tiddler=<<tiddlerName>>\n text={{$:/config/flibbles/relink/settings/default-type}} />\n</$set>\n<$action-deletetiddler $tiddler=\"$(state-base)$parameter-name\" />\n<$action-deletetiddler $tiddler=\"$(state-base)$macro-name\" />\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n\\end\n\n<<body>>\n" }, "$:/plugins/flibbles/relink/ui/configuration/Operators": { "title": "$:/plugins/flibbles/relink/ui/configuration/Operators", "caption": "{{$:/plugins/flibbles/relink/language/ui/Operators/Caption}}", "tags": "$:/tags/flibbles/relink/Configuration", "text": "\\define prefix-ops() $:/config/flibbles/relink/operators/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define state-base() $:/state/flibbles/relink/\n\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Operators}}\n\n<table><tbody>\n<tr><th>Filter Operator</th><th>Operand Type</th><th>Delete</th></tr>\n<$list filter=\"[all[shadows+tiddlers]prefix<prefix-ops>!has[draft.of]has[text]]\">\n<tr>\n<td><$list variable=\"listItem\" filter=\"[<currentTiddler>removeprefix<prefix-ops>]\"><<listItem>></$list></td>\n<td>{{||$:/plugins/flibbles/relink/ui/components/select-fieldtype}}</td>\n<td>{{||$:/plugins/flibbles/relink/ui/components/button-delete}}</td>\n</tr>\n</$list>\n</tbody></table>\n\n<em class=\"tc-edit\">Add a new filter operator:</em>\n<$edit-text tiddler=\"$(state-base)$operator-name\"\n tag=\"input\" default=\"\" placeholder=\"operator name\" />\n<$button tooltip={{$(lingo-base)$NewOperator/Hint}}\n aria-label={{$(lingo-base)$NewOperator/Caption}}>\n<$set name=\"tiddlerName\"\n filter=\"[<prefix-ops>addsuffix{$(state-base)$operator-name}]\">\n<$action-setfield $tiddler=<<tiddlerName>> text={{$:/config/flibbles/relink/settings/default-type}} />\n</$set>\n<$action-deletetiddler $tiddler=\"$(state-base)$operator-name\" />\n<$text text={{$(lingo-base)$NewOperator/Caption}}/>\n</$button>\n\\end\n\n<<body>>\n" } } }
{ "tiddlers": { "$:/plugins/mklauber/math.js/calc.js": { "text": "/*\\\ntitle: $:/plugins/mklauber/math.js/calc.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar math = require(\"$:/plugins/mklauber/math.js/math.js\");\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CalcWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCalcWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCalcWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\n\tthis.expression = this.document.createElement(\"div\");\n\tthis.renderChildren(this.expression);\n\t\n\tvar text = \"\";\n\ttry {\n\t\ttext = math.eval(this.expression.textContent.trim());\n\t} catch(err) {\n\t\tif(!this.silence){\n\t\t\ttext = \"Unable to parse '\" + this.expression.textContent + \"'\";\n\t\t}\n\t}\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCalcWidget.prototype.execute = function() {\n\tthis.silence = this.getAttribute(\"silence\",false);\n\tvar calc = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tthis.makeChildWidgets([calc]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCalcWidget.prototype.refresh = function(changedTiddlers) {\n\tif(this.refreshChildren(changedTiddlers)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexports.calc = CalcWidget;\n\n})();\n", "title": "$:/plugins/mklauber/math.js/calc.js", "type": "application/javascript", "module-type": "widget" }, "$:/plugins/mklauber/math.js/math.js": { "text": "/*\\\ntitle: $:/plugins/mklauber/math.js/math.js\ntype: application/javascript\nmodule-type: library\n\\*/\n/**\n * math.js\n * https://github.com/josdejong/mathjs\n *\n * Math.js is an extensive math library for JavaScript and Node.js,\n * It features real and complex numbers, units, matrices, a large set of\n * mathematical functions, and a flexible expression parser.\n *\n * @version 2.4.1\n * @date 2015-10-29\n *\n * @license\n * Copyright (C) 2013-2015 Jos de Jong <wjosdejong@gmail.com>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy\n * of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.math=t():e.math=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p=\"\",t(0)}([function(e,t,r){function n(e){var t=i.create(e);return t.create=n,t[\"import\"](r(13)),t}var i=r(1);e.exports=n()},function(e,t,r){e.exports=r(2)},function(e,t,r){var n=r(3).isFactory,i=r(3).deepExtend,a=r(4),o=r(8),s=r(10),u=r(12);t.create=function(e){function t(e){if(!n(e))throw new Error(\"Factory object with properties `type`, `name`, and `factory` expected\");var i,a=r.indexOf(e);return-1===a?(i=e.math===!0?e.factory(f.type,l,t,f.typed,f):e.factory(f.type,l,t,f.typed),r.push(e),c.push(i)):i=c[a],i}if(\"function\"!=typeof Object.create)throw new Error(\"ES5 not supported by this JavaScript engine. Please load the es5-shim and es5-sham library for compatibility.\");var r=[],c=[],f=o.mixin({});f.type={},f.expression={transform:Object.create(f)},f.typed=a.create(f.type);var l={epsilon:1e-14,matrix:\"matrix\",number:\"number\",precision:64,predictable:!1};return e&&i(l,e),f[\"import\"]=t(s),f.config=t(u),f}},function(e,t){\"use strict\";t.clone=function r(e){var t=typeof e;if(\"number\"===t||\"string\"===t||\"boolean\"===t||null===e||void 0===e)return e;if(\"function\"==typeof e.clone)return e.clone();if(Array.isArray(e))return e.map(function(e){return r(e)});if(e instanceof Number)return new Number(e.valueOf());if(e instanceof String)return new String(e.valueOf());if(e instanceof Boolean)return new Boolean(e.valueOf());if(e instanceof Date)return new Date(e.valueOf());if(e&&e.isBigNumber===!0)return e;if(e instanceof RegExp)throw new TypeError(\"Cannot clone \"+e);var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=r(e[i]));return n},t.extend=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},t.deepExtend=function n(e,t){if(Array.isArray(t))throw new TypeError(\"Arrays are not supported by deepExtend\");for(var r in t)if(t.hasOwnProperty(r))if(t[r]&&t[r].constructor===Object)void 0===e[r]&&(e[r]={}),e[r].constructor===Object?n(e[r],t[r]):e[r]=t[r];else{if(Array.isArray(t[r]))throw new TypeError(\"Arrays are not supported by deepExtend\");e[r]=t[r]}return e},t.deepEqual=function(e,r){var n,i,a;if(Array.isArray(e)){if(!Array.isArray(r))return!1;if(e.length!=r.length)return!1;for(i=0,a=e.length;a>i;i++)if(!t.deepEqual(e[i],r[i]))return!1;return!0}if(e instanceof Object){if(Array.isArray(r)||!(r instanceof Object))return!1;for(n in e)if(!t.deepEqual(e[n],r[n]))return!1;for(n in r)if(!t.deepEqual(e[n],r[n]))return!1;return!0}return typeof e==typeof r&&e==r},t.canDefineProperty=function(){try{if(Object.defineProperty)return Object.defineProperty({},\"x\",{get:function(){}}),!0}catch(e){}return!1},t.lazy=function(e,r,n){if(t.canDefineProperty()){var i,a=!0;Object.defineProperty(e,r,{get:function(){return a&&(i=n(),a=!1),i},set:function(e){i=e,a=!1},configurable:!0,enumerable:!0})}else e[r]=n()},t.traverse=function(e,t){var r=e;if(t)for(var n=t.split(\".\"),i=0;i<n.length;i++){var a=n[i];a in r||(r[a]={}),r=r[a]}return r},t.isFactory=function(e){return e&&\"function\"==typeof e.factory}},function(e,t,r){var n=r(5),i=r(6).digits,a=function(){return a=n.create,n};t.create=function(e){var t=a();return t.types=[{name:\"number\",test:function(e){return\"number\"==typeof e}},{name:\"Complex\",test:function(e){return e&&e.isComplex}},{name:\"BigNumber\",test:function(e){return e&&e.isBigNumber}},{name:\"Fraction\",test:function(e){return e&&e.isFraction}},{name:\"Unit\",test:function(e){return e&&e.isUnit}},{name:\"string\",test:function(e){return\"string\"==typeof e}},{name:\"Array\",test:Array.isArray},{name:\"Matrix\",test:function(e){return e&&e.isMatrix}},{name:\"DenseMatrix\",test:function(e){return e&&e.isDenseMatrix}},{name:\"SparseMatrix\",test:function(e){return e&&e.isSparseMatrix}},{name:\"ImmutableDenseMatrix\",test:function(e){return e&&e.isImmutableDenseMatrix}},{name:\"Range\",test:function(e){return e&&e.isRange}},{name:\"Index\",test:function(e){return e&&e.isIndex}},{name:\"boolean\",test:function(e){return\"boolean\"==typeof e}},{name:\"ResultSet\",test:function(e){return e&&e.isResultSet}},{name:\"Help\",test:function(e){return e&&e.isHelp}},{name:\"function\",test:function(e){return\"function\"==typeof e}},{name:\"Date\",test:function(e){return e instanceof Date}},{name:\"RegExp\",test:function(e){return e instanceof RegExp}},{name:\"Object\",test:function(e){return\"object\"==typeof e}},{name:\"null\",test:function(e){return null===e}},{name:\"undefined\",test:function(e){return void 0===e}}],t.conversions=[{from:\"number\",to:\"BigNumber\",convert:function(t){if(i(t)>15)throw new TypeError(\"Cannot implicitly convert a number with >15 significant digits to BigNumber (value: \"+t+\"). Use function bignumber(x) to convert to BigNumber.\");return new e.BigNumber(t)}},{from:\"number\",to:\"Complex\",convert:function(t){return new e.Complex(t,0)}},{from:\"number\",to:\"string\",convert:function(e){return e+\"\"}},{from:\"BigNumber\",to:\"Complex\",convert:function(t){return new e.Complex(t.toNumber(),0)}},{from:\"number\",to:\"Fraction\",convert:function(t){if(i(t)>15)throw new TypeError(\"Cannot implicitly convert a number with >15 significant digits to Fraction (value: \"+t+\"). Use function fraction(x) to convert to Fraction.\");return new e.Fraction(t)}},{from:\"string\",to:\"number\",convert:function(e){var t=Number(e);if(isNaN(t))throw new Error('Cannot convert \"'+e+'\" to a number');return t}},{from:\"boolean\",to:\"number\",convert:function(e){return+e}},{from:\"boolean\",to:\"BigNumber\",convert:function(t){return new e.BigNumber(+t)}},{from:\"boolean\",to:\"string\",convert:function(e){return+e}},{from:\"null\",to:\"number\",convert:function(){return 0}},{from:\"null\",to:\"string\",convert:function(){return\"null\"}},{from:\"null\",to:\"BigNumber\",convert:function(){return new e.BigNumber(0)}},{from:\"Array\",to:\"Matrix\",convert:function(t){return new e.DenseMatrix(t)}},{from:\"Matrix\",to:\"Array\",convert:function(e){return e.valueOf()}}],t}},function(e,t,r){var n,i,a;!function(r){i=[],n=r,a=\"function\"==typeof n?n.apply(t,i):n,!(void 0!==a&&(e.exports=a))}(function(){function e(){function t(e){for(var t,r=0;r<N.types.length;r++){var n=N.types[r];if(n.name===e){t=n.test;break}}if(!t){var i;for(r=0;r<N.types.length;r++)if(n=N.types[r],n.name.toLowerCase()==e.toLowerCase()){i=n.name;break}throw new Error('Unknown type \"'+e+'\"'+(i?'. Did you mean \"'+i+'\"?':\"\"))}return t}function r(e){for(var t=\"\",r=0;r<e.length;r++){var n=e[r];if(\"\"!=n.name)if(\"\"==t)t=n.name;else if(t!=n.name){var i=new Error(\"Function names do not match (expected: \"+t+\", actual: \"+n.name+\")\");throw i.data={actual:n.name,expected:t},i}}return t}function n(e,t,r,n,i){var a,o=h(n),s=i?i.split(\",\"):null,u=e||\"unnamed\",c=s&&g(s,\"any\"),f={fn:e,index:r,actual:n,expected:s};a=s?t>r&&!c?\"Unexpected type of argument in function \"+u+\" (expected: \"+s.join(\" or \")+\", actual: \"+o+\", index: \"+r+\")\":\"Too few arguments in function \"+u+\" (expected: \"+s.join(\" or \")+\", index: \"+r+\")\":\"Too many arguments in function \"+u+\" (expected: \"+r+\", actual: \"+t+\")\";var l=new TypeError(a);return l.data=f,l}function i(e){this.name=e||\"refs\",this.categories={}}function a(e,t){if(\"string\"==typeof e){var r=e.trim(),n=\"...\"===r.substr(0,3);if(n&&(r=r.substr(3)),\"\"===r)this.types=[\"any\"];else{this.types=r.split(\"|\");for(var i=0;i<this.types.length;i++)this.types[i]=this.types[i].trim()}}else{if(!Array.isArray(e)){if(e instanceof a)return e.clone();throw new Error(\"String or Array expected\")}this.types=e}this.conversions=[],this.varArgs=n||t||!1,this.anyType=-1!==this.types.indexOf(\"any\")}function o(e,t){var r;if(\"string\"==typeof e)r=\"\"!==e?e.split(\",\"):[];else{if(!Array.isArray(e))throw new Error(\"string or Array expected\");r=e}this.params=new Array(r.length);for(var n=0;n<r.length;n++){var i=new a(r[n]);if(this.params[n]=i,n===r.length-1)this.varArgs=i.varArgs;else if(i.varArgs)throw new SyntaxError('Unexpected variable arguments operator \"...\"')}this.fn=t}function s(e,t,r){this.path=e||[],this.param=e[e.length-1]||null,this.signature=t||null,this.childs=r||[]}function u(e){var t,r,n={},i=[];for(var a in e)if(e.hasOwnProperty(a)){var s=e[a];if(t=new o(a,s),t.ignore())continue;var u=t.expand();for(r=0;r<u.length;r++){var c=u[r],f=c.toString(),l=n[f];if(l){var p=o.compare(c,l);if(0>p)n[f]=c;else if(0===p)throw new Error('Signature \"'+f+'\" is defined twice')}else n[f]=c}}for(f in n)n.hasOwnProperty(f)&&i.push(n[f]);for(i.sort(function(e,t){return o.compare(e,t)}),r=0;r<i.length;r++)if(t=i[r],t.varArgs)for(var m=t.params.length-1,h=t.params[m],v=0;v<h.types.length;){if(h.conversions[v])for(var d=h.types[v],y=0;y<i.length;y++){var x=i[y],w=x.params[m];if(x!==t&&w&&g(w.types,d)&&!w.conversions[m]){h.types.splice(v,1),h.conversions.splice(v,1),v--;break}}v++}return i}function c(e){for(var t={},r=0;r<e.length;r++){var n=e[r];if(n.fn&&!n.hasConversions()){var i=n.params.join(\",\");t[i]=n.fn}}return t}function f(e,t){var r,n,i,o=t.length,u=[];for(r=0;r<e.length;r++)n=e[r],n.params.length!==o||i||(i=n),void 0!=n.params[o]&&u.push(n);u.sort(function(e,t){return a.compare(e.params[o],t.params[o])});var c=[];for(r=0;r<u.length;r++){n=u[r];var l=n.params[o],p=c.filter(function(e){return e.param.overlapping(l)})[0];if(p){if(p.param.varArgs)throw new Error('Conflicting types \"'+p.param+'\" and \"'+l+'\"');p.signatures.push(n)}else c.push({param:l,signatures:[n]})}var m=new Array(c.length);for(r=0;r<c.length;r++){var h=c[r];m[r]=f(h.signatures,t.concat(h.param))}return new s(t,i,m)}function l(e){for(var t=[],r=0;e>r;r++)t[r]=\"arg\"+r;return t}function p(e,t){var r=new i,a=u(t);if(0==a.length)throw new Error(\"No signatures provided\");var o=f(a,[]),s=[],p=e||\"\",h=l(m(a));s.push(\"function \"+p+\"(\"+h.join(\", \")+\") {\"),s.push(' \"use strict\";'),s.push(\" var name = '\"+p+\"';\"),s.push(o.toCode(r,\" \")),s.push(\"}\");var g=[r.toCode(),\"return \"+s.join(\"\\n\")].join(\"\\n\"),v=new Function(r.name,\"createError\",g),d=v(r,n);return d.signatures=c(a),d}function m(e){for(var t=0,r=0;r<e.length;r++){var n=e[r].params.length;n>t&&(t=n)}return t}function h(e){for(var t,r=0;r<N.types.length;r++){var n=N.types[r];if(\"Object\"===n.name)t=n;else if(n.test(e))return n.name}return t&&t.test(e)?t.name:\"unknown\"}function g(e,t){return-1!==e.indexOf(t)}function v(e,t){if(!e.signatures)throw new TypeError(\"Function is no typed-function\");var r;if(\"string\"==typeof t){r=t.split(\",\");for(var n=0;n<r.length;n++)r[n]=r[n].trim()}else{if(!Array.isArray(t))throw new TypeError(\"String array or a comma separated string expected\");r=t}var i=r.join(\",\"),a=e.signatures[i];if(a)return a;throw new TypeError(\"Signature not found (signature: \"+(e.name||\"unnamed\")+\"(\"+r.join(\", \")+\"))\")}function d(e,t){var r=h(e);if(t===r)return e;for(var n=0;n<N.conversions.length;n++){var i=N.conversions[n];if(i.from===r&&i.to===t)return i.convert(e)}throw new Error(\"Cannot convert from \"+r+\" to \"+t)}i.prototype.add=function(e,t){var r=t||\"fn\";this.categories[r]||(this.categories[r]=[]);var n=this.categories[r].indexOf(e);return-1==n&&(n=this.categories[r].length,this.categories[r].push(e)),r+n},i.prototype.toCode=function(){var e=[],t=this.name+\".categories\",r=this.categories;for(var n in r)if(r.hasOwnProperty(n))for(var i=r[n],a=0;a<i.length;a++)e.push(\"var \"+n+a+\" = \"+t+\"['\"+n+\"'][\"+a+\"];\");return e.join(\"\\n\")},a.compare=function(e,t){if(e.anyType)return 1;if(t.anyType)return-1;if(g(e.types,\"Object\"))return 1;if(g(t.types,\"Object\"))return-1;if(e.hasConversions()){if(t.hasConversions()){var r,n,i;for(r=0;r<e.conversions.length;r++)if(void 0!==e.conversions[r]){n=e.conversions[r];break}for(r=0;r<t.conversions.length;r++)if(void 0!==t.conversions[r]){i=t.conversions[r];break}return N.conversions.indexOf(n)-N.conversions.indexOf(i)}return 1}if(t.hasConversions())return-1;var a,o;for(r=0;r<N.types.length;r++)if(N.types[r].name===e.types[0]){a=r;break}for(r=0;r<N.types.length;r++)if(N.types[r].name===t.types[0]){o=r;break}return a-o},a.prototype.overlapping=function(e){for(var t=0;t<this.types.length;t++)if(g(e.types,this.types[t]))return!0;return!1},a.prototype.clone=function(){var e=new a(this.types.slice(),this.varArgs);return e.conversions=this.conversions.slice(),e},a.prototype.hasConversions=function(){return this.conversions.length>0},a.prototype.contains=function(e){for(var t=0;t<this.types.length;t++)if(e[this.types[t]])return!0;return!1},a.prototype.toString=function(e){for(var t=[],r={},n=0;n<this.types.length;n++){var i=this.conversions[n],a=e&&i?i.to:this.types[n];a in r||(r[a]=!0,t.push(a))}return(this.varArgs?\"...\":\"\")+t.join(\"|\")},o.prototype.clone=function(){return new o(this.params.slice(),this.fn)},o.prototype.expand=function(){function e(r,n){if(n.length<r.params.length){var i,s,u,c=r.params[n.length];if(c.varArgs){for(s=c.clone(),i=0;i<N.conversions.length;i++)if(u=N.conversions[i],!g(c.types,u.from)&&g(c.types,u.to)){var f=s.types.length;s.types[f]=u.from,s.conversions[f]=u}e(r,n.concat(s))}else{for(i=0;i<c.types.length;i++)e(r,n.concat(new a(c.types[i])));for(i=0;i<N.conversions.length;i++)u=N.conversions[i],!g(c.types,u.from)&&g(c.types,u.to)&&(s=new a(u.from),s.conversions[0]=u,e(r,n.concat(s)))}}else t.push(new o(n,r.fn))}var t=[];return e(this,[]),t},o.compare=function(e,t){if(e.params.length>t.params.length)return 1;if(e.params.length<t.params.length)return-1;var r,n=e.params.length,i=0,o=0;for(r=0;n>r;r++)e.params[r].hasConversions()&&i++,t.params[r].hasConversions()&&o++;if(i>o)return 1;if(o>i)return-1;for(r=0;r<e.params.length;r++){var s=a.compare(e.params[r],t.params[r]);if(0!==s)return s}return 0},o.prototype.hasConversions=function(){for(var e=0;e<this.params.length;e++)if(this.params[e].hasConversions())return!0;return!1},o.prototype.ignore=function(){for(var e={},t=0;t<N.ignore.length;t++)e[N.ignore[t]]=!0;for(t=0;t<this.params.length;t++)if(this.params[t].contains(e))return!0;return!1},o.prototype.toCode=function(e,t){for(var r=[],n=new Array(this.params.length),i=0;i<this.params.length;i++){var a=this.params[i],o=a.conversions[0];a.varArgs?n[i]=\"varArgs\":o?n[i]=e.add(o.convert,\"convert\")+\"(arg\"+i+\")\":n[i]=\"arg\"+i}var s=this.fn?e.add(this.fn,\"signature\"):void 0;return s?t+\"return \"+s+\"(\"+n.join(\", \")+\"); // signature: \"+this.params.join(\", \"):r.join(\"\\n\")},o.prototype.toString=function(){return this.params.join(\", \")},s.prototype.toCode=function(e,r,n){var i=[];if(this.param){var a=this.path.length-1,o=this.param.conversions[0],s=\"// type: \"+(o?o.from+\" (convert to \"+o.to+\")\":this.param);if(this.param.varArgs)if(this.param.anyType)i.push(r+\"if (arguments.length > \"+a+\") {\"),i.push(r+\" var varArgs = [];\"),i.push(r+\" for (var i = \"+a+\"; i < arguments.length; i++) {\"),i.push(r+\" varArgs.push(arguments[i]);\"),i.push(r+\" }\"),i.push(this.signature.toCode(e,r+\" \")),i.push(r+\"}\");else{for(var u=function(r,n){for(var i=[],a=0;a<r.length;a++)i[a]=e.add(t(r[a]),\"test\")+\"(\"+n+\")\";return i.join(\" || \")}.bind(this),c=this.param.types,f=[],l=0;l<c.length;l++)void 0===this.param.conversions[l]&&f.push(c[l]);i.push(r+\"if (\"+u(c,\"arg\"+a)+\") { \"+s),i.push(r+\" var varArgs = [arg\"+a+\"];\"),i.push(r+\" for (var i = \"+(a+1)+\"; i < arguments.length; i++) {\"),i.push(r+\" if (\"+u(f,\"arguments[i]\")+\") {\"),i.push(r+\" varArgs.push(arguments[i]);\");for(var l=0;l<c.length;l++){var p=this.param.conversions[l];if(p){var m=e.add(t(c[l]),\"test\"),h=e.add(p.convert,\"convert\");i.push(r+\" }\"),i.push(r+\" else if (\"+m+\"(arguments[i])) {\"),i.push(r+\" varArgs.push(\"+h+\"(arguments[i]));\")}}i.push(r+\" } else {\"),i.push(r+\" throw createError(name, arguments.length, i, arguments[i], '\"+f.join(\",\")+\"');\"),i.push(r+\" }\"),i.push(r+\" }\"),i.push(this.signature.toCode(e,r+\" \")),i.push(r+\"}\")}else if(this.param.anyType)i.push(r+\"// type: any\"),i.push(this._innerCode(e,r,n));else{var g=this.param.types[0],m=\"any\"!==g?e.add(t(g),\"test\"):null;i.push(r+\"if (\"+m+\"(arg\"+a+\")) { \"+s),i.push(this._innerCode(e,r+\" \",n)),i.push(r+\"}\")}}else i.push(this._innerCode(e,r,n));return i.join(\"\\n\")},s.prototype._innerCode=function(e,t,r){var n,i=[];this.signature&&(i.push(t+\"if (arguments.length === \"+this.path.length+\") {\"),i.push(this.signature.toCode(e,t+\" \")),i.push(t+\"}\"));var a;for(n=0;n<this.childs.length;n++)if(this.childs[n].param.anyType){a=this.childs[n];break}for(n=0;n<this.childs.length;n++)i.push(this.childs[n].toCode(e,t,a));r&&!this.param.anyType&&i.push(r.toCode(e,t,a));var o=this._exceptions(e,t);return o&&i.push(o),i.join(\"\\n\")},s.prototype._exceptions=function(e,t){var r=this.path.length;if(0===this.childs.length)return[t+\"if (arguments.length > \"+r+\") {\",t+\" throw createError(name, arguments.length, \"+r+\", arguments[\"+r+\"]);\",t+\"}\"].join(\"\\n\");for(var n={},i=[],a=0;a<this.childs.length;a++){var o=this.childs[a];if(o.param)for(var s=0;s<o.param.types.length;s++){var u=o.param.types[s];u in n||o.param.conversions[s]||(n[u]=!0,i.push(u))}}return t+\"throw createError(name, arguments.length, \"+r+\", arguments[\"+r+\"], '\"+i.join(\",\")+\"');\"};var y=[{name:\"number\",test:function(e){return\"number\"==typeof e}},{name:\"string\",test:function(e){return\"string\"==typeof e}},{name:\"boolean\",test:function(e){return\"boolean\"==typeof e}},{name:\"Function\",test:function(e){return\"function\"==typeof e}},{name:\"Array\",test:Array.isArray},{name:\"Date\",test:function(e){return e instanceof Date}},{name:\"RegExp\",test:function(e){return e instanceof RegExp}},{name:\"Object\",test:function(e){return\"object\"==typeof e}},{name:\"null\",test:function(e){return null===e}},{name:\"undefined\",test:function(e){return void 0===e}}],x={},w=[],b=[],N={config:x,types:y,conversions:w,ignore:b};return N=p(\"typed\",{Object:function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(e[n]);var i=r(t);return p(i,e)},\"string, Object\":p,\"...Function\":function(e){for(var t,n=r(e),i={},a=0;a<e.length;a++){var o=e[a];if(\"object\"!=typeof o.signatures)throw t=new TypeError(\"Function is no typed-function (index: \"+a+\")\"),t.data={index:a},t;for(var s in o.signatures)if(o.signatures.hasOwnProperty(s))if(i.hasOwnProperty(s)){if(o.signatures[s]!==i[s])throw t=new Error('Signature \"'+s+'\" is defined twice'),t.data={signature:s},t}else i[s]=o.signatures[s]}return p(n,i)}}),N.config=x,N.types=y,N.conversions=w,N.ignore=b,N.create=e,N.find=v,N.convert=d,N.addType=function(e){if(!e||\"string\"!=typeof e.name||\"function\"!=typeof e.test)throw new TypeError(\"Object with properties {name: string, test: function} expected\");N.types.push(e)},N.addConversion=function(e){if(!e||\"string\"!=typeof e.from||\"string\"!=typeof e.to||\"function\"!=typeof e.convert)throw new TypeError(\"Object with properties {from: string, to: string, convert: function} expected\");N.conversions.push(e)},N}return e()})},function(e,t,r){\"use strict\";var n=r(7);t.isNumber=function(e){return\"number\"==typeof e},t.isInteger=function(e){return isFinite(e)?e==Math.round(e):!1},t.sign=function(e){return e>0?1:0>e?-1:0},t.format=function(e,r){if(\"function\"==typeof r)return r(e);if(e===1/0)return\"Infinity\";if(e===-(1/0))return\"-Infinity\";if(isNaN(e))return\"NaN\";var n=\"auto\",i=void 0;switch(r&&(r.notation&&(n=r.notation),t.isNumber(r)?i=r:r.precision&&(i=r.precision)),n){case\"fixed\":return t.toFixed(e,i);case\"exponential\":return t.toExponential(e,i);case\"auto\":return t.toPrecision(e,i,r&&r.exponential).replace(/((\\.\\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return\".\"!==e?e+t:t});default:throw new Error('Unknown notation \"'+n+'\". Choose \"auto\", \"exponential\", or \"fixed\".')}},t.toExponential=function(e,t){return new n(e).toExponential(t)},t.toFixed=function(e,t){return new n(e).toFixed(t)},t.toPrecision=function(e,t,r){return new n(e).toPrecision(t,r)},t.digits=function(e){return e.toExponential().replace(/e.*$/,\"\").replace(/^0\\.?0*|\\./,\"\").length},t.DBL_EPSILON=Number.EPSILON||2.220446049250313e-16,t.nearlyEqual=function(e,r,n){if(null==n)return e==r;if(e==r)return!0;if(isNaN(e)||isNaN(r))return!1;if(isFinite(e)&&isFinite(r)){var i=Math.abs(e-r);return i<t.DBL_EPSILON?!0:i<=Math.max(Math.abs(e),Math.abs(r))*n}return!1}},function(e,t){\"use strict\";function r(e){var t=String(e).toLowerCase().match(/^0*?(-?)(\\d+\\.?\\d*)(e([+-]?\\d+))?$/);if(!t)throw new SyntaxError(\"Invalid number\");var r=t[1],n=t[2],i=parseFloat(t[4]||\"0\"),a=n.indexOf(\".\");i+=-1!==a?a-1:n.length-1,this.sign=r,this.coefficients=n.replace(\".\",\"\").replace(/^0*/,function(e){return i-=e.length,\"\"}).replace(/0*$/,\"\").split(\"\").map(function(e){return parseInt(e)}),0===this.coefficients.length&&(this.coefficients.push(0),i++),this.exponent=i}function n(e){for(var t=[],r=0;e>r;r++)t.push(0);return t}r.prototype.toFixed=function(e){var t=this.roundDigits(this.exponent+1+(e||0)),r=t.coefficients,i=t.exponent+1,a=i+(e||0);return r.length<a&&(r=r.concat(n(a-r.length))),0>i&&(r=n(-i+1).concat(r),i=1),e&&r.splice(i,0,0===i?\"0.\":\".\"),this.sign+r.join(\"\")},r.prototype.toExponential=function(e){var t=e?this.roundDigits(e):this.clone(),r=t.coefficients,i=t.exponent;r.length<e&&(r=r.concat(n(e-r.length)));var a=r.shift();return this.sign+a+(r.length>0?\".\"+r.join(\"\"):\"\")+\"e\"+(i>=0?\"+\":\"\")+i},r.prototype.toPrecision=function(e,t){var r=t&&void 0!==t.lower?t.lower:.001,i=t&&void 0!==t.upper?t.upper:1e5,a=Math.abs(Math.pow(10,this.exponent));if(r>a||a>=i)return this.toExponential(e);var o=e?this.roundDigits(e):this.clone(),s=o.coefficients,u=o.exponent;s.length<e&&(s=s.concat(n(e-s.length))),s=s.concat(n(u-s.length+1+(s.length<e?e-s.length:0))),s=n(-u).concat(s);var c=u>0?u:0;return c<s.length-1&&s.splice(c+1,0,\".\"),this.sign+s.join(\"\")},r.prototype.clone=function(){var e=new r(\"0\");return e.sign=this.sign,e.coefficients=this.coefficients.slice(0),e.exponent=this.exponent,e},r.prototype.roundDigits=function(e){for(var t=this.clone(),r=t.coefficients;0>=e;)r.unshift(0),t.exponent++,e++;if(r.length>e){var n=r.splice(e);if(n[0]>=5){var i=e-1;for(r[i]++;10===r[i];)r.pop(),0===i&&(r.unshift(0),t.exponent++,i++),i--,r[i]++}}return t},e.exports=r},function(e,t,r){var n=r(9);t.mixin=function(e){var t=new n;return e.on=t.on.bind(t),e.off=t.off.bind(t),e.once=t.once.bind(t),e.emit=t.emit.bind(t),e}},function(e,t){function r(){}r.prototype={on:function(e,t,r){var n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this},once:function(e,t,r){var n=this,i=function(){n.off(e,i),t.apply(r,arguments)};return this.on(e,i,r)},emit:function(e){var t=[].slice.call(arguments,1),r=((this.e||(this.e={}))[e]||[]).slice(),n=0,i=r.length;for(n;i>n;n++)r[n].fn.apply(r[n].ctx,t);return this},off:function(e,t){var r=this.e||(this.e={}),n=r[e],i=[];if(n&&t)for(var a=0,o=n.length;o>a;a++)n[a].fn!==t&&i.push(n[a]);return i.length?r[e]=i:delete r[e],this}},e.exports=r},function(e,t,r){\"use strict\";function n(e,t,r,n,u){function c(e,t){var r=arguments.length;if(1!=r&&2!=r)throw new s(\"import\",r,1,2);if(t||(t={}),a(e))m(e,t);else if(Array.isArray(e))e.forEach(function(e){c(e,t)});else if(\"object\"==typeof e){for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];h(i)?f(n,i,t):a(e)?m(e,t):c(i,t)}}else if(!t.silent)throw new TypeError(\"Factory, Object, or Array expected\")}function f(e,t,r){if(r.wrap&&\"function\"==typeof t&&(t=p(t)),g(u[e])&&g(t))return t=r.override?n(e,t.signatures):n(u[e],t),u[e]=t,l(e,t),void u.emit(\"import\",e,function(){return t});if(void 0===u[e]||r.override)return u[e]=t,l(e,t),void u.emit(\"import\",e,function(){return t});if(!r.silent)throw new Error('Cannot import \"'+e+'\": already exists')}function l(e,t){t&&\"function\"==typeof t.transform&&(u.expression.transform[e]=t.transform)}function p(e){var t=function(){for(var t=[],r=0,n=arguments.length;n>r;r++){var i=arguments[r];t[r]=i&&i.valueOf()}return e.apply(u,t)};return e.transform&&(t.transform=e.transform),t}function m(e,t){if(\"string\"==typeof e.name){var a=e.name,s=e.path?o(u,e.path):u,c=s.hasOwnProperty(a)?s[a]:void 0,f=function(){var i=r(e);if(g(c)&&g(i))return t.override||(i=n(c,i)),i;if(void 0===c||t.override)return i;if(!t.silent)throw new Error('Cannot import \"'+a+'\": already exists')};e.lazy!==!1?i(s,a,f):s[a]=f(),u.emit(\"import\",a,f,e.path)}else r(e)}function h(e){return\"function\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"boolean\"==typeof e||null===e||e&&e.isUnit===!0||e&&e.isComplex===!0}function g(e){return\"function\"==typeof e&&\"object\"==typeof e.signatures}return c}var i=r(3).lazy,a=r(3).isFactory,o=r(3).traverse,s=(r(3).extend,r(11));t.math=!0,t.name=\"import\",t.factory=n,t.lazy=!0},function(e,t){\"use strict\";function r(e,t,n,i){if(!(this instanceof r))throw new SyntaxError(\"Constructor must be called with the new operator\");this.fn=e,this.count=t,this.min=n,this.max=i,this.message=\"Wrong number of arguments in function \"+e+\" (\"+t+\" provided, \"+n+(void 0!=i?\"-\"+i:\"\")+\" expected)\",this.stack=(new Error).stack}r.prototype=new Error,r.prototype.constructor=Error,r.prototype.name=\"ArgumentsError\",r.prototype.isArgumentsError=!0,e.exports=r},function(e,t,r){\"use strict\";function n(e,t,r,n,a){return function(e){if(e){var r=i.clone(t);i.deepExtend(t,e);var n=i.clone(t);return a.emit(\"config\",n,r),n}return i.clone(t)}}var i=r(3);t.name=\"config\",t.math=!0,t.factory=n},function(e,t,r){e.exports=[r(14),r(76),r(80),r(312),r(495),r(497)]},function(e,t,r){e.exports=[r(15),r(20),r(21),r(26),r(31),r(37),r(69),r(70),r(72),r(73)]},function(e,t,r){e.exports=[r(16),r(18)]},function(e,t,r){function n(e,t,r,n,a){var o=i.constructor(t);return o.prototype.type=\"BigNumber\",o.prototype.isBigNumber=!0,o.prototype.toJSON=function(){return{mathjs:\"BigNumber\",value:this.toString()}},o.fromJSON=function(e){return new o(e.value)},a.on(\"config\",function(e,t){e.precision!==t.precision&&o.config({precision:e.precision})}),o}var i=r(17);r(6).digits;t.name=\"BigNumber\",t.path=\"type\",t.factory=n,t.math=!0},function(e,t,r){var n;!function(i){\"use strict\";function a(e){for(var t,r,n=1,i=e.length,a=e[0]+\"\";i>n;n++){for(t=e[n]+\"\",r=_-t.length;r--;)t=\"0\"+t;a+=t}for(i=a.length;48===a.charCodeAt(--i););return a.slice(0,i+1||1)}function o(e,t,r,n){var i,a,o,s,u;for(a=1,o=e[0];o>=10;o/=10,a++);return o=t-a,0>o?(o+=_,i=0):(i=Math.ceil((o+1)/_),o%=_),a=E(10,_-o),u=e[i]%a|0,null==n?3>o?(0==o?u=u/100|0:1==o&&(u=u/10|0),s=4>r&&99999==u||r>3&&49999==u||5e4==u||0==u):s=(4>r&&u+1==a||r>3&&u+1==a/2)&&(e[i+1]/a/100|0)==E(10,o-2)-1||(u==a/2||0==u)&&0==(e[i+1]/a/100|0):4>o?(0==o?u=u/1e3|0:1==o?u=u/100|0:2==o&&(u=u/10|0),s=(n||4>r)&&9999==u||!n&&r>3&&4999==u):s=((n||4>r)&&u+1==a||!n&&r>3&&u+1==a/2)&&(e[i+1]/a/1e3|0)==E(10,o-3)-1,s}function s(e,t,r){var n=e.constructor;return null==t||((y=0>t||t>8)||0!==t&&(n.errors?parseInt:parseFloat)(t)!=t)&&!p(n,\"rounding mode\",t,r,0)?n.rounding:0|t}function u(e,t,r,n){var i=e.constructor;return!(y=(n||0)>t||t>=S+1)&&(0===t||(i.errors?parseInt:parseFloat)(t)==t)||p(i,\"argument\",t,r,0)}function c(e,t){var r,n,i,s,u,c,f,l=0,p=0,m=0,h=e.constructor,v=h.ONE,d=h.rounding,y=h.precision;if(!e.c||!e.c[0]||e.e>17)return new h(e.c?e.c[0]?e.s<0?0:1/0:v:e.s?e.s<0?0:e:NaN);for(null==t?(w=!1,u=y):u=t,f=new h(.03125);e.e>-2;)e=e.times(f),m+=5;for(n=Math.log(E(2,m))/Math.LN10*2+5|0,u+=n,r=s=c=new h(v),h.precision=u;;){if(s=g(s.times(e),u,1),r=r.times(++p),f=c.plus(k(s,r,u,1)),a(f.c).slice(0,u)===a(c.c).slice(0,u)){for(i=m;i--;)c=g(c.times(c),u,1);if(null!=t)return h.precision=y,c;if(!(3>l&&o(c.c,u-n,d,l)))return g(c,h.precision=y,d,w=!0);h.precision=u+=10,r=s=f=new h(v),p=0,l++}c=f}}function f(e,t,r,n){var i,o,s=e.constructor,u=(e=new s(e)).e;if(null==t?r=0:(g(e,++t,r),r=n?t:t+e.e-u),u=e.e,i=a(e.c),1==n||2==n&&(u>=t||u<=s.toExpNeg)){for(;i.length<r;i+=\"0\");i.length>1&&(i=i.charAt(0)+\".\"+i.slice(1)),i+=(0>u?\"e\":\"e+\")+u}else{if(n=i.length,0>u){for(o=r-n;++u;i=\"0\"+i);i=\"0.\"+i}else if(++u>n){for(o=r-u,u-=n;u--;i+=\"0\");o>0&&(i+=\".\")}else o=r-n,n>u?i=i.slice(0,u)+\".\"+i.slice(u):o>0&&(i+=\".\");if(o>0)for(;o--;i+=\"0\");}return e.s<0&&e.c[0]?\"-\"+i:i}function l(e){var t=e.length-1,r=t*_+1;if(t=e[t]){for(;t%10==0;t/=10,r--);for(t=e[0];t>=10;t/=10,r++);}return r}function p(e,t,r,n,i){if(e.errors){var a=new Error((n||[\"new Decimal\",\"cmp\",\"div\",\"eq\",\"gt\",\"gte\",\"lt\",\"lte\",\"minus\",\"mod\",\"plus\",\"times\",\"toFraction\",\"pow\",\"random\",\"log\",\"sqrt\",\"toNearest\",\"divToInt\"][b?0>b?-b:b:0>1/b?1:0])+\"() \"+([\"number type has more than 15 significant digits\",\"LN10 out of digits\"][t]||t+([y?\" out of range\":\" not an integer\",\" not a boolean or binary digit\"][i]||\"\"))+\": \"+r);throw a.name=\"Decimal Error\",y=b=0,a}}function m(e,t,r){var n=new e(e.ONE);for(w=!1;1&r&&(n=n.times(t)),r>>=1,r;)t=t.times(t);return w=!0,n}function h(e,t){var r,n,i,s,u,c,f,l,m,v,d,y=1,x=10,b=e,N=b.c,E=b.constructor,M=E.ONE,A=E.rounding,_=E.precision;if(b.s<0||!N||!N[0]||!b.e&&1==N[0]&&1==N.length)return new E(N&&!N[0]?-1/0:1!=b.s?NaN:N?0:b);if(null==t?(w=!1,f=_):f=t,E.precision=f+=x,r=a(N),n=r.charAt(0),!(Math.abs(s=b.e)<15e14))return b=new E(n+\".\"+r.slice(1)),f+2>B.length&&p(E,1,f+2,\"ln\"),b=h(b,f-x).plus(new E(B.slice(0,f+2)).times(s+\"\")),E.precision=_,null==t?g(b,_,A,w=!0):b;for(;7>n&&1!=n||1==n&&r.charAt(1)>3;)b=b.times(e),r=a(b.c),n=r.charAt(0),y++;for(s=b.e,n>1?(b=new E(\"0.\"+r),s++):b=new E(n+\".\"+r.slice(1)),v=b,l=u=b=k(b.minus(M),b.plus(M),f,1),d=g(b.times(b),f,1),i=3;;){if(u=g(u.times(d),f,1),m=l.plus(k(u,new E(i),f,1)),a(m.c).slice(0,f)===a(l.c).slice(0,f)){if(l=l.times(2),0!==s&&(f+2>B.length&&p(E,1,f+2,\"ln\"),l=l.plus(new E(B.slice(0,f+2)).times(s+\"\"))),l=k(l,new E(y),f,1),null!=t)return E.precision=_,l;if(!o(l.c,f-x,A,c))return g(l,E.precision=_,A,w=!0);E.precision=f+=x,m=u=b=k(v.minus(M),v.plus(M),f,1),d=g(b.times(b),f,1),i=c=1}l=m,i+=2}}function g(e,t,r,n){var i,a,o,s,u,c,f,l,p=e.constructor;e:if(null!=t){if(!(f=e.c))return e;for(i=1,s=f[0];s>=10;s/=10,i++);if(a=t-i,0>a)a+=_,o=t,u=f[l=0],c=u/E(10,i-o-1)%10|0;else if(l=Math.ceil((a+1)/_),l>=f.length){if(!n)break e;for(;f.length<=l;f.push(0));u=c=0,i=1,a%=_,o=a-_+1}else{for(u=s=f[l],i=1;s>=10;s/=10,i++);a%=_,o=a-_+i,c=0>o?0:N(u/E(10,i-o-1)%10)}if(n=n||0>t||null!=f[l+1]||(0>o?u:u%E(10,i-o-1)),n=4>r?(c||n)&&(0==r||r==(e.s<0?3:2)):c>5||5==c&&(4==r||n||6==r&&(a>0?o>0?u/E(10,i-o):0:f[l-1])%10&1||r==(e.s<0?8:7)),1>t||!f[0])return f.length=0,n?(t-=e.e+1,f[0]=E(10,(_-t%_)%_),e.e=-t||0):f[0]=e.e=0,e;if(0==a?(f.length=l,s=1,l--):(f.length=l+1,s=E(10,_-a),f[l]=o>0?(u/E(10,i-o)%E(10,o)|0)*s:0),n)for(;;){if(0==l){for(a=1,o=f[0];o>=10;o/=10,a++);for(o=f[0]+=s,s=1;o>=10;o/=10,s++);a!=s&&(e.e++,f[0]==A&&(f[0]=1));break}if(f[l]+=s,f[l]!=A)break;f[l--]=0,s=1}for(a=f.length;0===f[--a];f.pop());}return w&&(e.e>p.maxE?e.c=e.e=null:e.e<p.minE&&(e.c=[e.e=0])),e}var v,d,y,x=i.crypto,w=!0,b=0,N=Math.floor,E=Math.pow,M=Object.prototype.toString,A=1e7,_=7,O=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_\",T={},C=9e15,S=1e9,z=3e3,B=\"2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058\";T.absoluteValue=T.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),g(e)},T.ceil=function(){return g(new this.constructor(this),this.e+1,2)},T.comparedTo=T.cmp=function(e,t){var r,n=this,i=n.c,a=(b=-b,e=new n.constructor(e,t),\ne.c),o=n.s,s=e.s,u=n.e,c=e.e;if(!o||!s)return null;if(r=i&&!i[0],t=a&&!a[0],r||t)return r?t?0:-s:o;if(o!=s)return o;if(r=0>o,!i||!a)return u==c?0:!i^r?1:-1;if(u!=c)return u>c^r?1:-1;for(o=-1,s=(u=i.length)<(c=a.length)?u:c;++o<s;)if(i[o]!=a[o])return i[o]>a[o]^r?1:-1;return u==c?0:u>c^r?1:-1},T.decimalPlaces=T.dp=function(){var e,t,r=null;if(e=this.c){if(r=((t=e.length-1)-N(this.e/_))*_,t=e[t])for(;t%10==0;t/=10,r--);0>r&&(r=0)}return r},T.dividedBy=T.div=function(e,t){return b=2,k(this,new this.constructor(e,t))},T.dividedToIntegerBy=T.divToInt=function(e,t){var r=this,n=r.constructor;return b=18,g(k(r,new n(e,t),0,1,1),n.precision,n.rounding)},T.equals=T.eq=function(e,t){return b=3,0===this.cmp(e,t)},T.exponential=T.exp=function(){return c(this)},T.floor=function(){return g(new this.constructor(this),this.e+1,3)},T.greaterThan=T.gt=function(e,t){return b=4,this.cmp(e,t)>0},T.greaterThanOrEqualTo=T.gte=function(e,t){return b=5,t=this.cmp(e,t),1==t||0===t},T.isFinite=function(){return!!this.c},T.isInteger=T.isInt=function(){return!!this.c&&N(this.e/_)>this.c.length-2},T.isNaN=function(){return!this.s},T.isNegative=T.isNeg=function(){return this.s<0},T.isZero=function(){return!!this.c&&0==this.c[0]},T.lessThan=T.lt=function(e,t){return b=6,this.cmp(e,t)<0},T.lessThanOrEqualTo=T.lte=function(e,t){return b=7,t=this.cmp(e,t),-1==t||0===t},T.logarithm=T.log=function(e,t){var r,n,i,s,u,c,f,l,m,v=this,d=v.constructor,y=d.precision,x=d.rounding,N=5;if(null==e)e=new d(10),r=!0;else{if(b=15,e=new d(e,t),n=e.c,e.s<0||!n||!n[0]||!e.e&&1==n[0]&&1==n.length)return new d(NaN);r=e.eq(10)}if(n=v.c,v.s<0||!n||!n[0]||!v.e&&1==n[0]&&1==n.length)return new d(n&&!n[0]?-1/0:1!=v.s?NaN:n?0:1/0);if(u=r&&(s=n[0],n.length>1||1!=s&&10!=s&&100!=s&&1e3!=s&&1e4!=s&&1e5!=s&&1e6!=s),w=!1,f=y+N,l=f+10,c=h(v,f),r?(l>B.length&&p(d,1,l,\"log\"),i=new d(B.slice(0,l))):i=h(e,f),m=k(c,i,f,1),o(m.c,s=y,x))do if(f+=10,c=h(v,f),r?(l=f+10,l>B.length&&p(d,1,l,\"log\"),i=new d(B.slice(0,l))):i=h(e,f),m=k(c,i,f,1),!u){+a(m.c).slice(s+1,s+15)+1==1e14&&(m=g(m,y+1,0));break}while(o(m.c,s+=10,x));return w=!0,g(m,y,x)},T.minus=function(e,t){var r,n,i,a,o=this,s=o.constructor,u=o.s;if(b=8,e=new s(e,t),t=e.s,!u||!t)return new s(NaN);if(u!=t)return e.s=-t,o.plus(e);var c=o.c,f=e.c,l=N(e.e/_),p=N(o.e/_),m=s.precision,h=s.rounding;if(!p||!l){if(!c||!f)return c?(e.s=-t,e):new s(f?o:NaN);if(!c[0]||!f[0])return o=f[0]?(e.s=-t,e):new s(c[0]?o:3==h?-0:0),w?g(o,m,h):o}if(c=c.slice(),n=c.length,u=p-l){for((a=0>u)?(u=-u,r=c,n=f.length):(l=p,r=f),(p=Math.ceil(m/_))>n&&(n=p),u>(n+=2)&&(u=n,r.length=1),r.reverse(),t=u;t--;r.push(0));r.reverse()}else for((a=n<(i=f.length))&&(i=n),u=t=0;i>t;t++)if(c[t]!=f[t]){a=c[t]<f[t];break}if(a&&(r=c,c=f,f=r,e.s=-e.s),(t=-((i=c.length)-f.length))>0)for(;t--;c[i++]=0);for(p=A-1,t=f.length;t>u;){if(c[--t]<f[t]){for(n=t;n&&!c[--n];c[n]=p);--c[n],c[t]+=A}c[t]-=f[t]}for(;0==c[--i];c.pop());for(;0==c[0];c.shift(),--l);for(c[0]||(c=[l=0],e.s=3==h?-1:1),e.c=c,u=1,t=c[0];t>=10;t/=10,u++);return e.e=u+l*_-1,w?g(e,m,h):e},T.modulo=T.mod=function(e,t){var r,n,i=this,a=i.constructor,o=a.modulo;return b=9,e=new a(e,t),t=e.s,r=!i.c||!t||e.c&&!e.c[0],r||!e.c||i.c&&!i.c[0]?r?new a(NaN):g(new a(i),a.precision,a.rounding):(w=!1,9==o?(e.s=1,n=k(i,e,0,3,1),e.s=t,n.s*=t):n=k(i,e,0,o,1),n=n.times(e),w=!0,i.minus(n))},T.naturalLogarithm=T.ln=function(){return h(this)},T.negated=T.neg=function(){var e=new this.constructor(this);return e.s=-e.s||null,g(e)},T.plus=function(e,t){var r,n=this,i=n.constructor,a=n.s;if(b=10,e=new i(e,t),t=e.s,!a||!t)return new i(NaN);if(a!=t)return e.s=-t,n.minus(e);var o=n.c,s=e.c,u=N(e.e/_),c=N(n.e/_),f=i.precision,l=i.rounding;if(!c||!u){if(!o||!s)return new i(a/0);if(!o[0]||!s[0])return n=s[0]?e:new i(o[0]?n:0*a),w?g(n,f,l):n}if(o=o.slice(),a=c-u){for(0>a?(a=-a,r=o,t=s.length):(u=c,r=s,t=o.length),(c=Math.ceil(f/_))>t&&(t=c),a>++t&&(a=t,r.length=1),r.reverse();a--;r.push(0));r.reverse()}for(o.length-s.length<0&&(r=s,s=o,o=r),a=s.length,t=0,c=A;a;o[a]%=c)t=(o[--a]=o[a]+s[a]+t)/c|0;for(t&&(o.unshift(t),++u),a=o.length;0==o[--a];o.pop());for(e.c=o,a=1,t=o[0];t>=10;t/=10,a++);return e.e=a+u*_-1,w?g(e,f,l):e},T.precision=T.sd=function(e){var t=null,r=this;return e!=t&&e!==!!e&&1!==e&&0!==e&&p(r.constructor,\"argument\",e,\"precision\",1),r.c&&(t=l(r.c),e&&r.e+1>t&&(t=r.e+1)),t},T.round=function(){var e=this,t=e.constructor;return g(new t(e),e.e+1,t.rounding)},T.squareRoot=T.sqrt=function(){var e,t,r,n,i,o,s=this,u=s.c,c=s.s,f=s.e,l=s.constructor,p=new l(.5);if(1!==c||!u||!u[0])return new l(!c||0>c&&(!u||u[0])?NaN:u?s:1/0);for(w=!1,c=Math.sqrt(+s),0==c||c==1/0?(t=a(u),(t.length+f)%2==0&&(t+=\"0\"),c=Math.sqrt(t),f=N((f+1)/2)-(0>f||f%2),c==1/0?t=\"1e\"+f:(t=c.toExponential(),t=t.slice(0,t.indexOf(\"e\")+1)+f),n=new l(t)):n=new l(c.toString()),r=(f=l.precision)+3;;)if(o=n,n=p.times(o.plus(k(s,o,r+2,1))),a(o.c).slice(0,r)===(t=a(n.c)).slice(0,r)){if(t=t.slice(r-3,r+1),\"9999\"!=t&&(i||\"4999\"!=t)){(!+t||!+t.slice(1)&&\"5\"==t.charAt(0))&&(g(n,f+1,1),e=!n.times(n).eq(s));break}if(!i&&(g(o,f+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}return w=!0,g(n,f,l.rounding,e)},T.times=function(e,t){var r,n,i=this,a=i.constructor,o=i.c,s=(b=11,e=new a(e,t),e.c),u=N(i.e/_),c=N(e.e/_),f=i.s;if(t=e.s,e.s=f==t?1:-1,!((u||o&&o[0])&&(c||s&&s[0])))return new a(!f||!t||o&&!o[0]&&!s||s&&!s[0]&&!o?NaN:o&&s?0*e.s:e.s/0);for(n=u+c,f=o.length,t=s.length,t>f&&(r=o,o=s,s=r,c=f,f=t,t=c),c=f+t,r=[];c--;r.push(0));for(u=t-1;u>-1;u--){for(t=0,c=f+u;c>u;)t=r[c]+s[u]*o[c-u-1]+t,r[c--]=t%A|0,t=t/A|0;r[c]=(r[c]+t)%A|0}for(t?++n:r[0]||r.shift(),c=r.length;!r[--c];r.pop());for(e.c=r,f=1,t=r[0];t>=10;t/=10,f++);return e.e=f+n*_-1,w?g(e,a.precision,a.rounding):e},T.toDecimalPlaces=T.toDP=function(e,t){var r=this;return r=new r.constructor(r),null!=e&&u(r,e,\"toDP\")?g(r,(0|e)+r.e+1,s(r,t,\"toDP\")):r},T.toExponential=function(e,t){var r=this;return r.c?f(r,null!=e&&u(r,e,\"toExponential\")?0|e:null,null!=e&&s(r,t,\"toExponential\"),1):r.toString()},T.toFixed=function(e,t){var r,n=this,i=n.constructor,a=i.toExpNeg,o=i.toExpPos;return null!=e&&(e=u(n,e,r=\"toFixed\")?n.e+(0|e):null,t=s(n,t,r)),i.toExpNeg=-(i.toExpPos=1/0),null!=e&&n.c?(r=f(n,e,t),n.s<0&&n.c&&(n.c[0]?r.indexOf(\"-\")<0&&(r=\"-\"+r):r=r.replace(\"-\",\"\"))):r=n.toString(),i.toExpNeg=a,i.toExpPos=o,r},T.toFormat=function(e,t){var r=this;if(!r.c)return r.toString();var n,i=r.s<0,a=r.constructor.format,o=a.groupSeparator,s=+a.groupSize,u=+a.secondaryGroupSize,c=r.toFixed(e,t).split(\".\"),f=c[0],l=c[1],p=i?f.slice(1):f,m=p.length;if(u&&(n=s,s=u,m-=u=n),s>0&&m>0){for(n=m%s||s,f=p.substr(0,n);m>n;n+=s)f+=o+p.substr(n,s);u>0&&(f+=o+p.slice(n)),i&&(f=\"-\"+f)}return l?f+a.decimalSeparator+((u=+a.fractionGroupSize)?l.replace(new RegExp(\"\\\\d{\"+u+\"}\\\\B\",\"g\"),\"$&\"+a.fractionGroupSeparator):l):f},T.toFraction=function(e){var t,r,n,i,o,s,u,c,f=this,m=f.constructor,h=t=new m(m.ONE),g=s=new m(0),v=f.c,d=new m(g);if(!v)return f.toString();for(n=d.e=l(v)-f.e-1,d.c[0]=E(10,(u=n%_)<0?_+u:u),(null==e||(!(b=12,o=new m(e)).s||(y=o.cmp(h)<0||!o.c)||m.errors&&N(o.e/_)<o.c.length-1)&&!p(m,\"max denominator\",e,\"toFraction\",0)||(e=o).cmp(d)>0)&&(e=n>0?d:h),w=!1,o=new m(a(v)),u=m.precision,m.precision=n=v.length*_*2;c=k(o,d,0,1,1),r=t.plus(c.times(g)),1!=r.cmp(e);)t=g,g=r,h=s.plus(c.times(r=h)),s=r,d=o.minus(c.times(r=d)),o=r;return r=k(e.minus(t),g,0,1,1),s=s.plus(r.times(h)),t=t.plus(r.times(g)),s.s=h.s=f.s,i=k(h,g,n,1).minus(f).abs().cmp(k(s,t,n,1).minus(f).abs())<1?[h+\"\",g+\"\"]:[s+\"\",t+\"\"],w=!0,m.precision=u,i},T.toNearest=function(e,t){var r=this,n=r.constructor;return r=new n(r),null==e?(e=new n(n.ONE),t=n.rounding):(b=17,e=new n(e),t=s(r,t,\"toNearest\")),e.c?r.c&&(e.c[0]?(w=!1,r=k(r,e,0,4>t?[4,5,7,8][t]:t,1).times(e),w=!0,g(r)):r.c=[r.e=0]):r.s&&(e.s&&(e.s=r.s),r=e),r},T.toNumber=function(){var e=this;return+e||(e.s?0*e.s:NaN)},T.toPower=T.pow=function(e,t){var r,n,i,s,u=this,f=u.constructor,l=u.s,p=(b=13,+(e=new f(e,t))),v=0>p?-p:p,d=f.precision,y=f.rounding;if(!u.c||!e.c||(i=!u.c[0])||!e.c[0])return new f(E(i?0*l:+u,p));if(u=new f(u),r=u.c.length,!u.e&&u.c[0]==u.s&&1==r)return u;if(t=e.c.length-1,e.e||e.c[0]!=e.s||t)if(n=N(e.e/_),i=n>=t,!i&&0>l)s=new f(NaN);else{if(i&&z>r*_*v){if(s=m(f,u,v),e.s<0)return f.ONE.div(s)}else{if(l=0>l&&1&e.c[Math.max(n,t)]?-1:1,t=E(+u,p),n=0!=t&&isFinite(t)?new f(t+\"\").e:N(p*(Math.log(\"0.\"+a(u.c))/Math.LN10+u.e+1)),n>f.maxE+1||n<f.minE-1)return new f(n>0?l/0:0);w=!1,f.rounding=u.s=1,v=Math.min(12,(n+\"\").length),s=c(e.times(h(u,d+v)),d),s=g(s,d+5,1),o(s.c,d,y)&&(n=d+10,s=g(c(e.times(h(u,n+v)),n),n+5,1),+a(s.c).slice(d+1,d+15)+1==1e14&&(s=g(s,d+1,0))),s.s=l,w=!0,f.rounding=y}s=g(s,d,y)}else s=g(u,d,y);return s},T.toPrecision=function(e,t){var r=this;return null!=e&&u(r,e,\"toPrecision\",1)&&r.c?f(r,0|--e,s(r,t,\"toPrecision\"),2):r.toString()},T.toSignificantDigits=T.toSD=function(e,t){var r=this,n=r.constructor;return r=new n(r),null!=e&&u(r,e,\"toSD\",1)?g(r,0|e,s(r,t,\"toSD\")):g(r,n.precision,n.rounding)},T.toString=function(e){var t,r,n,i=this,o=i.constructor,s=i.e;if(null===s)r=i.s?\"Infinity\":\"NaN\";else{if(e===t&&(s<=o.toExpNeg||s>=o.toExpPos))return f(i,null,o.rounding,1);if(r=a(i.c),0>s){for(;++s;r=\"0\"+r);r=\"0.\"+r}else if(n=r.length,s>0)if(++s>n)for(s-=n;s--;r+=\"0\");else n>s&&(r=r.slice(0,s)+\".\"+r.slice(s));else if(t=r.charAt(0),n>1)r=t+\".\"+r.slice(1);else if(\"0\"==t)return t;if(null!=e)if((y=!(e>=2&&65>e))||e!=(0|e)&&o.errors)p(o,\"base\",e,\"toString\",0);else if(r=v(o,r,0|e,10,i.s),\"0\"==r)return r}return i.s<0?\"-\"+r:r},T.truncated=T.trunc=function(){return g(new this.constructor(this),this.e+1,1)},T.valueOf=T.toJSON=function(){return this.toString()},v=function(){function e(e,t,r){for(var n,i,a=[0],o=0,s=e.length;s>o;){for(i=a.length;i--;a[i]*=t);for(a[n=0]+=O.indexOf(e.charAt(o++));n<a.length;n++)a[n]>r-1&&(null==a[n+1]&&(a[n+1]=0),a[n+1]+=a[n]/r|0,a[n]%=r)}return a.reverse()}return function(t,r,n,i,a){var o,s,u,c,f,l,p=r.indexOf(\".\"),h=t.precision,g=t.rounding;for(37>i&&(r=r.toLowerCase()),p>=0&&(r=r.replace(\".\",\"\"),l=new t(i),c=m(t,l,r.length-p),l.c=e(c.toFixed(),10,n),l.e=l.c.length),f=e(r,i,n),o=s=f.length;0==f[--s];f.pop());if(!f[0])return\"0\";if(0>p?o--:(c.c=f,c.e=o,c.s=a,c=k(c,l,h,g,0,n),f=c.c,u=c.r,o=c.e),p=f[h],s=n/2,u=u||null!=f[h+1],4>g?(null!=p||u)&&(0==g||g==(0>a?3:2)):p>s||p==s&&(4==g||u||6==g&&1&f[h-1]||g==(0>a?8:7)))for(f.length=h,--n;++f[--h]>n;)f[h]=0,h||(++o,f.unshift(1));else f.length=h;for(s=f.length;!f[--s];);for(p=0,r=\"\";s>=p;r+=O.charAt(f[p++]));if(0>o){for(;++o;r=\"0\"+r);r=\"0.\"+r}else if(p=r.length,++o>p)for(o-=p;o--;r+=\"0\");else p>o&&(r=r.slice(0,o)+\".\"+r.slice(o));return r}}();var k=function(){function e(e,t,r){var n,i=0,a=e.length;for(e=e.slice();a--;)n=e[a]*t+i,e[a]=n%r|0,i=n/r|0;return i&&e.unshift(i),e}function t(e,t,r,n){var i,a;if(r!=n)a=r>n?1:-1;else for(i=a=0;r>i;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]<t[r]?1:0,e[r]=i*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.shift());}return function(n,i,a,o,s,u){var c,f,l,p,m,h,v,d,y,x,w,b,E,M,O,T,C,S,z,B=n.constructor,k=n.s==i.s?1:-1,I=n.c,R=i.c;if(!(I&&I[0]&&R&&R[0]))return new B(n.s&&i.s&&(I?!R||I[0]!=R[0]:R)?I&&0==I[0]||!R?0*k:k/0:NaN);for(u?(p=1,f=n.e-i.e):(u=A,p=_,f=N(n.e/p)-N(i.e/p)),S=R.length,T=I.length,y=new B(k),x=y.c=[],l=0;R[l]==(I[l]||0);l++);if(R[l]>(I[l]||0)&&f--,null==a?(k=a=B.precision,o=B.rounding):k=s?a+(n.e-i.e)+1:a,0>k)x.push(1),m=!0;else{if(k=k/p+2|0,l=0,1==S){for(h=0,R=R[0],k++;(T>l||h)&&k--;l++)M=h*u+(I[l]||0),x[l]=M/R|0,h=M%R|0;m=h||T>l}else{for(h=u/(R[0]+1)|0,h>1&&(R=e(R,h,u),I=e(I,h,u),S=R.length,T=I.length),O=S,w=I.slice(0,S),b=w.length;S>b;w[b++]=0);z=R.slice(),z.unshift(0),C=R[0],R[1]>=u/2&&C++;do h=0,c=t(R,w,S,b),0>c?(E=w[0],S!=b&&(E=E*u+(w[1]||0)),h=E/C|0,h>1?(h>=u&&(h=u-1),v=e(R,h,u),d=v.length,b=w.length,c=t(v,w,d,b),1==c&&(h--,r(v,d>S?z:R,d,u))):(0==h&&(c=h=1),v=R.slice()),d=v.length,b>d&&v.unshift(0),r(w,v,b,u),-1==c&&(b=w.length,c=t(R,w,S,b),1>c&&(h++,r(w,b>S?z:R,b,u))),b=w.length):0===c&&(h++,w=[0]),x[l++]=h,c&&w[0]?w[b++]=I[O]||0:(w=[I[O]],b=1);while((O++<T||null!=w[0])&&k--);m=null!=w[0]}x[0]||x.shift()}if(1==p)y.e=f,y.r=+m;else{for(l=1,k=x[0];k>=10;k/=10,l++);y.e=l+f*p-1,g(y,s?a+y.e+1:a,o,m)}return y}}();d=function(){function e(e){var t,r,n,i=this,a=\"config\",o=i.errors?parseInt:parseFloat;return e==r||\"object\"!=typeof e&&!p(i,\"object expected\",e,a)?i:((n=e[t=\"precision\"])!=r&&((y=1>n||n>S)||o(n)!=n?p(i,t,n,a,0):i[t]=0|n),(n=e[t=\"rounding\"])!=r&&((y=0>n||n>8)||o(n)!=n?p(i,t,n,a,0):i[t]=0|n),(n=e[t=\"toExpNeg\"])!=r&&((y=-C>n||n>0)||o(n)!=n?p(i,t,n,a,0):i[t]=N(n)),(n=e[t=\"toExpPos\"])!=r&&((y=0>n||n>C)||o(n)!=n?p(i,t,n,a,0):i[t]=N(n)),(n=e[t=\"minE\"])!=r&&((y=-C>n||n>0)||o(n)!=n?p(i,t,n,a,0):i[t]=N(n)),(n=e[t=\"maxE\"])!=r&&((y=0>n||n>C)||o(n)!=n?p(i,t,n,a,0):i[t]=N(n)),(n=e[t=\"errors\"])!=r&&(n===!!n||1===n||0===n?(y=b=0,i[t]=!!n):p(i,t,n,a,1)),(n=e[t=\"crypto\"])!=r&&(n===!!n||1===n||0===n?i[t]=!(!n||!x||\"object\"!=typeof x):p(i,t,n,a,1)),(n=e[t=\"modulo\"])!=r&&((y=0>n||n>9)||o(n)!=n?p(i,t,n,a,0):i[t]=0|n),(e=e[t=\"format\"])!=r&&(\"object\"==typeof e?i[t]=e:p(i,\"format object expected\",e,a)),i)}function t(e){return new this(e).exp()}function r(e){return new this(e).ln()}function n(e,t){return new this(e).log(t)}function i(e,t,r){var n,i,a=0;for(\"[object Array]\"==M.call(t[0])&&(t=t[0]),n=new e(t[0]);++a<t.length;){if(i=new e(t[a]),!i.s){n=i;break}n[r](i)&&(n=i)}return n}function a(){return i(this,arguments,\"lt\")}function o(){return i(this,arguments,\"gt\")}function s(e,t){return new this(e).pow(t)}function c(e){var t,r,n,i=0,a=[],o=this,s=new o(o.ONE);if(null!=e&&u(s,e,\"random\")?e|=0:e=o.precision,r=Math.ceil(e/_),o.crypto)if(x&&x.getRandomValues)for(t=x.getRandomValues(new Uint32Array(r));r>i;)n=t[i],n>=429e7?t[i]=x.getRandomValues(new Uint32Array(1))[0]:a[i++]=n%1e7;else if(x&&x.randomBytes){for(t=x.randomBytes(r*=4);r>i;)n=t[i]+(t[i+1]<<8)+(t[i+2]<<16)+((127&t[i+3])<<24),n>=214e7?x.randomBytes(4).copy(t,i):(a.push(n%1e7),i+=4);i=r/4}else p(o,\"crypto unavailable\",x,\"random\");if(!i)for(;r>i;)a[i++]=1e7*Math.random()|0;for(r=a[--i],e%=_,r&&e&&(n=E(10,_-e),a[i]=(r/n|0)*n);0===a[i];i--)a.pop();if(0>i)a=[r=0];else{for(r=-1;0===a[0];)a.shift(),r-=_;for(i=1,n=a[0];n>=10;)n/=10,i++;_>i&&(r-=_-i)}return s.e=r,s.c=a,s}function f(e){return new this(e).sqrt()}function l(i){function u(e,t){var r=this;if(!(r instanceof u))return p(u,\"Decimal called without new\",e),new u(e,t);if(r.constructor=u,e instanceof u){if(null==t)return b=0,r.s=e.s,r.e=e.e,r.c=(e=e.c)?e.slice():e,r;if(10==t)return g(new u(e),u.precision,u.rounding);e+=\"\"}return m(u,r,e,t)}return u.precision=20,u.rounding=4,u.modulo=1,u.toExpNeg=-7,u.toExpPos=21,u.minE=-C,u.maxE=C,u.errors=!0,u.crypto=!1,u.format={decimalSeparator:\".\",groupSeparator:\",\",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:\" \",fractionGroupSize:0},u.prototype=T,u.ONE=new u(1),u.ROUND_UP=0,u.ROUND_DOWN=1,u.ROUND_CEIL=2,u.ROUND_FLOOR=3,u.ROUND_HALF_UP=4,u.ROUND_HALF_DOWN=5,u.ROUND_HALF_EVEN=6,u.ROUND_HALF_CEIL=7,u.ROUND_HALF_FLOOR=8,u.EUCLID=9,u.config=e,u.constructor=l,u.exp=t,u.ln=r,u.log=n,u.max=a,u.min=o,u.pow=s,u.sqrt=f,u.random=c,null!=i&&u.config(i),u}var m=function(){var e=/^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,t=String.prototype.trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")};return function(r,n,i,a){var o,s,u,c,f,l;if(\"string\"!=typeof i&&(i=(c=\"number\"==typeof i||\"[object Number]\"==M.call(i))&&0===i&&0>1/i?\"-0\":i+\"\"),f=i,null==a&&e.test(i))n.s=45===i.charCodeAt(0)?(i=i.slice(1),-1):1;else{if(10==a)return g(new r(i),r.precision,r.rounding);if(i=t.call(i).replace(/^\\+(?!-)/,\"\"),n.s=45===i.charCodeAt(0)?(i=i.replace(/^-(?!-)/,\"\"),-1):1,null!=a?a!=(0|a)&&r.errors||(y=!(a>=2&&65>a))?(p(r,\"base\",a,0,0),l=e.test(i)):(o=\"[\"+O.slice(0,a=0|a)+\"]+\",i=i.replace(/\\.$/,\"\").replace(/^\\./,\"0.\"),(l=new RegExp(\"^\"+o+\"(?:\\\\.\"+o+\")?$\",37>a?\"i\":\"\").test(i))?(c&&(i.replace(/^0\\.0*|\\./,\"\").length>15&&p(r,0,f),c=!c),i=v(r,i,10,a,n.s)):\"Infinity\"!=i&&\"NaN\"!=i&&(p(r,\"not a base \"+a+\" number\",f),i=\"NaN\")):l=e.test(i),!l)return n.c=n.e=null,\"Infinity\"!=i&&(\"NaN\"!=i&&p(r,\"not a number\",f),n.s=null),b=0,n}for((s=i.indexOf(\".\"))>-1&&(i=i.replace(\".\",\"\")),(u=i.search(/e/i))>0?(0>s&&(s=u),s+=+i.slice(u+1),i=i.substring(0,u)):0>s&&(s=i.length),u=0;48===i.charCodeAt(u);u++);for(a=i.length;48===i.charCodeAt(--a););if(i=i.slice(u,a+1)){if(a=i.length,c&&a>15&&p(r,0,f),n.e=s=s-u-1,n.c=[],u=(s+1)%_,0>s&&(u+=_),a>u){for(u&&n.c.push(+i.slice(0,u)),a-=_;a>u;)n.c.push(+i.slice(u,u+=_));i=i.slice(u),u=_-i.length}else u-=a;for(;u--;i+=\"0\");n.c.push(+i),w&&(n.e>r.maxE?n.c=n.e=null:n.e<r.minE&&(n.c=[n.e=0]))}else n.c=[n.e=0];return b=0,n}}();return l()}(),n=function(){return d}.call(t,r,t,e),!(void 0!==n&&(e.exports=n))}(this)},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"bignumber\",{\"\":function(){return new e.BigNumber(0)},number:function(t){return new e.BigNumber(t+\"\")},string:function(t){return new e.BigNumber(t)},BigNumber:function(e){return e},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex={0:\"0\",1:\"\\\\left(${args[0]}\\\\right)\"},a}var i=r(19);t.name=\"bignumber\",t.factory=n},function(e,t){\"use strict\";e.exports=function r(e,t,n){return e&&\"function\"==typeof e.map?e.map(function(e){return r(e,t,n)}):t(e)}},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"bool\",{\"\":function(){return!1},\"boolean\":function(e){return e},number:function(e){return!!e},BigNumber:function(e){return!e.isZero()},string:function(e){var t=e.toLowerCase();if(\"true\"===t)return!0;if(\"false\"===t)return!1;var r=Number(e);if(\"\"!=e&&!isNaN(r))return!!r;throw new Error('Cannot convert \"'+e+'\" to a boolean')},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);t.name=\"boolean\",t.factory=n},function(e,t,r){e.exports=[r(22),r(25)]},function(e,t,r){\"use strict\";function n(e,t,r,n,o){function s(e){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");e&&e.isChain?this.value=e.value:this.value=e}function u(e,t){\"function\"==typeof t&&(s.prototype[e]=f(t))}function c(e,t){a(s.prototype,e,function(){var e=t();return\"function\"==typeof e?f(e):void 0})}function f(e){return function(){for(var t=[this.value],r=0;r<arguments.length;r++)t[r+1]=arguments[r];return new s(e.apply(e,t))}}return s.prototype.type=\"Chain\",s.prototype.isChain=!0,s.prototype.done=function(){return this.value},s.prototype.valueOf=function(){return this.value},s.prototype.toString=function(){return i(this.value)},s.createProxy=function(e,t){if(\"string\"==typeof e)u(e,t);else for(var r in e)e.hasOwnProperty(r)&&u(r,e[r])},s.createProxy(o),o.on(\"import\",function(e,t,r){void 0===r&&c(e,t)}),s}var i=r(23).format,a=r(3).lazy;t.name=\"Chain\",t.path=\"type\",t.factory=n,t.math=!0,t.lazy=!1},function(e,t,r){\"use strict\";function n(e,r){if(Array.isArray(e)){for(var i=\"[\",a=e.length,o=0;a>o;o++)0!=o&&(i+=\", \"),i+=n(e[o],r);return i+=\"]\"}return t.format(e,r)}var i=r(6).format,a=r(24).format;t.isString=function(e){return\"string\"==typeof e},t.endsWith=function(e,t){var r=e.length-t.length,n=e.length;return e.substring(r,n)===t},t.format=function(e,r){return\"number\"==typeof e?i(e,r):e&&e.isBigNumber===!0?a(e,r):e&&e.isFraction===!0?r&&\"decimal\"===r.fraction?e.toString():e.s*e.n+\"/\"+e.d:Array.isArray(e)?n(e,r):t.isString(e)?'\"'+e+'\"':\"function\"==typeof e?e.syntax?e.syntax+\"\":\"function\":\"object\"==typeof e?\"function\"==typeof e.format?e.format(r):e.toString():String(e)}},function(e,t){t.format=function(e,r){if(\"function\"==typeof r)return r(e);if(!e.isFinite())return e.isNaN()?\"NaN\":e.gt(0)?\"Infinity\":\"-Infinity\";var n=\"auto\",i=void 0;switch(void 0!==r&&(r.notation&&(n=r.notation),\"number\"==typeof r?i=r:r.precision&&(i=r.precision)),n){case\"fixed\":return t.toFixed(e,i);case\"exponential\":return t.toExponential(e,i);case\"auto\":var a=.001,o=1e5;r&&r.exponential&&(void 0!==r.exponential.lower&&(a=r.exponential.lower),void 0!==r.exponential.upper&&(o=r.exponential.upper));({toExpNeg:e.constructor.toExpNeg,toExpPos:e.constructor.toExpPos});if(e.constructor.config({toExpNeg:Math.round(Math.log(a)/Math.LN10),toExpPos:Math.round(Math.log(o)/Math.LN10)}),e.isZero())return\"0\";var s,u=e.abs();return s=u.gte(a)&&u.lt(o)?e.toSignificantDigits(i).toFixed():t.toExponential(e,i),s.replace(/((\\.\\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return\".\"!==e?e+t:t});default:throw new Error('Unknown notation \"'+n+'\". Choose \"auto\", \"exponential\", or \"fixed\".')}},t.toExponential=function(e,t){return void 0!==t?e.toExponential(t-1):e.toExponential()},t.toFixed=function(e,t){return e.toFixed(t||0)}},function(e,t){\"use strict\";function r(e,t,r,n){return n(\"chain\",{\"\":function(){return new e.Chain},any:function(t){return new e.Chain(t)}})}t.name=\"chain\",t.factory=r},function(e,t,r){e.exports=[r(27),r(29)]},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e,t){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");switch(arguments.length){case 0:this.re=0,this.im=0;break;case 1:var r=arguments[0];if(\"object\"==typeof r){if(\"re\"in r&&\"im\"in r){var n=new s(r.re,r.im);this.re=n.re,this.im=n.im;break}if(\"r\"in r&&\"phi\"in r){var n=s.fromPolar(r.r,r.phi);this.re=n.re,this.im=n.im;break}}throw new SyntaxError(\"Object with the re and im or r and phi properties expected.\");case 2:if(!i(e)||!i(t))throw new TypeError(\"Two numbers expected in Complex constructor\");this.re=e,this.im=t;break;default:throw new SyntaxError(\"One, two or three arguments expected in Complex constructor\")}}function u(){for(;\" \"==x||\"\t\"==x;)l()}function c(e){return e>=\"0\"&&\"9\">=e||\".\"==e}function f(e){return e>=\"0\"&&\"9\">=e}function l(){y++,x=d.charAt(y)}function p(e){y=e,x=d.charAt(y)}function m(){var e,t=\"\";if(e=y,\"+\"==x?l():\"-\"==x&&(t+=x,l()),!c(x))return p(e),null;if(\".\"==x){if(t+=x,l(),!f(x))return p(e),null}else{for(;f(x);)t+=x,l();\".\"==x&&(t+=x,l())}for(;f(x);)t+=x,l();if(\"E\"==x||\"e\"==x){if(t+=x,l(),(\"+\"==x||\"-\"==x)&&(t+=x,l()),!f(x))return p(e),null;for(;f(x);)t+=x,l()}return t}function h(){var e=d.charAt(y+1);if(\"I\"==x||\"i\"==x)return l(),\"1\";if(!(\"+\"!=x&&\"-\"!=x||\"I\"!=e&&\"i\"!=e)){var t=\"+\"==x?\"1\":\"-1\";return l(),l(),t}return null}function g(){return new SyntaxError('End of string expected, got \"'+d.substr(y)+'\"')}var v=n(r(28));s.prototype.isComplex=!0,s.prototype.type=\"Complex\";var d,y,x;return s.parse=function(e){if(d=e,y=-1,x=\"\",\"string\"!=typeof d)throw new TypeError(\"Invalid argument in Complex.parse, string expected\");l(),u();var t=m();if(t){if(\"I\"==x||\"i\"==x){if(l(),u(),x)throw g();return new s(0,Number(t))}u();var r=x;if(\"+\"!=r&&\"-\"!=r){if(u(),x)throw g();return new s(Number(t),0)}l(),u();var n=m();if(n){if(\"I\"!=x&&\"i\"!=x)throw new SyntaxError('Character \"i\" expected, got \"'+x+'\"');l()}else if(n=h(),!n)throw new SyntaxError(\"Imaginary part expected\");if(\"-\"==r&&(n=\"-\"==n[0]?\"+\"+n.substring(1):\"-\"+n),l(),u(),x)throw g();return new s(Number(t),Number(n))}if(t=h()){if(u(),x)throw g();return new s(0,Number(t))}throw new SyntaxError('Could not parse: \"'+e+'\" as complex number')},s.fromPolar=function(e){switch(arguments.length){case 1:var t=arguments[0];if(\"object\"==typeof t)return s.fromPolar(t.r,t.phi);throw new TypeError(\"Input has to be an object with r and phi keys.\");case 2:var r=arguments[0],n=arguments[1];if(i(r)){if(n&&n.isUnit&&n.hasBase(v.BASE_UNITS.ANGLE)&&(n=n.toNumber(\"rad\")),i(n))return new s(r*Math.cos(n),r*Math.sin(n));throw new TypeError(\"Phi is not a number nor an angle unit.\")}throw new TypeError(\"Radius r is not a number.\");default:throw new SyntaxError(\"Wrong number of arguments in function fromPolar\")}},s.prototype.toPolar=function(){return{r:Math.sqrt(this.re*this.re+this.im*this.im),phi:Math.atan2(this.im,this.re)}},s.prototype.clone=function(){return new s(this.re,this.im)},s.prototype.equals=function(e){return this.re===e.re&&this.im===e.im},s.prototype.format=function(e){var t=\"\",r=this.im,n=this.re,o=a(this.re,e),s=a(this.im,e),u=i(e)?e:e?e.precision:null;if(null!==u){var c=Math.pow(10,-u);Math.abs(n/r)<c&&(n=0),Math.abs(r/n)<c&&(r=0)}return t=0==r?o:0==n?1==r?\"i\":-1==r?\"-i\":s+\"i\":r>0?1==r?o+\" + i\":o+\" + \"+s+\"i\":-1==r?o+\" - i\":o+\" - \"+s.substring(1)+\"i\"},s.prototype.toString=function(){return this.format()},s.prototype.toJSON=function(){return{mathjs:\"Complex\",re:this.re,im:this.im}},s.fromJSON=function(e){return new s(e)},s.prototype.valueOf=s.prototype.toString,s}var i=r(6).isNumber,a=r(6).format;t.name=\"Complex\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){function o(e,t){if(!(this instanceof o))throw new Error(\"Constructor must be called with the new operator\");if(void 0!=e&&\"number\"!=typeof e)throw new TypeError(\"First parameter in Unit constructor must be a number\");if(void 0!=t&&(\"string\"!=typeof t||\"\"==t))throw new TypeError(\"Second parameter in Unit constructor must be a string\");if(void 0!=t){var r=o.parse(t);this.units=r.units,this.dimensions=r.dimensions}else this.units=[{unit:A,prefix:b,power:0}],this.dimensions=[0,0,0,0,0,0,0,0,0];this.value=void 0!=e?this._normalize(e):null,this.fixPrefix=!1,this.isUnitListSimplified=!0}function s(){for(;\" \"==y||\"\t\"==y;)f()}function u(e){return e>=\"0\"&&\"9\">=e||\".\"==e}function c(e){return e>=\"0\"&&\"9\">=e}function f(){d++,y=v.charAt(d)}function l(e){d=e,y=v.charAt(d)}function p(){var e,t=\"\";if(e=d,\"+\"==y?f():\"-\"==y&&(t+=y,f()),!u(y))return l(e),null;if(\".\"==y){if(t+=y,f(),!c(y))return l(e),null}else{for(;c(y);)t+=y,f();\".\"==y&&(t+=y,f())}for(;c(y);)t+=y,f();if(\"E\"==y||\"e\"==y){var r=\"\",n=d;if(r+=y,f(),(\"+\"==y||\"-\"==y)&&(r+=y,f()),!c(y))return l(n),t;for(t+=r;c(y);)t+=y,f()}return t}function m(){for(var e=\"\",t=v.charCodeAt(d);t>=48&&57>=t||t>=65&&90>=t||t>=97&&122>=t;)e+=y,f(),t=v.charCodeAt(d);return t=e.charCodeAt(0),t>=65&&90>=t||t>=97&&122>=t?e||null:null}function h(e){return y===e?(f(),e):null}function g(e){for(var t in _)if(_.hasOwnProperty(t)&&a(e,t)){var r=_[t],n=e.length-t.length,i=e.substring(0,n),o=r.prefixes[i];if(void 0!==o)return{unit:r,prefix:o}}return null}o.prototype.type=\"Unit\",o.prototype.isUnit=!0;var v,d,y;o.parse=function(e){if(v=e,d=-1,y=\"\",\"string\"!=typeof v)throw new TypeError(\"Invalid argument in Unit.parse, string expected\");var t=new o;t.units=[],f(),s();var r=p(),n=null;r&&(n=parseFloat(r)),s();for(var i=1,a=!1,u=[],c=1;;){for(s();\"(\"===y;)u.push(i),c*=i,i=1,f(),s();if(!y)break;var l=y,x=m();if(null==x)throw new SyntaxError('Unexpected \"'+l+'\" in \"'+v+'\" at index '+d.toString());var w=g(x);if(null==w)throw new SyntaxError('Unit \"'+x+'\" not found.');var b=i*c;if(s(),h(\"^\")){s();var E=p();if(null==E)throw new SyntaxError('In \"'+e+'\", \"^\" must be followed by a floating-point number');b*=E}t.units.push({unit:w.unit,prefix:w.prefix,power:b});for(var M=0;M<N.length;M++)t.dimensions[M]+=w.unit.dimensions[M]*b;for(s();\")\"===y;){if(0===u.length)throw new SyntaxError('Unmatched \")\" in \"'+v+'\" at index '+d.toString());c/=u.pop(),f(),s()}a=!1,h(\"*\")?(i=1,a=!0):h(\"/\")?(i=-1,a=!0):i=1;var A=w.unit.base.key;T.auto[A]={unit:w.unit,prefix:w.prefix}}if(s(),y)throw new SyntaxError('Could not parse: \"'+e+'\"');if(a)throw new SyntaxError('Trailing characters: \"'+e+'\"');if(0!==u.length)throw new SyntaxError('Unmatched \"(\" in \"'+v+'\"');if(0==t.units.length)throw new SyntaxError('\"'+e+'\" contains no units');return t.value=void 0!=n?t._normalize(n):null,t},o.prototype.clone=function(){var e=new o;for(var t in this)this.hasOwnProperty(t)&&(e[t]=this[t]);e.dimensions=this.dimensions.slice(0),e.units=[];for(var r=0;r<this.units.length;r++){e.units[r]={};for(var t in this.units[r])this.units[r].hasOwnProperty(t)&&(e.units[r][t]=this.units[r][t])}return e},o.prototype._isDerived=function(){return 0===this.units.length?!1:this.units.length>1||Math.abs(this.units[0].power-1)>1e-15},o.prototype._normalize=function(e){if(0===this.units.length)return e;if(this._isDerived()){for(var t=e,r=0;r<this.units.length;r++)t*=Math.pow(this.units[r].unit.value*this.units[r].prefix.value,this.units[r].power);return t}return(e+this.units[0].unit.offset)*this.units[0].unit.value*this.units[0].prefix.value},o.prototype._denormalize=function(e,t){if(0===this.units.length)return e;if(this._isDerived()){for(var r=e,n=0;n<this.units.length;n++)r/=Math.pow(this.units[n].unit.value*this.units[n].prefix.value,this.units[n].power);return r}return void 0==t?e/this.units[0].unit.value/this.units[0].prefix.value-this.units[0].unit.offset:e/this.units[0].unit.value/t-this.units[0].unit.offset},o.isValuelessUnit=function(e){return null!=g(e)},o.prototype.hasBase=function(e){for(var t=0;t<N.length;t++)if(Math.abs(this.dimensions[t]-e.dimensions[t])>1e-12)return!1;return!0},o.prototype.equalBase=function(e){for(var t=0;t<N.length;t++)if(Math.abs(this.dimensions[t]-e.dimensions[t])>1e-12)return!1;return!0},o.prototype.equals=function(e){return this.equalBase(e)&&this.value==e.value},o.prototype.multiply=function(e){for(var t=this.clone(),r=0;r<N.length;r++)t.dimensions[r]=this.dimensions[r]+e.dimensions[r];for(var r=0;r<e.units.length;r++){var n=JSON.parse(JSON.stringify(e.units[r]));t.units.push(n)}if(null!=this.value||null!=e.value){var i=null==this.value?this._normalize(1):this.value,a=null==e.value?e._normalize(1):e.value;t.value=i*a}else t.value=null;return t.isUnitListSimplified=!1,t},o.prototype.divide=function(e){for(var t=this.clone(),r=0;r<N.length;r++)t.dimensions[r]=this.dimensions[r]-e.dimensions[r];for(var r=0;r<e.units.length;r++){var n=JSON.parse(JSON.stringify(e.units[r]));n.power=-n.power,t.units.push(n)}if(null!=this.value||null!=e.value){var i=null==this.value?this._normalize(1):this.value,a=null==e.value?e._normalize(1):e.value;t.value=i/a}else t.value=null;return t.isUnitListSimplified=!1,t},o.prototype.pow=function(e){for(var t=this.clone(),r=0;r<N.length;r++)t.dimensions[r]=this.dimensions[r]*e;for(var r=0;r<t.units.length;r++)t.units[r].power*=e;return null!=t.value?t.value=Math.pow(t.value,e):t.value=null,t.isUnitListSimplified=!1,t},o.prototype.to=function(e){var t,r=null==this.value?this._normalize(1):this.value;if(\"string\"==typeof e){if(t=o.parse(e),!this.equalBase(t))throw new Error(\"Units do not match\");if(null!==t.value)throw new Error(\"Cannot convert to a unit with a value\");return t.value=r,t.fixPrefix=!0,t.isUnitListSimplified=!0,t}if(e&&e.isUnit){if(!this.equalBase(e))throw new Error(\"Units do not match\");if(null!==e.value)throw new Error(\"Cannot convert to a unit with a value\");return t=e.clone(),t.value=r,t.fixPrefix=!0,t.isUnitListSimplified=!0,t}throw new Error(\"String or Unit expected as parameter\")},o.prototype.toNumber=function(e){var t=this.to(e);return t._isDerived()?t._denormalize(t.value):t._denormalize(t.value,t.units[0].prefix.value)},o.prototype.toString=function(){return this.format()},o.prototype.toJSON=function(){return{mathjs:\"Unit\",value:this._denormalize(this.value),unit:this.formatUnits(),fixPrefix:this.fixPrefix}},o.fromJSON=function(e){var t=new o(e.value,e.unit);return t.fixPrefix=e.fixPrefix||!1,t},o.prototype.valueOf=o.prototype.toString,o.prototype.simplifyUnitListLazy=function(){if(!this.isUnitListSimplified&&null!=this.value){var e,t=[];for(var r in C)if(this.hasBase(E[r])){e=r;break}if(\"NONE\"===e)this.units=[];else{var n;e&&C.hasOwnProperty(e)&&(n=C[e]);if(n)this.units=[{unit:n.unit,prefix:n.prefix,power:1}];else{for(var i=0;i<N.length;i++){var a=N[i];Math.abs(this.dimensions[i])>1e-12&&t.push({unit:C[a].unit,prefix:C[a].prefix,power:this.dimensions[i]})}t.length<this.units.length&&(this.units=t)}}this.isUnitListSimplified=!0}},o.prototype.formatUnits=function(){this.simplifyUnitListLazy();for(var e=\"\",t=\"\",r=0,n=0,i=0;i<this.units.length;i++)this.units[i].power>0?(r++,e+=\" \"+this.units[i].prefix.name+this.units[i].unit.name,Math.abs(this.units[i].power-1)>1e-15&&(e+=\"^\"+this.units[i].power)):this.units[i].power<0&&n++;if(n>0)for(var i=0;i<this.units.length;i++)this.units[i].power<0&&(r>0?(t+=\" \"+this.units[i].prefix.name+this.units[i].unit.name,Math.abs(this.units[i].power+1)>1e-15&&(t+=\"^\"+-this.units[i].power)):(t+=\" \"+this.units[i].prefix.name+this.units[i].unit.name,t+=\"^\"+this.units[i].power));e=e.substr(1),t=t.substr(1),r>1&&n>0&&(e=\"(\"+e+\")\"),\nn>1&&r>0&&(t=\"(\"+t+\")\");var a=e;return r>0&&n>0&&(a+=\" / \"),a+=t},o.prototype.format=function(e){if(this.simplifyUnitListLazy(),1===this.units.length&&!this.fixPrefix&&Math.abs(this.units[0].power-Math.round(this.units[0].power))<1e-14){var t=this._bestPrefix();this.units[0].prefix=t}var r=this._denormalize(this.value),n=null!==this.value?i(r,e):\"\",a=this.formatUnits();return a.length>0&&n.length>0&&(n+=\" \"),n+=a},o.prototype._bestPrefix=function(){if(1!==this.units.length)throw new Error(\"Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!\");if(Math.abs(this.units[0].power-Math.round(this.units[0].power))>=1e-14)throw new Error(\"Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!\");var e=Math.abs(this.value),t=this.units[0].prefix;if(0===e)return t;var r=this.units[0].power,n=Math.abs(Math.log(e/Math.pow(t.value*this.units[0].unit.value,r))/Math.LN10-1.2),i=this.units[0].unit.prefixes;for(var a in i)if(i.hasOwnProperty(a)){var o=i[a];if(o.scientific){var s=Math.abs(Math.log(e/Math.pow(o.value*this.units[0].unit.value,r))/Math.LN10-1.2);(n>s||s===n&&o.name.length<t.name.length)&&(t=o,n=s)}}return t};var x={NONE:{\"\":{name:\"\",value:1,scientific:!0}},SHORT:{\"\":{name:\"\",value:1,scientific:!0},da:{name:\"da\",value:10,scientific:!1},h:{name:\"h\",value:100,scientific:!1},k:{name:\"k\",value:1e3,scientific:!0},M:{name:\"M\",value:1e6,scientific:!0},G:{name:\"G\",value:1e9,scientific:!0},T:{name:\"T\",value:1e12,scientific:!0},P:{name:\"P\",value:1e15,scientific:!0},E:{name:\"E\",value:1e18,scientific:!0},Z:{name:\"Z\",value:1e21,scientific:!0},Y:{name:\"Y\",value:1e24,scientific:!0},d:{name:\"d\",value:.1,scientific:!1},c:{name:\"c\",value:.01,scientific:!1},m:{name:\"m\",value:.001,scientific:!0},u:{name:\"u\",value:1e-6,scientific:!0},n:{name:\"n\",value:1e-9,scientific:!0},p:{name:\"p\",value:1e-12,scientific:!0},f:{name:\"f\",value:1e-15,scientific:!0},a:{name:\"a\",value:1e-18,scientific:!0},z:{name:\"z\",value:1e-21,scientific:!0},y:{name:\"y\",value:1e-24,scientific:!0}},LONG:{\"\":{name:\"\",value:1,scientific:!0},deca:{name:\"deca\",value:10,scientific:!1},hecto:{name:\"hecto\",value:100,scientific:!1},kilo:{name:\"kilo\",value:1e3,scientific:!0},mega:{name:\"mega\",value:1e6,scientific:!0},giga:{name:\"giga\",value:1e9,scientific:!0},tera:{name:\"tera\",value:1e12,scientific:!0},peta:{name:\"peta\",value:1e15,scientific:!0},exa:{name:\"exa\",value:1e18,scientific:!0},zetta:{name:\"zetta\",value:1e21,scientific:!0},yotta:{name:\"yotta\",value:1e24,scientific:!0},deci:{name:\"deci\",value:.1,scientific:!1},centi:{name:\"centi\",value:.01,scientific:!1},milli:{name:\"milli\",value:.001,scientific:!0},micro:{name:\"micro\",value:1e-6,scientific:!0},nano:{name:\"nano\",value:1e-9,scientific:!0},pico:{name:\"pico\",value:1e-12,scientific:!0},femto:{name:\"femto\",value:1e-15,scientific:!0},atto:{name:\"atto\",value:1e-18,scientific:!0},zepto:{name:\"zepto\",value:1e-21,scientific:!0},yocto:{name:\"yocto\",value:1e-24,scientific:!0}},SQUARED:{\"\":{name:\"\",value:1,scientific:!0},da:{name:\"da\",value:100,scientific:!1},h:{name:\"h\",value:1e4,scientific:!1},k:{name:\"k\",value:1e6,scientific:!0},M:{name:\"M\",value:1e12,scientific:!0},G:{name:\"G\",value:1e18,scientific:!0},T:{name:\"T\",value:1e24,scientific:!0},P:{name:\"P\",value:1e30,scientific:!0},E:{name:\"E\",value:1e36,scientific:!0},Z:{name:\"Z\",value:1e42,scientific:!0},Y:{name:\"Y\",value:1e48,scientific:!0},d:{name:\"d\",value:.01,scientific:!1},c:{name:\"c\",value:1e-4,scientific:!1},m:{name:\"m\",value:1e-6,scientific:!0},u:{name:\"u\",value:1e-12,scientific:!0},n:{name:\"n\",value:1e-18,scientific:!0},p:{name:\"p\",value:1e-24,scientific:!0},f:{name:\"f\",value:1e-30,scientific:!0},a:{name:\"a\",value:1e-36,scientific:!0},z:{name:\"z\",value:1e-42,scientific:!0},y:{name:\"y\",value:1e-48,scientific:!0}},CUBIC:{\"\":{name:\"\",value:1,scientific:!0},da:{name:\"da\",value:1e3,scientific:!1},h:{name:\"h\",value:1e6,scientific:!1},k:{name:\"k\",value:1e9,scientific:!0},M:{name:\"M\",value:1e18,scientific:!0},G:{name:\"G\",value:1e27,scientific:!0},T:{name:\"T\",value:1e36,scientific:!0},P:{name:\"P\",value:1e45,scientific:!0},E:{name:\"E\",value:1e54,scientific:!0},Z:{name:\"Z\",value:1e63,scientific:!0},Y:{name:\"Y\",value:1e72,scientific:!0},d:{name:\"d\",value:.001,scientific:!1},c:{name:\"c\",value:1e-6,scientific:!1},m:{name:\"m\",value:1e-9,scientific:!0},u:{name:\"u\",value:1e-18,scientific:!0},n:{name:\"n\",value:1e-27,scientific:!0},p:{name:\"p\",value:1e-36,scientific:!0},f:{name:\"f\",value:1e-45,scientific:!0},a:{name:\"a\",value:1e-54,scientific:!0},z:{name:\"z\",value:1e-63,scientific:!0},y:{name:\"y\",value:1e-72,scientific:!0}},BINARY_SHORT:{\"\":{name:\"\",value:1,scientific:!0},k:{name:\"k\",value:1e3,scientific:!0},M:{name:\"M\",value:1e6,scientific:!0},G:{name:\"G\",value:1e9,scientific:!0},T:{name:\"T\",value:1e12,scientific:!0},P:{name:\"P\",value:1e15,scientific:!0},E:{name:\"E\",value:1e18,scientific:!0},Z:{name:\"Z\",value:1e21,scientific:!0},Y:{name:\"Y\",value:1e24,scientific:!0},Ki:{name:\"Ki\",value:1024,scientific:!0},Mi:{name:\"Mi\",value:Math.pow(1024,2),scientific:!0},Gi:{name:\"Gi\",value:Math.pow(1024,3),scientific:!0},Ti:{name:\"Ti\",value:Math.pow(1024,4),scientific:!0},Pi:{name:\"Pi\",value:Math.pow(1024,5),scientific:!0},Ei:{name:\"Ei\",value:Math.pow(1024,6),scientific:!0},Zi:{name:\"Zi\",value:Math.pow(1024,7),scientific:!0},Yi:{name:\"Yi\",value:Math.pow(1024,8),scientific:!0}},BINARY_LONG:{\"\":{name:\"\",value:1,scientific:!0},kilo:{name:\"kilo\",value:1e3,scientific:!0},mega:{name:\"mega\",value:1e6,scientific:!0},giga:{name:\"giga\",value:1e9,scientific:!0},tera:{name:\"tera\",value:1e12,scientific:!0},peta:{name:\"peta\",value:1e15,scientific:!0},exa:{name:\"exa\",value:1e18,scientific:!0},zetta:{name:\"zetta\",value:1e21,scientific:!0},yotta:{name:\"yotta\",value:1e24,scientific:!0},kibi:{name:\"kibi\",value:1024,scientific:!0},mebi:{name:\"mebi\",value:Math.pow(1024,2),scientific:!0},gibi:{name:\"gibi\",value:Math.pow(1024,3),scientific:!0},tebi:{name:\"tebi\",value:Math.pow(1024,4),scientific:!0},pebi:{name:\"pebi\",value:Math.pow(1024,5),scientific:!0},exi:{name:\"exi\",value:Math.pow(1024,6),scientific:!0},zebi:{name:\"zebi\",value:Math.pow(1024,7),scientific:!0},yobi:{name:\"yobi\",value:Math.pow(1024,8),scientific:!0}},BTU:{\"\":{name:\"\",value:1,scientific:!0},MM:{name:\"MM\",value:1e6,scientific:!0}}};x.SHORTLONG={};for(var w in x.SHORT)x.SHORT.hasOwnProperty(w)&&(x.SHORTLONG[w]=x.SHORT[w]);for(var w in x.LONG)x.LONG.hasOwnProperty(w)&&(x.SHORTLONG[w]=x.LONG[w]);var b={name:\"\",value:1,scientific:!0},N=[\"MASS\",\"LENGTH\",\"TIME\",\"CURRENT\",\"TEMPERATURE\",\"LUMINOUS_INTENSITY\",\"AMOUNT_OF_SUBSTANCE\",\"ANGLE\",\"BIT\"],E={NONE:{dimensions:[0,0,0,0,0,0,0,0,0]},MASS:{dimensions:[1,0,0,0,0,0,0,0,0]},LENGTH:{dimensions:[0,1,0,0,0,0,0,0,0]},TIME:{dimensions:[0,0,1,0,0,0,0,0,0]},CURRENT:{dimensions:[0,0,0,1,0,0,0,0,0]},TEMPERATURE:{dimensions:[0,0,0,0,1,0,0,0,0]},LUMINOUS_INTENSITY:{dimensions:[0,0,0,0,0,1,0,0,0]},AMOUNT_OF_SUBSTANCE:{dimensions:[0,0,0,0,0,0,1,0,0]},FORCE:{dimensions:[1,1,-2,0,0,0,0,0,0]},SURFACE:{dimensions:[0,2,0,0,0,0,0,0,0]},VOLUME:{dimensions:[0,3,0,0,0,0,0,0,0]},ENERGY:{dimensions:[1,2,-2,0,0,0,0,0,0]},POWER:{dimensions:[1,2,-3,0,0,0,0,0,0]},PRESSURE:{dimensions:[1,-1,-2,0,0,0,0,0,0]},ELECTRIC_CHARGE:{dimensions:[0,0,1,1,0,0,0,0,0]},ELECTRIC_CAPACITANCE:{dimensions:[-1,-2,4,2,0,0,0,0,0]},ELECTRIC_POTENTIAL:{dimensions:[1,2,-3,-1,0,0,0,0,0]},ELECTRIC_RESISTANCE:{dimensions:[1,2,-3,-2,0,0,0,0,0]},ELECTRIC_INDUCTANCE:{dimensions:[1,2,-2,-2,0,0,0,0,0]},ELECTRIC_CONDUCTANCE:{dimensions:[-1,-2,3,2,0,0,0,0,0]},MAGNETIC_FLUX:{dimensions:[1,2,-2,-1,0,0,0,0,0]},MAGNETIC_FLUX_DENSITY:{dimensions:[1,0,-2,-1,0,0,0,0,0]},ANGLE:{dimensions:[0,0,0,0,0,0,0,1,0]},BIT:{dimensions:[0,0,0,0,0,0,0,0,1]}};for(var w in E)E[w].key=w;var M={},A={name:\"\",base:M,value:1,offset:0,dimensions:[0,0,0,0,0,0,0,0,0]},_={meter:{name:\"meter\",base:E.LENGTH,prefixes:x.LONG,value:1,offset:0},inch:{name:\"inch\",base:E.LENGTH,prefixes:x.NONE,value:.0254,offset:0},foot:{name:\"foot\",base:E.LENGTH,prefixes:x.NONE,value:.3048,offset:0},yard:{name:\"yard\",base:E.LENGTH,prefixes:x.NONE,value:.9144,offset:0},mile:{name:\"mile\",base:E.LENGTH,prefixes:x.NONE,value:1609.344,offset:0},link:{name:\"link\",base:E.LENGTH,prefixes:x.NONE,value:.201168,offset:0},rod:{name:\"rod\",base:E.LENGTH,prefixes:x.NONE,value:5.02921,offset:0},chain:{name:\"chain\",base:E.LENGTH,prefixes:x.NONE,value:20.1168,offset:0},angstrom:{name:\"angstrom\",base:E.LENGTH,prefixes:x.NONE,value:1e-10,offset:0},m:{name:\"m\",base:E.LENGTH,prefixes:x.SHORT,value:1,offset:0},\"in\":{name:\"in\",base:E.LENGTH,prefixes:x.NONE,value:.0254,offset:0},ft:{name:\"ft\",base:E.LENGTH,prefixes:x.NONE,value:.3048,offset:0},yd:{name:\"yd\",base:E.LENGTH,prefixes:x.NONE,value:.9144,offset:0},mi:{name:\"mi\",base:E.LENGTH,prefixes:x.NONE,value:1609.344,offset:0},li:{name:\"li\",base:E.LENGTH,prefixes:x.NONE,value:.201168,offset:0},rd:{name:\"rd\",base:E.LENGTH,prefixes:x.NONE,value:5.02921,offset:0},ch:{name:\"ch\",base:E.LENGTH,prefixes:x.NONE,value:20.1168,offset:0},mil:{name:\"mil\",base:E.LENGTH,prefixes:x.NONE,value:254e-7,offset:0},m2:{name:\"m2\",base:E.SURFACE,prefixes:x.SQUARED,value:1,offset:0},sqin:{name:\"sqin\",base:E.SURFACE,prefixes:x.NONE,value:64516e-8,offset:0},sqft:{name:\"sqft\",base:E.SURFACE,prefixes:x.NONE,value:.09290304,offset:0},sqyd:{name:\"sqyd\",base:E.SURFACE,prefixes:x.NONE,value:.83612736,offset:0},sqmi:{name:\"sqmi\",base:E.SURFACE,prefixes:x.NONE,value:2589988.110336,offset:0},sqrd:{name:\"sqrd\",base:E.SURFACE,prefixes:x.NONE,value:25.29295,offset:0},sqch:{name:\"sqch\",base:E.SURFACE,prefixes:x.NONE,value:404.6873,offset:0},sqmil:{name:\"sqmil\",base:E.SURFACE,prefixes:x.NONE,value:6.4516e-10,offset:0},m3:{name:\"m3\",base:E.VOLUME,prefixes:x.CUBIC,value:1,offset:0},L:{name:\"L\",base:E.VOLUME,prefixes:x.SHORT,value:.001,offset:0},l:{name:\"l\",base:E.VOLUME,prefixes:x.SHORT,value:.001,offset:0},litre:{name:\"litre\",base:E.VOLUME,prefixes:x.LONG,value:.001,offset:0},cuin:{name:\"cuin\",base:E.VOLUME,prefixes:x.NONE,value:16387064e-12,offset:0},cuft:{name:\"cuft\",base:E.VOLUME,prefixes:x.NONE,value:.028316846592,offset:0},cuyd:{name:\"cuyd\",base:E.VOLUME,prefixes:x.NONE,value:.764554857984,offset:0},teaspoon:{name:\"teaspoon\",base:E.VOLUME,prefixes:x.NONE,value:5e-6,offset:0},tablespoon:{name:\"tablespoon\",base:E.VOLUME,prefixes:x.NONE,value:15e-6,offset:0},drop:{name:\"drop\",base:E.VOLUME,prefixes:x.NONE,value:5e-8,offset:0},gtt:{name:\"gtt\",base:E.VOLUME,prefixes:x.NONE,value:5e-8,offset:0},minim:{name:\"minim\",base:E.VOLUME,prefixes:x.NONE,value:6.161152e-8,offset:0},fluiddram:{name:\"fluiddram\",base:E.VOLUME,prefixes:x.NONE,value:36966911e-13,offset:0},fluidounce:{name:\"fluidounce\",base:E.VOLUME,prefixes:x.NONE,value:2957353e-11,offset:0},gill:{name:\"gill\",base:E.VOLUME,prefixes:x.NONE,value:.0001182941,offset:0},cc:{name:\"cc\",base:E.VOLUME,prefixes:x.NONE,value:1e-6,offset:0},cup:{name:\"cup\",base:E.VOLUME,prefixes:x.NONE,value:.0002365882,offset:0},pint:{name:\"pint\",base:E.VOLUME,prefixes:x.NONE,value:.0004731765,offset:0},quart:{name:\"quart\",base:E.VOLUME,prefixes:x.NONE,value:.0009463529,offset:0},gallon:{name:\"gallon\",base:E.VOLUME,prefixes:x.NONE,value:.003785412,offset:0},beerbarrel:{name:\"beerbarrel\",base:E.VOLUME,prefixes:x.NONE,value:.1173478,offset:0},oilbarrel:{name:\"oilbarrel\",base:E.VOLUME,prefixes:x.NONE,value:.1589873,offset:0},hogshead:{name:\"hogshead\",base:E.VOLUME,prefixes:x.NONE,value:.238481,offset:0},fldr:{name:\"fldr\",base:E.VOLUME,prefixes:x.NONE,value:36966911e-13,offset:0},floz:{name:\"floz\",base:E.VOLUME,prefixes:x.NONE,value:2957353e-11,offset:0},gi:{name:\"gi\",base:E.VOLUME,prefixes:x.NONE,value:.0001182941,offset:0},cp:{name:\"cp\",base:E.VOLUME,prefixes:x.NONE,value:.0002365882,offset:0},pt:{name:\"pt\",base:E.VOLUME,prefixes:x.NONE,value:.0004731765,offset:0},qt:{name:\"qt\",base:E.VOLUME,prefixes:x.NONE,value:.0009463529,offset:0},gal:{name:\"gal\",base:E.VOLUME,prefixes:x.NONE,value:.003785412,offset:0},bbl:{name:\"bbl\",base:E.VOLUME,prefixes:x.NONE,value:.1173478,offset:0},obl:{name:\"obl\",base:E.VOLUME,prefixes:x.NONE,value:.1589873,offset:0},g:{name:\"g\",base:E.MASS,prefixes:x.SHORT,value:.001,offset:0},gram:{name:\"gram\",base:E.MASS,prefixes:x.LONG,value:.001,offset:0},ton:{name:\"ton\",base:E.MASS,prefixes:x.SHORT,value:907.18474,offset:0},tonne:{name:\"tonne\",base:E.MASS,prefixes:x.SHORT,value:1e3,offset:0},grain:{name:\"grain\",base:E.MASS,prefixes:x.NONE,value:6479891e-11,offset:0},dram:{name:\"dram\",base:E.MASS,prefixes:x.NONE,value:.0017718451953125,offset:0},ounce:{name:\"ounce\",base:E.MASS,prefixes:x.NONE,value:.028349523125,offset:0},poundmass:{name:\"poundmass\",base:E.MASS,prefixes:x.NONE,value:.45359237,offset:0},hundredweight:{name:\"hundredweight\",base:E.MASS,prefixes:x.NONE,value:45.359237,offset:0},stick:{name:\"stick\",base:E.MASS,prefixes:x.NONE,value:.115,offset:0},stone:{name:\"stone\",base:E.MASS,prefixes:x.NONE,value:6.35029318,offset:0},gr:{name:\"gr\",base:E.MASS,prefixes:x.NONE,value:6479891e-11,offset:0},dr:{name:\"dr\",base:E.MASS,prefixes:x.NONE,value:.0017718451953125,offset:0},oz:{name:\"oz\",base:E.MASS,prefixes:x.NONE,value:.028349523125,offset:0},lbm:{name:\"lbm\",base:E.MASS,prefixes:x.NONE,value:.45359237,offset:0},cwt:{name:\"cwt\",base:E.MASS,prefixes:x.NONE,value:45.359237,offset:0},s:{name:\"s\",base:E.TIME,prefixes:x.SHORT,value:1,offset:0},min:{name:\"min\",base:E.TIME,prefixes:x.NONE,value:60,offset:0},h:{name:\"h\",base:E.TIME,prefixes:x.NONE,value:3600,offset:0},second:{name:\"second\",base:E.TIME,prefixes:x.LONG,value:1,offset:0},sec:{name:\"sec\",base:E.TIME,prefixes:x.LONG,value:1,offset:0},minute:{name:\"minute\",base:E.TIME,prefixes:x.NONE,value:60,offset:0},hour:{name:\"hour\",base:E.TIME,prefixes:x.NONE,value:3600,offset:0},day:{name:\"day\",base:E.TIME,prefixes:x.NONE,value:86400,offset:0},rad:{name:\"rad\",base:E.ANGLE,prefixes:x.NONE,value:1,offset:0},deg:{name:\"deg\",base:E.ANGLE,prefixes:x.NONE,value:.017453292519943295,offset:0},grad:{name:\"grad\",base:E.ANGLE,prefixes:x.NONE,value:.015707963267948967,offset:0},cycle:{name:\"cycle\",base:E.ANGLE,prefixes:x.NONE,value:6.283185307179586,offset:0},A:{name:\"A\",base:E.CURRENT,prefixes:x.SHORT,value:1,offset:0},ampere:{name:\"ampere\",base:E.CURRENT,prefixes:x.LONG,value:1,offset:0},K:{name:\"K\",base:E.TEMPERATURE,prefixes:x.NONE,value:1,offset:0},degC:{name:\"degC\",base:E.TEMPERATURE,prefixes:x.NONE,value:1,offset:273.15},degF:{name:\"degF\",base:E.TEMPERATURE,prefixes:x.NONE,value:1/1.8,offset:459.67},degR:{name:\"degR\",base:E.TEMPERATURE,prefixes:x.NONE,value:1/1.8,offset:0},kelvin:{name:\"kelvin\",base:E.TEMPERATURE,prefixes:x.NONE,value:1,offset:0},celsius:{name:\"celsius\",base:E.TEMPERATURE,prefixes:x.NONE,value:1,offset:273.15},fahrenheit:{name:\"fahrenheit\",base:E.TEMPERATURE,prefixes:x.NONE,value:1/1.8,offset:459.67},rankine:{name:\"rankine\",base:E.TEMPERATURE,prefixes:x.NONE,value:1/1.8,offset:0},mol:{name:\"mol\",base:E.AMOUNT_OF_SUBSTANCE,prefixes:x.NONE,value:1,offset:0},mole:{name:\"mole\",base:E.AMOUNT_OF_SUBSTANCE,prefixes:x.NONE,value:1,offset:0},cd:{name:\"cd\",base:E.LUMINOUS_INTENSITY,prefixes:x.NONE,value:1,offset:0},candela:{name:\"candela\",base:E.LUMINOUS_INTENSITY,prefixes:x.NONE,value:1,offset:0},N:{name:\"N\",base:E.FORCE,prefixes:x.SHORT,value:1,offset:0},newton:{name:\"newton\",base:E.FORCE,prefixes:x.LONG,value:1,offset:0},dyn:{name:\"dyn\",base:E.FORCE,prefixes:x.SHORT,value:1e-5,offset:0},dyne:{name:\"dyne\",base:E.FORCE,prefixes:x.LONG,value:1e-5,offset:0},lbf:{name:\"lbf\",base:E.FORCE,prefixes:x.NONE,value:4.4482216152605,offset:0},poundforce:{name:\"poundforce\",base:E.FORCE,prefixes:x.NONE,value:4.4482216152605,offset:0},J:{name:\"J\",base:E.ENERGY,prefixes:x.SHORT,value:1,offset:0},joule:{name:\"joule\",base:E.ENERGY,prefixes:x.SHORT,value:1,offset:0},erg:{name:\"erg\",base:E.ENERGY,prefixes:x.NONE,value:1e-5,offset:0},Wh:{name:\"Wh\",base:E.ENERGY,prefixes:x.SHORT,value:3600,offset:0},BTU:{name:\"BTU\",base:E.ENERGY,prefixes:x.BTU,value:1055.05585262,offset:0},eV:{name:\"eV\",base:E.ENERGY,prefixes:x.SHORT,value:1.602176565e-19,offset:0},electronvolt:{name:\"electronvolt\",base:E.ENERGY,prefixes:x.LONG,value:1.602176565e-19,offset:0},W:{name:\"W\",base:E.POWER,prefixes:x.SHORT,value:1,offset:0},watt:{name:\"W\",base:E.POWER,prefixes:x.LONG,value:1,offset:0},hp:{name:\"hp\",base:E.POWER,prefixes:x.NONE,value:745.6998715386,offset:0},Pa:{name:\"Pa\",base:E.PRESSURE,prefixes:x.SHORT,value:1,offset:0},psi:{name:\"psi\",base:E.PRESSURE,prefixes:x.NONE,value:6894.75729276459,offset:0},atm:{name:\"atm\",base:E.PRESSURE,prefixes:x.NONE,value:101325,offset:0},coulomb:{name:\"coulomb\",base:E.ELECTRIC_CHARGE,prefixes:x.LONG,value:1,offset:0},C:{name:\"C\",base:E.ELECTRIC_CHARGE,prefixes:x.SHORT,value:1,offset:0},farad:{name:\"farad\",base:E.ELECTRIC_CAPACITANCE,prefixes:x.LONG,value:1,offset:0},F:{name:\"F\",base:E.ELECTRIC_CAPACITANCE,prefixes:x.SHORT,value:1,offset:0},volt:{name:\"volt\",base:E.ELECTRIC_POTENTIAL,prefixes:x.LONG,value:1,offset:0},V:{name:\"V\",base:E.ELECTRIC_POTENTIAL,prefixes:x.SHORT,value:1,offset:0},ohm:{name:\"ohm\",base:E.ELECTRIC_RESISTANCE,prefixes:x.SHORTLONG,value:1,offset:0},henry:{name:\"henry\",base:E.ELECTRIC_INDUCTANCE,prefixes:x.LONG,value:1,offset:0},H:{name:\"H\",base:E.ELECTRIC_INDUCTANCE,prefixes:x.SHORT,value:1,offset:0},siemens:{name:\"siemens\",base:E.ELECTRIC_CONDUCTANCE,prefixes:x.LONG,value:1,offset:0},S:{name:\"S\",base:E.ELECTRIC_CONDUCTANCE,prefixes:x.SHORT,value:1,offset:0},weber:{name:\"weber\",base:E.MAGNETIC_FLUX,prefixes:x.LONG,value:1,offset:0},Wb:{name:\"Wb\",base:E.MAGNETIC_FLUX,prefixes:x.SHORT,value:1,offset:0},tesla:{name:\"tesla\",base:E.MAGNETIC_FLUX_DENSITY,prefixes:x.LONG,value:1,offset:0},T:{name:\"T\",base:E.MAGNETIC_FLUX_DENSITY,prefixes:x.SHORT,value:1,offset:0},b:{name:\"b\",base:E.BIT,prefixes:x.BINARY_SHORT,value:1,offset:0},bits:{name:\"bits\",base:E.BIT,prefixes:x.BINARY_LONG,value:1,offset:0},B:{name:\"B\",base:E.BIT,prefixes:x.BINARY_SHORT,value:8,offset:0},bytes:{name:\"bytes\",base:E.BIT,prefixes:x.BINARY_LONG,value:8,offset:0}},O={meters:\"meter\",inches:\"inch\",feet:\"foot\",yards:\"yard\",miles:\"mile\",links:\"link\",rods:\"rod\",chains:\"chain\",angstroms:\"angstrom\",litres:\"litre\",teaspoons:\"teaspoon\",tablespoons:\"tablespoon\",minims:\"minim\",fluiddrams:\"fluiddram\",fluidounces:\"fluidounce\",gills:\"gill\",cups:\"cup\",pints:\"pint\",quarts:\"quart\",gallons:\"gallon\",beerbarrels:\"beerbarrel\",oilbarrels:\"oilbarrel\",hogsheads:\"hogshead\",gtts:\"gtt\",grams:\"gram\",tons:\"ton\",tonnes:\"tonne\",grains:\"grain\",drams:\"dram\",ounces:\"ounce\",poundmasses:\"poundmass\",hundredweights:\"hundredweight\",sticks:\"stick\",seconds:\"second\",minutes:\"minute\",hours:\"hour\",days:\"day\",radians:\"rad\",degrees:\"deg\",gradients:\"grad\",cycles:\"cycle\",BTUs:\"BTU\",watts:\"watt\",joules:\"joule\",amperes:\"ampere\",coulombs:\"coulomb\",volts:\"volt\",ohms:\"ohm\",farads:\"farad\",webers:\"weber\",teslas:\"tesla\",electronvolts:\"electronvolt\",moles:\"mole\"},T={si:{NONE:{unit:A,prefix:x.NONE[\"\"]},LENGTH:{unit:_.m,prefix:x.SHORT[\"\"]},MASS:{unit:_.g,prefix:x.SHORT.k},TIME:{unit:_.s,prefix:x.SHORT[\"\"]},CURRENT:{unit:_.A,prefix:x.SHORT[\"\"]},TEMPERATURE:{unit:_.K,prefix:x.SHORT[\"\"]},LUMINOUS_INTENSITY:{unit:_.cd,prefix:x.SHORT[\"\"]},AMOUNT_OF_SUBSTANCE:{unit:_.mol,prefix:x.SHORT[\"\"]},ANGLE:{unit:_.rad,prefix:x.SHORT[\"\"]},BIT:{unit:_.bit,prefix:x.SHORT[\"\"]},FORCE:{unit:_.N,prefix:x.SHORT[\"\"]},ENERGY:{unit:_.J,prefix:x.SHORT[\"\"]},POWER:{unit:_.W,prefix:x.SHORT[\"\"]},PRESSURE:{unit:_.Pa,prefix:x.SHORT[\"\"]},ELECTRIC_CHARGE:{unit:_.C,prefix:x.SHORT[\"\"]},ELECTRIC_CAPACITANCE:{unit:_.F,prefix:x.SHORT[\"\"]},ELECTRIC_POTENTIAL:{unit:_.V,prefix:x.SHORT[\"\"]},ELECTRIC_RESISTANCE:{unit:_.ohm,prefix:x.SHORT[\"\"]},ELECTRIC_INDUCTANCE:{unit:_.H,prefix:x.SHORT[\"\"]},ELECTRIC_CONDUCTANCE:{unit:_.S,prefix:x.SHORT[\"\"]},MAGNETIC_FLUX:{unit:_.Wb,prefix:x.SHORT[\"\"]},MAGNETIC_FLUX_DENSITY:{unit:_.T,prefix:x.SHORT[\"\"]}}};T.cgs=JSON.parse(JSON.stringify(T.si)),T.cgs.LENGTH={unit:_.m,prefix:x.SHORT.c},T.cgs.MASS={unit:_.g,prefix:x.SHORT[\"\"]},T.cgs.FORCE={unit:_.dyn,prefix:x.SHORT[\"\"]},T.cgs.ENERGY={unit:_.erg,prefix:x.NONE[\"\"]},T.us=JSON.parse(JSON.stringify(T.si)),T.us.LENGTH={unit:_.ft,prefix:x.NONE[\"\"]},T.us.MASS={unit:_.lbm,prefix:x.NONE[\"\"]},T.us.TEMPERATURE={unit:_.degF,prefix:x.NONE[\"\"]},T.us.FORCE={unit:_.lbf,prefix:x.NONE[\"\"]},T.us.ENERGY={unit:_.BTU,prefix:x.BTU[\"\"]},T.us.POWER={unit:_.hp,prefix:x.NONE[\"\"]},T.us.PRESSURE={unit:_.psi,prefix:x.NONE[\"\"]},T.auto=JSON.parse(JSON.stringify(T.si));var C=T.auto;o.setUnitSystem=function(e){if(T.hasOwnProperty(e))C=T[e];else{\"Unit system \"+e+\" does not exist. Choices are: \"+listAvailableUnitSystems()}},o.listAvailableUnitSystems=function(){var e=\"\";for(var t in T)e+=\" \"+t;return e.substr(1)},o.getUnitSystem=function(){for(var e in T)if(T[e]===C)return e};for(var w in _){var S=_[w];S.dimensions=S.base.dimensions}for(var z in O)if(O.hasOwnProperty(z)){var S=_[O[z]],B=Object.create(S);B.name=z,_[z]=B}return _.lt=_.l,_.liter=_.litre,_.liters=_.litres,_.lb=_.lbm,_.lbs=_.lbm,o.PREFIXES=x,o.BASE_UNITS=E,o.UNITS=_,o.UNIT_SYSTEMS=T,o}var i=r(6).format,a=r(23).endsWith;t.name=\"Unit\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=a(\"complex\",{\"\":function(){return new e.Complex(0,0)},number:function(t){return new e.Complex(t,0)},\"number, number\":function(t,r){return new e.Complex(t,r)},\"BigNumber, BigNumber\":function(t,r){return new e.Complex(t.toNumber(),r.toNumber())},Complex:function(e){return e.clone()},string:function(t){return e.Complex.parse(t)},Object:function(t){if(\"re\"in t&&\"im\"in t)return new e.Complex(t.re,t.im);if(\"r\"in t&&\"phi\"in t)return e.Complex.fromPolar(t.r,t.phi);throw new Error(\"Expected object with either properties re and im, or properties r and phi.\")},\"Array | Matrix\":function(e){return i(e,s)}});return s.toTex={0:\"0\",1:\"\\\\left(${args[0]}\\\\right)\",2:\"\\\\left(\\\\left(${args[0]}\\\\right)+\"+o.symbols.i+\"\\\\cdot\\\\left(${args[1]}\\\\right)\\\\right)\"},s}var i=r(19);t.name=\"complex\",t.factory=n},function(e,t){\"use strict\";t.symbols={Alpha:\"A\",alpha:\"\\\\alpha\",Beta:\"B\",beta:\"\\\\beta\",Gamma:\"\\\\Gamma\",gamma:\"\\\\gamma\",Delta:\"\\\\Delta\",delta:\"\\\\delta\",Epsilon:\"E\",epsilon:\"\\\\epsilon\",varepsilon:\"\\\\varepsilon\",Zeta:\"Z\",zeta:\"\\\\zeta\",Eta:\"H\",eta:\"\\\\eta\",Theta:\"\\\\Theta\",theta:\"\\\\theta\",vartheta:\"\\\\vartheta\",Iota:\"I\",iota:\"\\\\iota\",Kappa:\"K\",kappa:\"\\\\kappa\",varkappa:\"\\\\varkappa\",Lambda:\"\\\\Lambda\",lambda:\"\\\\lambda\",Mu:\"M\",mu:\"\\\\mu\",Nu:\"N\",nu:\"\\\\nu\",Xi:\"\\\\Xi\",xi:\"\\\\xi\",Omicron:\"O\",omicron:\"o\",Pi:\"\\\\Pi\",pi:\"\\\\pi\",varpi:\"\\\\varpi\",Rho:\"P\",rho:\"\\\\rho\",varrho:\"\\\\varrho\",Sigma:\"\\\\Sigma\",sigma:\"\\\\sigma\",varsigma:\"\\\\varsigma\",Tau:\"T\",tau:\"\\\\tau\",Upsilon:\"\\\\Upsilon\",upsilon:\"\\\\upsilon\",Phi:\"\\\\Phi\",phi:\"\\\\phi\",varphi:\"\\\\varphi\",Chi:\"X\",chi:\"\\\\chi\",Psi:\"\\\\Psi\",psi:\"\\\\psi\",Omega:\"\\\\Omega\",omega:\"\\\\omega\",\"true\":\"\\\\mathrm{True}\",\"false\":\"\\\\mathrm{False}\",i:\"i\",inf:\"\\\\infty\",Inf:\"\\\\infty\",infinity:\"\\\\infty\",Infinity:\"\\\\infty\",oo:\"\\\\infty\",lim:\"\\\\lim\",undefined:\"\\\\mathbf{?}\"},t.operators={transpose:\"^\\\\top\",factorial:\"!\",pow:\"^\",dotPow:\".^\\\\wedge\",unaryPlus:\"+\",unaryMinus:\"-\",bitNot:\"~\",not:\"\\\\neg\",multiply:\"\\\\cdot\",divide:\"\\\\frac\",dotMultiply:\".\\\\cdot\",dotDivide:\".:\",mod:\"\\\\mod\",add:\"+\",subtract:\"-\",to:\"\\\\rightarrow\",leftShift:\"<<\",rightArithShift:\">>\",rightLogShift:\">>>\",equal:\"=\",unequal:\"\\\\neq\",smaller:\"<\",larger:\">\",smallerEq:\"\\\\leq\",largerEq:\"\\\\geq\",bitAnd:\"\\\\&\",bitXor:\"\\\\underline{|}\",bitOr:\"|\",and:\"\\\\wedge\",xor:\"\\\\veebar\",or:\"\\\\vee\"},t.defaultTemplate=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\";var r={deg:\"^\\\\circ\"};t.toSymbol=function(e,n){if(n=\"undefined\"==typeof n?!1:n)return r.hasOwnProperty(e)?r[e]:\"\\\\mathrm{\"+e+\"}\";if(t.symbols.hasOwnProperty(e))return t.symbols[e];if(-1!==e.indexOf(\"_\")){var i=e.indexOf(\"_\");return t.toSymbol(e.substring(0,i))+\"_{\"+t.toSymbol(e.substring(i+1))+\"}\"}return e}},function(e,t,r){e.exports=[r(32),r(36)]},function(e,t,r){function n(e,t,r,n){return i}var i=r(33);i.prototype.type=\"Fraction\",i.prototype.isFraction=!0,i.prototype.toJSON=function(){return{mathjs:\"Fraction\",n:this.s*this.n,d:this.d}},i.fromJSON=function(e){return new i(e)},t.name=\"Fraction\",t.path=\"type\",t.factory=n},function(e,t,r){var n,i;(function(e){/**\n\t * @license Fraction.js v3.0.0 09/09/2015\n\t * http://www.xarg.org/2014/03/precise-calculations-in-javascript/\n\t *\n\t * Copyright (c) 2015, Robert Eisele (robert@xarg.org)\n\t * Dual licensed under the MIT or GPL Version 2 licenses.\n\t **/\n!function(a){\"use strict\";function o(e,t){return isNaN(e=parseInt(e,10))&&s(),e*t}function s(){throw\"Invalid Param\"}function u(e,t){return this instanceof u?(l(e,t),e=u.REDUCE?g(f.d,f.n):1,this.s=f.s,this.n=f.n/e,void(this.d=f.d/e)):new u(e,t)}var c=2e3,f={s:1,n:0,d:1},l=function(e,t){var r,n=0,i=1,a=1,u=0,c=0,l=0,p=1,m=1,h=0,g=1,v=1,d=1,y=1e7;if(void 0===e||null===e);else if(void 0!==t)n=e,i=t,a=n*i;else switch(typeof e){case\"object\":\"d\"in e&&\"n\"in e?(n=e.n,i=e.d,\"s\"in e&&(n*=e.s)):0 in e?(n=e[0],1 in e&&(i=e[1])):s(),a=n*i;break;case\"number\":if(0>e&&(a=e,e=-e),e%1===0)n=e;else if(e>0){for(e>=1&&(m=Math.pow(10,Math.floor(1+Math.log(e)/Math.LN10)),e/=m);y>=g&&y>=d;){if(r=(h+v)/(g+d),e===r){y>=g+d?(n=h+v,i=g+d):d>g?(n=v,i=d):(n=h,i=g);break}e>r?(h+=v,g+=d):(v+=h,d+=g),g>y?(n=v,i=d):(n=h,i=g)}n*=m}break;case\"string\":if(g=e.match(/\\d+|./g),\"-\"===g[h]?(a=-1,h++):\"+\"===g[h]&&h++,g.length===h+1?c=o(g[h++],a):\".\"===g[h+1]||\".\"===g[h]?(\".\"!==g[h]&&(u=o(g[h++],a)),h++,(h+1===g.length||\"(\"===g[h+1]&&\")\"===g[h+3]||\"'\"===g[h+1]&&\"'\"===g[h+3])&&(c=o(g[h],a),p=Math.pow(10,g[h].length),h++),(\"(\"===g[h]&&\")\"===g[h+2]||\"'\"===g[h]&&\"'\"===g[h+2])&&(l=o(g[h+1],a),m=Math.pow(10,g[h+1].length)-1,h+=3)):\"/\"===g[h+1]||\":\"===g[h+1]?(c=o(g[h],a),p=o(g[h+2],1),h+=3):\"/\"===g[h+3]&&\" \"===g[h+1]&&(u=o(g[h],a),c=o(g[h+2],a),p=o(g[h+4],1),h+=5),g.length<=h){a=n=l+m*(u*p+c),i=p*m;break}default:s()}if(!i)throw\"DIV/0\";f.s=0>a?-1:1,f.n=Math.abs(n),f.d=Math.abs(i)},p=function(e,t,r){for(var n=1;t>0;e=e*e%r,t>>=1)1&t&&(n=n*e%r);return n},m=function(e,t){for(;t%2===0;t/=2);for(;t%5===0;t/=5);if(1===t)return 0;for(var r=10%t,n=1;1!==r;n++)if(r=10*r%t,n>c)return 0;return n},h=function(e,t,r){for(var n=1,i=p(10,r,t),a=0;300>a;a++){if(n===i)return a;n=10*n%t,i=10*i%t}return 0},g=function(e,t){if(!e)return t;if(!t)return e;for(;;){if(e%=t,!e)return t;if(t%=e,!t)return e}};u.REDUCE=1,u.prototype={s:1,n:0,d:1,abs:function(){return new u(this.n,this.d)},neg:function(){return new u(-this.s*this.n,this.d)},add:function(e,t){return l(e,t),new u(this.s*this.n*f.d+f.s*this.d*f.n,this.d*f.d)},sub:function(e,t){return l(e,t),new u(this.s*this.n*f.d-f.s*this.d*f.n,this.d*f.d)},mul:function(e,t){return l(e,t),new u(this.s*f.s*this.n*f.n,this.d*f.d)},div:function(e,t){return l(e,t),new u(this.s*f.s*this.n*f.d,this.d*f.n)},clone:function(){return new u(this)},mod:function(e,t){return void 0===e?new u(this.s*this.n%this.d,1):(l(e,t),0===f.n*this.d&&u(0,0),new u(this.s*f.d*this.n%(f.n*this.d),f.d*this.d))},gcd:function(e,t){return l(e,t),new u(g(f.n,this.n),f.d*this.d/g(f.d,this.d))},lcm:function(e,t){return l(e,t),new u(f.n*this.n/g(f.n,this.n),g(f.d,this.d))},ceil:function(){return new u(Math.ceil(this.s*this.n/this.d),1)},floor:function(){return new u(Math.floor(this.s*this.n/this.d),1)},round:function(){return new u(Math.round(this.s*this.n/this.d),1)},inverse:function(){return new u(this.s*this.d,this.n)},pow:function(e){var t=this.d,r=this.n;return 0>e?(this.d=Math.pow(r,-e),this.n=Math.pow(t,-e)):(this.d=Math.pow(t,e),this.n=Math.pow(r,e)),0===e%2&&(this.s=1),this},equals:function(e,t){return l(e,t),this.s*this.n*f.d===f.s*f.n*this.d},compare:function(e,t){l(e,t);var r=this.s*this.n*f.d-f.s*f.n*this.d;return(r>0)-(0>r)},divisible:function(e,t){return l(e,t),!(!(f.n*this.d)||this.n*f.d%(f.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(e){var t,r=\"\",n=this.n,i=this.d;return this.s<0&&(r+=\"-\"),1===i?r+=n:(e&&(t=Math.floor(n/i))>0&&(r+=t,r+=\" \",n%=i),r+=n,r+=\"/\",r+=i),r},toLatex:function(e){var t,r=\"\",n=this.n,i=this.d;return this.s<0&&(r+=\"-\"),1===i?r+=n:(e&&(t=Math.floor(n/i))>0&&(r+=t,n%=i),r+=\"\\\\frac{\",r+=n,r+=\"}{\",r+=i,r+=\"}\"),r},toString:function(){var e,t=this.n,r=this.d;u.REDUCE||(e=g(t,r),t/=e,r/=e);for(var n=String(t).split(\"\"),i=0,a=[~this.s?\"\":\"-\",\"\",\"\"],o=\"\",s=m(t,r),c=h(t,r,s),f=-1,l=1,p=10+s+c+n.length,v=0;p>v;v++,i*=10){if(v<n.length?i+=Number(n[v]):(l=2,f++),s>0)if(f===c)a[l]+=o+\"(\",o=\"\";else if(f===s+c){a[l]+=o+\")\";break}i>=r?(a[l]+=o+(i/r|0),o=\"\",i%=r):l>1?o+=\"0\":a[l]&&(a[l]+=\"0\")}return a[0]+=a[1]||\"0\",a[2]?a[0]+\".\"+a[2]:a[0]}},r(35).amd?(n=[],i=function(){return u}.apply(t,n),!(void 0!==i&&(e.exports=i))):e.exports=u}(this)}).call(t,r(34)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){e.exports=function(){throw new Error(\"define cannot be used indirect\")}},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"fraction\",{number:function(t){if(!isFinite(t)||isNaN(t))throw new Error(t+\" cannot be represented as a fraction\");return new e.Fraction(t)},string:function(t){return new e.Fraction(t)},\"number, number\":function(t,r){return new e.Fraction(t,r)},Fraction:function(e){return e},Object:function(t){return new e.Fraction(t)},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);t.name=\"fraction\",t.factory=n},function(e,t,r){e.exports=[r(38),r(46),r(47),r(49),r(58),r(64),r(65),r(66),r(67),r(51),r(68)]},function(e,t,r){\"use strict\";function n(e,t,r,n){function i(){if(!(this instanceof i))throw new SyntaxError(\"Constructor must be called with the new operator\")}return i.prototype.type=\"Matrix\",i.prototype.isMatrix=!0,i.storage=function(e){if(!o(e))throw new TypeError(\"format must be a string value\");var t=i._storage[e];if(!t)throw new SyntaxError(\"Unsupported matrix storage format: \"+e);return t},i._storage={},i.prototype.storage=function(){throw new Error(\"Cannot invoke storage on a Matrix interface\")},i.prototype.datatype=function(){throw new Error(\"Cannot invoke datatype on a Matrix interface\")},i.prototype.create=function(e,t){throw new Error(\"Cannot invoke create on a Matrix interface\")},i.prototype.subset=function(e,t,r){throw new Error(\"Cannot invoke subset on a Matrix interface\")},i.prototype.get=function(e){throw new Error(\"Cannot invoke get on a Matrix interface\")},i.prototype.set=function(e,t,r){throw new Error(\"Cannot invoke set on a Matrix interface\")},i.prototype.resize=function(e,t){throw new Error(\"Cannot invoke resize on a Matrix interface\")},i.prototype.clone=function(){throw new Error(\"Cannot invoke clone on a Matrix interface\")},i.prototype.size=function(){throw new Error(\"Cannot invoke size on a Matrix interface\")},i.prototype.map=function(e,t){throw new Error(\"Cannot invoke map on a Matrix interface\")},i.prototype.forEach=function(e){throw new Error(\"Cannot invoke forEach on a Matrix interface\")},i.prototype.toArray=function(){throw new Error(\"Cannot invoke toArray on a Matrix interface\")},i.prototype.valueOf=function(){throw new Error(\"Cannot invoke valueOf on a Matrix interface\")},i.prototype.format=function(e){throw new Error(\"Cannot invoke format on a Matrix interface\")},i.prototype.toString=function(){throw new Error(\"Cannot invoke toString on a Matrix interface\")},i}var i=r(39),a=i.string,o=a.isString;t.name=\"Matrix\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";t.array=r(40),t[\"boolean\"]=r(44),t[\"function\"]=r(45),t.number=r(6),t.object=r(3),t.string=r(23),t.types=r(41),t.emitter=r(8)},function(e,t,r){\"use strict\";function n(e,t,r){var i,a=e.length;if(a!=t[r])throw new f(a,t[r]);if(r<t.length-1){var o=r+1;for(i=0;a>i;i++){var s=e[i];if(!Array.isArray(s))throw new f(t.length-1,t.length,\"<\");n(e[i],t,o)}}else for(i=0;a>i;i++)if(Array.isArray(e[i]))throw new f(t.length+1,t.length,\">\")}function i(e,r,n,a){var o,s,u=e.length,f=r[n],l=Math.min(u,f);if(e.length=f,n<r.length-1){var p=n+1;for(o=0;l>o;o++)s=e[o],Array.isArray(s)||(s=[s],e[o]=s),i(s,r,p,a);for(o=l;f>o;o++)s=[],e[o]=s,i(s,r,p,a)}else{for(o=0;l>o;o++)for(;Array.isArray(e[o]);)e[o]=e[o][0];if(a!==t.UNINITIALIZED)for(o=l;f>o;o++)e[o]=c.clone(a)}}function a(e,t,r){var n,i;if(t>r){var o=r+1;for(n=0,i=e.length;i>n;n++)e[n]=a(e[n],t,o)}else for(;Array.isArray(e);)e=e[0];return e}function o(e,t,r){var n,i;if(Array.isArray(e)){var a=r+1;for(n=0,i=e.length;i>n;n++)e[n]=o(e[n],t,a)}else for(var s=r;t>s;s++)e=[e];return e}var s=r(6),u=r(23),c=r(3),f=(r(41),r(42)),l=r(43);t.size=function(e){for(var t=[];Array.isArray(e);)t.push(e.length),e=e[0];return t},t.validate=function(e,t){var r=0==t.length;if(r){if(Array.isArray(e))throw new f(e.length,0)}else n(e,t,0)},t.validateIndex=function(e,t){if(!s.isNumber(e)||!s.isInteger(e))throw new TypeError(\"Index must be an integer (value: \"+e+\")\");if(0>e)throw new l(e);if(void 0!==t&&e>=t)throw new l(e,t)},t.UNINITIALIZED={},t.resize=function(e,t,r){if(!Array.isArray(e)||!Array.isArray(t))throw new TypeError(\"Array expected\");if(0===t.length)throw new Error(\"Resizing to scalar is not supported\");t.forEach(function(e){if(!s.isNumber(e)||!s.isInteger(e)||0>e)throw new TypeError(\"Invalid size, must contain positive integers (size: \"+u.format(t)+\")\")});var n=void 0!==r?r:0;return i(e,t,0,n),e},t.squeeze=function(e,r){for(var n=r||t.size(e);Array.isArray(e)&&1===e.length;)e=e[0],n.shift();for(var i=n.length;1===n[i-1];)i--;return i<n.length&&(e=a(e,i,0),n.length=i),e},t.unsqueeze=function(e,r,n,i){var a=i||t.size(e);if(n)for(var s=0;n>s;s++)e=[e],a.unshift(1);for(e=o(e,r,0);a.length<r;)a.push(1);return e},t.flatten=function(e){if(!Array.isArray(e))return e;var t=[];return e.forEach(function r(e){Array.isArray(e)?e.forEach(r):t.push(e)}),t},t.isArray=Array.isArray},function(e,t){\"use strict\";t.type=function(e){var t=typeof e;return\"object\"===t?null===e?\"null\":e instanceof Boolean?\"boolean\":e instanceof Number?\"number\":e instanceof String?\"string\":Array.isArray(e)?\"Array\":e instanceof Date?\"Date\":e instanceof RegExp?\"RegExp\":\"Object\":\"function\"===t?\"Function\":t}},function(e,t){\"use strict\";function r(e,t,n){if(!(this instanceof r))throw new SyntaxError(\"Constructor must be called with the new operator\");this.actual=e,this.expected=t,this.relation=n,this.message=\"Dimension mismatch (\"+(Array.isArray(e)?\"[\"+e.join(\", \")+\"]\":e)+\" \"+(this.relation||\"!=\")+\" \"+(Array.isArray(t)?\"[\"+t.join(\", \")+\"]\":t)+\")\",this.stack=(new Error).stack}r.prototype=new RangeError,r.prototype.constructor=RangeError,r.prototype.name=\"DimensionError\",r.prototype.isDimensionError=!0,e.exports=r},function(e,t){\"use strict\";function r(e,t,n){if(!(this instanceof r))throw new SyntaxError(\"Constructor must be called with the new operator\");this.index=e,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=n),void 0!==this.min&&this.index<this.min?this.message=\"Index out of range (\"+this.index+\" < \"+this.min+\")\":void 0!==this.max&&this.index>=this.max?this.message=\"Index out of range (\"+this.index+\" > \"+(this.max-1)+\")\":this.message=\"Index out of range (\"+this.index+\")\",this.stack=(new Error).stack}r.prototype=new RangeError,r.prototype.constructor=RangeError,r.prototype.name=\"IndexError\",r.prototype.isIndexError=!0,e.exports=r},function(e,t){\"use strict\";t.isBoolean=function(e){return\"boolean\"==typeof e}},function(e,t){t.memoize=function(e,t){return function r(){\"object\"!=typeof r.cache&&(r.cache={});for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var a=t?t(n):JSON.stringify(n);return a in r.cache?r.cache[a]:r.cache[a]=e.apply(e,n)}}},function(e,t,r){\"use strict\";function n(e,t,n,c){function g(e,t){if(!(this instanceof g))throw new SyntaxError(\"Constructor must be called with the new operator\");if(t&&!m(t))throw new Error(\"Invalid datatype: \"+t);if(e&&e.isMatrix===!0)\"DenseMatrix\"===e.type?(this._data=u.clone(e._data),this._size=u.clone(e._size),this._datatype=t||e._datatype):(this._data=e.toArray(),this._size=e.size(),this._datatype=t||e._datatype);else if(e&&f(e.data)&&f(e.size))this._data=e.data,this._size=e.size,this._datatype=t||e.datatype;else if(f(e))this._data=b(e),this._size=s.size(this._data),s.validate(this._data,this._size),this._datatype=t;else{if(e)throw new TypeError(\"Unsupported type of data (\"+i.types.type(e)+\")\");this._data=[],this._size=[0],this._datatype=t}}function v(e,t){if(!t||t.isIndex!==!0)throw new TypeError(\"Invalid index\");var r=t.isScalar();if(r)return e.get(t.min());var n=t.size();if(n.length!=e._size.length)throw new a(n.length,e._size.length);for(var i=t.min(),o=t.max(),s=0,u=e._size.length;u>s;s++)h(i[s],e._size[s]),h(o[s],e._size[s]);return new g(d(e._data,t,n.length,0),e._datatype)}function d(e,t,r,n){var i=n==r-1,a=t.dimension(n);return i?a.map(function(t){return e[t]}).valueOf():a.map(function(i){var a=e[i];return d(a,t,r,n+1)}).valueOf()}function y(e,t,r,n){if(!t||t.isIndex!==!0)throw new TypeError(\"Invalid index\");var i,o=t.size(),c=t.isScalar();if(r&&r.isMatrix===!0?(i=r.size(),r=r.valueOf()):i=s.size(r),c){if(0!==i.length)throw new TypeError(\"Scalar expected\");e.set(t.min(),r,n)}else{if(o.length<e._size.length)throw new a(o.length,e._size.length,\"<\");if(i.length<o.length){for(var f=0,l=0;1===o[f]&&1===i[f];)f++;for(;1===o[f];)l++,f++;r=s.unsqueeze(r,o.length,l,i)}if(!u.deepEqual(o,i))throw new a(o,i,\">\");var p=t.max().map(function(e){return e+1});w(e,p,n);var m=o.length,h=0;x(e._data,t,r,m,h)}return e}function x(e,t,r,n,i){var a=i==n-1,o=t.dimension(i);a?o.forEach(function(t,n){h(t),e[t]=r[n[0]]}):o.forEach(function(a,o){h(a),x(e[a],t,r[o[0]],n,i+1)})}function w(e,t,r){for(var n=u.clone(e._size),i=!1;n.length<t.length;)n.push(0),i=!0;for(var a=0,o=t.length;o>a;a++)t[a]>n[a]&&(n[a]=t[a],i=!0);i&&E(e,n,r)}function b(e){for(var t=0,r=e.length;r>t;t++){var n=e[t];f(n)?e[t]=b(n):n&&n.isMatrix===!0&&(e[t]=b(n.valueOf()))}return e}var N=n(r(38));g.prototype=new N,g.prototype.type=\"DenseMatrix\",g.prototype.isDenseMatrix=!0,g.prototype.storage=function(){return\"dense\"},g.prototype.datatype=function(){return this._datatype},g.prototype.create=function(e,t){return new g(e,t)},g.prototype.subset=function(e,t,r){switch(arguments.length){case 1:return v(this,e);case 2:case 3:return y(this,e,t,r);default:throw new SyntaxError(\"Wrong number of arguments\")}},g.prototype.get=function(e){if(!f(e))throw new TypeError(\"Array expected\");if(e.length!=this._size.length)throw new a(e.length,this._size.length);for(var t=0;t<e.length;t++)h(e[t],this._size[t]);for(var r=this._data,n=0,i=e.length;i>n;n++){var o=e[n];h(o,r.length),r=r[o]}return u.clone(r)},g.prototype.set=function(e,t,r){if(!f(e))throw new TypeError(\"Array expected\");if(e.length<this._size.length)throw new a(e.length,this._size.length,\"<\");var n,i,o,s=e.map(function(e){return e+1});w(this,s,r);var u=this._data;for(n=0,i=e.length-1;i>n;n++)o=e[n],h(o,u.length),u=u[o];return o=e[e.length-1],h(o,u.length),u[o]=t,this},g.prototype.resize=function(e,t,r){if(!f(e))throw new TypeError(\"Array expected\");var n=r?this.clone():this;return E(n,e,t)};var E=function(e,t,r){if(0===t.length){for(var n=e._data;f(n);)n=n[0];return u.clone(n)}return e._size=u.clone(t),e._data=s.resize(e._data,e._size,r),e};return g.prototype.clone=function(){var e=new g({data:u.clone(this._data),size:u.clone(this._size),datatype:this._datatype});return e},g.prototype.size=function(){return this._size},g.prototype.map=function(e){var t=this,r=function(n,i){return f(n)?n.map(function(e,t){return r(e,i.concat(t))}):e(n,i,t)};return new g({data:r(this._data,[]),size:u.clone(this._size),datatype:this._datatype})},g.prototype.forEach=function(e){var t=this,r=function(n,i){f(n)?n.forEach(function(e,t){r(e,i.concat(t))}):e(n,i,t)};r(this._data,[])},g.prototype.toArray=function(){return u.clone(this._data)},g.prototype.valueOf=function(){return this._data},g.prototype.format=function(e){return o.format(this._data,e)},g.prototype.toString=function(){return o.format(this._data)},g.prototype.toJSON=function(){return{mathjs:\"DenseMatrix\",data:this._data,size:this._size,datatype:this._datatype}},g.prototype.diagonal=function(e){if(e){if(e.isBigNumber===!0&&(e=e.toNumber()),!l(e)||!p(e))throw new TypeError(\"The parameter k must be an integer number\")}else e=0;for(var t=e>0?e:0,r=0>e?-e:0,n=this._size[0],i=this._size[1],a=Math.min(n-r,i-t),o=[],s=0;a>s;s++)o[s]=u.clone(this._data[s+r][s+t]);return new g({data:o,size:[a],datatype:this._datatype})},g.diagonal=function(t,r,n,i,a){if(!f(t))throw new TypeError(\"Array expected, size parameter\");if(2!==t.length)throw new Error(\"Only two dimensions matrix are supported\");if(t=t.map(function(e){if(e&&e.isBigNumber===!0&&(e=e.toNumber()),!l(e)||!p(e)||1>e)throw new Error(\"Size values must be positive integers\");return e}),n){if(n&&n.isBigNumber===!0&&(n=n.toNumber()),!l(n)||!p(n))throw new TypeError(\"The parameter k must be an integer number\")}else n=0;i&&m(a)&&(i=c.convert(i,a));var o,u=n>0?n:0,h=0>n?-n:0,v=t[0],d=t[1],y=Math.min(v-h,d-u);if(f(r)){if(r.length!==y)throw new Error(\"Invalid value array length\");o=function(e){return r[e]}}else if(r&&r.isMatrix===!0){var x=r.size();if(1!==x.length||x[0]!==y)throw new Error(\"Invalid matrix length\");o=function(e){return r.get([e])}}else o=function(){return r};i||(i=o(0)&&o(0).isBigNumber===!0?new e.BigNumber(0):0);var w=[];if(t.length>0){w=s.resize(w,t,i);for(var b=0;y>b;b++)w[b+h][b+u]=o(b)}return new g({data:w,size:[v,d]})},g.fromJSON=function(e){return new g(e)},g.prototype.swapRows=function(e,t){if(!(l(e)&&p(e)&&l(t)&&p(t)))throw new Error(\"Row index must be positive integers\");if(2!==this._size.length)throw new Error(\"Only two dimensional matrix is supported\");return h(e,this._size[0]),h(t,this._size[0]),g._swapRows(e,t,this._data),this},g._swapRows=function(e,t,r){var n=r[e];r[e]=r[t],r[t]=n},e.Matrix._storage.dense=g,e.Matrix._storage[\"default\"]=g,g}var i=r(39),a=r(42),o=i.string,s=i.array,u=i.object,c=i.number,f=Array.isArray,l=c.isNumber,p=c.isInteger,m=o.isString,h=s.validateIndex;t.name=\"DenseMatrix\",t.path=\"type\",t.factory=n,t.lazy=!1},function(e,t,r){\"use strict\";function n(e,t,n,g){function v(e,t){if(!(this instanceof v))throw new SyntaxError(\"Constructor must be called with the new operator\");if(t&&!m(t))throw new Error(\"Invalid datatype: \"+t);if(e&&e.isMatrix===!0)x(this,e,t);else if(e&&f(e.index)&&f(e.ptr)&&f(e.size))this._values=e.values,this._index=e.index,this._ptr=e.ptr,this._size=e.size,this._datatype=t||e.datatype;else if(f(e))w(this,e,t);else{if(e)throw new TypeError(\"Unsupported type of data (\"+i.types.type(e)+\")\");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=t}}var d=n(r(38)),y=n(r(48)),x=function(e,t,r){\"SparseMatrix\"===t.type?(e._values=t._values?s.clone(t._values):void 0,e._index=s.clone(t._index),e._ptr=s.clone(t._ptr),e._size=s.clone(t._size),e._datatype=r||t._datatype):w(e,t.valueOf(),r||t._datatype)},w=function(e,t,r){e._values=[],e._index=[],e._ptr=[],e._datatype=r;var n=t.length,i=0,a=y,o=0;if(m(r)&&(a=g.find(y,[r,r])||y,o=g.convert(0,r)),n>0){var s=0;do{e._ptr.push(e._index.length);for(var u=0;n>u;u++){var c=t[u];if(f(c)){if(0===s&&i<c.length&&(i=c.length),s<c.length){var l=c[s];a(l,o)||(e._values.push(l),e._index.push(u))}}else 0===s&&1>i&&(i=1),a(c,o)||(e._values.push(c),e._index.push(u))}s++}while(i>s)}e._ptr.push(e._index.length),e._size=[n,i]};v.prototype=new d,v.prototype.type=\"SparseMatrix\",v.prototype.isSparseMatrix=!0,v.prototype.storage=function(){return\"sparse\"},v.prototype.datatype=function(){return this._datatype},v.prototype.create=function(e,t){return new v(e,t)},v.prototype.density=function(){var e=this._size[0],t=this._size[1];return 0!==e&&0!==t?this._index.length/(e*t):0},v.prototype.subset=function(e,t,r){if(!this._values)throw new Error(\"Cannot invoke subset on a Pattern only matrix\");switch(arguments.length){case 1:return b(this,e);case 2:case 3:return N(this,e,t,r);default:throw new SyntaxError(\"Wrong number of arguments\")}};var b=function(e,t){if(!t||t.isIndex!==!0)throw new TypeError(\"Invalid index\");var r=t.isScalar();if(r)return e.get(t.min());var n=t.size();if(n.length!=e._size.length)throw new a(n.length,e._size.length);var i,o,s,u,c=t.min(),f=t.max();for(i=0,o=e._size.length;o>i;i++)h(c[i],e._size[i]),h(f[i],e._size[i]);var l=e._values,p=e._index,m=e._ptr,g=t.dimension(0),d=t.dimension(1),y=[],x=[];g.forEach(function(e,t){x[e]=t[0],y[e]=!0});var w=l?[]:void 0,b=[],N=[];return d.forEach(function(e){for(N.push(b.length),s=m[e],u=m[e+1];u>s;s++)i=p[s],y[i]===!0&&(b.push(x[i]),w&&w.push(l[s]))}),N.push(b.length),new v({values:w,index:b,ptr:N,size:n,datatype:e._datatype})},N=function(e,t,r,n){if(!t||t.isIndex!==!0)throw new TypeError(\"Invalid index\");var i,u=t.size(),c=t.isScalar();if(r&&r.isMatrix===!0?(i=r.size(),r=r.toArray()):i=o.size(r),c){if(0!==i.length)throw new TypeError(\"Scalar expected\");e.set(t.min(),r,n)}else{if(1!==u.length&&2!==u.length)throw new a(u.length,e._size.length,\"<\");if(i.length<u.length){for(var f=0,l=0;1===u[f]&&1===i[f];)f++;for(;1===u[f];)l++,f++;r=o.unsqueeze(r,u.length,l,i)}if(!s.deepEqual(u,i))throw new a(u,i,\">\");for(var p=t.min()[0],m=t.min()[1],h=i[0],g=i[1],v=0;h>v;v++)for(var d=0;g>d;d++){var y=r[v][d];e.set([v+p,d+m],y,n)}}return e};v.prototype.get=function(e){if(!f(e))throw new TypeError(\"Array expected\");if(e.length!=this._size.length)throw new a(e.length,this._size.length);if(!this._values)throw new Error(\"Cannot invoke get on a Pattern only matrix\");var t=e[0],r=e[1];h(t,this._size[0]),h(r,this._size[1]);var n=E(t,this._ptr[r],this._ptr[r+1],this._index);return n<this._ptr[r+1]&&this._index[n]===t?s.clone(this._values[n]):0},v.prototype.set=function(e,t,r){if(!f(e))throw new TypeError(\"Array expected\");if(e.length!=this._size.length)throw new a(e.length,this._size.length);if(!this._values)throw new Error(\"Cannot invoke set on a Pattern only matrix\");var n=e[0],i=e[1],o=this._size[0],s=this._size[1],u=y,c=0;m(this._datatype)&&(u=g.find(y,[this._datatype,this._datatype])||y,c=g.convert(0,this._datatype)),(n>o-1||i>s-1)&&(_(this,Math.max(n+1,o),Math.max(i+1,s),r),o=this._size[0],s=this._size[1]),h(n,o),h(i,s);var l=E(n,this._ptr[i],this._ptr[i+1],this._index);return l<this._ptr[i+1]&&this._index[l]===n?u(t,c)?M(l,i,this._values,this._index,this._ptr):this._values[l]=t:A(l,n,i,t,this._values,this._index,this._ptr),this};var E=function(e,t,r,n){if(r-t===0)return r;for(var i=t;r>i;i++)if(n[i]===e)return i;return t},M=function(e,t,r,n,i){r.splice(e,1),n.splice(e,1);for(var a=t+1;a<i.length;a++)i[a]--},A=function(e,t,r,n,i,a,o){i.splice(e,0,n),a.splice(e,0,t);for(var s=r+1;s<o.length;s++)o[s]++};v.prototype.resize=function(e,t,r){if(!f(e))throw new TypeError(\"Array expected\");if(2!==e.length)throw new Error(\"Only two dimensions matrix are supported\");e.forEach(function(t){if(!c.isNumber(t)||!c.isInteger(t)||0>t)throw new TypeError(\"Invalid size, must contain positive integers (size: \"+u.format(e)+\")\")});var n=r?this.clone():this;return _(n,e[0],e[1],t)};var _=function(e,t,r,n){var i=n||0,a=y,o=0;m(e._datatype)&&(a=g.find(y,[e._datatype,e._datatype])||y,o=g.convert(0,e._datatype),i=g.convert(i,e._datatype));var s,u,c,f=!a(i,o),l=e._size[0],p=e._size[1];if(r>p){for(u=p;r>u;u++)if(e._ptr[u]=e._values.length,f)for(s=0;l>s;s++)e._values.push(i),e._index.push(s);e._ptr[r]=e._values.length}else p>r&&(e._ptr.splice(r+1,p-r),e._values.splice(e._ptr[r],e._values.length),e._index.splice(e._ptr[r],e._index.length));if(p=r,t>l){if(f){var h=0;for(u=0;p>u;u++){e._ptr[u]=e._ptr[u]+h,c=e._ptr[u+1]+h;var v=0;for(s=l;t>s;s++,v++)e._values.splice(c+v,0,i),e._index.splice(c+v,0,s),h++}e._ptr[p]=e._values.length}}else if(l>t){var d=0;for(u=0;p>u;u++){e._ptr[u]=e._ptr[u]-d;var x=e._ptr[u],w=e._ptr[u+1]-d;for(c=x;w>c;c++)s=e._index[c],s>t-1&&(e._values.splice(c,1),e._index.splice(c,1),d++)}e._ptr[u]=e._values.length}return e._size[0]=t,e._size[1]=r,e};v.prototype.clone=function(){var e=new v({values:this._values?s.clone(this._values):void 0,index:s.clone(this._index),ptr:s.clone(this._ptr),size:s.clone(this._size),datatype:this._datatype});return e},v.prototype.size=function(){return s.clone(this._size)},v.prototype.map=function(e,t){if(!this._values)throw new Error(\"Cannot invoke map on a Pattern only matrix\");var r=this,n=this._size[0],i=this._size[1],a=function(t,n,i){return e(t,[n,i],r)};return O(this,0,n-1,0,i-1,a,t)};var O=function(e,t,r,n,i,a,o){var s=[],u=[],c=[],f=y,l=0;m(e._datatype)&&(f=g.find(y,[e._datatype,e._datatype])||y,l=g.convert(0,e._datatype));for(var p=function(e,t,r){e=a(e,t,r),f(e,l)||(s.push(e),u.push(t))},h=n;i>=h;h++){c.push(s.length);for(var d=e._ptr[h],x=e._ptr[h+1],w=t,b=d;x>b;b++){var N=e._index[b];if(N>=t&&r>=N){if(!o)for(var E=w;N>E;E++)p(0,E-t,h-n);p(e._values[b],N-t,h-n)}w=N+1}if(!o)for(var M=w;r>=M;M++)p(0,M-t,h-n)}return c.push(s.length),new v({values:s,index:u,ptr:c,size:[r-t+1,i-n+1]})};v.prototype.forEach=function(e,t){if(!this._values)throw new Error(\"Cannot invoke forEach on a Pattern only matrix\");for(var r=this,n=this._size[0],i=this._size[1],a=0;i>a;a++){for(var o=this._ptr[a],s=this._ptr[a+1],u=0,c=o;s>c;c++){var f=this._index[c];if(!t)for(var l=u;f>l;l++)e(0,[l,a],r);e(this._values[c],[f,a],r),u=f+1}if(!t)for(var p=u;n>p;p++)e(0,[p,a],r)}},v.prototype.toArray=function(){return T(this._values,this._index,this._ptr,this._size,!0)},v.prototype.valueOf=function(){return T(this._values,this._index,this._ptr,this._size,!1)};var T=function(e,t,r,n,i){var a,o,u=n[0],c=n[1],f=[];for(a=0;u>a;a++)for(f[a]=[],o=0;c>o;o++)f[a][o]=0;for(o=0;c>o;o++)for(var l=r[o],p=r[o+1],m=l;p>m;m++)a=t[m],f[a][o]=e?i?s.clone(e[m]):e[m]:1;return f};return v.prototype.format=function(e){for(var t=this._size[0],r=this._size[1],n=this.density(),i=\"Sparse Matrix [\"+u.format(t,e)+\" x \"+u.format(r,e)+\"] density: \"+u.format(n,e)+\"\\n\",a=0;r>a;a++)for(var o=this._ptr[a],s=this._ptr[a+1],c=o;s>c;c++){var f=this._index[c];i+=\"\\n (\"+u.format(f,e)+\", \"+u.format(a,e)+\") ==> \"+(this._values?u.format(this._values[c],e):\"X\")}return i},v.prototype.toString=function(){return u.format(this.toArray())},v.prototype.toJSON=function(){return{mathjs:\"SparseMatrix\",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},v.prototype.diagonal=function(e){if(e){if(e.isBigNumber===!0&&(e=e.toNumber()),!l(e)||!p(e))throw new TypeError(\"The parameter k must be an integer number\")}else e=0;var t=e>0?e:0,r=0>e?-e:0,n=this._size[0],i=this._size[1],a=Math.min(n-r,i-t),o=[],u=[],c=[];c[0]=0;for(var f=t;i>f&&o.length<a;f++)for(var m=this._ptr[f],h=this._ptr[f+1],g=m;h>g;g++){var d=this._index[g];if(d===f-t+r){o.push(s.clone(this._values[g])),u[o.length-1]=d-r;break}}return c.push(o.length),new v({values:o,index:u,ptr:c,size:[a,1]})},v.fromJSON=function(e){return new v(e)},v.diagonal=function(e,t,r,n,i){if(!f(e))throw new TypeError(\"Array expected, size parameter\");if(2!==e.length)throw new Error(\"Only two dimensions matrix are supported\");if(e=e.map(function(e){if(e&&e.isBigNumber===!0&&(e=e.toNumber()),!l(e)||!p(e)||1>e)throw new Error(\"Size values must be positive integers\");return e}),r){if(r.isBigNumber===!0&&(r=r.toNumber()),!l(r)||!p(r))throw new TypeError(\"The parameter k must be an integer number\")}else r=0;var a=y,o=0;m(i)&&(a=g.find(y,[i,i])||y,o=g.convert(0,i));var s,u=r>0?r:0,c=0>r?-r:0,h=e[0],d=e[1],x=Math.min(h-c,d-u);if(f(t)){if(t.length!==x)throw new Error(\"Invalid value array length\");s=function(e){return t[e]}}else if(t&&t.isMatrix===!0){var w=t.size();if(1!==w.length||w[0]!==x)throw new Error(\"Invalid matrix length\");s=function(e){return t.get([e])}}else s=function(){return t};for(var b=[],N=[],E=[],M=0;d>M;M++){E.push(b.length);var A=M-u;if(A>=0&&x>A){var _=s(A);a(_,o)||(N.push(A+c),b.push(_))}}return E.push(b.length),new v({values:b,index:N,ptr:E,size:[h,d]})},v.prototype.swapRows=function(e,t){if(!(l(e)&&p(e)&&l(t)&&p(t)))throw new Error(\"Row index must be positive integers\");if(2!==this._size.length)throw new Error(\"Only two dimensional matrix is supported\");return h(e,this._size[0]),h(t,this._size[0]),v._swapRows(e,t,this._size[1],this._values,this._index,this._ptr),this},v._forEachRow=function(e,t,r,n,i){for(var a=n[e],o=n[e+1],s=a;o>s;s++)i(r[s],t[s])},v._swapRows=function(e,t,r,n,i,a){for(var o=0;r>o;o++){var s=a[o],u=a[o+1],c=E(e,s,u,i),f=E(t,s,u,i);if(u>c&&u>f&&i[c]===e&&i[f]===t){if(n){var l=n[c];n[c]=n[f],n[f]=l}}else if(u>c&&i[c]===e&&(f>=u||i[f]!==t)){var p=n?n[c]:void 0;i.splice(f,0,t),n&&n.splice(f,0,p),i.splice(c>=f?c+1:c,1),n&&n.splice(c>=f?c+1:c,1)}else if(u>f&&i[f]===t&&(c>=u||i[c]!==e)){var m=n?n[f]:void 0;i.splice(c,0,e),n&&n.splice(c,0,m),i.splice(f>=c?f+1:f,1),n&&n.splice(f>=c?f+1:f,1)}}},e.Matrix._storage.sparse=v,v}var i=r(39),a=r(42),o=i.array,s=i.object,u=i.string,c=i.number,f=Array.isArray,l=c.isNumber,p=c.isInteger,m=u.isString,h=o.validateIndex;t.name=\"SparseMatrix\",t.path=\"type\",t.factory=n,t.lazy=!1},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"equalScalar\",{\"boolean, boolean\":function(e,t){return e===t},\"number, number\":function(e,r){return e===r||i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.eq(t)},\"Fraction, Fraction\":function(e,t){return e.equals(t)},\"Complex, Complex\":function(e,r){return(e.re===r.re||i(e.re,r.re,t.epsilon))&&(e.im===r.im||i(e.im,r.im,t.epsilon))},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value===r.value||i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return e===t}});return a}var i=r(6).nearlyEqual;t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){function i(){if(!(this instanceof i))throw new SyntaxError(\"Constructor must be called with the new operator\");this._values=[],this._heap=new e.FibonacciHeap}var a=n(r(50)),o=n(r(48));return i.prototype.type=\"Spa\",i.prototype.isSpa=!0,i.prototype.set=function(e,t){if(this._values[e])this._values[e].value=t;else{var r=this._heap.insert(e,t);this._values[e]=r}},i.prototype.get=function(e){var t=this._values[e];return t?t.value:0},i.prototype.accumulate=function(e,t){var r=this._values[e];r?r.value=a(r.value,t):(r=this._heap.insert(e,t),this._values[e]=r)},i.prototype.forEach=function(e,t,r){var n=this._heap,i=this._values,a=[],s=n.extractMinimum();for(s&&a.push(s);s&&s.key<=t;)s.key>=e&&(o(s.value,0)||r(s.key,s.value,this)),s=n.extractMinimum(),s&&a.push(s);for(var u=0;u<a.length;u++){var c=a[u];s=n.insert(c.key,c.value),i[s.key]=s}},i.prototype.swap=function(e,t){var r=this._values[e],n=this._values[t];if(!r&&n)r=this._heap.insert(e,n.value),this._heap.remove(n),this._values[e]=r,this._values[t]=void 0;else if(r&&!n)n=this._heap.insert(t,r.value),this._heap.remove(r),this._values[t]=n,this._values[e]=void 0;else if(r&&n){var i=r.value;r.value=n.value,n.value=i}},i}t.name=\"Spa\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(52)),u=r(30),c=n(r(53)),f=n(r(54)),l=n(r(55)),p=n(r(56)),m=n(r(57)),h=a(\"add\",i({\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,s);break;default:r=c(t,e,s,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,s,!1);break;default:r=p(e,t,s)}}return r},\"Array, Array\":function(e,t){return h(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(o(e),t)},\"Matrix, Array\":function(e,t){return h(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,s,!1);break;default:r=m(e,t,s,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,s,!0);break;default:r=m(t,e,s,!0)}return r},\"Array, any\":function(e,t){return m(o(e),t,s,!1).valueOf()},\"any, Array\":function(e,t){return m(o(t),e,s,!0).valueOf()}},s.signatures));return h.toTex=\"\\\\left(${args[0]}\"+u.operators.add+\"${args[1]}\\\\right)\",h}var i=r(3).extend;t.name=\"add\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){function i(t,r,n){var i=e.Matrix.storage(r||\"default\");return new i(t,n)}var a=n(\"matrix\",{\"\":function(){return i([])},string:function(e){return i([],e)},\"string, string\":function(e,t){return i([],e,t)},Array:function(e){return i(e)},Matrix:function(e){return i(e,e.storage())},\"Array | Matrix, string\":i,\"Array | Matrix, string, string\":i});return a.toTex={0:\"\\\\begin{bmatrix}\\\\end{bmatrix}\",1:\"\\\\left(${args[0]}\\\\right)\",2:\"\\\\left(${args[0]}\\\\right)\"},a}t.name=\"matrix\",t.factory=r},function(e,t){\"use strict\";function r(e,t,r,n){return n(\"add\",{\"number, number\":function(e,t){return e+t},\"Complex, Complex\":function(t,r){return new e.Complex(t.re+r.re,t.im+r.im);\n},\"BigNumber, BigNumber\":function(e,t){return e.plus(t)},\"Fraction, Fraction\":function(e,t){return e.add(t)},\"Unit, Unit\":function(e,t){if(null==e.value)throw new Error(\"Parameter x contains a unit with undefined value\");if(null==t.value)throw new Error(\"Parameter y contains a unit with undefined value\");if(!e.equalBase(t))throw new Error(\"Units do not match\");var r=e.clone();return r.value+=t.value,r.fixPrefix=!1,r}})}t.factory=r},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=e.DenseMatrix,o=function(e,t,r,o){var s=e._data,u=e._size,c=e._datatype,f=t._values,l=t._index,p=t._ptr,m=t._size,h=t._datatype;if(u.length!==m.length)throw new i(u.length,m.length);if(u[0]!==m[0]||u[1]!==m[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+u+\") must match Matrix B (\"+m+\")\");if(!f)throw new Error(\"Cannot perform operation on Dense Matrix and Pattern Sparse Matrix\");var g,v,d=u[0],y=u[1],x=\"string\"==typeof c&&c===h?c:void 0,w=x?n.find(r,[x,x]):r,b=[];for(g=0;d>g;g++)b[g]=[];var N=[],E=[];for(v=0;y>v;v++){for(var M=v+1,A=p[v],_=p[v+1],O=A;_>O;O++)g=l[O],N[g]=o?w(f[O],s[g][v]):w(s[g][v],f[O]),E[g]=M;for(g=0;d>g;g++)E[g]===M?b[g][v]=N[g]:b[g][v]=s[g][v]}return new a({data:b,size:[d,y],datatype:x})};return o}var i=r(42);t.name=\"algorithm01\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r){var n=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype,p=t._values,m=t._index,h=t._ptr,g=t._size,v=t._datatype;if(f.length!==g.length)throw new i(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+f+\") must match Matrix B (\"+g+\")\");var d,y=f[0],x=f[1],w=o,b=0,N=r;\"string\"==typeof l&&l===v&&(d=l,w=a.find(o,[d,d]),b=a.convert(0,d),N=a.find(r,[d,d]));var E,M,A,_,O,T=n&&p?[]:void 0,C=[],S=[],z=new s({values:T,index:C,ptr:S,size:[y,x],datatype:d}),B=n&&p?[]:void 0,k=n&&p?[]:void 0,I=[],R=[];for(M=0;x>M;M++){S[M]=C.length;var P=M+1;for(_=c[M],O=c[M+1],A=_;O>A;A++)E=u[A],C.push(E),I[E]=P,B&&(B[E]=n[A]);for(_=h[M],O=h[M+1],A=_;O>A;A++)if(E=m[A],I[E]===P){if(B){var U=N(B[E],p[A]);w(U,b)?I[E]=null:B[E]=U}}else C.push(E),R[E]=P,k&&(k[E]=p[A]);if(B&&k)for(A=S[M];A<C.length;)E=C[A],I[E]===P?(T[A]=B[E],A++):R[E]===P?(T[A]=k[E],A++):C.splice(A,1)}return S[x]=C.length,z};return u}var i=r(42);t.name=\"algorithm04\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){var i=e.DenseMatrix,a=function(e,t,r,a){var o=e._values,s=e._index,u=e._ptr,c=e._size,f=e._datatype;if(!o)throw new Error(\"Cannot perform operation on Pattern Sparse Matrix and Scalar value\");var l,p=c[0],m=c[1],h=r;\"string\"==typeof f&&(l=f,t=n.convert(t,l),h=n.find(r,[l,l]));for(var g=[],v=new i({data:g,size:[p,m],datatype:l}),d=[],y=[],x=0;m>x;x++){for(var w=x+1,b=u[x],N=u[x+1],E=b;N>E;E++){var M=s[E];d[M]=o[E],y[M]=w}for(var A=0;p>A;A++)0===x&&(g[A]=[]),y[A]===w?g[A][x]=a?h(t,d[A]):h(d[A],t):g[A][x]=t}return v};return a}t.name=\"algorithm10\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,r,n){var i=e.DenseMatrix,o=function(e,t,r){var o=e._data,u=e._size,c=e._datatype,f=t._data,l=t._size,p=t._datatype,m=[];if(u.length!==l.length)throw new a(u.length,l.length);for(var h=0;h<u.length;h++){if(u[h]!==l[h])throw new RangeError(\"Dimension mismatch. Matrix A (\"+u+\") must match Matrix B (\"+l+\")\");m[h]=u[h]}var g,v=r;\"string\"==typeof c&&c===p&&(g=c,t=n.convert(t,g),v=n.find(r,[g,g]));var d=m.length>0?s(v,0,m,m[0],o,f):[];return new i({data:d,size:m,datatype:g})},s=function(e,t,r,n,i,a){var o=[];if(t===r.length-1)for(var u=0;n>u;u++)o[u]=e(i[u],a[u]);else for(var c=0;n>c;c++)o[c]=s(e,t+1,r,r[t+1],i[c],a[c]);return o};return o}var i=r(39),a=r(42),o=i.string;o.isString;t.name=\"algorithm13\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=e.DenseMatrix,o=function(e,t,r,o){var u,c=e._data,f=e._size,l=e._datatype,p=r;\"string\"==typeof l&&(u=l,t=n.convert(t,u),p=n.find(r,[u,u]));var m=f.length>0?s(p,0,f,f[0],c,t,o):[];return new a({data:m,size:i(f),datatype:u})},s=function(e,t,r,n,i,a,o){var u=[];if(t===r.length-1)for(var c=0;n>c;c++)u[c]=o?e(a,i[c]):e(i[c],a);else for(var f=0;n>f;f++)u[f]=s(e,t+1,r,r[t+1],i[f],a,o);return u};return o}var i=r(3).clone;t.name=\"algorithm14\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");this._minimum=null,this._size=0}var o=n(r(59)),s=n(r(63)),u=1/Math.log((1+Math.sqrt(5))/2);a.prototype.type=\"FibonacciHeap\",a.prototype.isFibonacciHeap=!0,a.prototype.insert=function(e,t){var r={key:e,value:t,degree:0};if(this._minimum){var n=this._minimum;r.left=n,r.right=n.right,n.right=r,r.right.left=r,o(e,n.key)&&(this._minimum=r)}else r.left=r,r.right=r,this._minimum=r;return this._size++,r},a.prototype.size=function(){return this._size},a.prototype.clear=function(){this._minimum=null,this._size=0},a.prototype.isEmpty=function(){return!!this._minimum},a.prototype.extractMinimum=function(){var e=this._minimum;if(null===e)return e;for(var t=this._minimum,r=e.degree,n=e.child;r>0;){var i=n.right;n.left.right=n.right,n.right.left=n.left,n.left=t,n.right=t.right,t.right=n,n.right.left=n,n.parent=null,n=i,r--}return e.left.right=e.right,e.right.left=e.left,e==e.right?t=null:(t=e.right,t=m(t,this._size)),this._size--,this._minimum=t,e},a.prototype.remove=function(e){this._minimum=c(this._minimum,e,-1),this.extractMinimum()};var c=function(e,t,r){t.key=r;var n=t.parent;return n&&o(t.key,n.key)&&(f(e,t,n),l(e,n)),o(t.key,e.key)&&(e=t),e},f=function(e,t,r){t.left.right=t.right,t.right.left=t.left,r.degree--,r.child==t&&(r.child=t.right),0===r.degree&&(r.child=null),t.left=e,t.right=e.right,e.right=t,t.right.left=t,t.parent=null,t.mark=!1},l=function(e,t){var r=t.parent;r&&(t.mark?(f(e,t,r),l(r)):t.mark=!0)},p=function(e,t){e.left.right=e.right,e.right.left=e.left,e.parent=t,t.child?(e.left=t.child,e.right=t.child.right,t.child.right=e,e.right.left=e):(t.child=e,e.right=e,e.left=e),t.degree++,e.mark=!1},m=function(e,t){var r=Math.floor(Math.log(t)*u)+1,n=new Array(r),i=0,a=e;if(a)for(i++,a=a.right;a!==e;)i++,a=a.right;for(var c;i>0;){for(var f=a.degree,l=a.right;;){if(c=n[f],!c)break;if(s(a.key,c.key)){var m=c;c=a,a=m}p(c,a),n[f]=null,f++}n[f]=a,a=l,i--}e=null;for(var h=0;r>h;h++)c=n[h],c&&(e?(c.left.right=c.right,c.right.left=c.left,c.left=e,c.right=e.right,e.right=c,c.right.left=c,o(c.key,e.key)&&(e=c)):e=c);return e};return a}t.name=\"FibonacciHeap\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"smaller\",{\"boolean, boolean\":function(e,t){return t>e},\"number, number\":function(e,r){return r>e&&!i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.lt(t)},\"Fraction, Fraction\":function(e,t){return-1===e.compare(t)},\"Complex, Complex\":function(e,t){throw new TypeError(\"No ordering relation is defined for complex numbers\")},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value<r.value&&!i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return t>e},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,m);break;default:r=s(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,m,!1);break;default:r=f(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,m,!1);break;default:r=l(e,t,m,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,m,!0);break;default:r=l(t,e,m,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,m,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,m,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.smaller+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"smaller\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=e.DenseMatrix,o=function(e,t,r,o){var s=e._data,u=e._size,c=e._datatype,f=t._values,l=t._index,p=t._ptr,m=t._size,h=t._datatype;if(u.length!==m.length)throw new i(u.length,m.length);if(u[0]!==m[0]||u[1]!==m[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+u+\") must match Matrix B (\"+m+\")\");if(!f)throw new Error(\"Cannot perform operation on Dense Matrix and Pattern Sparse Matrix\");var g,v=u[0],d=u[1],y=0,x=r;\"string\"==typeof c&&c===h&&(g=c,y=n.convert(0,g),x=n.find(r,[g,g]));for(var w=[],b=0;v>b;b++)w[b]=[];for(var N=[],E=[],M=0;d>M;M++){for(var A=M+1,_=p[M],O=p[M+1],T=_;O>T;T++){var C=l[T];N[C]=o?x(f[T],s[C][M]):x(s[C][M],f[T]),E[C]=A}for(var S=0;v>S;S++)E[S]===A?w[S][M]=N[S]:w[S][M]=o?x(y,s[S][M]):x(s[S][M],y)}return new a({data:w,size:[v,d],datatype:g})};return o}var i=r(42);t.name=\"algorithm03\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=e.DenseMatrix,o=function(e,t,r){var o=e._size,u=e._datatype,c=t._size,f=t._datatype;if(o.length!==c.length)throw new i(o.length,c.length);if(o[0]!==c[0]||o[1]!==c[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+o+\") must match Matrix B (\"+c+\")\");var l,p=o[0],m=o[1],h=0,g=r;\"string\"==typeof u&&u===f&&(l=u,h=n.convert(0,l),g=n.find(r,[l,l]));var v,d,y=[];for(v=0;p>v;v++)y[v]=[];var x=new a({data:y,size:[p,m],datatype:l}),w=[],b=[],N=[],E=[];for(d=0;m>d;d++){var M=d+1;for(s(e,d,N,w,M),s(t,d,E,b,M),v=0;p>v;v++){var A=N[v]===M?w[v]:h,_=E[v]===M?b[v]:h;y[v][d]=g(A,_)}}return x},s=function(e,t,r,n,i){for(var a=e._values,o=e._index,s=e._ptr,u=s[t],c=s[t+1];c>u;u++){var f=o[u];r[f]=i,n[f]=a[u]}};return o}var i=r(42);t.name=\"algorithm07\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){var i=e.DenseMatrix,a=function(e,t,r,a){var o=e._values,s=e._index,u=e._ptr,c=e._size,f=e._datatype;if(!o)throw new Error(\"Cannot perform operation on Pattern Sparse Matrix and Scalar value\");var l,p=c[0],m=c[1],h=r;\"string\"==typeof f&&(l=f,t=n.convert(t,l),h=n.find(r,[l,l]));for(var g=[],v=new i({data:g,size:[p,m],datatype:l}),d=[],y=[],x=0;m>x;x++){for(var w=x+1,b=u[x],N=u[x+1],E=b;N>E;E++){var M=s[E];d[M]=o[E],y[M]=w}for(var A=0;p>A;A++)0===x&&(g[A]=[]),y[A]===w?g[A][x]=a?h(t,d[A]):h(d[A],t):g[A][x]=a?h(t,0):h(0,t)}return v};return a}t.name=\"algorithm12\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"larger\",{\"boolean, boolean\":function(e,t){return e>t},\"number, number\":function(e,r){return e>r&&!i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.gt(t)},\"Fraction, Fraction\":function(e,t){return 1===e.compare(t)},\"Complex, Complex\":function(){throw new TypeError(\"No ordering relation is defined for complex numbers\")},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value>r.value&&!i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return e>t},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,m);break;default:r=s(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,m,!1);break;default:r=f(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,m,!1);break;default:r=l(e,t,m,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,m,!0);break;default:r=l(t,e,m,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,m,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,m,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.larger+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"larger\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){function a(e,t){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(t&&!u(t))throw new Error(\"Invalid datatype: \"+t);if(e&&e.isMatrix===!0||s(e)){var r=new c(e,t);this._data=r._data,this._size=r._size,this._datatype=r._datatype,this._min=null,this._max=null}else if(e&&s(e.data)&&s(e.size))this._data=e.data,this._size=e.size,this._datatype=e.datatype,this._min=\"undefined\"!=typeof e.min?e.min:null,this._max=\"undefined\"!=typeof e.max?e.max:null;else{if(e)throw new TypeError(\"Unsupported type of data (\"+i.types.type(e)+\")\");this._data=[],this._size=[0],this._datatype=t,this._min=null,this._max=null}}var c=n(r(46)),f=n(r(59));return a.prototype=new c,a.prototype.type=\"ImmutableDenseMatrix\",a.prototype.isImmutableDenseMatrix=!0,a.prototype.subset=function(e){switch(arguments.length){case 1:var t=c.prototype.subset.call(this,e);return t.isMatrix?new a({data:t._data,size:t._size,datatype:t._datatype}):t;case 2:case 3:throw new Error(\"Cannot invoke set subset on an Immutable Matrix instance\");default:throw new SyntaxError(\"Wrong number of arguments\")}},a.prototype.set=function(){throw new Error(\"Cannot invoke set on an Immutable Matrix instance\")},a.prototype.resize=function(){throw new Error(\"Cannot invoke resize on an Immutable Matrix instance\")},a.prototype.clone=function(){var e=new a({data:o.clone(this._data),size:o.clone(this._size),datatype:this._datatype});return e},a.prototype.toJSON=function(){return{mathjs:\"ImmutableDenseMatrix\",data:this._data,size:this._size,datatype:this._datatype}},a.fromJSON=function(e){return new a(e)},a.prototype.swapRows=function(){throw new Error(\"Cannot invoke swapRows on an Immutable Matrix instance\")},a.prototype.min=function(){if(null===this._min){var e=null;this.forEach(function(t){(null===e||f(t,e))&&(e=t)}),this._min=null!==e?e:void 0}return this._min},a.prototype.max=function(){if(null===this._max){var e=null;this.forEach(function(t){(null===e||f(e,t))&&(e=t)}),this._max=null!==e?e:void 0}return this._max},a}var i=r(39),a=i.string,o=i.object,s=Array.isArray,u=a.isString;t.name=\"ImmutableDenseMatrix\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e){function t(e){if(!(this instanceof t))throw new SyntaxError(\"Constructor must be called with the new operator\");this._dimensions=[],this._isScalar=!0;for(var n=0,i=arguments.length;i>n;n++){var a=arguments[n];if(a&&a.isRange===!0)this._dimensions.push(a),this._isScalar=!1;else if(a&&(Array.isArray(a)||a.isMatrix===!0)){var o=r(a.valueOf());this._dimensions.push(o);var s=o.size();this._isScalar=1===s.length&&1===s[0]}else{if(\"number\"!=typeof a)throw new TypeError(\"Dimension must be an Array, Matrix, Number or Range\");this._dimensions.push(r([a]))}}}function r(t){for(var r=0,n=t.length;n>r;r++)if(\"number\"!=typeof t[r]||!a(t[r]))throw new TypeError(\"Index parameters must be positive integer numbers\");return new e.ImmutableDenseMatrix(t)}return t.prototype.type=\"Index\",t.prototype.isIndex=!0,t.prototype.clone=function(){var e=new t;return e._dimensions=i(this._dimensions),e._isScalar=this._isScalar,e},t.create=function(e){var r=new t;return t.apply(r,e),r},t.prototype.size=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++){var n=this._dimensions[t];e[t]=n.size()[0]}return e},t.prototype.max=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++){var n=this._dimensions[t];e[t]=n.max()}return e},t.prototype.min=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++){var n=this._dimensions[t];e[t]=n.min()}return e},t.prototype.forEach=function(e){for(var t=0,r=this._dimensions.length;r>t;t++)e(this._dimensions[t],t,this)},t.prototype.dimension=function(e){return this._dimensions[e]||null},t.prototype.isScalar=function(){return this._isScalar},t.prototype.toArray=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++)e.push(this._dimensions[t].toArray());return e},t.prototype.valueOf=t.prototype.toArray,t.prototype.toString=function(){for(var e=[],t=0,r=this._dimensions.length;r>t;t++)e.push(this._dimensions[t].toString());return\"[\"+e.join(\", \")+\"]\"},t.prototype.toJSON=function(){return{mathjs:\"Index\",dimensions:this._dimensions}},t.fromJSON=function(e){return t.create(e.dimensions)},t}var i=r(3).clone,a=r(6).isInteger;t.name=\"Index\",t.path=\"type\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){function a(e,t,r){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(null!=e)if(e.isBigNumber===!0)e=e.toNumber();else if(\"number\"!=typeof e)throw new TypeError(\"Parameter start must be a number\");if(null!=t)if(t.isBigNumber===!0)t=t.toNumber();else if(\"number\"!=typeof t)throw new TypeError(\"Parameter end must be a number\");if(null!=r)if(r.isBigNumber===!0)r=r.toNumber();else if(\"number\"!=typeof r)throw new TypeError(\"Parameter step must be a number\");this.start=null!=e?parseFloat(e):0,this.end=null!=t?parseFloat(t):0,this.step=null!=r?parseFloat(r):1}return a.prototype.type=\"Range\",a.prototype.isRange=!0,a.parse=function(e){if(\"string\"!=typeof e)return null;var t=e.split(\":\"),r=t.map(function(e){return parseFloat(e)}),n=r.some(function(e){return isNaN(e)});if(n)return null;switch(r.length){case 2:return new a(r[0],r[1]);case 3:return new a(r[0],r[2],r[1]);default:return null}},a.prototype.clone=function(){return new a(this.start,this.end,this.step)},a.prototype.size=function(){var e=0,t=this.start,r=this.step,n=this.end,a=n-t;return i.sign(r)==i.sign(a)?e=Math.ceil(a/r):0==a&&(e=0),isNaN(e)&&(e=0),[e]},a.prototype.min=function(){var e=this.size()[0];return e>0?this.step>0?this.start:this.start+(e-1)*this.step:void 0},a.prototype.max=function(){var e=this.size()[0];return e>0?this.step>0?this.start+(e-1)*this.step:this.start:void 0},a.prototype.forEach=function(e){var t=this.start,r=this.step,n=this.end,i=0;if(r>0)for(;n>t;)e(t,[i],this),t+=r,i++;else if(0>r)for(;t>n;)e(t,[i],this),t+=r,i++},a.prototype.map=function(e){var t=[];return this.forEach(function(r,n,i){t[n[0]]=e(r,n,i)}),t},a.prototype.toArray=function(){var e=[];return this.forEach(function(t,r){e[r[0]]=t}),e},a.prototype.valueOf=function(){return this.toArray()},a.prototype.format=function(e){var t=i.format(this.start,e);return 1!=this.step&&(t+=\":\"+i.format(this.step,e)),t+=\":\"+i.format(this.end,e)},a.prototype.toString=function(){return this.format()},a.prototype.toJSON=function(){return{mathjs:\"Range\",start:this.start,end:this.end,step:this.step}},a.fromJSON=function(e){return new a(e.start,e.end,e.step)},a}var i=r(6);t.name=\"Range\",t.path=\"type\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){return n(\"index\",{\"...number | BigNumber | Range | Array | Matrix\":function(t){var r=t.map(function(e){return e&&e.isBigNumber===!0?e.toNumber():e&&(Array.isArray(e)||e.isMatrix===!0)?e.map(function(e){return e&&e.isBigNumber===!0?e.toNumber():e}):e}),n=new e.Index;return e.Index.apply(n,r),n}})}t.name=\"index\",t.factory=r},function(e,t){\"use strict\";function r(e,t,r,n){var i=e.SparseMatrix,a=n(\"sparse\",{\"\":function(){return new i([])},string:function(e){return new i([],e)},\"Array | Matrix\":function(e){return new i(e)},\"Array | Matrix, string\":function(e,t){return new i(e,t)}});return a.toTex={0:\"\\\\begin{bsparse}\\\\end{bsparse}\",1:\"\\\\left(${args[0]}\\\\right)\"},a}t.name=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"number\",{\"\":function(){return 0},number:function(e){return e},string:function(e){var t=Number(e);if(isNaN(t))throw new SyntaxError('String \"'+e+'\" is no valid number');return t},BigNumber:function(e){return e.toNumber()},Unit:function(e){throw new Error(\"Second argument with valueless unit expected\")},\"Unit, string | Unit\":function(e,t){return e.toNumber(t)},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex={0:\"0\",1:\"\\\\left(${args[0]}\\\\right)\",2:\"\\\\left(\\\\left(${args[0]}\\\\right)${args[1]}\\\\right)\"},a}var i=r(19);t.name=\"number\",t.factory=n},function(e,t,r){e.exports=[r(71)]},function(e,t){\"use strict\";function r(e,t,r,n){function i(e){if(!(this instanceof i))throw new SyntaxError(\"Constructor must be called with the new operator\");this.entries=e||[]}return i.prototype.type=\"ResultSet\",i.prototype.isResultSet=!0,i.prototype.valueOf=function(){return this.entries},i.prototype.toString=function(){return\"[\"+this.entries.join(\", \")+\"]\"},i.prototype.toJSON=function(){return{mathjs:\"ResultSet\",entries:this.entries}},i.fromJSON=function(e){return new i(e.entries)},i}t.name=\"ResultSet\",t.path=\"type\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"string\",{\"\":function(){return\"\"},number:a.format,\"null\":function(e){return\"null\"},\"boolean\":function(e){return e+\"\"},string:function(e){return e},\"Array | Matrix\":function(e){return i(e,o)},any:function(e){return String(e)}});return o.toTex={0:'\\\\mathtt{\"\"}',1:\"\\\\mathrm{string}\\\\left(${args[0]}\\\\right)\"},o}var i=r(19),a=r(6);t.name=\"string\",t.factory=n},function(e,t,r){e.exports=[r(28),r(74),r(75)]},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"unit\",{Unit:function(e){return e.clone()},string:function(t){return e.Unit.isValuelessUnit(t)?new e.Unit(null,t):e.Unit.parse(t)},\"number, string\":function(t,r){return new e.Unit(t,r)},\"BigNumber, string\":function(t,r){return new e.Unit(t.toNumber(),r)},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex={1:\"\\\\left(${args[0]}\\\\right)\",2:\"\\\\left(\\\\left(${args[0]}\\\\right)${args[1]}\\\\right)\"},a}var i=r(19);t.name=\"unit\",t.factory=n},function(e,t,r){function n(e,t,r,n,a){function o(t){var r=e.Unit.parse(t);return r.fixPrefix=!0,r}i(a,\"speedOfLight\",function(){return o(\"299792458 m s^-1\")}),i(a,\"gravitationConstant\",function(){return o(\"6.6738480e-11 m^3 kg^-1 s^-2\")}),i(a,\"planckConstant\",function(){return o(\"6.626069311e-34 J s\")}),i(a,\"reducedPlanckConstant\",function(){return o(\"1.05457172647e-34 J s\")}),i(a,\"magneticConstant\",function(){return o(\"1.2566370614e-6 N A^-2\")}),i(a,\"electricConstant\",function(){return o(\"8.854187817e-12 F m^-1\")}),i(a,\"vacuumImpedance\",function(){return o(\"376.730313461 ohm\")}),i(a,\"coulomb\",function(){return o(\"8.9875517873681764e9 N m^2 C^-2\")}),i(a,\"elementaryCharge\",function(){return o(\"1.60217656535e-19 C\")}),i(a,\"bohrMagneton\",function(){return o(\"9.2740096820e-24 J T^-1\")}),i(a,\"conductanceQuantum\",function(){return o(\"7.748091734625e-5 S\")}),i(a,\"inverseConductanceQuantum\",function(){return o(\"12906.403721742 ohm\")}),i(a,\"magneticFluxQuantum\",function(){return o(\"2.06783375846e-15 Wb\")}),i(a,\"nuclearMagneton\",function(){return o(\"5.0507835311e-27 J T^-1\")}),i(a,\"klitzing\",function(){return o(\"25812.807443484 ohm\")}),i(a,\"bohrRadius\",function(){return o(\"5.291772109217e-11 m\")}),i(a,\"classicalElectronRadius\",function(){return o(\"2.817940326727e-15 m\")}),i(a,\"electronMass\",function(){return o(\"9.1093829140e-31 kg\")}),i(a,\"fermiCoupling\",function(){return o(\"1.1663645e-5 GeV^-2\")}),i(a,\"fineStructure\",function(){return.007297352569824}),i(a,\"hartreeEnergy\",function(){return o(\"4.3597443419e-18 J\")}),i(a,\"protonMass\",function(){return o(\"1.67262177774e-27 kg\")}),i(a,\"deuteronMass\",function(){return o(\"3.3435830926e-27 kg\")}),i(a,\"neutronMass\",function(){return o(\"1.6749271613e-27 kg\")}),i(a,\"quantumOfCirculation\",function(){return o(\"3.636947552024e-4 m^2 s^-1\")}),i(a,\"rydberg\",function(){return o(\"10973731.56853955 m^-1\")}),i(a,\"thomsonCrossSection\",function(){return o(\"6.65245873413e-29 m^2\")}),i(a,\"weakMixingAngle\",function(){return.222321}),i(a,\"efimovFactor\",function(){return 22.7}),i(a,\"atomicMass\",function(){return o(\"1.66053892173e-27 kg\")}),i(a,\"avogadro\",function(){return o(\"6.0221412927e23 mol^-1\")}),i(a,\"boltzmann\",function(){return o(\"1.380648813e-23 J K^-1\")}),i(a,\"faraday\",function(){return o(\"96485.336521 C mol^-1\")}),i(a,\"firstRadiation\",function(){return o(\"3.7417715317e-16 W m^2\")}),i(a,\"loschmidt\",function(){return o(\"2.686780524e25 m^-3\")}),i(a,\"gasConstant\",function(){return o(\"8.314462175 J K^-1 mol^-1\")}),i(a,\"molarPlanckConstant\",function(){return o(\"3.990312717628e-10 J s mol^-1\")}),i(a,\"molarVolume\",function(){return o(\"2.241396820e-10 m^3 mol^-1\")}),i(a,\"sackurTetrode\",function(){return-1.164870823}),i(a,\"secondRadiation\",function(){return o(\"1.438777013e-2 m K\")}),i(a,\"stefanBoltzmann\",function(){return o(\"5.67037321e-8 W m^-2 K^-4\")}),i(a,\"wienDisplacement\",function(){return o(\"2.897772126e-3 m K\")}),i(a,\"molarMass\",function(){return o(\"1e-3 kg mol^-1\")}),i(a,\"molarMassC12\",function(){return o(\"1.2e-2 kg mol^-1\")}),i(a,\"gravity\",function(){return o(\"9.80665 m s^-2\")}),i(a,\"planckLength\",function(){return o(\"1.61619997e-35 m\")}),i(a,\"planckMass\",function(){return o(\"2.1765113e-8 kg\")}),i(a,\"planckTime\",function(){return o(\"5.3910632e-44 s\")}),i(a,\"planckCharge\",function(){return o(\"1.87554595641e-18 C\")}),i(a,\"planckTemperature\",function(){return o(\"1.41683385e+32 K\")})}var i=r(3).lazy;t.factory=n,t.lazy=!1,t.math=!0},function(e,t,r){\"use strict\";function n(e,t,o,s,u){u.on(\"config\",function(r,i){r.number!==i.number&&n(e,t,o,s,u)}),u[\"true\"]=!0,u[\"false\"]=!1,u[\"null\"]=null,u.uninitialized=r(40).UNINITIALIZED,\"bignumber\"===t.number?(u.Infinity=new e.BigNumber(1/0),u.NaN=new e.BigNumber(NaN),i.lazy(u,\"pi\",function(){return a.pi(e.BigNumber)}),i.lazy(u,\"tau\",function(){return a.tau(e.BigNumber)}),i.lazy(u,\"e\",function(){return a.e(e.BigNumber)}),i.lazy(u,\"phi\",function(){return a.phi(e.BigNumber)}),i.lazy(u,\"E\",function(){return u.e}),i.lazy(u,\"LN2\",function(){return new e.BigNumber(2).ln()}),i.lazy(u,\"LN10\",function(){return new e.BigNumber(10).ln()}),i.lazy(u,\"LOG2E\",function(){return new e.BigNumber(1).div(new e.BigNumber(2).ln())}),i.lazy(u,\"LOG10E\",function(){return new e.BigNumber(1).div(new e.BigNumber(10).ln())}),i.lazy(u,\"PI\",function(){return u.pi}),i.lazy(u,\"SQRT1_2\",function(){return new e.BigNumber(\"0.5\").sqrt()}),i.lazy(u,\"SQRT2\",function(){return new e.BigNumber(2).sqrt()})):(u.Infinity=1/0,u.NaN=NaN,u.pi=Math.PI,u.tau=2*Math.PI,u.e=Math.E,u.phi=1.618033988749895,u.E=u.e,u.LN2=Math.LN2,u.LN10=Math.LN10,u.LOG2E=Math.LOG2E,u.LOG10E=Math.LOG10E,u.PI=u.pi,u.SQRT1_2=Math.SQRT1_2,u.SQRT2=Math.SQRT2),u.i=new e.Complex(0,1),u.version=r(79)}var i=r(3),a=r(77);t.factory=n,t.lazy=!1,t.math=!0},function(e,t,r){function n(e){return e[0].precision}var i=r(45).memoize,a=r(78);t.e=i(function(e){return new e(1).exp()},n),t.phi=i(function(e){return new e(1).plus(new e(5).sqrt()).div(2)},n),t.pi=i(function(e){var t=e.constructor({precision:e.precision+4}),r=new t(4).times(a(new t(1).div(5))).minus(a(new t(1).div(239)));return new e(4).times(r)},n),t.tau=i(function(e){var r=t.pi(e.constructor({precision:e.precision+2}));return new e(2).times(r)},n)},function(e,t){e.exports=function(e){for(var t=e,r=NaN,n=e.times(e),i=e,a=!0,o=3;!t.equals(r);o+=2)i=i.times(n),r=t,a=!a,t=a?t.plus(i.div(o)):t.minus(i.div(o));return t}},function(e,t){e.exports=\"2.4.1\"},function(e,t,r){e.exports=[r(81),r(251),r(275),r(276),r(311),r(253),r(274)]},function(e,t,r){function n(e,t,n,i){var a={};return a.bignumber=r(82),a[\"boolean\"]=r(83),a.complex=r(84),a.fraction=r(85),a.index=r(86),a.matrix=r(87),a.number=r(88),a.sparse=r(89),a.string=r(90),a.unit=r(91),a.e=r(92),a.E=r(92),a[\"false\"]=r(93),a.i=r(94),a.Infinity=r(95),a.LN2=r(96),a.LN10=r(97),a.LOG2E=r(98),a.LOG10E=r(99),a.NaN=r(100),a[\"null\"]=r(101),a.pi=r(102),a.PI=r(102),a.phi=r(103),a.SQRT1_2=r(104),a.SQRT2=r(105),a.tau=r(106),a[\"true\"]=r(107),a.version=r(108),a.speedOfLight={description:\"Speed of light in vacuum\",examples:[\"speedOfLight\"]},a.gravitationConstant={description:\"Newtonian constant of gravitation\",examples:[\"gravitationConstant\"]},a.planckConstant={description:\"Planck constant\",examples:[\"planckConstant\"]},a.reducedPlanckConstant={description:\"Reduced Planck constant\",examples:[\"reducedPlanckConstant\"]},a.magneticConstant={description:\"Magnetic constant (vacuum permeability)\",examples:[\"magneticConstant\"]},a.electricConstant={description:\"Electric constant (vacuum permeability)\",examples:[\"electricConstant\"]},a.vacuumImpedance={description:\"Characteristic impedance of vacuum\",examples:[\"vacuumImpedance\"]},a.coulomb={description:\"Coulomb's constant\",examples:[\"coulomb\"]},a.elementaryCharge={description:\"Elementary charge\",examples:[\"elementaryCharge\"]},a.bohrMagneton={description:\"Borh magneton\",examples:[\"bohrMagneton\"]},a.conductanceQuantum={description:\"Conductance quantum\",examples:[\"conductanceQuantum\"]},a.inverseConductanceQuantum={description:\"Inverse conductance quantum\",examples:[\"inverseConductanceQuantum\"]},a.magneticFluxQuantum={description:\"Magnetic flux quantum\",examples:[\"magneticFluxQuantum\"]},a.nuclearMagneton={description:\"Nuclear magneton\",examples:[\"nuclearMagneton\"]},a.klitzing={description:\"Von Klitzing constant\",examples:[\"klitzing\"]},a.bohrRadius={description:\"Borh radius\",examples:[\"bohrRadius\"]},a.classicalElectronRadius={description:\"Classical electron radius\",examples:[\"classicalElectronRadius\"]},a.electronMass={description:\"Electron mass\",examples:[\"electronMass\"]},a.fermiCoupling={description:\"Fermi coupling constant\",examples:[\"fermiCoupling\"]},a.fineStructure={description:\"Fine-structure constant\",examples:[\"fineStructure\"]},a.hartreeEnergy={description:\"Hartree energy\",examples:[\"hartreeEnergy\"]},a.protonMass={description:\"Proton mass\",examples:[\"protonMass\"]},a.deuteronMass={description:\"Deuteron Mass\",examples:[\"deuteronMass\"]},a.neutronMass={description:\"Neutron mass\",examples:[\"neutronMass\"]},a.quantumOfCirculation={description:\"Quantum of circulation\",examples:[\"quantumOfCirculation\"]},a.rydberg={description:\"Rydberg constant\",examples:[\"rydberg\"]},a.thomsonCrossSection={description:\"Thomson cross section\",examples:[\"thomsonCrossSection\"]},a.weakMixingAngle={description:\"Weak mixing angle\",examples:[\"weakMixingAngle\"]},a.efimovFactor={description:\"Efimov factor\",examples:[\"efimovFactor\"]},a.atomicMass={description:\"Atomic mass constant\",examples:[\"atomicMass\"]},a.avogadro={description:\"Avogadro's number\",examples:[\"avogadro\"]},a.boltzmann={description:\"Boltzmann constant\",examples:[\"boltzmann\"]},a.faraday={description:\"Faraday constant\",examples:[\"faraday\"]},a.firstRadiation={description:\"First radiation constant\",examples:[\"firstRadiation\"]},a.loschmidt={description:\"Loschmidt constant at T=273.15 K and p=101.325 kPa\",examples:[\"loschmidt\"]},a.gasConstant={description:\"Gas constant\",examples:[\"gasConstant\"]},a.molarPlanckConstant={description:\"Molar Planck constant\",examples:[\"molarPlanckConstant\"]},a.molarVolume={description:\"Molar volume of an ideal gas at T=273.15 K and p=101.325 kPa\",examples:[\"molarVolume\"]},a.sackurTetrode={description:\"Sackur-Tetrode constant at T=1 K and p=101.325 kPa\",examples:[\"sackurTetrode\"]},a.secondRadiation={description:\"Second radiation constant\",examples:[\"secondRadiation\"]},a.stefanBoltzmann={description:\"Stefan-Boltzmann constant\",examples:[\"stefanBoltzmann\"]},a.wienDisplacement={description:\"Wien displacement law constant\",examples:[\"wienDisplacement\"]},a.molarMass={description:\"Molar mass constant\",examples:[\"molarMass\"]},a.molarMassC12={description:\"Molar mass constant of carbon-12\",examples:[\"molarMassC12\"]},a.gravity={description:\"Standard acceleration of gravity (standard acceleration of free-fall on Earth)\",examples:[\"gravity\"]},a.planckLength={description:\"Planck length\",examples:[\"planckLength\"]},a.planckMass={description:\"Planck mass\",examples:[\"planckMass\"]},a.planckTime={description:\"Planck time\",examples:[\"planckTime\"]},a.planckCharge={description:\"Planck charge\",examples:[\"planckCharge\"]},a.planckTemperature={description:\"Planck temperature\",examples:[\"planckTemperature\"]},a.lsolve=r(109),a.lup=r(110),a.lusolve=r(111),a.slu=r(112),a.usolve=r(113),a.abs=r(114),a.add=r(115),a.cbrt=r(116),a.ceil=r(117),a.cube=r(118),a.divide=r(119),a.dotDivide=r(120),a.dotMultiply=r(121),a.dotPow=r(122),a.exp=r(123),a.fix=r(124),a.floor=r(125),a.gcd=r(126),a.hypot=r(127),a.lcm=r(128),a.log=r(129),a.log10=r(130),a.mod=r(131),a.multiply=r(132),a.norm=r(133),a.nthRoot=r(134),a.pow=r(135),a.round=r(136),a.sign=r(137),a.sqrt=r(138),\na.square=r(139),a.subtract=r(140),a.unaryMinus=r(141),a.unaryPlus=r(142),a.xgcd=r(143),a.bitAnd=r(144),a.bitNot=r(145),a.bitOr=r(146),a.bitXor=r(147),a.leftShift=r(148),a.rightArithShift=r(149),a.rightLogShift=r(150),a.bellNumbers=r(151),a.catalan=r(152),a.composition=r(153),a.stirlingS2=r(154),a.arg=r(155),a.conj=r(156),a.re=r(157),a.im=r(158),a.eval=r(159),a.help=r(160),a.distance=r(161),a.intersect=r(162),a.and=r(163),a.not=r(164),a.or=r(165),a.xor=r(166),a.concat=r(167),a.cross=r(168),a.det=r(169),a.diag=r(170),a.dot=r(171),a.eye=r(172),a.flatten=r(173),a.inv=r(174),a.ones=r(175),a.range=r(176),a.resize=r(177),a.size=r(178),a.squeeze=r(179),a.subset=r(180),a.trace=r(181),a.transpose=r(182),a.zeros=r(183),a.combinations=r(184),a.factorial=r(185),a.gamma=r(186),a.kldivergence=r(187),a.multinomial=r(188),a.permutations=r(189),a.pickRandom=r(190),a.random=r(191),a.randomInt=r(192),a.compare=r(193),a.deepEqual=r(194),a.equal=r(195),a.larger=r(196),a.largerEq=r(197),a.smaller=r(198),a.smallerEq=r(199),a.unequal=r(200),a.max=r(201),a.mean=r(202),a.median=r(203),a.min=r(204),a.mode=r(205),a.prod=r(206),a.quantileSeq=r(207),a.std=r(208),a.sum=r(209),a[\"var\"]=r(210),a.acos=r(211),a.acosh=r(212),a.acot=r(213),a.acoth=r(214),a.acsc=r(215),a.acsch=r(216),a.asec=r(217),a.asech=r(218),a.asin=r(219),a.asinh=r(220),a.atan=r(221),a.atanh=r(222),a.atan2=r(223),a.cos=r(224),a.cosh=r(225),a.cot=r(226),a.coth=r(227),a.csc=r(228),a.csch=r(229),a.sec=r(230),a.sech=r(231),a.sin=r(232),a.sinh=r(233),a.tan=r(234),a.tanh=r(235),a.to=r(236),a.clone=r(237),a.map=r(238),a.partitionSelect=r(239),a.filter=r(240),a.forEach=r(241),a.format=r(242),a.isInteger=r(243),a.isNegative=r(244),a.isNumeric=r(245),a.isPositive=r(246),a.isZero=r(247),a[\"import\"]=r(248),a.sort=r(249),a[\"typeof\"]=r(250),a}t.name=\"docs\",t.path=\"expression\",t.factory=n},function(e,t){e.exports={name:\"bignumber\",category:\"Type\",syntax:[\"bignumber(x)\"],description:\"Create a big number from a number or string.\",examples:[\"0.1 + 0.2\",\"bignumber(0.1) + bignumber(0.2)\",'bignumber(\"7.2\")','bignumber(\"7.2e500\")',\"bignumber([0.1, 0.2, 0.3])\"],seealso:[\"boolean\",\"complex\",\"fraction\",\"index\",\"matrix\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"boolean\",category:\"Type\",syntax:[\"x\",\"boolean(x)\"],description:\"Convert a string or number into a boolean.\",examples:[\"boolean(0)\",\"boolean(1)\",\"boolean(3)\",'boolean(\"true\")','boolean(\"false\")',\"boolean([1, 0, 1, 1])\"],seealso:[\"bignumber\",\"complex\",\"index\",\"matrix\",\"number\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"complex\",category:\"Type\",syntax:[\"complex()\",\"complex(re, im)\",\"complex(string)\"],description:\"Create a complex number.\",examples:[\"complex()\",\"complex(2, 3)\",'complex(\"7 - 2i\")'],seealso:[\"bignumber\",\"boolean\",\"index\",\"matrix\",\"number\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"fraction\",category:\"Type\",syntax:[\"fraction(num)\",\"fraction(num,den)\"],description:\"Create a fraction from a number or from a numerator and denominator.\",examples:[\"fraction(0.125)\",\"fraction(1, 3) + fraction(2, 5)\"],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"matrix\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"index\",category:\"Type\",syntax:[\"[start]\",\"[start:end]\",\"[start:step:end]\",\"[start1, start 2, ...]\",\"[start1:end1, start2:end2, ...]\",\"[start1:step1:end1, start2:step2:end2, ...]\"],description:\"Create an index to get or replace a subset of a matrix\",examples:[\"[]\",\"[1, 2, 3]\",\"A = [1, 2, 3; 4, 5, 6]\",\"A[1, :]\",\"A[1, 2] = 50\",\"A[0:2, 0:2] = ones(2, 2)\"],seealso:[\"bignumber\",\"boolean\",\"complex\",\"matrix,\",\"number\",\"range\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"matrix\",category:\"Type\",syntax:[\"[]\",\"[a1, b1, ...; a2, b2, ...]\",\"matrix()\",'matrix(\"dense\")',\"matrix([...])\"],description:\"Create a matrix.\",examples:[\"[]\",\"[1, 2, 3]\",\"[1, 2, 3; 4, 5, 6]\",\"matrix()\",\"matrix([3, 4])\",'matrix([3, 4; 5, 6], \"sparse\")','matrix([3, 4; 5, 6], \"sparse\", \"number\")'],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"number\",\"string\",\"unit\",\"sparse\"]}},function(e,t){e.exports={name:\"number\",category:\"Type\",syntax:[\"x\",\"number(x)\"],description:\"Create a number or convert a string or boolean into a number.\",examples:[\"2\",\"2e3\",\"4.05\",\"number(2)\",'number(\"7.2\")',\"number(true)\",\"number([true, false, true, true])\",'number(\"52cm\", \"m\")'],seealso:[\"bignumber\",\"boolean\",\"complex\",\"fraction\",\"index\",\"matrix\",\"string\",\"unit\"]}},function(e,t){e.exports={name:\"sparse\",category:\"Type\",syntax:[\"sparse()\",\"sparse([a1, b1, ...; a1, b2, ...])\",'sparse([a1, b1, ...; a1, b2, ...], \"number\")'],description:\"Create a sparse matrix.\",examples:[\"sparse()\",\"sparse([3, 4; 5, 6])\",'sparse([3, 0; 5, 0], \"number\")'],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"number\",\"string\",\"unit\",\"matrix\"]}},function(e,t){e.exports={name:\"string\",category:\"Type\",syntax:['\"text\"',\"string(x)\"],description:\"Create a string or convert a value to a string\",examples:['\"Hello World!\"',\"string(4.2)\",\"string(3 + 2i)\"],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"matrix\",\"number\",\"unit\"]}},function(e,t){e.exports={name:\"unit\",category:\"Type\",syntax:[\"value unit\",\"unit(value, unit)\",\"unit(string)\"],description:\"Create a unit.\",examples:[\"5.5 mm\",\"3 inch\",'unit(7.1, \"kilogram\")','unit(\"23 deg\")'],seealso:[\"bignumber\",\"boolean\",\"complex\",\"index\",\"matrix\",\"number\",\"string\"]}},function(e,t){e.exports={name:\"e\",category:\"Constants\",syntax:[\"e\"],description:\"Euler's number, the base of the natural logarithm. Approximately equal to 2.71828\",examples:[\"e\",\"e ^ 2\",\"exp(2)\",\"log(e)\"],seealso:[\"exp\"]}},function(e,t){e.exports={name:\"false\",category:\"Constants\",syntax:[\"false\"],description:\"Boolean value false\",examples:[\"false\"],seealso:[\"true\"]}},function(e,t){e.exports={name:\"i\",category:\"Constants\",syntax:[\"i\"],description:\"Imaginary unit, defined as i*i=-1. A complex number is described as a + b*i, where a is the real part, and b is the imaginary part.\",examples:[\"i\",\"i * i\",\"sqrt(-1)\"],seealso:[]}},function(e,t){e.exports={name:\"Infinity\",category:\"Constants\",syntax:[\"Infinity\"],description:\"Infinity, a number which is larger than the maximum number that can be handled by a floating point number.\",examples:[\"Infinity\",\"1 / 0\"],seealso:[]}},function(e,t){e.exports={name:\"LN2\",category:\"Constants\",syntax:[\"LN2\"],description:\"Returns the natural logarithm of 2, approximately equal to 0.693\",examples:[\"LN2\",\"log(2)\"],seealso:[]}},function(e,t){e.exports={name:\"LN10\",category:\"Constants\",syntax:[\"LN10\"],description:\"Returns the natural logarithm of 10, approximately equal to 2.302\",examples:[\"LN10\",\"log(10)\"],seealso:[]}},function(e,t){e.exports={name:\"LOG2E\",category:\"Constants\",syntax:[\"LOG2E\"],description:\"Returns the base-2 logarithm of E, approximately equal to 1.442\",examples:[\"LOG2E\",\"log(e, 2)\"],seealso:[]}},function(e,t){e.exports={name:\"LOG10E\",category:\"Constants\",syntax:[\"LOG10E\"],description:\"Returns the base-10 logarithm of E, approximately equal to 0.434\",examples:[\"LOG10E\",\"log(e, 10)\"],seealso:[]}},function(e,t){e.exports={name:\"NaN\",category:\"Constants\",syntax:[\"NaN\"],description:\"Not a number\",examples:[\"NaN\",\"0 / 0\"],seealso:[]}},function(e,t){e.exports={name:\"null\",category:\"Constants\",syntax:[\"null\"],description:\"Value null\",examples:[\"null\"],seealso:[\"true\",\"false\"]}},function(e,t){e.exports={name:\"pi\",category:\"Constants\",syntax:[\"pi\"],description:\"The number pi is a mathematical constant that is the ratio of a circle's circumference to its diameter, and is approximately equal to 3.14159\",examples:[\"pi\",\"sin(pi/2)\"],seealso:[\"tau\"]}},function(e,t){e.exports={name:\"phi\",category:\"Constants\",syntax:[\"phi\"],description:\"Phi is the golden ratio. Two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Phi is defined as `(1 + sqrt(5)) / 2` and is approximately 1.618034...\",examples:[\"tau\"],seealso:[]}},function(e,t){e.exports={name:\"SQRT1_2\",category:\"Constants\",syntax:[\"SQRT1_2\"],description:\"Returns the square root of 1/2, approximately equal to 0.707\",examples:[\"SQRT1_2\",\"sqrt(1/2)\"],seealso:[]}},function(e,t){e.exports={name:\"SQRT2\",category:\"Constants\",syntax:[\"SQRT2\"],description:\"Returns the square root of 2, approximately equal to 1.414\",examples:[\"SQRT2\",\"sqrt(2)\"],seealso:[]}},function(e,t){e.exports={name:\"tau\",category:\"Constants\",syntax:[\"tau\"],description:\"Tau is the ratio constant of a circle's circumference to radius, equal to 2 * pi, approximately 6.2832.\",examples:[\"tau\",\"2 * pi\"],seealso:[\"pi\"]}},function(e,t){e.exports={name:\"true\",category:\"Constants\",syntax:[\"true\"],description:\"Boolean value true\",examples:[\"true\"],seealso:[\"false\"]}},function(e,t){e.exports={name:\"version\",category:\"Constants\",syntax:[\"version\"],description:\"A string with the version number of math.js\",examples:[\"version\"],seealso:[]}},function(e,t){e.exports={name:\"lsolve\",category:\"Algebra\",syntax:[\"x=lsolve(L, b)\"],description:\"Solves the linear system L * x = b where L is an [n x n] lower triangular matrix and b is a [n] column vector.\",examples:[\"a = [-2, 3; 2, 1]\",\"b = [11, 9]\",\"x = lsolve(a, b)\"],seealso:[\"lup\",\"lusolve\",\"usolve\",\"matrix\",\"sparse\"]}},function(e,t){e.exports={name:\"lup\",category:\"Algebra\",syntax:[\"lup(m)\"],description:\"Calculate the Matrix LU decomposition with partial pivoting. Matrix A is decomposed in three matrices (L, U, P) where P * A = L * U\",examples:[\"lup([[2, 1], [1, 4]])\",\"lup(matrix([[2, 1], [1, 4]]))\",\"lup(sparse([[2, 1], [1, 4]]))\"],seealso:[\"lusolve\",\"lsolve\",\"usolve\",\"matrix\",\"sparse\",\"slu\"]}},function(e,t){e.exports={name:\"lusolve\",category:\"Algebra\",syntax:[\"x=lusolve(A, b)\",\"x=lusolve(lu, b)\"],description:\"Solves the linear system A * x = b where A is an [n x n] matrix and b is a [n] column vector.\",examples:[\"a = [-2, 3; 2, 1]\",\"b = [11, 9]\",\"x = lusolve(a, b)\"],seealso:[\"lup\",\"slu\",\"lsolve\",\"usolve\",\"matrix\",\"sparse\"]}},function(e,t){e.exports={name:\"slu\",category:\"Algebra\",syntax:[\"slu(A, order, threshold)\"],description:\"Calculate the Matrix LU decomposition with full pivoting. Matrix A is decomposed in two matrices (L, U) and two permutation vectors (pinv, q) where P * A * Q = L * U\",examples:[\"slu(sparse([4.5, 0, 3.2, 0; 3.1, 2.9, 0, 0.9; 0, 1.7, 3, 0; 3.5, 0.4, 0, 1]), 1, 0.001)\"],seealso:[\"lusolve\",\"lsolve\",\"usolve\",\"matrix\",\"sparse\",\"lup\"]}},function(e,t){e.exports={name:\"usolve\",category:\"Algebra\",syntax:[\"x=usolve(U, b)\"],description:\"Solves the linear system U * x = b where U is an [n x n] upper triangular matrix and b is a [n] column vector.\",examples:[\"x=usolve(sparse([1, 1, 1, 1; 0, 1, 1, 1; 0, 0, 1, 1; 0, 0, 0, 1]), [1; 2; 3; 4])\"],seealso:[\"lup\",\"lusolve\",\"lsolve\",\"matrix\",\"sparse\"]}},function(e,t){e.exports={name:\"abs\",category:\"Arithmetic\",syntax:[\"abs(x)\"],description:\"Compute the absolute value.\",examples:[\"abs(3.5)\",\"abs(-4.2)\"],seealso:[\"sign\"]}},function(e,t){e.exports={name:\"add\",category:\"Operators\",syntax:[\"x + y\",\"add(x, y)\"],description:\"Add two values.\",examples:[\"a = 2.1 + 3.6\",\"a - 3.6\",\"3 + 2i\",\"3 cm + 2 inch\",'\"2.3\" + \"4\"'],seealso:[\"subtract\"]}},function(e,t){e.exports={name:\"cbrt\",category:\"Arithmetic\",syntax:[\"cbrt(x)\",\"cbrt(x, allRoots)\"],description:\"Compute the cubic root value. If x = y * y * y, then y is the cubic root of x. When `x` is a number or complex number, an optional second argument `allRoots` can be provided to return all three cubic roots. If not provided, the principal root is returned\",examples:[\"cbrt(64)\",\"cube(4)\",\"cbrt(-8)\",\"cbrt(2 + 3i)\",\"cbrt(8i)\",\"cbrt(8i, true)\",\"cbrt(27 m^3)\"],seealso:[\"square\",\"sqrt\",\"cube\",\"multiply\"]}},function(e,t){e.exports={name:\"ceil\",category:\"Arithmetic\",syntax:[\"ceil(x)\"],description:\"Round a value towards plus infinity. If x is complex, both real and imaginary part are rounded towards plus infinity.\",examples:[\"ceil(3.2)\",\"ceil(3.8)\",\"ceil(-4.2)\"],seealso:[\"floor\",\"fix\",\"round\"]}},function(e,t){e.exports={name:\"cube\",category:\"Arithmetic\",syntax:[\"cube(x)\"],description:\"Compute the cube of a value. The cube of x is x * x * x.\",examples:[\"cube(2)\",\"2^3\",\"2 * 2 * 2\"],seealso:[\"multiply\",\"square\",\"pow\"]}},function(e,t){e.exports={name:\"divide\",category:\"Operators\",syntax:[\"x / y\",\"divide(x, y)\"],description:\"Divide two values.\",examples:[\"a = 2 / 3\",\"a * 3\",\"4.5 / 2\",\"3 + 4 / 2\",\"(3 + 4) / 2\",\"18 km / 4.5\"],seealso:[\"multiply\"]}},function(e,t){e.exports={name:\"dotDivide\",category:\"Operators\",syntax:[\"x ./ y\",\"dotDivide(x, y)\"],description:\"Divide two values element wise.\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"b = [2, 1, 1; 3, 2, 5]\",\"a ./ b\"],seealso:[\"multiply\",\"dotMultiply\",\"divide\"]}},function(e,t){e.exports={name:\"dotMultiply\",category:\"Operators\",syntax:[\"x .* y\",\"dotMultiply(x, y)\"],description:\"Multiply two values element wise.\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"b = [2, 1, 1; 3, 2, 5]\",\"a .* b\"],seealso:[\"multiply\",\"divide\",\"dotDivide\"]}},function(e,t){e.exports={name:\"dotpow\",category:\"Operators\",syntax:[\"x .^ y\",\"dotpow(x, y)\"],description:\"Calculates the power of x to y element wise.\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"a .^ 2\"],seealso:[\"pow\"]}},function(e,t){e.exports={name:\"exp\",category:\"Arithmetic\",syntax:[\"exp(x)\"],description:\"Calculate the exponent of a value.\",examples:[\"exp(1.3)\",\"e ^ 1.3\",\"log(exp(1.3))\",\"x = 2.4\",\"(exp(i*x) == cos(x) + i*sin(x)) # Euler's formula\"],seealso:[\"pow\",\"log\"]}},function(e,t){e.exports={name:\"fix\",category:\"Arithmetic\",syntax:[\"fix(x)\"],description:\"Round a value towards zero. If x is complex, both real and imaginary part are rounded towards zero.\",examples:[\"fix(3.2)\",\"fix(3.8)\",\"fix(-4.2)\",\"fix(-4.8)\"],seealso:[\"ceil\",\"floor\",\"round\"]}},function(e,t){e.exports={name:\"floor\",category:\"Arithmetic\",syntax:[\"floor(x)\"],description:\"Round a value towards minus infinity.If x is complex, both real and imaginary part are rounded towards minus infinity.\",examples:[\"floor(3.2)\",\"floor(3.8)\",\"floor(-4.2)\"],seealso:[\"ceil\",\"fix\",\"round\"]}},function(e,t){e.exports={name:\"gcd\",category:\"Arithmetic\",syntax:[\"gcd(a, b)\",\"gcd(a, b, c, ...)\"],description:\"Compute the greatest common divisor.\",examples:[\"gcd(8, 12)\",\"gcd(-4, 6)\",\"gcd(25, 15, -10)\"],seealso:[\"lcm\",\"xgcd\"]}},function(e,t){e.exports={name:\"hypot\",category:\"Arithmetic\",syntax:[\"hypot(a, b, c, ...)\",\"hypot([a, b, c, ...])\"],description:\"Calculate the hypotenusa of a list with values. \",examples:[\"hypot(3, 4)\",\"sqrt(3^2 + 4^2)\",\"hypot(-2)\",\"hypot([3, 4, 5])\"],seealso:[\"abs\",\"norm\"]}},function(e,t){e.exports={name:\"lcm\",category:\"Arithmetic\",syntax:[\"lcm(x, y)\"],description:\"Compute the least common multiple.\",examples:[\"lcm(4, 6)\",\"lcm(6, 21)\",\"lcm(6, 21, 5)\"],seealso:[\"gcd\"]}},function(e,t){e.exports={name:\"log\",category:\"Arithmetic\",syntax:[\"log(x)\",\"log(x, base)\"],description:\"Compute the logarithm of a value. If no base is provided, the natural logarithm of x is calculated. If base if provided, the logarithm is calculated for the specified base. log(x, base) is defined as log(x) / log(base).\",examples:[\"log(3.5)\",\"a = log(2.4)\",\"exp(a)\",\"10 ^ 4\",\"log(10000, 10)\",\"log(10000) / log(10)\",\"b = log(1024, 2)\",\"2 ^ b\"],seealso:[\"exp\",\"log10\"]}},function(e,t){e.exports={name:\"log10\",category:\"Arithmetic\",syntax:[\"log10(x)\"],description:\"Compute the 10-base logarithm of a value.\",examples:[\"log10(0.00001)\",\"log10(10000)\",\"10 ^ 4\",\"log(10000) / log(10)\",\"log(10000, 10)\"],seealso:[\"exp\",\"log\"]}},function(e,t){e.exports={name:\"mod\",category:\"Operators\",syntax:[\"x % y\",\"x mod y\",\"mod(x, y)\"],description:\"Calculates the modulus, the remainder of an integer division.\",examples:[\"7 % 3\",\"11 % 2\",\"10 mod 4\",\"function isOdd(x) = x % 2\",\"isOdd(2)\",\"isOdd(3)\"],seealso:[\"divide\"]}},function(e,t){e.exports={name:\"multiply\",category:\"Operators\",syntax:[\"x * y\",\"multiply(x, y)\"],description:\"multiply two values.\",examples:[\"a = 2.1 * 3.4\",\"a / 3.4\",\"2 * 3 + 4\",\"2 * (3 + 4)\",\"3 * 2.1 km\"],seealso:[\"divide\"]}},function(e,t){e.exports={name:\"norm\",category:\"Arithmetic\",syntax:[\"norm(x)\",\"norm(x, p)\"],description:\"Calculate the norm of a number, vector or matrix.\",examples:[\"abs(-3.5)\",\"norm(-3.5)\",\"norm(3 - 4i))\",\"norm([1, 2, -3], Infinity)\",\"norm([1, 2, -3], -Infinity)\",\"norm([3, 4], 2)\",\"norm([[1, 2], [3, 4]], 1)\",\"norm([[1, 2], [3, 4]], 'inf')\",\"norm([[1, 2], [3, 4]], 'fro')\"]}},function(e,t){e.exports={name:\"nthRoot\",category:\"Arithmetic\",syntax:[\"nthRoot(a)\",\"nthRoot(a, root)\"],description:'Calculate the nth root of a value. The principal nth root of a positive real number A, is the positive real solution of the equation \"x^root = A\".',examples:[\"4 ^ 3\",\"nthRoot(64, 3)\",\"nthRoot(9, 2)\",\"sqrt(9)\"],seealso:[\"sqrt\",\"pow\"]}},function(e,t){e.exports={name:\"pow\",category:\"Operators\",syntax:[\"x ^ y\",\"pow(x, y)\"],description:\"Calculates the power of x to y, x^y.\",examples:[\"2^3 = 8\",\"2*2*2\",\"1 + e ^ (pi * i)\"],seealso:[\"multiply\"]}},function(e,t){e.exports={name:\"round\",category:\"Arithmetic\",syntax:[\"round(x)\",\"round(x, n)\"],description:\"round a value towards the nearest integer.If x is complex, both real and imaginary part are rounded towards the nearest integer. When n is specified, the value is rounded to n decimals.\",examples:[\"round(3.2)\",\"round(3.8)\",\"round(-4.2)\",\"round(-4.8)\",\"round(pi, 3)\",\"round(123.45678, 2)\"],seealso:[\"ceil\",\"floor\",\"fix\"]}},function(e,t){e.exports={name:\"sign\",category:\"Arithmetic\",syntax:[\"sign(x)\"],description:\"Compute the sign of a value. The sign of a value x is 1 when x>1, -1 when x<0, and 0 when x=0.\",examples:[\"sign(3.5)\",\"sign(-4.2)\",\"sign(0)\"],seealso:[\"abs\"]}},function(e,t){e.exports={name:\"sqrt\",category:\"Arithmetic\",syntax:[\"sqrt(x)\"],description:\"Compute the square root value. If x = y * y, then y is the square root of x.\",examples:[\"sqrt(25)\",\"5 * 5\",\"sqrt(-1)\"],seealso:[\"square\",\"multiply\"]}},function(e,t){e.exports={name:\"square\",category:\"Arithmetic\",syntax:[\"square(x)\"],description:\"Compute the square of a value. The square of x is x * x.\",examples:[\"square(3)\",\"sqrt(9)\",\"3^2\",\"3 * 3\"],seealso:[\"multiply\",\"pow\",\"sqrt\",\"cube\"]}},function(e,t){e.exports={name:\"subtract\",category:\"Operators\",syntax:[\"x - y\",\"subtract(x, y)\"],description:\"subtract two values.\",examples:[\"a = 5.3 - 2\",\"a + 2\",\"2/3 - 1/6\",\"2 * 3 - 3\",\"2.1 km - 500m\"],seealso:[\"add\"]}},function(e,t){e.exports={name:\"unaryMinus\",category:\"Operators\",syntax:[\"-x\",\"unaryMinus(x)\"],description:\"Inverse the sign of a value. Converts booleans and strings to numbers.\",examples:[\"-4.5\",\"-(-5.6)\",'-\"22\"'],seealso:[\"add\",\"subtract\",\"unaryPlus\"]}},function(e,t){e.exports={name:\"unaryPlus\",category:\"Operators\",syntax:[\"+x\",\"unaryPlus(x)\"],description:\"Converts booleans and strings to numbers.\",examples:[\"+true\",'+\"2\"'],seealso:[\"add\",\"subtract\",\"unaryMinus\"]}},function(e,t){e.exports={name:\"xgcd\",category:\"Arithmetic\",syntax:[\"xgcd(a, b)\"],description:\"Calculate the extended greatest common divisor for two values\",examples:[\"xgcd(8, 12)\",\"gcd(8, 12)\",\"xgcd(36163, 21199)\"],seealso:[\"gcd\",\"lcm\"]}},function(e,t){e.exports={name:\"bitAnd\",category:\"Bitwise\",syntax:[\"x & y\",\"bitAnd(x, y)\"],description:\"Bitwise AND operation. Performs the logical AND operation on each pair of the corresponding bits of the two given values by multiplying them. If both bits in the compared position are 1, the bit in the resulting binary representation is 1, otherwise, the result is 0\",examples:[\"5 & 3\",\"bitAnd(53, 131)\",\"[1, 12, 31] & 42\"],seealso:[\"bitNot\",\"bitOr\",\"bitXor\",\"leftShift\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"bitNot\",category:\"Bitwise\",syntax:[\"~x\",\"bitNot(x)\"],description:\"Bitwise NOT operation. Performs a logical negation on each bit of the given value. Bits that are 0 become 1, and those that are 1 become 0.\",examples:[\"~1\",\"~2\",\"bitNot([2, -3, 4])\"],seealso:[\"bitAnd\",\"bitOr\",\"bitXor\",\"leftShift\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"bitOr\",category:\"Bitwise\",syntax:[\"x | y\",\"bitOr(x, y)\"],description:\"Bitwise OR operation. Performs the logical inclusive OR operation on each pair of corresponding bits of the two given values. The result in each position is 1 if the first bit is 1 or the second bit is 1 or both bits are 1, otherwise, the result is 0.\",examples:[\"5 | 3\",\"bitOr([1, 2, 3], 4)\"],seealso:[\"bitAnd\",\"bitNot\",\"bitXor\",\"leftShift\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"bitXor\",category:\"Bitwise\",syntax:[\"bitXor(x, y)\"],description:\"Bitwise XOR operation, exclusive OR. Performs the logical exclusive OR operation on each pair of corresponding bits of the two given values. The result in each position is 1 if only the first bit is 1 or only the second bit is 1, but will be 0 if both are 0 or both are 1.\",examples:[\"bitOr(1, 2)\",\"bitXor([2, 3, 4], 4)\"],seealso:[\"bitAnd\",\"bitNot\",\"bitOr\",\"leftShift\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"leftShift\",category:\"Bitwise\",syntax:[\"x << y\",\"leftShift(x, y)\"],description:\"Bitwise left logical shift of a value x by y number of bits.\",examples:[\"4 << 1\",\"8 >> 1\"],seealso:[\"bitAnd\",\"bitNot\",\"bitOr\",\"bitXor\",\"rightArithShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"rightArithShift\",category:\"Bitwise\",syntax:[\"x >> y\",\"leftShift(x, y)\"],description:\"Bitwise right arithmetic shift of a value x by y number of bits.\",examples:[\"8 >> 1\",\"4 << 1\",\"-12 >> 2\"],seealso:[\"bitAnd\",\"bitNot\",\"bitOr\",\"bitXor\",\"leftShift\",\"rightLogShift\"]}},function(e,t){e.exports={name:\"rightLogShift\",category:\"Bitwise\",syntax:[\"x >> y\",\"leftShift(x, y)\"],description:\"Bitwise right logical shift of a value x by y number of bits.\",examples:[\"8 >>> 1\",\"4 << 1\",\"-12 >>> 2\"],seealso:[\"bitAnd\",\"bitNot\",\"bitOr\",\"bitXor\",\"leftShift\",\"rightArithShift\"]}},function(e,t){e.exports={name:\"bellNumbers\",category:\"Combinatorics\",syntax:[\"bellNumbers(n)\"],description:\"The Bell Numbers count the number of partitions of a set. A partition is a pairwise disjoint subset of S whose union is S. `bellNumbers` only takes integer arguments. The following condition must be enforced: n >= 0.\",examples:[\"bellNumbers(3)\",\"bellNumbers(8)\"],seealso:[\"stirlingS2\"]}},function(e,t){e.exports={name:\"catalan\",category:\"Combinatorics\",syntax:[\"catalan(n)\"],description:\"The Catalan Numbers enumerate combinatorial structures of many different types. catalan only takes integer arguments. The following condition must be enforced: n >= 0.\",examples:[\"catalan(3)\",\"catalan(8)\"],seealso:[\"bellNumbers\"]}},function(e,t){e.exports={name:\"composition\",category:\"Combinatorics\",syntax:[\"composition(n, k)\"],description:\"The composition counts of n into k parts. composition only takes integer arguments. The following condition must be enforced: k <= n.\",examples:[\"composition(5, 3)\"],seealso:[\"combinations\"]}},function(e,t){e.exports={name:\"stirlingS2\",category:\"Combinatorics\",syntax:[\"stirlingS2(n, k)\"],description:\"he Stirling numbers of the second kind, counts the number of ways to partition a set of n labelled objects into k nonempty unlabelled subsets. `stirlingS2` only takes integer arguments. The following condition must be enforced: k <= n. If n = k or k = 1, then s(n,k) = 1.\",examples:[\"stirlingS2(5, 3)\"],seealso:[\"bellNumbers\"]}},function(e,t){e.exports={name:\"arg\",category:\"Complex\",syntax:[\"arg(x)\"],description:\"Compute the argument of a complex value. If x = a+bi, the argument is computed as atan2(b, a).\",examples:[\"arg(2 + 2i)\",\"atan2(3, 2)\",\"arg(2 + 3i)\"],seealso:[\"re\",\"im\",\"conj\",\"abs\"]}},function(e,t){e.exports={name:\"conj\",category:\"Complex\",syntax:[\"conj(x)\"],description:\"Compute the complex conjugate of a complex value. If x = a+bi, the complex conjugate is a-bi.\",examples:[\"conj(2 + 3i)\",\"conj(2 - 3i)\",\"conj(-5.2i)\"],seealso:[\"re\",\"im\",\"abs\",\"arg\"]}},function(e,t){e.exports={name:\"re\",category:\"Complex\",syntax:[\"re(x)\"],description:\"Get the real part of a complex number.\",examples:[\"re(2 + 3i)\",\"im(2 + 3i)\",\"re(-5.2i)\",\"re(2.4)\"],seealso:[\"im\",\"conj\",\"abs\",\"arg\"]}},function(e,t){e.exports={name:\"im\",category:\"Complex\",syntax:[\"im(x)\"],description:\"Get the imaginary part of a complex number.\",examples:[\"im(2 + 3i)\",\"re(2 + 3i)\",\"im(-5.2i)\",\"im(2.4)\"],seealso:[\"re\",\"conj\",\"abs\",\"arg\"]}},function(e,t){e.exports={name:\"eval\",category:\"Expression\",syntax:[\"eval(expression)\",\"eval([expr1, expr2, expr3, ...])\"],description:\"Evaluate an expression or an array with expressions.\",examples:['eval(\"2 + 3\")','eval(\"sqrt(\" + 4 + \")\")'],seealso:[]}},function(e,t){e.exports={name:\"help\",category:\"Expression\",syntax:[\"help(object)\",\"help(string)\"],description:\"Display documentation on a function or data type.\",examples:[\"help(sqrt)\",'help(\"complex\")'],seealso:[]}},function(e,t){e.exports={name:\"distance\",category:\"Geometry\",syntax:[\"distance([x1, y1], [x2, y2])\",\"distance([[x1, y1], [x2, y2])\"],description:\"Calculates the Euclidean distance between two points.\",examples:[\"distance([0,0], [4,4])\",\"distance([[0,0], [4,4]])\"],seealso:[]}},function(e,t){e.exports={name:\"intersect\",category:\"Geometry\",syntax:[\"intersect(expr1, expr2, expr3, expr4)\",\"intersect(expr1, expr2, expr3)\"],description:\"Computes the intersection point of lines and/or planes.\",examples:[\"intersect([0, 0], [10, 10], [10, 0], [0, 10])\",\"intersect([1, 0, 1], [4, -2, 2], [1, 1, 1, 6])\"],seealso:[]}},function(e,t){e.exports={name:\"and\",category:\"Logical\",syntax:[\"x and y\",\"and(x, y)\"],description:\"Logical and. Test whether two values are both defined with a nonzero/nonempty value.\",examples:[\"true and false\",\"true and true\",\"2 and 4\"],seealso:[\"not\",\"or\",\"xor\"]}},function(e,t){e.exports={name:\"not\",category:\"Logical\",syntax:[\"not x\",\"not(x)\"],description:\"Logical not. Flips the boolean value of given argument.\",examples:[\"not true\",\"not false\",\"not 2\",\"not 0\"],seealso:[\"and\",\"or\",\"xor\"]}},function(e,t){e.exports={name:\"or\",category:\"Logical\",syntax:[\"x or y\",\"or(x, y)\"],description:\"Logical or. Test if at least one value is defined with a nonzero/nonempty value.\",examples:[\"true or false\",\"false or false\",\"0 or 4\"],seealso:[\"not\",\"and\",\"xor\"]}},function(e,t){e.exports={name:\"xor\",category:\"Logical\",syntax:[\"x or y\",\"or(x, y)\"],description:\"Logical exclusive or, xor. Test whether one and only one value is defined with a nonzero/nonempty value.\",examples:[\"true xor false\",\"false xor false\",\"true xor true\",\"0 or 4\"],seealso:[\"not\",\"and\",\"or\"]}},function(e,t){e.exports={name:\"concat\",category:\"Matrix\",syntax:[\"concat(A, B, C, ...)\",\"concat(A, B, C, ..., dim)\"],description:\"Concatenate matrices. By default, the matrices are concatenated by the last dimension. The dimension on which to concatenate can be provided as last argument.\",examples:[\"A = [1, 2; 5, 6]\",\"B = [3, 4; 7, 8]\",\"concat(A, B)\",\"concat(A, B, 1)\",\"concat(A, B, 2)\"],seealso:[\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"cross\",category:\"Matrix\",syntax:[\"cross(A, B)\"],description:\"Calculate the cross product for two vectors in three dimensional space.\",examples:[\"cross([1, 1, 0], [0, 1, 1])\",\"cross([3, -3, 1], [4, 9, 2])\",\"cross([2, 3, 4], [5, 6, 7])\"],seealso:[\"multiply\",\"dot\"]}},function(e,t){e.exports={name:\"det\",category:\"Matrix\",syntax:[\"det(x)\"],description:\"Calculate the determinant of a matrix\",examples:[\"det([1, 2; 3, 4])\",\"det([-2, 2, 3; -1, 1, 3; 2, 0, -1])\"],seealso:[\"concat\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"diag\",category:\"Matrix\",syntax:[\"diag(x)\",\"diag(x, k)\"],description:\"Create a diagonal matrix or retrieve the diagonal of a matrix. When x is a vector, a matrix with the vector values on the diagonal will be returned. When x is a matrix, a vector with the diagonal values of the matrix is returned. When k is provided, the k-th diagonal will be filled in or retrieved, if k is positive, the values are placed on the super diagonal. When k is negative, the values are placed on the sub diagonal.\",examples:[\"diag(1:3)\",\"diag(1:3, 1)\",\"a = [1, 2, 3; 4, 5, 6; 7, 8, 9]\",\"diag(a)\"],seealso:[\"concat\",\"det\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"dot\",category:\"Matrix\",syntax:[\"dot(A, B)\"],description:\"Calculate the dot product of two vectors. The dot product of A = [a1, a2, a3, ..., an] and B = [b1, b2, b3, ..., bn] is defined as dot(A, B) = a1 * b1 + a2 * b2 + a3 * b3 + ... + an * bn\",examples:[\"dot([2, 4, 1], [2, 2, 3])\",\"[2, 4, 1] * [2, 2, 3]\"],seealso:[\"multiply\",\"cross\"]}},function(e,t){e.exports={name:\"eye\",category:\"Matrix\",syntax:[\"eye(n)\",\"eye(m, n)\",\"eye([m, n])\",\"eye\"],description:\"Returns the identity matrix with size m-by-n. The matrix has ones on the diagonal and zeros elsewhere.\",examples:[\"eye(3)\",\"eye(3, 5)\",\"a = [1, 2, 3; 4, 5, 6]\",\"eye(size(a))\"],seealso:[\"concat\",\"det\",\"diag\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"flatten\",category:\"Matrix\",syntax:[\"flatten(x)\"],description:\"Flatten a multi dimensional matrix into a single dimensional matrix.\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"size(a)\",\"b = flatten(a)\",\"size(b)\"],seealso:[\"concat\",\"resize\",\"size\",\"squeeze\"]}},function(e,t){e.exports={name:\"inv\",category:\"Matrix\",syntax:[\"inv(x)\"],description:\"Calculate the inverse of a matrix\",examples:[\"inv([1, 2; 3, 4])\",\"inv(4)\",\"1 / 4\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"ones\",category:\"Matrix\",syntax:[\"ones(m)\",\"ones(m, n)\",\"ones(m, n, p, ...)\",\"ones([m])\",\"ones([m, n])\",\"ones([m, n, p, ...])\",\"ones\"],description:\"Create a matrix containing ones.\",examples:[\"ones(3)\",\"ones(3, 5)\",\"ones([2,3]) * 4.5\",\"a = [1, 2, 3; 4, 5, 6]\",\"ones(size(a))\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"range\",category:\"Type\",syntax:[\"start:end\",\"start:step:end\",\"range(start, end)\",\"range(start, end, step)\",\"range(string)\"],description:\"Create a range. Lower bound of the range is included, upper bound is excluded.\",examples:[\"1:5\",\"3:-1:-3\",\"range(3, 7)\",\"range(0, 12, 2)\",'range(\"4:10\")',\"a = [1, 2, 3, 4; 5, 6, 7, 8]\",\"a[1:2, 1:2]\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"resize\",category:\"Matrix\",syntax:[\"resize(x, size)\",\"resize(x, size, defaultValue)\"],description:\"Resize a matrix.\",examples:[\"resize([1,2,3,4,5], [3])\",\"resize([1,2,3], [5])\",\"resize([1,2,3], [5], -1)\",\"resize(2, [2, 3])\",'resize(\"hello\", [8], \"!\")'],seealso:[\"size\",\"subset\",\"squeeze\"]}},function(e,t){e.exports={name:\"size\",category:\"Matrix\",syntax:[\"size(x)\"],description:\"Calculate the size of a matrix.\",examples:[\"size(2.3)\",'size(\"hello world\")',\"a = [1, 2; 3, 4; 5, 6]\",\"size(a)\",\"size(1:6)\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"squeeze\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"squeeze\",category:\"Matrix\",syntax:[\"squeeze(x)\"],description:\"Remove inner and outer singleton dimensions from a matrix.\",examples:[\"a = zeros(3,2,1)\",\"size(squeeze(a))\",\"b = zeros(1,1,3)\",\"size(squeeze(b))\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"subset\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"subset\",category:\"Matrix\",syntax:[\"value(index)\",\"value(index) = replacement\",\"subset(value, [index])\",\"subset(value, [index], replacement)\"],description:\"Get or set a subset of a matrix or string. Indexes are one-based. Both the ranges lower-bound and upper-bound are included.\",examples:[\"d = [1, 2; 3, 4]\",\"e = []\",\"e[1, 1:2] = [5, 6]\",\"e[2, :] = [7, 8]\",\"f = d * e\",\"f[2, 1]\",\"f[:, 1]\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"trace\",\"transpose\",\"zeros\"]}},function(e,t){e.exports={name:\"trace\",category:\"Matrix\",syntax:[\"trace(A)\"],description:\"Calculate the trace of a matrix: the sum of the elements on the main diagonal of a square matrix.\",examples:[\"A = [1, 2, 3; -1, 2, 3; 2, 0, 3]\",\"trace(A)\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"transpose\",\"zeros\"]\n}},function(e,t){e.exports={name:\"transpose\",category:\"Matrix\",syntax:[\"x'\",\"transpose(x)\"],description:\"Transpose a matrix\",examples:[\"a = [1, 2, 3; 4, 5, 6]\",\"a'\",\"transpose(a)\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"zeros\"]}},function(e,t){e.exports={name:\"zeros\",category:\"Matrix\",syntax:[\"zeros(m)\",\"zeros(m, n)\",\"zeros(m, n, p, ...)\",\"zeros([m])\",\"zeros([m, n])\",\"zeros([m, n, p, ...])\",\"zeros\"],description:\"Create a matrix containing zeros.\",examples:[\"zeros(3)\",\"zeros(3, 5)\",\"a = [1, 2, 3; 4, 5, 6]\",\"zeros(size(a))\"],seealso:[\"concat\",\"det\",\"diag\",\"eye\",\"inv\",\"ones\",\"range\",\"size\",\"squeeze\",\"subset\",\"trace\",\"transpose\"]}},function(e,t){e.exports={name:\"combinations\",category:\"Probability\",syntax:[\"combinations(n, k)\"],description:\"Compute the number of combinations of n items taken k at a time\",examples:[\"combinations(7, 5)\"],seealso:[\"permutations\",\"factorial\"]}},function(e,t){e.exports={name:\"factorial\",category:\"Probability\",syntax:[\"kldivergence(x, y)\"],description:\"Compute the factorial of a value\",examples:[\"5!\",\"5 * 4 * 3 * 2 * 1\",\"3!\"],seealso:[\"combinations\",\"permutations\",\"gamma\"]}},function(e,t){e.exports={name:\"gamma\",category:\"Probability\",syntax:[\"gamma(n)\"],description:\"Compute the gamma function. For small values, the Lanczos approximation is used, and for large values the extended Stirling approximation.\",examples:[\"gamma(4)\",\"3!\",\"gamma(1/2)\",\"sqrt(pi)\"],seealso:[\"factorial\"]}},function(e,t){e.exports={name:\"kldivergence\",category:\"Probability\",syntax:[\"n!\",\"factorial(n)\"],description:\"Calculate the Kullback-Leibler (KL) divergence between two distributions.\",examples:[\"math.kldivergence([0.7,0.5,0.4], [0.2,0.9,0.5])\"],seealso:[]}},function(e,t){e.exports={name:\"multinomial\",category:\"Probability\",syntax:[\"multinomial(A)\"],description:\"Multinomial Coefficients compute the number of ways of picking a1, a2, ..., ai unordered outcomes from `n` possibilities. multinomial takes one array of integers as an argument. The following condition must be enforced: every ai <= 0.\",examples:[\"multinomial([1, 2, 1])\"],seealso:[\"combinations\",\"factorial\"]}},function(e,t){e.exports={name:\"permutations\",category:\"Probability\",syntax:[\"permutations(n)\",\"permutations(n, k)\"],description:\"Compute the number of permutations of n items taken k at a time\",examples:[\"permutations(5)\",\"permutations(5, 3)\"],seealso:[\"combinations\",\"factorial\"]}},function(e,t){e.exports={name:\"pickRandom\",category:\"Probability\",syntax:[\"pickRandom(array)\"],description:\"Pick a random entry from a given array.\",examples:[\"pickRandom(0:10)\",\"pickRandom([1, 3, 1, 6])\"],seealso:[\"random\",\"randomInt\"]}},function(e,t){e.exports={name:\"random\",category:\"Probability\",syntax:[\"random()\",\"random(max)\",\"random(min, max)\",\"random(size)\",\"random(size, max)\",\"random(size, min, max)\"],description:\"Return a random number.\",examples:[\"random()\",\"random(10, 20)\",\"random([2, 3])\"],seealso:[\"pickRandom\",\"randomInt\"]}},function(e,t){e.exports={name:\"randInt\",category:\"Probability\",syntax:[\"randInt(max)\",\"randInt(min, max)\",\"randInt(size)\",\"randInt(size, max)\",\"randInt(size, min, max)\"],description:\"Return a random integer number\",examples:[\"randInt(10, 20)\",\"randInt([2, 3], 10)\"],seealso:[\"pickRandom\",\"random\"]}},function(e,t){e.exports={name:\"compare\",category:\"Relational\",syntax:[\"compare(x, y)\"],description:\"Compare two values. Returns 1 if x is larger than y, -1 if x is smaller than y, and 0 if x and y are equal.\",examples:[\"compare(2, 3)\",\"compare(3, 2)\",\"compare(2, 2)\",\"compare(5cm, 40mm)\",\"compare(2, [1, 2, 3])\"],seealso:[\"equal\",\"unequal\",\"smaller\",\"smallerEq\",\"largerEq\"]}},function(e,t){e.exports={name:\"deepEqual\",category:\"Relational\",syntax:[\"deepEqual(x, y)\"],description:\"Check equality of two matrices element wise. Returns true if the size of both matrices is equal and when and each of the elements are equal.\",examples:[\"[1,3,4] == [1,3,4]\",\"[1,3,4] == [1,3]\"],seealso:[\"equal\",\"unequal\",\"smaller\",\"larger\",\"smallerEq\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"equal\",category:\"Relational\",syntax:[\"x == y\",\"equal(x, y)\"],description:\"Check equality of two values. Returns true if the values are equal, and false if not.\",examples:[\"2+2 == 3\",\"2+2 == 4\",\"a = 3.2\",\"b = 6-2.8\",\"a == b\",\"50cm == 0.5m\"],seealso:[\"unequal\",\"smaller\",\"larger\",\"smallerEq\",\"largerEq\",\"compare\",\"deepEqual\"]}},function(e,t){e.exports={name:\"larger\",category:\"Relational\",syntax:[\"x > y\",\"larger(x, y)\"],description:\"Check if value x is larger than y. Returns true if x is larger than y, and false if not.\",examples:[\"2 > 3\",\"5 > 2*2\",\"a = 3.3\",\"b = 6-2.8\",\"(a > b)\",\"(b < a)\",\"5 cm > 2 inch\"],seealso:[\"equal\",\"unequal\",\"smaller\",\"smallerEq\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"largerEq\",category:\"Relational\",syntax:[\"x >= y\",\"largerEq(x, y)\"],description:\"Check if value x is larger or equal to y. Returns true if x is larger or equal to y, and false if not.\",examples:[\"2 > 1+1\",\"2 >= 1+1\",\"a = 3.2\",\"b = 6-2.8\",\"(a > b)\"],seealso:[\"equal\",\"unequal\",\"smallerEq\",\"smaller\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"smaller\",category:\"Relational\",syntax:[\"x < y\",\"smaller(x, y)\"],description:\"Check if value x is smaller than value y. Returns true if x is smaller than y, and false if not.\",examples:[\"2 < 3\",\"5 < 2*2\",\"a = 3.3\",\"b = 6-2.8\",\"(a < b)\",\"5 cm < 2 inch\"],seealso:[\"equal\",\"unequal\",\"larger\",\"smallerEq\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"smallerEq\",category:\"Relational\",syntax:[\"x <= y\",\"smallerEq(x, y)\"],description:\"Check if value x is smaller or equal to value y. Returns true if x is smaller than y, and false if not.\",examples:[\"2 < 1+1\",\"2 <= 1+1\",\"a = 3.2\",\"b = 6-2.8\",\"(a < b)\"],seealso:[\"equal\",\"unequal\",\"larger\",\"smaller\",\"largerEq\",\"compare\"]}},function(e,t){e.exports={name:\"unequal\",category:\"Relational\",syntax:[\"x != y\",\"unequal(x, y)\"],description:\"Check unequality of two values. Returns true if the values are unequal, and false if they are equal.\",examples:[\"2+2 != 3\",\"2+2 != 4\",\"a = 3.2\",\"b = 6-2.8\",\"a != b\",\"50cm != 0.5m\",\"5 cm != 2 inch\"],seealso:[\"equal\",\"smaller\",\"larger\",\"smallerEq\",\"largerEq\",\"compare\",\"deepEqual\"]}},function(e,t){e.exports={name:\"max\",category:\"Statistics\",syntax:[\"max(a, b, c, ...)\",\"max(A)\",\"max(A, dim)\"],description:\"Compute the maximum value of a list of values.\",examples:[\"max(2, 3, 4, 1)\",\"max([2, 3, 4, 1])\",\"max([2, 5; 4, 3])\",\"max([2, 5; 4, 3], 1)\",\"max([2, 5; 4, 3], 2)\",\"max(2.7, 7.1, -4.5, 2.0, 4.1)\",\"min(2.7, 7.1, -4.5, 2.0, 4.1)\"],seealso:[\"mean\",\"median\",\"min\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"mean\",category:\"Statistics\",syntax:[\"mean(a, b, c, ...)\",\"mean(A)\",\"mean(A, dim)\"],description:\"Compute the arithmetic mean of a list of values.\",examples:[\"mean(2, 3, 4, 1)\",\"mean([2, 3, 4, 1])\",\"mean([2, 5; 4, 3])\",\"mean([2, 5; 4, 3], 1)\",\"mean([2, 5; 4, 3], 2)\",\"mean([1.0, 2.7, 3.2, 4.0])\"],seealso:[\"max\",\"median\",\"min\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"median\",category:\"Statistics\",syntax:[\"median(a, b, c, ...)\",\"median(A)\"],description:\"Compute the median of all values. The values are sorted and the middle value is returned. In case of an even number of values, the average of the two middle values is returned.\",examples:[\"median(5, 2, 7)\",\"median([3, -1, 5, 7])\"],seealso:[\"max\",\"mean\",\"min\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"min\",category:\"Statistics\",syntax:[\"min(a, b, c, ...)\",\"min(A)\",\"min(A, dim)\"],description:\"Compute the minimum value of a list of values.\",examples:[\"min(2, 3, 4, 1)\",\"min([2, 3, 4, 1])\",\"min([2, 5; 4, 3])\",\"min([2, 5; 4, 3], 1)\",\"min([2, 5; 4, 3], 2)\",\"min(2.7, 7.1, -4.5, 2.0, 4.1)\",\"max(2.7, 7.1, -4.5, 2.0, 4.1)\"],seealso:[\"max\",\"mean\",\"median\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"mode\",category:\"Statistics\",syntax:[\"mode(a, b, c, ...)\",\"mode(A)\",\"mode(A, a, b, B, c, ...)\"],description:\"Computes the mode of all values as an array. In case mode being more than one, multiple values are returned in an array.\",examples:[\"mode(5, 2, 7)\",\"mode([3, -1, 5, 7])\"],seealso:[\"max\",\"mean\",\"min\",\"median\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"prod\",category:\"Statistics\",syntax:[\"prod(a, b, c, ...)\",\"prod(A)\"],description:\"Compute the product of all values.\",examples:[\"prod(2, 3, 4)\",\"prod([2, 3, 4])\",\"prod([2, 5; 4, 3])\"],seealso:[\"max\",\"mean\",\"min\",\"median\",\"min\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"quantileSeq\",category:\"Statistics\",syntax:[\"quantileSeq(A, prob[, sorted])\",\"quantileSeq(A, [prob1, prob2, ...][, sorted])\",\"quantileSeq(A, N[, sorted])\"],description:\"Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of probablity are: Number, BigNumber. \\n\\nIn case of a (multi dimensional) array or matrix, the prob order quantile of all elements will be calculated.\",examples:[\"quantileSeq([3, -1, 5, 7], 0.5)\",\"quantileSeq([3, -1, 5, 7], [1/3, 2/3])\",\"quantileSeq([3, -1, 5, 7], 2)\",\"quantileSeq([-1, 3, 5, 7], 0.5, true)\"],seealso:[\"mean\",\"median\",\"min\",\"max\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"std\",category:\"Statistics\",syntax:[\"std(a, b, c, ...)\",\"std(A)\",\"std(A, normalization)\"],description:'Compute the standard deviation of all values, defined as std(A) = sqrt(var(A)). Optional parameter normalization can be \"unbiased\" (default), \"uncorrected\", or \"biased\".',examples:[\"std(2, 4, 6)\",\"std([2, 4, 6, 8])\",'std([2, 4, 6, 8], \"uncorrected\")','std([2, 4, 6, 8], \"biased\")',\"std([1, 2, 3; 4, 5, 6])\"],seealso:[\"max\",\"mean\",\"min\",\"median\",\"min\",\"prod\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"sum\",category:\"Statistics\",syntax:[\"sum(a, b, c, ...)\",\"sum(A)\"],description:\"Compute the sum of all values.\",examples:[\"sum(2, 3, 4, 1)\",\"sum([2, 3, 4, 1])\",\"sum([2, 5; 4, 3])\"],seealso:[\"max\",\"mean\",\"median\",\"min\",\"prod\",\"std\",\"sum\",\"var\"]}},function(e,t){e.exports={name:\"var\",category:\"Statistics\",syntax:[\"var(a, b, c, ...)\",\"var(A)\",\"var(A, normalization)\"],description:'Compute the variance of all values. Optional parameter normalization can be \"unbiased\" (default), \"uncorrected\", or \"biased\".',examples:[\"var(2, 4, 6)\",\"var([2, 4, 6, 8])\",'var([2, 4, 6, 8], \"uncorrected\")','var([2, 4, 6, 8], \"biased\")',\"var([1, 2, 3; 4, 5, 6])\"],seealso:[\"max\",\"mean\",\"min\",\"median\",\"min\",\"prod\",\"std\",\"sum\"]}},function(e,t){e.exports={name:\"acos\",category:\"Trigonometry\",syntax:[\"acos(x)\"],description:\"Compute the inverse cosine of a value in radians.\",examples:[\"acos(0.5)\",\"acos(cos(2.3))\"],seealso:[\"cos\",\"atan\",\"asin\"]}},function(e,t){e.exports={name:\"acosh\",category:\"Trigonometry\",syntax:[\"acosh(x)\"],description:\"Calculate the hyperbolic arccos of a value, defined as `acosh(x) = ln(sqrt(x^2 - 1) + x)`.\",examples:[\"acosh(1.5)\"],seealso:[\"cosh\",\"asinh\",\"atanh\"]}},function(e,t){e.exports={name:\"acot\",category:\"Trigonometry\",syntax:[\"acot(x)\"],description:\"Calculate the inverse cotangent of a value.\",examples:[\"acot(0.5)\",\"acot(cot(0.5))\",\"acot(2)\"],seealso:[\"cot\",\"atan\"]}},function(e,t){e.exports={name:\"acoth\",category:\"Trigonometry\",syntax:[\"acoth(x)\"],description:\"Calculate the hyperbolic arccotangent of a value, defined as `acoth(x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.\",examples:[\"acoth(0.5)\"],seealso:[\"acsch\",\"asech\"]}},function(e,t){e.exports={name:\"acsc\",category:\"Trigonometry\",syntax:[\"acsc(x)\"],description:\"Calculate the inverse cotangent of a value.\",examples:[\"acsc(0.5)\",\"acsc(csc(0.5))\",\"acsc(2)\"],seealso:[\"csc\",\"asin\",\"asec\"]}},function(e,t){e.exports={name:\"acsch\",category:\"Trigonometry\",syntax:[\"acsch(x)\"],description:\"Calculate the hyperbolic arccosecant of a value, defined as `acsch(x) = ln(1/x + sqrt(1/x^2 + 1))`.\",examples:[\"acsch(0.5)\"],seealso:[\"asech\",\"acoth\"]}},function(e,t){e.exports={name:\"asec\",category:\"Trigonometry\",syntax:[\"asec(x)\"],description:\"Calculate the inverse secant of a value.\",examples:[\"asec(0.5)\",\"asec(sec(0.5))\",\"asec(2)\"],seealso:[\"acos\",\"acot\",\"acsc\"]}},function(e,t){e.exports={name:\"asech\",category:\"Trigonometry\",syntax:[\"asech(x)\"],description:\"Calculate the inverse secant of a value.\",examples:[\"asech(0.5)\"],seealso:[\"acsch\",\"acoth\"]}},function(e,t){e.exports={name:\"asin\",category:\"Trigonometry\",syntax:[\"asin(x)\"],description:\"Compute the inverse sine of a value in radians.\",examples:[\"asin(0.5)\",\"asin(sin(2.3))\"],seealso:[\"sin\",\"acos\",\"atan\"]}},function(e,t){e.exports={name:\"asinh\",category:\"Trigonometry\",syntax:[\"asinh(x)\"],description:\"Calculate the hyperbolic arcsine of a value, defined as `asinh(x) = ln(x + sqrt(x^2 + 1))`.\",examples:[\"asinh(0.5)\"],seealso:[\"acosh\",\"atanh\"]}},function(e,t){e.exports={name:\"atan\",category:\"Trigonometry\",syntax:[\"atan(x)\"],description:\"Compute the inverse tangent of a value in radians.\",examples:[\"atan(0.5)\",\"atan(tan(2.3))\"],seealso:[\"tan\",\"acos\",\"asin\"]}},function(e,t){e.exports={name:\"atanh\",category:\"Trigonometry\",syntax:[\"atanh(x)\"],description:\"Calculate the hyperbolic arctangent of a value, defined as `atanh(x) = ln((1 + x)/(1 - x)) / 2`.\",examples:[\"atanh(0.5)\"],seealso:[\"acosh\",\"asinh\"]}},function(e,t){e.exports={name:\"atan2\",category:\"Trigonometry\",syntax:[\"atan2(y, x)\"],description:\"Computes the principal value of the arc tangent of y/x in radians.\",examples:[\"atan2(2, 2) / pi\",\"angle = 60 deg in rad\",\"x = cos(angle)\",\"y = sin(angle)\",\"atan2(y, x)\"],seealso:[\"sin\",\"cos\",\"tan\"]}},function(e,t){e.exports={name:\"cos\",category:\"Trigonometry\",syntax:[\"cos(x)\"],description:\"Compute the cosine of x in radians.\",examples:[\"cos(2)\",\"cos(pi / 4) ^ 2\",\"cos(180 deg)\",\"cos(60 deg)\",\"sin(0.2)^2 + cos(0.2)^2\"],seealso:[\"acos\",\"sin\",\"tan\"]}},function(e,t){e.exports={name:\"cosh\",category:\"Trigonometry\",syntax:[\"cosh(x)\"],description:\"Compute the hyperbolic cosine of x in radians.\",examples:[\"cosh(0.5)\"],seealso:[\"sinh\",\"tanh\",\"coth\"]}},function(e,t){e.exports={name:\"cot\",category:\"Trigonometry\",syntax:[\"cot(x)\"],description:\"Compute the cotangent of x in radians. Defined as 1/tan(x)\",examples:[\"cot(2)\",\"1 / tan(2)\"],seealso:[\"sec\",\"csc\",\"tan\"]}},function(e,t){e.exports={name:\"coth\",category:\"Trigonometry\",syntax:[\"coth(x)\"],description:\"Compute the hyperbolic cotangent of x in radians.\",examples:[\"coth(2)\",\"1 / tanh(2)\"],seealso:[\"sech\",\"csch\",\"tanh\"]}},function(e,t){e.exports={name:\"csc\",category:\"Trigonometry\",syntax:[\"csc(x)\"],description:\"Compute the cosecant of x in radians. Defined as 1/sin(x)\",examples:[\"csc(2)\",\"1 / sin(2)\"],seealso:[\"sec\",\"cot\",\"sin\"]}},function(e,t){e.exports={name:\"csch\",category:\"Trigonometry\",syntax:[\"csch(x)\"],description:\"Compute the hyperbolic cosecant of x in radians. Defined as 1/sinh(x)\",examples:[\"csch(2)\",\"1 / sinh(2)\"],seealso:[\"sech\",\"coth\",\"sinh\"]}},function(e,t){e.exports={name:\"sec\",category:\"Trigonometry\",syntax:[\"sec(x)\"],description:\"Compute the secant of x in radians. Defined as 1/cos(x)\",examples:[\"sec(2)\",\"1 / cos(2)\"],seealso:[\"cot\",\"csc\",\"cos\"]}},function(e,t){e.exports={name:\"sech\",category:\"Trigonometry\",syntax:[\"sech(x)\"],description:\"Compute the hyperbolic secant of x in radians. Defined as 1/cosh(x)\",examples:[\"sech(2)\",\"1 / cosh(2)\"],seealso:[\"coth\",\"csch\",\"cosh\"]}},function(e,t){e.exports={name:\"sin\",category:\"Trigonometry\",syntax:[\"sin(x)\"],description:\"Compute the sine of x in radians.\",examples:[\"sin(2)\",\"sin(pi / 4) ^ 2\",\"sin(90 deg)\",\"sin(30 deg)\",\"sin(0.2)^2 + cos(0.2)^2\"],seealso:[\"asin\",\"cos\",\"tan\"]}},function(e,t){e.exports={name:\"sinh\",category:\"Trigonometry\",syntax:[\"sinh(x)\"],description:\"Compute the hyperbolic sine of x in radians.\",examples:[\"sinh(0.5)\"],seealso:[\"cosh\",\"tanh\"]}},function(e,t){e.exports={name:\"tan\",category:\"Trigonometry\",syntax:[\"tan(x)\"],description:\"Compute the tangent of x in radians.\",examples:[\"tan(0.5)\",\"sin(0.5) / cos(0.5)\",\"tan(pi / 4)\",\"tan(45 deg)\"],seealso:[\"atan\",\"sin\",\"cos\"]}},function(e,t){e.exports={name:\"tanh\",category:\"Trigonometry\",syntax:[\"tanh(x)\"],description:\"Compute the hyperbolic tangent of x in radians.\",examples:[\"tanh(0.5)\",\"sinh(0.5) / cosh(0.5)\"],seealso:[\"sinh\",\"cosh\"]}},function(e,t){e.exports={name:\"to\",category:\"Units\",syntax:[\"x to unit\",\"to(x, unit)\"],description:\"Change the unit of a value.\",examples:[\"5 inch to cm\",\"3.2kg to g\",\"16 bytes in bits\"],seealso:[]}},function(e,t){e.exports={name:\"clone\",category:\"Utils\",syntax:[\"clone(x)\"],description:\"Clone a variable. Creates a copy of primitive variables,and a deep copy of matrices\",examples:[\"clone(3.5)\",\"clone(2 - 4i)\",\"clone(45 deg)\",\"clone([1, 2; 3, 4])\",'clone(\"hello world\")'],seealso:[]}},function(e,t){e.exports={name:\"map\",category:\"Utils\",syntax:[\"map(x, callback)\"],description:\"Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.\",examples:[\"map([1, 2, 3], function(val) { return value * value })\"],seealso:[\"filter\",\"forEach\"]}},function(e,t){e.exports={name:\"partitionSelect\",category:\"Utils\",syntax:[\"partitionSelect(x, k)\",\"partitionSelect(x, k, compare)\"],description:\"Partition-based selection of an array or 1D matrix. Will find the kth smallest value, and mutates the input array. Uses Quickselect.\",examples:[\"partitionSelect([5, 10, 1], 2)\",'partitionSelect([\"C\", \"B\", \"A\", \"D\"], 1)'],seealso:[\"sort\"]}},function(e,t){e.exports={name:\"filter\",category:\"Utils\",syntax:[\"filter(x, test)\"],description:\"Filter items in a matrix.\",examples:[\"isPositive(x) = x > 0\",\"filter([6, -2, -1, 4, 3], isPositive)\",\"filter([6, -2, 0, 1, 0], x != 0)\"],seealso:[\"sort\",\"map\",\"forEach\"]}},function(e,t){e.exports={name:\"forEach\",category:\"Utils\",syntax:[\"forEach(x, callback)\"],description:\"Iterates over all elements of a matrix/array, and executes the given callback function.\",examples:[\"forEach([1, 2, 3], function(val) { console.log(val) })\"],seealso:[\"map\",\"sort\",\"filter\"]}},function(e,t){e.exports={name:\"format\",category:\"Utils\",syntax:[\"format(value)\",\"format(value, precision)\"],description:\"Format a value of any type as string.\",examples:[\"format(2.3)\",\"format(3 - 4i)\",\"format([])\",\"format(pi, 3)\"],seealso:[\"print\"]}},function(e,t){e.exports={name:\"isInteger\",category:\"Utils\",syntax:[\"isInteger(x)\"],description:\"Test whether a value is an integer number.\",examples:[\"isInteger(2)\",\"isInteger(3.5)\",\"isInteger([3, 0.5, -2])\"],seealso:[\"isNegative\",\"isNumeric\",\"isPositive\",\"isZero\"]}},function(e,t){e.exports={name:\"isNegative\",category:\"Utils\",syntax:[\"isNegative(x)\"],description:\"Test whether a value is negative: smaller than zero.\",examples:[\"isNegative(2)\",\"isNegative(0)\",\"isNegative(-4)\",\"isNegative([3, 0.5, -2])\"],seealso:[\"isInteger\",\"isNumeric\",\"isPositive\",\"isZero\"]}},function(e,t){e.exports={name:\"isNumeric\",category:\"Utils\",syntax:[\"isNumeric(x)\"],description:\"Test whether a value is a numeric value. Returns true when the input is a number, BigNumber, Fraction, or boolean.\",examples:[\"isNumeric(2)\",\"isNumeric(0)\",\"isNumeric(bignumber(500))\",\"isNumeric(fraction(0.125))\",'isNumeric(\"3\")',\"isNumeric(2 + 3i)\",'isNumeric([2.3, \"foo\", false])'],seealso:[\"isInteger\",\"isZero\",\"isNegative\",\"isPositive\"]}},function(e,t){e.exports={name:\"isPositive\",category:\"Utils\",syntax:[\"isPositive(x)\"],description:\"Test whether a value is positive: larger than zero.\",examples:[\"isPositive(2)\",\"isPositive(0)\",\"isPositive(-4)\",\"isPositive([3, 0.5, -2])\"],seealso:[\"isInteger\",\"isNumeric\",\"isNegative\",\"isZero\"]}},function(e,t){e.exports={name:\"isZero\",category:\"Utils\",syntax:[\"isZero(x)\"],description:\"Test whether a value is zero.\",examples:[\"isZero(2)\",\"isZero(0)\",\"isZero(-4)\",\"isZero([3, 0, -2, 0])\"],seealso:[\"isInteger\",\"isNumeric\",\"isNegative\",\"isPositive\"]}},function(e,t){e.exports={name:\"import\",category:\"Utils\",syntax:[\"import(string)\"],description:\"Import functions from a file.\",examples:['import(\"numbers\")','import(\"./mylib.js\")'],seealso:[]}},function(e,t){e.exports={name:\"sort\",category:\"Utils\",syntax:[\"sort(x)\",\"sort(x, compare)\"],description:'Sort the items in a matrix. Compare can be a string \"asc\" or \"desc\", or a custom sort function.',examples:[\"sort([5, 10, 1])\",'sort([\"C\", \"B\", \"A\", \"D\"])',\"sortByLength(a, b) = size(a)[1] - size(b)[1]\",'sort([\"Langdon\", \"Tom\", \"Sara\"], sortByLength)'],seealso:[\"map\",\"filter\",\"forEach\"]}},function(e,t){e.exports={name:\"typeof\",category:\"Utils\",syntax:[\"typeof(x)\"],description:\"Get the type of a variable.\",examples:[\"typeof(3.5)\",\"typeof(2 - 4i)\",\"typeof(45 deg)\",'typeof(\"hello world\")'],seealso:[]}},function(e,t,r){e.exports=[r(252),r(270),r(271),r(272),r(273)]},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(253));return a(\"compile\",{string:function(e){return o(e).compile()},\"Array | Matrix\":function(e){return i(e,function(e){return o(e).compile()})}})}var i=r(19);t.name=\"compile\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){if(1!=arguments.length&&2!=arguments.length)throw new i(\"parse\",arguments.length,1,2);if(he=r&&r.nodes?r.nodes:{},\"string\"==typeof t)return ge=t,x();if(Array.isArray(t)||t instanceof e.Matrix)return a(t,function(e){if(\"string\"!=typeof e)throw new TypeError(\"String expected\");return ge=e,x()});throw new TypeError(\"String or matrix expected\")}function u(){ve=0,de=ge.charAt(0),we=0,be=null}function c(){ve++,de=ge.charAt(ve)}function f(){return ge.charAt(ve+1)}function l(){return ge.charAt(ve+2)}function p(){for(xe=le.NULL,ye=\"\";\" \"==de||\"\t\"==de||\"\\n\"==de&&we;)c();if(\"#\"==de)for(;\"\\n\"!=de&&\"\"!=de;)c();if(\"\"==de)return void(xe=le.DELIMITER);if(\"\\n\"==de&&!we)return xe=le.DELIMITER,ye=de,void c();var e=de+f(),t=e+l();if(3==t.length&&pe[t])return xe=le.DELIMITER,ye=t,c(),c(),void c();if(2==e.length&&pe[e])return xe=le.DELIMITER,ye=e,c(),void c();if(pe[de])return xe=le.DELIMITER,ye=de,void c();if(!d(de)){if(v()){for(;v()||y(de);)ye+=de,c();return void(xe=me[ye]?le.DELIMITER:le.SYMBOL)}for(xe=le.UNKNOWN;\"\"!=de;)ye+=de,c();throw X('Syntax error in part \"'+ye+'\"')}if(xe=le.NUMBER,\".\"==de)ye+=de,c(),y(de)||(xe=le.UNKNOWN);else{for(;y(de);)ye+=de,c();\".\"==de&&(ye+=de,c())}for(;y(de);)ye+=de,c();if(e=f(),(\"E\"==de||\"e\"==de)&&(y(e)||\"-\"==e||\"+\"==e))for(ye+=de,c(),(\"+\"==de||\"-\"==de)&&(ye+=de,c()),y(de)||(xe=le.UNKNOWN);y(de);)ye+=de,c()}function m(){do p();while(\"\\n\"==ye)}function h(){we++}function g(){we--}function v(){var e=ge.charAt(ve-1),t=ge.charAt(ve+1),r=function(e){return/^[a-zA-Z_\\u00C0-\\u02AF\\u0370-\\u03FF]$/.test(e)},n=function(e,t){return/^[\\uD835]$/.test(e)&&/^[\\uDC00-\\uDFFF]$/.test(t)&&/^[^\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDFCC\\uDFCD]$/.test(t)};return r(de)||n(de,t)||n(e,de)}function d(e){return e>=\"0\"&&\"9\">=e||\".\"==e}function y(e){return e>=\"0\"&&\"9\">=e}function x(){u(),p();var e=w();if(\"\"!=ye)throw xe==le.DELIMITER?J(\"Unexpected operator \"+ye):X('Unexpected part \"'+ye+'\"');return e}function w(){var e,t,r=[];if(\"\"==ye)return new re(\"undefined\",\"undefined\");for(\"\\n\"!=ye&&\";\"!=ye&&(e=b());\"\\n\"==ye||\";\"==ye;)0==r.length&&e&&(t=\";\"!=ye,r.push({node:e,visible:t})),p(),\"\\n\"!=ye&&\";\"!=ye&&\"\"!=ye&&(e=b(),t=\";\"!=ye,r.push({node:e,visible:t}));return r.length>0?new ee(r):e}function b(){if(xe==le.SYMBOL&&\"function\"==ye)throw X('Deprecated keyword \"function\". Functions can now be assigned without it, like \"f(x) = x^2\".');return N()}function N(){var e,t,r,n,i=E();if(\"=\"==ye){if(i&&i.isSymbolNode)return e=i.name,m(),r=N(),new Q(e,r);if(i&&i.isIndexNode)return m(),r=N(),new fe(i,r);if(i&&i.isFunctionNode&&(n=!0,t=[],e=i.name,i.args.forEach(function(e,r){e&&e.isSymbolNode?t[r]=e.name:n=!1}),n))return m(),r=N(),new ne(e,t,r);throw X(\"Invalid left hand side of assignment operator =\")}return i}function E(){for(var e=M();\"?\"==ye;){var t=be;be=we,m();var r=e,n=M();if(\":\"!=ye)throw X(\"False part of conditional expression expected\");be=null,m();var i=E();e=new te(r,n,i),be=t}return e}function M(){for(var e=A();\"or\"==ye;)m(),e=new ae(\"or\",\"or\",[e,A()]);return e}function A(){for(var e=_();\"xor\"==ye;)m(),e=new ae(\"xor\",\"xor\",[e,_()]);return e}function _(){for(var e=O();\"and\"==ye;)m(),e=new ae(\"and\",\"and\",[e,O()]);return e}function O(){for(var e=T();\"|\"==ye;)m(),e=new ae(\"|\",\"bitOr\",[e,T()]);return e}function T(){for(var e=C();\"^|\"==ye;)m(),e=new ae(\"^|\",\"bitXor\",[e,C()]);return e}function C(){for(var e=S();\"&\"==ye;)m(),e=new ae(\"&\",\"bitAnd\",[e,S()]);return e}function S(){var e,t,r,n,i;for(e=z(),t={\"==\":\"equal\",\"!=\":\"unequal\",\"<\":\"smaller\",\">\":\"larger\",\"<=\":\"smallerEq\",\">=\":\"largerEq\"};ye in t;)r=ye,n=t[r],m(),i=[e,z()],e=new ae(r,n,i);return e}function z(){var e,t,r,n,i;for(e=B(),t={\"<<\":\"leftShift\",\">>\":\"rightArithShift\",\">>>\":\"rightLogShift\"};ye in t;)r=ye,n=t[r],m(),i=[e,B()],e=new ae(r,n,i);return e}function B(){var e,t,r,n,i;for(e=k(),t={to:\"to\",\"in\":\"to\"};ye in t;)r=ye,n=t[r],m(),i=[e,k()],e=new ae(r,n,i);return e}function k(){var e,t=[];if(e=\":\"==ye?new re(\"1\",\"number\"):I(),\":\"==ye&&be!==we){for(t.push(e);\":\"==ye&&t.length<3;)m(),\")\"==ye||\"]\"==ye||\",\"==ye||\"\"==ye?t.push(new ce(\"end\")):t.push(I());e=3==t.length?new ue(t[0],t[2],t[1]):new ue(t[0],t[1])}return e}function I(){var e,t,r,n,i;for(e=R(),t={\"+\":\"add\",\"-\":\"subtract\"};ye in t;)r=ye,n=t[r],m(),i=[e,R()],e=new ae(r,n,i);return e}function R(){var e,t,r,n,i;for(e=P(),t=e,r={\"*\":\"multiply\",\".*\":\"dotMultiply\",\"/\":\"divide\",\"./\":\"dotDivide\",\"%\":\"mod\",mod:\"mod\"};;)if(ye in r)n=ye,i=r[n],m(),t=P(),e=new ae(n,i,[e,t]);else{if(!(xe==le.SYMBOL||\"in\"==ye&&e&&e.isConstantNode||xe==le.NUMBER&&!t.isConstantNode||\"(\"==ye||\"[\"==ye))break;t=P(),e=new ae(\"*\",\"multiply\",[e,t])}return e}function P(){var e,t,r={\"-\":\"unaryMinus\",\"+\":\"unaryPlus\",\"~\":\"bitNot\",not:\"not\"}[ye];return r?(e=ye,m(),t=[P()],new ae(e,r,t)):U()}function U(){var e,t,r,n;return e=q(),(\"^\"==ye||\".^\"==ye)&&(t=ye,r=\"^\"==t?\"pow\":\"dotPow\",m(),n=[e,P()],e=new ae(t,r,n)),e}function q(){var e,t,r,n,i;for(e=L(),t={\"!\":\"factorial\",\"'\":\"transpose\"};ye in t;)r=ye,n=t[r],p(),i=[e],e=new ae(r,n,i);return e}function L(){var e,t=[];if(xe==le.SYMBOL&&he[ye]){if(e=he[ye],p(),\"(\"==ye){if(t=[],h(),p(),\")\"!=ye)for(t.push(E());\",\"==ye;)p(),t.push(E());if(\")\"!=ye)throw X(\"Parenthesis ) expected\");g(),p()}return new e(t)}return F()}function F(){var e,t;return xe==le.SYMBOL||xe==le.DELIMITER&&ye in me?(t=ye,p(),e=D(t),e=$(e)):j()}function D(e){var t;if(\"(\"==ye){if(t=[],h(),p(),\")\"!=ye)for(t.push(E());\",\"==ye;)p(),t.push(E());if(\")\"!=ye)throw X(\"Parenthesis ) expected\");return g(),p(),new se(e,t)}return new ce(e)}function $(e){for(var t;\"[\"==ye;){if(t=[],h(),p(),\"]\"!=ye)for(t.push(E());\",\"==ye;)p(),t.push(E());if(\"]\"!=ye)throw X(\"Parenthesis ] expected\");g(),p(),e=new ie(e,t)}return e}function j(){var e,t,r;if('\"'==ye){for(t=\"\",r=\"\";\"\"!=de&&('\"'!=de||\"\\\\\"==r);)t+=de,r=de,c();if(p(),'\"'!=ye)throw X('End of string \" expected');return p(),e=new re(t,\"string\"),e=$(e)}return G()}function G(){var e,t,r,n;if(\"[\"==ye){if(h(),p(),\"]\"!=ye){var i=H();if(\";\"==ye){for(r=1,t=[i];\";\"==ye;)p(),t[r]=H(),r++;if(\"]\"!=ye)throw X(\"End of matrix ] expected\");g(),p(),n=t[0].nodes.length;for(var a=1;r>a;a++)if(t[a].nodes.length!=n)throw J(\"Column dimensions mismatch (\"+t[a].nodes.length+\" != \"+n+\")\");e=new K(t)}else{if(\"]\"!=ye)throw X(\"End of matrix ] expected\");g(),p(),e=i}}else g(),p(),e=new K([]);return e}return Z()}function H(){for(var e=[N()],t=1;\",\"==ye;)p(),e[t]=N(),t++;return new K(e)}function Z(){var e;return xe==le.NUMBER?(e=ye,p(),new re(e,\"number\")):V()}function V(){var e;if(\"(\"==ye){if(h(),p(),e=N(),\")\"!=ye)throw X(\"Parenthesis ) expected\");return g(),p(),new oe(e)}return Y()}function Y(){throw X(\"\"==ye?\"Unexpected end of expression\":\"Value expected\")}function W(){return ve-ye.length+1}function X(e){var t=W(),r=new SyntaxError(e+\" (char \"+t+\")\");return r[\"char\"]=t,r}function J(e){var t=W(),r=new Error(e+\" (char \"+t+\")\");return r[\"char\"]=t,r}var K=n(r(254)),Q=n(r(257)),ee=n(r(259)),te=n(r(260)),re=n(r(261)),ne=n(r(262)),ie=n(r(263)),ae=n(r(266)),oe=n(r(268)),se=n(r(267)),ue=n(r(264)),ce=n(r(265)),fe=n(r(269)),le={NULL:0,DELIMITER:1,NUMBER:2,SYMBOL:3,UNKNOWN:4},pe={\",\":!0,\"(\":!0,\")\":!0,\"[\":!0,\"]\":!0,'\"':!0,\";\":!0,\"+\":!0,\"-\":!0,\"*\":!0,\".*\":!0,\"/\":!0,\"./\":!0,\"%\":!0,\"^\":!0,\".^\":!0,\"~\":!0,\"!\":!0,\"&\":!0,\"|\":!0,\"^|\":!0,\"'\":!0,\"=\":!0,\":\":!0,\"?\":!0,\"==\":!0,\"!=\":!0,\"<\":!0,\">\":!0,\"<=\":!0,\">=\":!0,\"<<\":!0,\">>\":!0,\">>>\":!0},me={mod:!0,to:!0,\"in\":!0,and:!0,xor:!0,or:!0,not:!0},he={},ge=\"\",ve=0,de=\"\",ye=\"\",xe=le.NULL,we=0,be=null;return s}var i=r(11),a=r(19);t.name=\"parse\",t.path=\"expression\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(this.nodes=e||[],!Array.isArray(this.nodes)||!this.nodes.every(function(e){return e&&e.isNode}))throw new TypeError(\"Array containing Nodes expected\")}var s=n(r(255));return o.prototype=new s,o.prototype.type=\"ArrayNode\",o.prototype.isArrayNode=!0,o.prototype._compile=function(e){var t=\"array\"!==e.math.config().matrix,r=this.nodes.map(function(t){return t._compile(e)});return(t?\"math.matrix([\":\"[\")+r.join(\",\")+(t?\"])\":\"]\")},o.prototype.forEach=function(e){for(var t=0;t<this.nodes.length;t++){var r=this.nodes[t];e(r,\"nodes[\"+t+\"]\",this)}},o.prototype.map=function(e){for(var t=[],r=0;r<this.nodes.length;r++)t[r]=this._ifNode(e(this.nodes[r],\"nodes[\"+r+\"]\",this));return new o(t)},o.prototype.clone=function(){return new o(this.nodes.slice(0))},o.prototype._toString=function(e){return i.format(this.nodes)},o.prototype._toTex=function(e){var t=\"\\\\begin{bmatrix}\";return this.nodes.forEach(function(r){t+=r.nodes?r.nodes.map(function(t){return t.toTex(e)}).join(\"&\"):r.toTex(e),t+=\"\\\\\\\\\"}),t+=\"\\\\end{bmatrix}\"},o}var i=r(23);t.name=\"ArrayNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n,a){function o(){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\")}function s(e){for(var t in e)if(e.hasOwnProperty(t)&&t in i)throw new Error('Scope contains an illegal symbol, \"'+t+'\" is a reserved keyword')}return o.prototype.eval=function(e){return this.compile().eval(e)},o.prototype.type=\"Node\",o.prototype.isNode=!0,o.prototype.compile=function(){if(arguments.length>0)throw new Error(\"Calling compile(math) is deprecated. Call the function as compile() instead.\");var e={math:a.expression.transform,args:{},_validateScope:s},t=this._compile(e),r=Object.keys(e).map(function(e){return\" var \"+e+' = defs[\"'+e+'\"];'}),n=r.join(\" \")+'return { \"eval\": function (scope) { if (scope) _validateScope(scope); scope = scope || {}; return '+t+\"; }};\",i=new Function(\"defs\",n);return i(e)},o.prototype._compile=function(e){throw new Error(\"Cannot compile a Node interface\")},o.prototype.forEach=function(e){throw new Error(\"Cannot run forEach on a Node interface\")},o.prototype.map=function(e){throw new Error(\"Cannot run map on a Node interface\")},o.prototype._ifNode=function(e){if(!e||!e.isNode)throw new TypeError(\"Callback function must return a Node\");return e},o.prototype.traverse=function(e){function t(e,r){e.forEach(function(e,n,i){r(e,n,i),t(e,r)})}e(this,null,null),t(this,e)},o.prototype.transform=function(e){function t(e,r){return e.map(function(e,n,i){var a=r(e,n,i);return t(a,r)})}var r=e(this,null,null);return t(r,e)},o.prototype.filter=function(e){var t=[];return this.traverse(function(r,n,i){e(r,n,i)&&t.push(r)}),t},o.prototype.find=function(){throw new Error(\"Function Node.find is deprecated. Use Node.filter instead.\")},o.prototype.match=function(){throw new Error(\"Function Node.match is deprecated. See functions Node.filter, Node.transform, Node.traverse.\")},o.prototype.clone=function(){throw new Error(\"Cannot clone a Node interface\")},o.prototype.toString=function(e){var t;if(e&&\"object\"==typeof e)switch(typeof e.handler){case\"object\":case\"undefined\":break;case\"function\":t=e.handler(this,e);break;default:throw new TypeError(\"Object or function expected as callback\")}return\"undefined\"!=typeof t?t:this._toString(e)},o.prototype._toString=function(){\nthrow new Error(\"_toString not implemented for \"+this.type)},o.prototype.toTex=function(e){var t;if(e&&\"object\"==typeof e)switch(typeof e.handler){case\"object\":case\"undefined\":break;case\"function\":t=e.handler(this,e);break;default:throw new TypeError(\"Object or function expected as callback\")}return\"undefined\"!=typeof t?t:this._toTex(e)},o.prototype._toTex=function(e){throw new Error(\"_toTex not implemented for \"+this.type)},o.prototype.getIdentifier=function(){return this.type},o.prototype.getContent=function(){return this},o}var i=r(256);r(3).extend;t.name=\"Node\",t.path=\"expression.node\",t.math=!0,t.factory=n},function(e,t){\"use strict\";e.exports={end:!0}},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('String expected for parameter \"name\"');if(!t||!t.isNode)throw new TypeError('Node expected for parameter \"expr\"');if(e in c)throw new Error('Illegal symbol name, \"'+e+'\" is a reserved keyword');this.name=e,this.expr=t}function s(e,t){var r=f.getPrecedence(e,t),n=f.getPrecedence(e.expr,t);return\"all\"===t||null!==n&&r>=n}var u=n(r(255)),c=(n(r(254)),r(256)),f=r(258);return o.prototype=new u,o.prototype.type=\"AssignmentNode\",o.prototype.isAssignmentNode=!0,o.prototype._compile=function(e){return'scope[\"'+this.name+'\"] = '+this.expr._compile(e)},o.prototype.forEach=function(e){e(this.expr,\"expr\",this)},o.prototype.map=function(e){return new o(this.name,this._ifNode(e(this.expr,\"expr\",this)))},o.prototype.clone=function(){return new o(this.name,this.expr)},o.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.expr.toString(e);return s(this,t)&&(r=\"(\"+r+\")\"),this.name+\" = \"+r},o.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.expr.toTex(e);return s(this,t)&&(r=\"\\\\left(\"+r+\"\\\\right)\"),i.toSymbol(this.name)+\":=\"+r},o}var i=r(30);t.name=\"AssignmentNode\",t.path=\"expression.node\",t.factory=n},function(e,t){\"use strict\";function r(e,t){var r=e;\"keep\"!==t&&(r=e.getContent());for(var n=r.getIdentifier(),i=0;i<a.length;i++)if(n in a[i])return i;return null}function n(e,t){var n=e;\"keep\"!==t&&(n=e.getContent());var i=n.getIdentifier(),o=r(n,t);if(null===o)return null;var s=a[o][i];if(s.hasOwnProperty(\"associativity\")){if(\"left\"===s.associativity)return\"left\";if(\"right\"===s.associativity)return\"right\";throw Error(\"'\"+i+\"' has the invalid associativity '\"+s.associativity+\"'.\")}return null}function i(e,t,n){var i=e,o=t;if(\"keep\"!==n)var i=e.getContent(),o=t.getContent();var s=i.getIdentifier(),u=o.getIdentifier(),c=r(i,n);if(null===c)return null;var f=a[c][s];if(f.hasOwnProperty(\"associativeWith\")&&f.associativeWith instanceof Array){for(var l=0;l<f.associativeWith.length;l++)if(f.associativeWith[l]===u)return!0;return!1}return null}var a=[{AssignmentNode:{},FunctionAssignmentNode:{}},{ConditionalNode:{latexLeftParens:!1,latexRightParens:!1,latexParens:!1}},{\"OperatorNode:or\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:xor\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:and\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:bitOr\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:bitXor\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:bitAnd\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:equal\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:unequal\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:smaller\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:larger\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:smallerEq\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:largerEq\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:leftShift\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:rightArithShift\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:rightLogShift\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:to\":{associativity:\"left\",associativeWith:[]}},{RangeNode:{}},{\"OperatorNode:add\":{associativity:\"left\",associativeWith:[\"OperatorNode:add\",\"OperatorNode:subtract\"]},\"OperatorNode:subtract\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:multiply\":{associativity:\"left\",associativeWith:[\"OperatorNode:multiply\",\"OperatorNode:divide\",\"Operator:dotMultiply\",\"Operator:dotDivide\"]},\"OperatorNode:divide\":{associativity:\"left\",associativeWith:[],latexLeftParens:!1,latexRightParens:!1,latexParens:!1},\"OperatorNode:dotMultiply\":{associativity:\"left\",associativeWith:[\"OperatorNode:multiply\",\"OperatorNode:divide\",\"OperatorNode:dotMultiply\",\"OperatorNode:doDivide\"]},\"OperatorNode:dotDivide\":{associativity:\"left\",associativeWith:[]},\"OperatorNode:mod\":{associativity:\"left\",associativeWith:[]}},{\"OperatorNode:unaryPlus\":{associativity:\"right\"},\"OperatorNode:unaryMinus\":{associativity:\"right\"},\"OperatorNode:bitNot\":{associativity:\"right\"},\"OperatorNode:not\":{associativity:\"right\"}},{\"OperatorNode:pow\":{associativity:\"right\",associativeWith:[],latexRightParens:!1},\"OperatorNode:dotPow\":{associativity:\"right\",associativeWith:[]}},{\"OperatorNode:factorial\":{associativity:\"left\"}},{\"OperatorNode:transpose\":{associativity:\"left\"}}];e.exports.properties=a,e.exports.getPrecedence=r,e.exports.getAssociativity=n,e.exports.isAssociativeWith=i},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!Array.isArray(e))throw new Error(\"Array expected\");this.blocks=e.map(function(e){var t=e&&e.node,r=e&&void 0!==e.visible?e.visible:!0;if(!t||!t.isNode)throw new TypeError('Property \"node\" must be a Node');if(\"boolean\"!=typeof r)throw new TypeError('Property \"visible\" must be a boolean');return{node:t,visible:r}})}var o=n(r(255)),s=n(r(71));return a.prototype=new o,a.prototype.type=\"BlockNode\",a.prototype.isBlockNode=!0,a.prototype._compile=function(e){e.ResultSet=s;var t=this.blocks.map(function(t){var r=t.node._compile(e);return t.visible?\"results.push(\"+r+\");\":r+\";\"});return\"(function () {var results = [];\"+t.join(\"\")+\"return new ResultSet(results);})()\"},a.prototype.forEach=function(e){for(var t=0;t<this.blocks.length;t++)e(this.blocks[t].node,\"blocks[\"+t+\"].node\",this)},a.prototype.map=function(e){for(var t=[],r=0;r<this.blocks.length;r++){var n=this.blocks[r],i=this._ifNode(e(n.node,\"blocks[\"+r+\"].node\",this));t[r]={node:i,visible:n.visible}}return new a(t)},a.prototype.clone=function(){var e=this.blocks.map(function(e){return{node:e.node,visible:e.visible}});return new a(e)},a.prototype._toString=function(e){return this.blocks.map(function(t){return t.node.toString(e)+(t.visible?\"\":\";\")}).join(\"\\n\")},a.prototype._toTex=function(e){return this.blocks.map(function(t){return t.node.toTex(e)+(t.visible?\"\":\";\")}).join(\"\\\\;\\\\;\\n\")},a}t.name=\"BlockNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t,r){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isNode)throw new TypeError(\"Parameter condition must be a Node\");if(!t||!t.isNode)throw new TypeError(\"Parameter trueExpr must be a Node\");if(!r||!r.isNode)throw new TypeError(\"Parameter falseExpr must be a Node\");this.condition=e,this.trueExpr=t,this.falseExpr=r}var s=n(r(255));return o.prototype=new s,o.prototype.type=\"ConditionalNode\",o.prototype.isConditionalNode=!0,o.prototype._compile=function(e){return e.testCondition=function(t){if(\"number\"==typeof t||\"boolean\"==typeof t||\"string\"==typeof t)return t?!0:!1;if(t){if(t.isBigNumber===!0)return t.isZero()?!1:!0;if(t.isComplex===!0)return t.re||t.im?!0:!1;if(t.isUnit===!0)return t.value?!0:!1}if(null===t||void 0===t)return!1;throw new TypeError('Unsupported type of condition \"'+e.math[\"typeof\"](t)+'\"')},\"testCondition(\"+this.condition._compile(e)+\") ? ( \"+this.trueExpr._compile(e)+\") : ( \"+this.falseExpr._compile(e)+\")\"},o.prototype.forEach=function(e){e(this.condition,\"condition\",this),e(this.trueExpr,\"trueExpr\",this),e(this.falseExpr,\"falseExpr\",this)},o.prototype.map=function(e){return new o(this._ifNode(e(this.condition,\"condition\",this)),this._ifNode(e(this.trueExpr,\"trueExpr\",this)),this._ifNode(e(this.falseExpr,\"falseExpr\",this)))},o.prototype.clone=function(){return new o(this.condition,this.trueExpr,this.falseExpr)},o.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=i.getPrecedence(this,t),n=this.condition.toString(e),a=i.getPrecedence(this.condition,t);(\"all\"===t||\"OperatorNode\"===this.condition.type||null!==a&&r>=a)&&(n=\"(\"+n+\")\");var o=this.trueExpr.toString(e),s=i.getPrecedence(this.trueExpr,t);(\"all\"===t||\"OperatorNode\"===this.trueExpr.type||null!==s&&r>=s)&&(o=\"(\"+o+\")\");var u=this.falseExpr.toString(e),c=i.getPrecedence(this.falseExpr,t);return(\"all\"===t||\"OperatorNode\"===this.falseExpr.type||null!==c&&r>=c)&&(u=\"(\"+u+\")\"),n+\" ? \"+o+\" : \"+u},o.prototype._toTex=function(e){return\"\\\\left\\\\{\\\\begin{array}{l l}{\"+this.trueExpr.toTex(e)+\"}, &\\\\quad{\\\\text{if}\\\\;\"+this.condition.toTex(e)+\"}\\\\\\\\{\"+this.falseExpr.toTex(e)+\"}, &\\\\quad{\\\\text{otherwise}}\\\\end{array}\\\\right.\"},o}var i=(r(30),r(258));t.name=\"ConditionalNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(t){if(\"string\"!=typeof t)throw new TypeError('String expected for parameter \"valueType\"');if(\"string\"!=typeof e)throw new TypeError('String expected for parameter \"value\"');this.value=e,this.valueType=t}else this.value=e+\"\",this.valueType=i(e);if(!u[this.valueType])throw new TypeError('Unsupported type of value \"'+this.valueType+'\"')}var s=n(r(255)),u={number:!0,string:!0,\"boolean\":!0,undefined:!0,\"null\":!0};return o.prototype=new s,o.prototype.type=\"ConstantNode\",o.prototype.isConstantNode=!0,o.prototype._compile=function(e){switch(this.valueType){case\"number\":var t=e.math.config().number;return\"bignumber\"===t?'math.bignumber(\"'+this.value+'\")':\"fraction\"===t?'math.fraction(\"'+this.value+'\")':this.value.replace(/^(0*)[0-9]/,function(e,t){return e.substring(t.length)});case\"string\":return'\"'+this.value+'\"';case\"boolean\":return this.value;case\"undefined\":return this.value;case\"null\":return this.value;default:throw new TypeError('Unsupported type of constant \"'+this.valueType+'\"')}},o.prototype.forEach=function(e){},o.prototype.map=function(e){return this.clone()},o.prototype.clone=function(){return new o(this.value,this.valueType)},o.prototype._toString=function(e){switch(this.valueType){case\"string\":return'\"'+this.value+'\"';default:return this.value}},o.prototype._toTex=function(e){var t,r=this.value;switch(this.valueType){case\"string\":return'\\\\mathtt{\"'+r+'\"}';case\"number\":return t=r.toLowerCase().indexOf(\"e\"),-1!==t?r.substring(0,t)+\"\\\\cdot10^{\"+r.substring(t+1)+\"}\":r;default:return r}},o}var i=r(41).type;t.name=\"ConstantNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e){return\"string\"==typeof e}function i(e,t,i,u){function c(e,t,r){if(!(this instanceof c))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('String expected for parameter \"name\"');if(!Array.isArray(t)||!t.every(n))throw new TypeError('Array containing strings expected for parameter \"params\"');if(!r||!r.isNode)throw new TypeError('Node expected for parameter \"expr\"');if(e in a)throw new Error('Illegal function name, \"'+e+'\" is a reserved keyword');this.name=e,this.params=t,this.expr=r}function f(e,t){var r=s.getPrecedence(e,t),n=s.getPrecedence(e.expr,t);return\"all\"===t||null!==n&&r>=n}var l=i(r(255));return c.prototype=new l,c.prototype.type=\"FunctionAssignmentNode\",c.prototype.isFunctionAssignmentNode=!0,c.prototype._compile=function(e){return this.params.forEach(function(t){e.args[t]=!0}),'scope[\"'+this.name+'\"] = (function () { var fn = function '+this.name+\"(\"+this.params.join(\",\")+\") { if (arguments.length != \"+this.params.length+') { throw new SyntaxError(\"Wrong number of arguments in function '+this.name+' (\" + arguments.length + \" provided, '+this.params.length+' expected)\"); } return '+this.expr._compile(e)+' }; fn.syntax = \"'+this.name+\"(\"+this.params.join(\", \")+')\"; return fn; })()'},c.prototype.forEach=function(e){e(this.expr,\"expr\",this)},c.prototype.map=function(e){var t=this._ifNode(e(this.expr,\"expr\",this));return new c(this.name,this.params.slice(0),t)},c.prototype.clone=function(){return new c(this.name,this.params.slice(0),this.expr)},c.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.expr.toString(e);return f(this,t)&&(r=\"(\"+r+\")\"),\"function \"+this.name+\"(\"+this.params.join(\", \")+\") = \"+r},c.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.expr.toTex(e);return f(this,t)&&(r=\"\\\\left(\"+r+\"\\\\right)\"),\"\\\\mathrm{\"+this.name+\"}\\\\left(\"+this.params.map(o.toSymbol).join(\",\")+\"\\\\right):=\"+r},c}var a=r(256),o=r(30),s=r(258);t.name=\"FunctionAssignmentNode\",t.path=\"expression.node\",t.factory=i},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isNode)throw new TypeError('Node expected for parameter \"object\"');if(!c(t)||!t.every(function(e){return e&&e.isNode}))throw new TypeError('Array containing Nodes expected for parameter \"ranges\"');this.object=e,this.ranges=t}function o(e){switch(e.object.type){case\"ArrayNode\":case\"ConstantNode\":case\"SymbolNode\":case\"ParenthesisNode\":return!1;default:return!0}}var s=n(r(255)),u=(n(r(264)),n(r(265)),n(r(66))),c=Array.isArray;return a.prototype=new s,a.prototype.type=\"IndexNode\",a.prototype.isIndexNode=!0,a.prototype._compile=function(e){return this.compileSubset(e)},a.prototype.compileSubset=function(e,t){function r(e){return e&&e.isSymbolNode&&\"end\"==e.name}var n=!1,i=this.ranges.map(function(e){var t=e.filter(r).length>0;return n=t?t:n,t});e.range=function(e,t,r){return new u(e&&e.isBigNumber===!0?e.toNumber():e,t&&t.isBigNumber===!0?t.toNumber():t,r&&r.isBigNumber===!0?r.toNumber():r)};var a=this.ranges.map(function(t,r){var n=i[r];return t&&t.isRangeNode?n?(e.args.end=!0,\"(function () { var end = size[\"+r+\"]; return range( \"+t.start._compile(e)+\", \"+t.end._compile(e)+\", \"+(t.step?t.step._compile(e):\"1\")+\" );})()\"):\"range(\"+t.start._compile(e)+\", \"+t.end._compile(e)+\", \"+(t.step?t.step._compile(e):\"1\")+\")\":n?(e.args.end=!0,\"(function () { var end = size[\"+r+\"]; return \"+t._compile(e)+\";})()\"):t._compile(e)});return n?\"(function () { var obj = \"+this.object._compile(e)+\"; var size = math.size(obj).valueOf(); return math.subset( obj, math.index(\"+a.join(\", \")+\") \"+(t?\", \"+t:\"\")+\" );})()\":\"math.subset(\"+this.object._compile(e)+\",math.index(\"+a.join(\", \")+\")\"+(t?\", \"+t:\"\")+\")\"},a.prototype.forEach=function(e){e(this.object,\"object\",this);for(var t=0;t<this.ranges.length;t++)e(this.ranges[t],\"ranges[\"+t+\"]\",this)},a.prototype.map=function(e){for(var t=this._ifNode(e(this.object,\"object\",this)),r=[],n=0;n<this.ranges.length;n++)r[n]=this._ifNode(e(this.ranges[n],\"ranges[\"+n+\"]\",this));return new a(t,r)},a.prototype.objectName=function(){return this.object.name},a.prototype.clone=function(){return new a(this.object,this.ranges.slice(0))},a.prototype._toString=function(e){var t=this.object.toString(e);return o(this)&&(t=\"(\"+t+\"(\"),t+\"[\"+this.ranges.join(\", \")+\"]\"},a.prototype._toTex=function(e){var t=this.object.toTex(e);o(this)&&(t=\"\\\\left(\"+t+\"\\\\right)\");var r=this.ranges.map(function(t){return t.toTex(e)});return t+\"_{\"+r.join(\",\")+\"}\"},a}t.name=\"IndexNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t,r){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isNode)throw new TypeError(\"Node expected\");if(!t||!t.isNode)throw new TypeError(\"Node expected\");if(r&&(!r||!r.isNode))throw new TypeError(\"Node expected\");if(arguments.length>3)throw new Error(\"Too many arguments\");this.start=e,this.end=t,this.step=r||null}function s(e,t){var r=i.getPrecedence(e,t),n={},a=i.getPrecedence(e.start,t);if(n.start=null!==a&&r>=a||\"all\"===t,e.step){var o=i.getPrecedence(e.step,t);n.step=null!==o&&r>=o||\"all\"===t}var s=i.getPrecedence(e.end,t);return n.end=null!==s&&r>=s||\"all\"===t,n}var u=n(r(255));return o.prototype=new u,o.prototype.type=\"RangeNode\",o.prototype.isRangeNode=!0,o.prototype._compile=function(e){return\"math.range(\"+this.start._compile(e)+\", \"+this.end._compile(e)+(this.step?\", \"+this.step._compile(e):\"\")+\")\"},o.prototype.forEach=function(e){e(this.start,\"start\",this),e(this.end,\"end\",this),this.step&&e(this.step,\"step\",this)},o.prototype.map=function(e){return new o(this._ifNode(e(this.start,\"start\",this)),this._ifNode(e(this.end,\"end\",this)),this.step&&this._ifNode(e(this.step,\"step\",this)))},o.prototype.clone=function(){return new o(this.start,this.end,this.step&&this.step)},o.prototype._toString=function(e){var t,r=e&&e.parenthesis?e.parenthesis:\"keep\",n=s(this,r),i=this.start.toString(e);if(n.start&&(i=\"(\"+i+\")\"),t=i,this.step){var a=this.step.toString(e);n.step&&(a=\"(\"+a+\")\"),t+=\":\"+a}var o=this.end.toString(e);return n.end&&(o=\"(\"+o+\")\"),t+=\":\"+o},o.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=s(this,t),n=this.start.toTex(e);if(r.start&&(n=\"\\\\left(\"+n+\"\\\\right)\"),this.step){var i=this.step.toTex(e);r.step&&(i=\"\\\\left(\"+i+\"\\\\right)\"),n+=\":\"+i}var a=this.end.toTex(e);return r.end&&(a=\"\\\\left(\"+a+\"\\\\right)\"),n+=\":\"+a},o}var i=r(258);t.name=\"RangeNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a,o){function s(e){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('String expected for parameter \"name\"');this.name=e}function u(e){throw new Error(\"Undefined symbol \"+e)}var c=n(r(255)),f=n(r(28));return s.prototype=new c,s.prototype.type=\"SymbolNode\",s.prototype.isSymbolNode=!0,s.prototype._compile=function(e){return e.undef=u,e.Unit=f,this.name in e.args?this.name:this.name in e.math?'(\"'+this.name+'\" in scope ? scope[\"'+this.name+'\"] : math[\"'+this.name+'\"])':'(\"'+this.name+'\" in scope ? scope[\"'+this.name+'\"] : '+(f.isValuelessUnit(this.name)?'new Unit(null, \"'+this.name+'\")':'undef(\"'+this.name+'\")')+\")\"},s.prototype.forEach=function(e){},s.prototype.map=function(e){return this.clone()},s.prototype.clone=function(){return new s(this.name)},s.prototype._toString=function(e){return this.name},s.prototype._toTex=function(e){var t=!1;\"undefined\"==typeof o[this.name]&&f.isValuelessUnit(this.name)&&(t=!0);var r=i.toSymbol(this.name,t);return\"\\\\\"===r[0]?r:\" \"+r},s}var i=r(30);t.name=\"SymbolNode\",t.path=\"expression.node\",t.math=!0,t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o,s){function u(e,t,r){if(!(this instanceof u))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('string expected for parameter \"op\"');if(\"string\"!=typeof t)throw new TypeError('string expected for parameter \"fn\"');if(!Array.isArray(r)||!r.every(function(e){return e&&e.isNode}))throw new TypeError('Array containing Nodes expected for parameter \"args\"');this.op=e,this.fn=t,this.args=r||[]}function c(e,t,r,n){var i=a.getPrecedence(e,t),o=a.getAssociativity(e,t);if(\"all\"===t||r.length>2){var s=[];return r.forEach(function(e){switch(e.getContent().type){case\"ArrayNode\":case\"ConstantNode\":case\"SymbolNode\":case\"ParenthesisNode\":s.push(!1);break;default:s.push(!0)}}),s}switch(r.length){case 0:return[];case 1:var u=a.getPrecedence(r[0],t);if(n&&null!==u){var c,f;if(\"keep\"===t?(c=r[0].getIdentifier(),f=e.getIdentifier()):(c=r[0].getContent().getIdentifier(),f=e.getContent().getIdentifier()),a.properties[i][f].latexLeftParens===!1)return[!1];if(a.properties[u][c].latexParens===!1)return[!1]}return null===u?[!1]:i>=u?[!0]:[!1];case 2:var l,p=a.getPrecedence(r[0],t),m=a.isAssociativeWith(e,r[0],t);l=null===p?!1:p!==i||\"right\"!==o||m?i>p?!0:!1:!0;var h,g=a.getPrecedence(r[1],t),v=a.isAssociativeWith(e,r[1],t);if(h=null===g?!1:g!==i||\"left\"!==o||v?i>g?!0:!1:!0,n){var f,d,y;\"keep\"===t?(f=e.getIdentifier(),d=e.args[0].getIdentifier(),y=e.args[1].getIdentifier()):(f=e.getContent().getIdentifier(),d=e.args[0].getContent().getIdentifier(),y=e.args[1].getContent().getIdentifier()),null!==p&&(a.properties[i][f].latexLeftParens===!1&&(l=!1),a.properties[p][d].latexParens===!1&&(l=!1)),null!==g&&(a.properties[i][f].latexRightParens===!1&&(h=!1),a.properties[g][y].latexParens===!1&&(h=!1))}return[l,h]}}var f=n(r(255));n(r(261)),n(r(265)),n(r(267));return u.prototype=new f,u.prototype.type=\"OperatorNode\",u.prototype.isOperatorNode=!0,u.prototype._compile=function(e){if(!(this.fn in e.math))throw new Error(\"Function \"+this.fn+' missing in provided namespace \"math\"');var t=this.args.map(function(t){return t._compile(e)});return\"math.\"+this.fn+\"(\"+t.join(\", \")+\")\"},u.prototype.forEach=function(e){for(var t=0;t<this.args.length;t++)e(this.args[t],\"args[\"+t+\"]\",this)},u.prototype.map=function(e){for(var t=[],r=0;r<this.args.length;r++)t[r]=this._ifNode(e(this.args[r],\"args[\"+r+\"]\",this));return new u(this.op,this.fn,t)},u.prototype.clone=function(){return new u(this.op,this.fn,this.args.slice(0))},u.prototype._toString=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.args,n=c(this,t,r,!1);switch(r.length){case 1:var i=a.getAssociativity(this,t),o=r[0].toString(e);return n[0]&&(o=\"(\"+o+\")\"),\"right\"===i?this.op+o:\"left\"===i?o+this.op:o+this.op;case 2:var s=r[0].toString(e),u=r[1].toString(e);return n[0]&&(s=\"(\"+s+\")\"),n[1]&&(u=\"(\"+u+\")\"),s+\" \"+this.op+\" \"+u;default:return this.fn+\"(\"+this.args.join(\", \")+\")\"}},u.prototype._toTex=function(e){var t=e&&e.parenthesis?e.parenthesis:\"keep\",r=this.args,n=c(this,t,r,!0),o=i.operators[this.fn];switch(o=\"undefined\"==typeof o?this.op:o,r.length){case 1:var s=a.getAssociativity(this,t),u=r[0].toTex(e);return n[0]&&(u=\"\\\\left(\"+u+\"\\\\right)\"),\"right\"===s?o+u:\"left\"===s?u+o:u+o;case 2:var f=r[0],l=f.toTex(e);n[0]&&(l=\"\\\\left(\"+l+\"\\\\right)\");var p=r[1],m=p.toTex(e);n[1]&&(m=\"\\\\left(\"+m+\"\\\\right)\");var h;switch(h=\"keep\"===t?f.getIdentifier():f.getContent().getIdentifier(),this.getIdentifier()){case\"OperatorNode:divide\":return o+\"{\"+l+\"}{\"+m+\"}\";case\"OperatorNode:pow\":switch(l=\"{\"+l+\"}\",m=\"{\"+m+\"}\",h){case\"ConditionalNode\":case\"OperatorNode:divide\":l=\"\\\\left(\"+l+\"\\\\right)\"}}return l+o+m;default:return\"\\\\mathrm{\"+this.fn+\"}\\\\left(\"+r.map(function(t){return t.toTex(e)}).join(\",\")+\"\\\\right)\"}},u.prototype.getIdentifier=function(){return this.type+\":\"+this.fn},u}var i=r(30),a=r(258);t.name=\"OperatorNode\",t.path=\"expression.node\",t.math=!0,t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a,o){function s(e,t){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");if(\"string\"!=typeof e)throw new TypeError('string expected for parameter \"name\"');if(!Array.isArray(t)||!t.every(function(e){return e&&e.isNode}))throw new TypeError('Array containing Nodes expected for parameter \"args\"');this.name=e,this.args=t||[]}function u(e,t,r){for(var n,i=\"\",a=new RegExp(\"\\\\$(?:\\\\{([a-z_][a-z_0-9]*)(?:\\\\[([0-9]+)\\\\])?\\\\}|\\\\$)\",\"ig\"),o=0;null!==(n=a.exec(e));)if(i+=e.substring(o,n.index),o=n.index,\"$$\"===n[0])i+=\"$\",o++;else{o+=n[0].length;var s=t[n[1]];if(!s)throw new ReferenceError(\"Template: Property \"+n[1]+\" does not exist.\");if(void 0===n[2])switch(typeof s){case\"string\":i+=s;break;case\"object\":if(s.isNode)i+=s.toTex(r);else{if(!Array.isArray(s))throw new TypeError(\"Template: \"+n[1]+\" has to be a Node, String or array of Nodes\");i+=s.map(function(e,t){if(e&&e.isNode)return e.toTex(r);throw new TypeError(\"Template: \"+n[1]+\"[\"+t+\"] is not a Node.\")}).join(\",\")}break;default:throw new TypeError(\"Template: \"+n[1]+\" has to be a Node, String or array of Nodes\")}else{if(!s[n[2]]||!s[n[2]].isNode)throw new TypeError(\"Template: \"+n[1]+\"[\"+n[2]+\"] is not a Node.\");i+=s[n[2]].toTex(r)}}return i+=e.slice(o)}var c=n(r(255)),f=n(r(265));s.prototype=new c,s.prototype.type=\"FunctionNode\",s.prototype.isFunctionNode=!0,s.prototype._compile=function(e){var t=e.math[this.name],r=\"function\"==typeof t&&1==t.rawArgs,n=this.args.map(function(t){return t._compile(e)});if(r){var i,a=0;do i=\"p\"+a,a++;while(i in e);return e[i]=this.args,'(\"'+this.name+'\" in scope ? scope[\"'+this.name+'\"]('+n.join(\", \")+') : math[\"'+this.name+'\"]('+i+\", math, scope))\"}var o=new f(this.name);return o._compile(e)+\"(\"+n.join(\", \")+\")\"},s.prototype.forEach=function(e){for(var t=0;t<this.args.length;t++)e(this.args[t],\"args[\"+t+\"]\",this)},s.prototype.map=function(e){for(var t=[],r=0;r<this.args.length;r++)t[r]=this._ifNode(e(this.args[r],\"args[\"+r+\"]\",this));return new s(this.name,t)},s.prototype.clone=function(){return new s(this.name,this.args.slice(0))};var l=s.prototype.toString;s.prototype.toString=function(e){var t;return e&&\"object\"==typeof e.handler&&e.handler.hasOwnProperty(this.name)&&(t=e.handler[this.name](this,e)),\"undefined\"!=typeof t?t:l.call(this,e)},s.prototype._toString=function(e){return this.name+\"(\"+this.args.join(\", \")+\")\"};var p=s.prototype.toTex;return s.prototype.toTex=function(e){var t;return e&&\"object\"==typeof e.handler&&e.handler.hasOwnProperty(this.name)&&(t=e.handler[this.name](this,e)),\"undefined\"!=typeof t?t:p.call(this,e)},s.prototype._toTex=function(e){var t,r=(e&&e.parenthesis?e.parenthesis:\"keep\",this.args.map(function(t){return t.toTex(e)}));!o[this.name]||\"function\"!=typeof o[this.name].toTex&&\"object\"!=typeof o[this.name].toTex&&\"string\"!=typeof o[this.name].toTex||(t=o[this.name].toTex);var n;switch(typeof t){case\"function\":n=t(this,e);break;case\"string\":n=u(t,this,e);break;case\"object\":switch(typeof t[r.length]){case\"function\":n=t[r.length](this,e);break;case\"string\":n=u(t[r.length],this,e)}}return\"undefined\"!=typeof n?n:u(i.defaultTemplate,this,e)},s.prototype.getIdentifier=function(){return this.type+\":\"+this.name},s}var i=r(30);t.name=\"FunctionNode\",t.path=\"expression.node\",t.math=!0,t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isNode)throw new TypeError('Node expected for parameter \"content\"');this.content=e}var o=n(r(255));return a.prototype=new o,a.prototype.type=\"ParenthesisNode\",a.prototype.isParenthesisNode=!0,a.prototype._compile=function(e){return this.content._compile(e)},a.prototype.getContent=function(){return this.content.getContent()},a.prototype.forEach=function(e){e(this.content,\"content\",this)},a.prototype.map=function(e){var t=e(this.content,\"content\",this);return new a(t)},a.prototype.clone=function(){return new a(this.content)},a.prototype._toString=function(e){return!e||e&&\"keep\"===e.parenthesis?\"(\"+this.content.toString(e)+\")\":this.content.toString(e)},a.prototype._toTex=function(e){return!e||e&&\"keep\"===e.parenthesis?\"\\\\left(\"+this.content.toTex(e)+\"\\\\right)\":this.content.toTex(e)},a}t.name=\"ParenthesisNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(!(this instanceof a))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e||!e.isIndexNode)throw new TypeError('Expected IndexNode for parameter \"index\"');if(!t||!t.isNode)throw new TypeError('Expected Node for parameter \"expr\"');this.index=e,this.expr=t}var o=n(r(255));n(r(263));return a.prototype=new o,a.prototype.type=\"UpdateNode\",a.prototype.isUpdateNode=!0,a.prototype._compile=function(e){var t=this.index.objectName()in e.args?this.name+\" = \":'scope[\"'+this.index.objectName()+'\"]',r=this.index.compileSubset(e,this.expr._compile(e));return t+\" = \"+r},a.prototype.forEach=function(e){e(this.index,\"index\",this),e(this.expr,\"expr\",this)},a.prototype.map=function(e){return new a(this._ifNode(e(this.index,\"index\",this)),this._ifNode(e(this.expr,\"expr\",this)))},a.prototype.clone=function(){return new a(this.index,this.expr)},a.prototype._toString=function(e){var t=this.expr.toString(e);return e&&\"all\"===e.parenthesis&&(t=\"(\"+t+\")\"),this.index.toString(e)+\" = \"+t},a.prototype._toTex=function(e){var t=this.expr.toTex(e);return e&&\"all\"===e.parenthesis&&(t=\"\\\\left(\"+t+\"\\\\right)\"),this.index.toTex(e)+\":=\"+t},a}t.name=\"UpdateNode\",t.path=\"expression.node\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(253));return a(\"compile\",{string:function(e){var t={};return o(e).compile().eval(t)},\"string, Object\":function(e,t){return o(e).compile().eval(t)},\"Array | Matrix\":function(e){var t={};return i(e,function(e){return o(e).compile().eval(t)})},\"Array | Matrix, Object\":function(e,t){return i(e,function(e){return o(e).compile().eval(t)})}})}var i=r(19);t.name=\"eval\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i,a){var o=n(r(81));return i(\"help\",{any:function(t){var r,n=t;if(\"string\"!=typeof t)for(r in a)if(a.hasOwnProperty(r)&&t===a[r]){n=r;break}var i=o[n];if(!i)throw new Error('No documentation found on \"'+n+'\"');return new e.Help(i)}})}t.math=!0,t.name=\"help\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(253));return i(\"parse\",{\"string | Array | Matrix\":a,\"string | Array | Matrix, Object\":a})}t.name=\"parse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i,a){var o=n(r(274));return i(\"parser\",{\"\":function(){return new o(a)}})}t.name=\"parser\",t.factory=n,t.math=!0},function(e,t,r){\"use strict\";function n(e,t,n,i,a){function o(){if(!(this instanceof o))throw new SyntaxError(\"Constructor must be called with the new operator\");this.scope={}}var s=n(r(253));return o.prototype.type=\"Parser\",o.prototype.isParser=!0,o.prototype.parse=function(e){throw new Error(\"Parser.parse is deprecated. Use math.parse instead.\")},o.prototype.compile=function(e){throw new Error(\"Parser.compile is deprecated. Use math.compile instead.\")},o.prototype.eval=function(e){return s(e).compile().eval(this.scope)},o.prototype.get=function(e){return this.scope[e]},o.prototype.set=function(e,t){return this.scope[e]=t},o.prototype.remove=function(e){delete this.scope[e]},o.prototype.clear=function(){for(var e in this.scope)this.scope.hasOwnProperty(e)&&delete this.scope[e]},o}t.name=\"Parser\",t.path=\"expression\",t.factory=n,t.math=!0},function(e,t,r){e.exports=[r(254),r(257),r(259),r(260),r(261),r(263),r(262),r(267),r(255),r(266),r(268),r(264),r(265),r(269)]},function(e,t,r){e.exports=[r(277),r(280),r(282),r(284),r(285),r(287),r(292),r(305),r(307),r(309)]},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(279));return a(\"concat\",{\"...any\":function(e){var t=e.length-1,r=e[t];\"number\"==typeof r?e[t]=r-1:r&&r.isBigNumber===!0&&(e[t]=r.minus(1));try{return o.apply(null,e)}catch(n){throw i(n)}}})}var i=r(278).transform;t.name=\"concat\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){var n=r(43);t.transform=function(e){return e&&e.isIndexError?new n(e.index+1,e.min+1,e.max+1):e}},function(e,t,r){\"use strict\";function n(e,t,n,f){var l=n(r(51)),p=f(\"concat\",{\"...Array | Matrix | number | BigNumber\":function(e){var t,r,n=e.length,f=-1,p=!1,m=[];for(t=0;n>t;t++){var h=e[t];if(h&&h.isMatrix===!0&&(p=!0),\"number\"==typeof h||h&&h.isBigNumber===!0){if(t!==n-1)throw new Error(\"Dimension must be specified as last argument\");if(r=f,f=h.valueOf(),!o(f))throw new TypeError(\"Integer number expected for dimension\");if(0>f)throw new u(f);if(t>0&&f>r)throw new u(f,r+1)}else{var g=a(h).valueOf(),v=s.size(g);if(m[t]=g,r=f,f=v.length-1,t>0&&f!=r)throw new c(r+1,f+1)}}if(0==m.length)throw new SyntaxError(\"At least one matrix expected\");for(var d=m.shift();m.length;)d=i(d,m.shift(),f,0);return p?l(d):d},\"...string\":function(e){return e.join(\"\")}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",\np}function i(e,t,r,n){if(r>n){if(e.length!=t.length)throw new c(e.length,t.length);for(var a=[],o=0;o<e.length;o++)a[o]=i(e[o],t[o],r,n+1);return a}return e.concat(t)}var a=r(3).clone,o=r(6).isInteger,s=r(40),u=r(43),c=r(42);t.name=\"concat\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t,r){var n,i;if(e[0]&&(n=e[0].compile().eval(r)),e[1])if(e[1]&&e[1].isSymbolNode)i=e[1].compile().eval(r);else{var a=r||{},s=e[1].filter(function(e){return e&&e.isSymbolNode&&!(e.name in t)&&!(e.name in a)})[0],u=Object.create(a),c=e[1].compile();if(!s)throw new Error(\"No undefined variable found in filter equation\");var f=s.name;i=function(e){return u[f]=e,c.eval(u)}}return o(n,i)}var o=n(r(281));n(r(265));return a.rawArgs=!0,a}t.name=\"filter\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(51)),u=o(\"filter\",{\"Array, function\":i,\"Array, RegExp\":a,\"Matrix, function\":function(e,t){return s(i(e.toArray(),t))},\"Matrix, RegExp\":function(e,t){return s(a(e.toArray(),t))}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}function i(e,t){if(1!==o(e).length)throw new Error(\"Only one dimensional matrices supported\");return e.filter(function(e){return t(e)})}function a(e,t){if(1!==o(e).length)throw new Error(\"Only one dimensional matrices supported\");return e.filter(function(e){return t.test(e)})}var o=r(40).size;t.name=\"filter\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){n(r(283));return i(\"forEach\",{\"Array | Matrix, function\":function(e,t){var r=function(n,i){Array.isArray(n)?n.forEach(function(e,t){r(e,i.concat(t+1))}):t(n,i,e)};r(e.valueOf(),[])}})}t.name=\"forEach\",t.path=\"expression.transform\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,i){var a=i(\"forEach\",{\"Array, function\":n,\"Matrix, function\":function(e,t){return e.forEach(t)}});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}function n(e,t){var r=function(n,i){Array.isArray(n)?n.forEach(function(e,t){r(e,i.concat(t))}):t(n,i,e)};r(e,[])}t.name=\"forEach\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n){n(r(67));return function(){for(var t=[],r=0,n=arguments.length;n>r;r++){var i=arguments[r];if(i&&i.isRange===!0)i.start--,i.end-=i.step>0?0:2;else if(i&&i.isSet===!0)i=i.map(function(e){return e-1});else if(i&&(i.isArray===!0||i.isMatrix))i=i.map(function(e){return e-1});else if(\"number\"==typeof i)i--;else{if(!i||i.isBigNumber!==!0)throw new TypeError(\"Ranges must be a Number, Range, Array or Matrix\");i=i.toNumber()-1}t[r]=i}var a=new e.Index;return e.Index.apply(a,t),a}}Array.isArray;t.name=\"index\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=(n(r(286)),n(r(51)));return a(\"max\",{\"Array, function\":function(e,t){return i(e,t,e)},\"Matrix, function\":function(e,t){return o(i(e.valueOf(),t,e))}})}function i(e,t,r){function n(e,i){return Array.isArray(e)?e.map(function(e,t){return n(e,i.concat(t+1))}):t(e,i,r)}return n(e,[])}t.name=\"map\",t.path=\"expression.transform\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,i){var a=i(\"map\",{\"Array, function\":n,\"Matrix, function\":function(e,t){return e.map(t)}});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}function n(e,t){var r=function(n,i){return Array.isArray(n)?n.map(function(e,t){return r(e,i.concat(t))}):t(n,i,e)};return r(e,[])}t.name=\"map\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(289));return o(\"max\",{\"...any\":function(e){if(2==e.length&&a(e[0])){var t=e[1];\"number\"==typeof t?e[1]=t-1:t&&t.isBigNumber===!0&&(e[1]=t.minus(1))}try{return s.apply(null,e)}catch(r){throw i(r)}}})}var i=r(278).transform,a=r(288);t.name=\"max\",t.path=\"expression.transform\",t.factory=n},function(e,t){\"use strict\";e.exports=function(e){return Array.isArray(e)||e&&e.isMatrix===!0}},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e,t){return c(e,t)?e:t}function u(e){var t=void 0;if(i(e,function(e){(void 0===t||c(e,t))&&(t=e)}),void 0===t)throw new Error(\"Cannot calculate max of an empty array\");return t}var c=n(r(63)),f=o(\"max\",{\"Array | Matrix\":u,\"Array | Matrix, number | BigNumber\":function(e,t){return a(e,t.valueOf(),s)},\"...\":function(){return u(arguments)}});return f.toTex=\"\\\\max\\\\left(${args}\\\\right)\",f}var i=r(290),a=r(291);t.name=\"max\",t.factory=n},function(e,t){\"use strict\";e.exports=function r(e,t){e&&e.isMatrix===!0&&(e=e.valueOf());for(var n=0,i=e.length;i>n;n++){var a=e[n];Array.isArray(a)?r(a,t):t(a)}}},function(e,t,r){\"use strict\";function n(e,t,r){var a,o,s,u;if(0>=t){if(Array.isArray(e[0])){for(u=i(e),o=[],a=0;a<u.length;a++)o[a]=n(u[a],t-1,r);return o}for(s=e[0],a=1;a<e.length;a++)s=r(s,e[a]);return s}for(o=[],a=0;a<e.length;a++)o[a]=n(e[a],t-1,r);return o}function i(e){var t,r,n=e.length,i=e[0].length,a=[];for(r=0;i>r;r++){var o=[];for(t=0;n>t;t++)o.push(e[t][r]);a.push(o)}return a}var a=r(40).size,o=r(43);e.exports=function(e,t,r){var i=Array.isArray(e)?a(e):e.size();if(0>t)throw new o(t);if(t>=i.length)throw new o(t,i.length);return e&&e.isMatrix===!0?e.create(n(e.valueOf(),t,r)):n(e,t,r)}},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(293));return o(\"mean\",{\"...any\":function(e){if(2==e.length&&a(e[0])){var t=e[1];\"number\"==typeof t?e[1]=t-1:t&&t.isBigNumber===!0&&(e[1]=t.minus(1))}try{return s.apply(null,e)}catch(r){throw i(r)}}})}var i=r(278).transform,a=r(288);t.name=\"mean\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(e,t){var r=o(e,t,f),n=Array.isArray(e)?i(e):e.size();return l(r,n[t])}function c(e){var t=0,r=0;if(a(e,function(e){t=f(t,e),r++}),0===r)throw new Error(\"Cannot calculate mean of an empty array\");return l(t,r)}var f=n(r(50)),l=n(r(294)),p=s(\"mean\",{\"Array | Matrix\":c,\"Array | Matrix, number | BigNumber\":u,\"...\":function(){return c(arguments)}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",p}var i=r(40).size,a=r(290),o=r(291);t.name=\"mean\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(295)),s=n(r(296)),u=n(r(299)),c=n(r(51)),f=n(r(298)),l=n(r(57)),p=a(\"divide\",i({\"Array | Matrix, Array | Matrix\":function(e,t){return s(e,u(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,o,!1);break;case\"dense\":r=l(e,t,o,!1)}return r},\"Array, any\":function(e,t){return l(c(e),t,o,!1).valueOf()},\"any, Array | Matrix\":function(e,t){return s(e,u(t))}},o.signatures));return p.toTex=\"\\\\frac{${args[0]}}{${args[1]}}\",p}var i=r(3).extend;t.name=\"divide\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){function i(t,r){var n=r.re*r.re+r.im*r.im;return 0!=n?new e.Complex((t.re*r.re+t.im*r.im)/n,(t.im*r.re-t.re*r.im)/n):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?t.im/0:0)}var a=n(\"divide\",{\"number, number\":function(e,t){return e/t},\"Complex, Complex\":i,\"BigNumber, BigNumber\":function(e,t){return e.div(t)},\"Fraction, Fraction\":function(e,t){return e.div(t)},\"Unit, number\":function(e,t){var r=e.clone();return r.value=(null===r.value?r._normalize(1):r.value)/t,r},\"number, Unit\":function(e,t){var r=t.pow(-1);return r.value=(null===r.value?r._normalize(1):r.value)*e,r},\"Unit, Unit\":function(e,t){return e.divide(t)}});return a}t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(52)),f=n(r(297)),l=n(r(48)),p=n(r(298)),m=n(r(57)),h=e.DenseMatrix,g=e.SparseMatrix,v=o(\"multiply\",i({\"Array, Array\":function(e,t){d(a.size(e),a.size(t));var r=v(u(e),u(t));return r&&r.isMatrix===!0?r.valueOf():r},\"Matrix, Matrix\":function(e,t){var r=e.size(),n=t.size();return d(r,n),1===r.length?1===n.length?y(e,t,r[0]):x(e,t):1===n.length?b(e,t):N(e,t)},\"Matrix, Array\":function(e,t){return v(e,u(t))},\"Array, Matrix\":function(e,t){return v(u(e,t.storage()),t)},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=p(e,t,f,!1);break;case\"dense\":r=m(e,t,f,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=p(t,e,f,!0);break;case\"dense\":r=m(t,e,f,!0)}return r},\"Array, any\":function(e,t){return m(u(e),t,f,!1).valueOf()},\"any, Array\":function(e,t){return m(u(t),e,f,!0).valueOf()}},f.signatures)),d=function(e,t){switch(e.length){case 1:switch(t.length){case 1:if(e[0]!==t[0])throw new RangeError(\"Dimension mismatch in multiplication. Vectors must have the same length\");break;case 2:if(e[0]!==t[0])throw new RangeError(\"Dimension mismatch in multiplication. Vector length (\"+e[0]+\") must match Matrix rows (\"+t[0]+\")\");break;default:throw new Error(\"Can only multiply a 1 or 2 dimensional matrix (Matrix B has \"+t.length+\" dimensions)\")}break;case 2:switch(t.length){case 1:if(e[1]!==t[0])throw new RangeError(\"Dimension mismatch in multiplication. Matrix columns (\"+e[1]+\") must match Vector length (\"+t[0]+\")\");break;case 2:if(e[1]!==t[0])throw new RangeError(\"Dimension mismatch in multiplication. Matrix A columns (\"+e[1]+\") must match Matrix B rows (\"+t[0]+\")\");break;default:throw new Error(\"Can only multiply a 1 or 2 dimensional matrix (Matrix B has \"+t.length+\" dimensions)\")}break;default:throw new Error(\"Can only multiply a 1 or 2 dimensional matrix (Matrix A has \"+e.length+\" dimensions)\")}},y=function(e,t,r){if(0===r)throw new Error(\"Cannot multiply two empty vectors\");var n,i=e._data,a=e._datatype,s=t._data,u=t._datatype,l=c,p=f;a&&u&&a===u&&\"string\"==typeof a&&(n=a,l=o.find(c,[n,n]),p=o.find(f,[n,n]));for(var m=p(i[0],s[0]),h=1;r>h;h++)m=l(m,p(i[h],s[h]));return m},x=function(e,t){switch(t.storage()){case\"dense\":return w(e,t)}throw new Error(\"Not implemented\")},w=function(e,t){var r,n=e._data,i=e._size,a=e._datatype,s=t._data,u=t._size,l=t._datatype,p=i[0],m=u[1],g=c,v=f;a&&l&&a===l&&\"string\"==typeof a&&(r=a,g=o.find(c,[r,r]),v=o.find(f,[r,r]));for(var d=[],y=0;m>y;y++){for(var x=v(n[0],s[0][y]),w=1;p>w;w++)x=g(x,v(n[w],s[w][y]));d[y]=x}return 1===m?d[0]:new h({data:d,size:[m],datatype:r})},b=function(e,t){switch(e.storage()){case\"dense\":return E(e,t);case\"sparse\":return _(e,t)}},N=function(e,t){switch(e.storage()){case\"dense\":switch(t.storage()){case\"dense\":return M(e,t);case\"sparse\":return A(e,t)}break;case\"sparse\":switch(t.storage()){case\"dense\":return O(e,t);case\"sparse\":return T(e,t)}}},E=function(e,t){var r,n=e._data,i=e._size,a=e._datatype,s=t._data,u=t._datatype,l=i[0],p=i[1],m=c,g=f;a&&u&&a===u&&\"string\"==typeof a&&(r=a,m=o.find(c,[r,r]),g=o.find(f,[r,r]));for(var v=[],d=0;l>d;d++){for(var y=n[d],x=g(y[0],s[0]),w=1;p>w;w++)x=m(x,g(y[w],s[w]));v[d]=x}return 1===l?v[0]:new h({data:v,size:[l],datatype:r})},M=function(e,t){var r,n=e._data,i=e._size,a=e._datatype,s=t._data,u=t._size,l=t._datatype,p=i[0],m=i[1],g=u[1],v=c,d=f;a&&l&&a===l&&\"string\"==typeof a&&(r=a,v=o.find(c,[r,r]),d=o.find(f,[r,r]));for(var y=[],x=0;p>x;x++){var w=n[x];y[x]=[];for(var b=0;g>b;b++){for(var N=d(w[0],s[0][b]),E=1;m>E;E++)N=v(N,d(w[E],s[E][b]));y[x][b]=N}}return 1===p&&1===g?y[0][0]:new h({data:y,size:[p,g],datatype:r})},A=function(e,t){var r=e._data,n=e._size,i=e._datatype,a=t._values,s=t._index,u=t._ptr,p=t._size,m=t._datatype;if(!a)throw new Error(\"Cannot multiply Dense Matrix times Pattern only Matrix\");var h,v=n[0],d=p[1],y=c,x=f,w=l,b=0;i&&m&&i===m&&\"string\"==typeof i&&(h=i,y=o.find(c,[h,h]),x=o.find(f,[h,h]),w=o.find(l,[h,h]),b=o.convert(0,h));for(var N=[],E=[],M=[],A=new g({values:N,index:E,ptr:M,size:[v,d],datatype:h}),_=0;d>_;_++){M[_]=E.length;var O=u[_],T=u[_+1];if(T>O)for(var C=0,S=0;v>S;S++){for(var z,B=S+1,k=O;T>k;k++){var I=s[k];C!==B?(z=x(r[S][I],a[k]),C=B):z=y(z,x(r[S][I],a[k]))}C!==B||w(z,b)||(E.push(S),N.push(z))}}return M[d]=E.length,1===v&&1===d?1===N.length?N[0]:0:A},_=function(e,t){var r=e._values,n=e._index,i=e._ptr,a=e._datatype;if(!r)throw new Error(\"Cannot multiply Pattern only Matrix times Dense Matrix\");var s,u=t._data,p=t._datatype,m=e._size[0],h=t._size[0],v=[],d=[],y=[],x=c,w=f,b=l,N=0;a&&p&&a===p&&\"string\"==typeof a&&(s=a,x=o.find(c,[s,s]),w=o.find(f,[s,s]),b=o.find(l,[s,s]),N=o.convert(0,s));var E=[],M=[];y[0]=0;for(var A=0;h>A;A++){var _=u[A];if(!b(_,N))for(var O=i[A],T=i[A+1],C=O;T>C;C++){var S=n[C];M[S]?E[S]=x(E[S],w(_,r[C])):(M[S]=!0,d.push(S),E[S]=w(_,r[C]))}}for(var z=d.length,B=0;z>B;B++){var k=d[B];v[B]=E[k]}return y[1]=d.length,1===m?1===v.length?v[0]:0:new g({values:v,index:d,ptr:y,size:[m,1],datatype:s})},O=function(e,t){var r=e._values,n=e._index,i=e._ptr,a=e._datatype;if(!r)throw new Error(\"Cannot multiply Pattern only Matrix times Dense Matrix\");var s,u=t._data,p=t._datatype,m=e._size[0],h=t._size[0],v=t._size[1],d=c,y=f,x=l,w=0;a&&p&&a===p&&\"string\"==typeof a&&(s=a,d=o.find(c,[s,s]),y=o.find(f,[s,s]),x=o.find(l,[s,s]),w=o.convert(0,s));for(var b=[],N=[],E=[],M=new g({values:b,index:N,ptr:E,size:[m,v],datatype:s}),A=[],_=[],O=0;v>O;O++){E[O]=N.length;for(var T=O+1,C=0;h>C;C++){var S=u[C][O];if(!x(S,w))for(var z=i[C],B=i[C+1],k=z;B>k;k++){var I=n[k];_[I]!==T?(_[I]=T,N.push(I),A[I]=y(S,r[k])):A[I]=d(A[I],y(S,r[k]))}}for(var R=E[O],P=N.length,U=R;P>U;U++){var q=N[U];b[U]=A[q]}}return E[v]=N.length,1===m&&1===v?1===b.length?b[0]:0:M},T=function(e,t){var r,n=e._values,i=e._index,a=e._ptr,s=e._datatype,u=t._values,l=t._index,p=t._ptr,m=t._datatype,h=e._size[0],v=t._size[1],d=n&&u,y=c,x=f;s&&m&&s===m&&\"string\"==typeof s&&(r=s,y=o.find(c,[r,r]),x=o.find(f,[r,r]));for(var w,b,N,E,M,A,_,O,T=d?[]:void 0,C=[],S=[],z=new g({values:T,index:C,ptr:S,size:[h,v],datatype:r}),B=d?[]:void 0,k=[],I=0;v>I;I++){S[I]=C.length;var R=I+1;for(M=p[I],A=p[I+1],E=M;A>E;E++)if(O=l[E],d)for(b=a[O],N=a[O+1],w=b;N>w;w++)_=i[w],k[_]!==R?(k[_]=R,C.push(_),B[_]=x(u[E],n[w])):B[_]=y(B[_],x(u[E],n[w]));else for(b=a[O],N=a[O+1],w=b;N>w;w++)_=i[w],k[_]!==R&&(k[_]=R,C.push(_));if(d)for(var P=S[I],U=C.length,q=P;U>q;q++){var L=C[q];T[q]=B[L]}}return S[v]=C.length,1===h&&1===v&&d?1===T.length?T[0]:0:z};return v.toTex=\"\\\\left(${args[0]}\"+s.operators.multiply+\"${args[1]}\\\\right)\",v}var i=r(3).extend,a=r(40);t.name=\"multiply\",t.factory=n},function(e,t){\"use strict\";function r(e,t,r,n){var i=n(\"multiplyScalar\",{\"number, number\":function(e,t){return e*t},\"Complex, Complex\":function(t,r){return new e.Complex(t.re*r.re-t.im*r.im,t.re*r.im+t.im*r.re)},\"BigNumber, BigNumber\":function(e,t){return e.times(t)},\"Fraction, Fraction\":function(e,t){return e.mul(t)},\"number, Unit\":function(e,t){var r=t.clone();return r.value=null===r.value?r._normalize(e):r.value*e,r},\"Unit, number\":function(e,t){var r=e.clone();return r.value=null===r.value?r._normalize(t):r.value*t,r},\"Unit, Unit\":function(e,t){return e.multiply(t)}});return i}t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(48)),o=e.SparseMatrix,s=function(e,t,r,n){var s=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype;if(!s)throw new Error(\"Cannot perform operation on Pattern Sparse Matrix and Scalar value\");var p,m=f[0],h=f[1],g=a,v=0,d=r;\"string\"==typeof l&&(p=l,g=i.find(a,[p,p]),v=i.convert(0,p),t=i.convert(t,p),d=i.find(r,[p,p]));for(var y=[],x=[],w=[],b=new o({values:y,index:x,ptr:w,size:[m,h],datatype:p}),N=0;h>N;N++){w[N]=x.length;for(var E=c[N],M=c[N+1],A=E;M>A;A++){var _=u[A],O=n?d(t,s[A]):d(s[A],t);g(O,v)||(x.push(_),y.push(O))}}return w[h]=x.length,b};return s}t.name=\"algorithm11\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t,r){var n,i,a,o,s;if(1==t){if(o=e[0][0],0==o)throw Error(\"Cannot calculate inverse, determinant is zero\");return[[u(1,o)]]}if(2==t){var h=p(e);if(0==h)throw Error(\"Cannot calculate inverse, determinant is zero\");return[[u(e[1][1],h),u(l(e[0][1]),h)],[u(l(e[1][0]),h),u(e[0][0],h)]]}var g=e.concat();for(n=0;t>n;n++)g[n]=g[n].concat();for(var v=m(t).valueOf(),d=0;r>d;d++){for(n=d;t>n&&0==g[n][d];)n++;if(n==t||0==g[n][d])throw Error(\"Cannot calculate inverse, determinant is zero\");n!=d&&(s=g[d],g[d]=g[n],g[n]=s,s=v[d],v[d]=v[n],v[n]=s);var y=g[d],x=v[d];for(n=0;t>n;n++){var w=g[n],b=v[n];if(n!=d){if(0!=w[d]){for(a=u(l(w[d]),y[d]),i=d;r>i;i++)w[i]=c(w[i],f(a,y[i]));for(i=0;r>i;i++)b[i]=c(b[i],f(a,x[i]))}}else{for(a=y[d],i=d;r>i;i++)w[i]=u(w[i],a);for(i=0;r>i;i++)b[i]=u(b[i],a)}}}return v}var s=n(r(51)),u=n(r(295)),c=n(r(52)),f=n(r(296)),l=n(r(300)),p=n(r(301)),m=n(r(304)),h=a(\"inv\",{\"Array | Matrix\":function(e){var t=e.isMatrix===!0?e.size():i.array.size(e);switch(t.length){case 1:if(1==t[0])return e.isMatrix===!0?s([u(1,e.valueOf()[0])]):[u(1,e[0])];throw new RangeError(\"Matrix must be square (size: \"+i.string.format(t)+\")\");case 2:var r=t[0],n=t[1];if(r==n)return e.isMatrix===!0?s(o(e.valueOf(),r,n),e.storage()):o(e,r,n);throw new RangeError(\"Matrix must be square (size: \"+i.string.format(t)+\")\");default:throw new RangeError(\"Matrix must be two dimensional (size: \"+i.string.format(t)+\")\")}},any:function(e){return u(1,e)}});return h.toTex=\"\\\\left(${args[0]}\\\\right)^{-1}\",h}var i=r(39);t.name=\"inv\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=a(\"unaryMinus\",{number:function(e){return-e},Complex:function(t){return new e.Complex(-t.re,-t.im)},BigNumber:function(e){return e.neg()},Fraction:function(e){return e.neg()},Unit:function(e){var t=e.clone();return t.value=-e.value,t},\"Array | Matrix\":function(e){return i(e,s,!0)}});return s.toTex=o.operators.unaryMinus+\"\\\\left(${args[0]}\\\\right)\",s}var i=r(19);t.name=\"unaryMinus\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function s(e,t,r){if(1==t)return a.clone(e[0][0]);if(2==t)return f(l(e[0][0],e[1][1]),l(e[1][0],e[0][1]));for(var n=function(e){var t,r,n=new Array(e.length),i=0;for(t=1;t<e.length;t++)i=c(i,e[t][t]);for(t=0;t<e.length;t++){for(n[t]=new Array(e.length),n[t][t]=p(i),r=0;t>r;r++)n[t][r]=0;for(r=t+1;r<e.length;r++)n[t][r]=e[t][r];t+1<e.length&&(i=f(i,e[t+1][t+1]))}return n},i=e,o=0;t-1>o;o++)i=l(n(i),e);return t%2==0?p(i[0][0]):i[0][0]}var u=n(r(51)),c=n(r(50)),f=n(r(302)),l=n(r(296)),p=n(r(300)),m=i(\"det\",{any:function(e){return a.clone(e)},\"Array | Matrix\":function(e){var t;switch(e&&e.isMatrix===!0?t=e.size():Array.isArray(e)?(e=u(e),t=e.size()):t=[],t.length){case 0:return a.clone(e);case 1:if(1==t[0])return a.clone(e.valueOf()[0]);throw new RangeError(\"Matrix must be square (size: \"+o.format(t)+\")\");case 2:var r=t[0],n=t[1];if(r==n)return s(e.clone().valueOf(),r,n);throw new RangeError(\"Matrix must be square (size: \"+o.format(t)+\")\");default:throw new RangeError(\"Matrix must be two dimensional (size: \"+o.format(t)+\")\")}}});return m.toTex=\"\\\\det\\\\left(${args[0]}\\\\right)\",m}var i=r(39),a=i.object,o=i.string;t.name=\"det\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=n(r(51)),u=n(r(52)),c=n(r(300)),f=n(r(53)),l=n(r(60)),p=n(r(303)),m=n(r(55)),h=n(r(56)),g=n(r(57)),v=a(\"subtract\",{\"number, number\":function(e,t){return e-t},\"Complex, Complex\":function(t,r){return new e.Complex(t.re-r.re,t.im-r.im)},\"BigNumber, BigNumber\":function(e,t){return e.minus(t)},\"Fraction, Fraction\":function(e,t){return e.sub(t)},\"Unit, Unit\":function(e,t){if(null==e.value)throw new Error(\"Parameter x contains a unit with undefined value\");if(null==t.value)throw new Error(\"Parameter y contains a unit with undefined value\");if(!e.equalBase(t))throw new Error(\"Units do not match\");var r=e.clone();return r.value-=t.value,r.fixPrefix=!1,r},\"Matrix, Matrix\":function(e,t){var r=e.size(),n=t.size();if(r.length!==n.length)throw new i(r.length,n.length);var a;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":a=p(e,t,v);break;default:a=l(t,e,v,!0)}break;default:switch(t.storage()){case\"sparse\":a=f(e,t,v,!1);break;default:a=h(e,t,v)}}return a},\"Array, Array\":function(e,t){return v(s(e),s(t)).valueOf()},\"Array, Matrix\":function(e,t){return v(s(e),t)},\"Matrix, Array\":function(e,t){return v(e,s(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=m(e,c(t),u);break;default:r=g(e,t,v)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=m(t,e,v,!0);break;default:r=g(t,e,v,!0)}return r},\"Array, any\":function(e,t){return g(s(e),t,v,!1).valueOf()},\"any, Array\":function(e,t){return g(s(t),e,v,!0).valueOf()}});return v.toTex=\"\\\\left(${args[0]}\"+o.operators.subtract+\"${args[1]}\\\\right)\",v}var i=r(42);t.name=\"subtract\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r){var n=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype,p=t._values,m=t._index,h=t._ptr,g=t._size,v=t._datatype;if(f.length!==g.length)throw new i(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+f+\") must match Matrix B (\"+g+\")\");var d,y=f[0],x=f[1],w=o,b=0,N=r;\"string\"==typeof l&&l===v&&(d=l,w=a.find(o,[d,d]),b=a.convert(0,d),N=a.find(r,[d,d]));var E,M,A,_,O=n&&p?[]:void 0,T=[],C=[],S=new s({values:O,index:T,ptr:C,size:[y,x],datatype:d}),z=O?[]:void 0,B=O?[]:void 0,k=[],I=[];for(M=0;x>M;M++){C[M]=T.length;var R=M+1;for(A=c[M],_=c[M+1];_>A;A++)E=u[A],T.push(E),k[E]=R,z&&(z[E]=n[A]);for(A=h[M],_=h[M+1];_>A;A++)E=m[A],k[E]!==R&&T.push(E),I[E]=R,B&&(B[E]=p[A]);if(O)for(A=C[M];A<T.length;){E=T[A];var P=k[E],U=I[E];if(P===R||U===R){var q=P===R?z[E]:b,L=U===R?B[E]:b,F=N(q,L);w(F,b)?T.splice(A,1):(O.push(F),A++)}}}return C[x]=T.length,S};return u}var i=r(42);t.name=\"algorithm05\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e,t){switch(e.length){case 0:return t?c(t):[];case 1:return u(e[0],e[0],t);case 2:return u(e[0],e[1],t);default:throw new Error(\"Vector containing two values expected\")}}function u(t,r,n){var o=t&&t.isBigNumber===!0?e.BigNumber:r&&r.isBigNumber===!0?e.BigNumber:null;if(t&&t.isBigNumber===!0&&(t=t.toNumber()),r&&r.isBigNumber===!0&&(r=r.toNumber()),!a(t)||1>t)throw new Error(\"Parameters in function eye must be positive integers\");if(!a(r)||1>r)throw new Error(\"Parameters in function eye must be positive integers\");var s=o?new e.BigNumber(1):1,u=o?new o(0):0,c=[t,r];if(n){var f=e.Matrix.storage(n);return f.diagonal(c,s,0,u)}for(var l=i.resize([],c,u),p=r>t?t:r,m=0;p>m;m++)l[m][m]=s;return l}var c=n(r(51)),f=o(\"eye\",{\"\":function(){return\"matrix\"===t.matrix?c([]):[]},string:function(e){return c(e)},\"number | BigNumber\":function(e){return u(e,e,\"matrix\"===t.matrix?\"default\":void 0)},\"number | BigNumber, string\":function(e,t){return u(e,e,t)},\"number | BigNumber, number | BigNumber\":function(e,r){return u(e,r,\"matrix\"===t.matrix?\"default\":void 0)},\"number | BigNumber, number | BigNumber, string\":function(e,t,r){return u(e,t,r)},Array:function(e){return s(e)},\"Array, string\":function(e,t){return s(e,t)},Matrix:function(e){return s(e.valueOf(),e.storage())},\"Matrix, string\":function(e,t){return s(e.valueOf(),t)}});return f.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",f}var i=r(40),a=r(6).isInteger;t.name=\"eye\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(306));return o(\"min\",{\"...any\":function(e){if(2==e.length&&a(e[0])){var t=e[1];\"number\"==typeof t?e[1]=t-1:t&&t.isBigNumber===!0&&(e[1]=t.minus(1))}try{return s.apply(null,e)}catch(r){throw i(r)}}})}var i=r(278).transform,a=r(288);t.name=\"min\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e,t){return c(e,t)?e:t}function u(e){var t=void 0;if(i(e,function(e){(void 0===t||c(e,t))&&(t=e)}),void 0===t)throw new Error(\"Cannot calculate min of an empty array\");return t}var c=n(r(59)),f=o(\"min\",{\"Array | Matrix\":u,\"Array | Matrix, number | BigNumber\":function(e,t){return a(e,t.valueOf(),s)},\"...\":function(){return u(arguments)}});return f.toTex=\"\\\\min\\\\left(${args}\\\\right)\",f}var i=r(290),a=r(291);t.name=\"min\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(308));return i(\"range\",{\"...any\":function(e){var t=e.length-1,r=e[t];return\"boolean\"!=typeof r&&e.push(!0),a.apply(null,e)}})}t.name=\"range\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e){return\"array\"===t.matrix?e:p(e)}function o(r,n){var i=l(r);if(!i)throw new SyntaxError('String \"'+r+'\" is no valid range');var o;return\"bignumber\"===t.number?(o=n?f:c,a(o(new e.BigNumber(i.start),new e.BigNumber(i.end),new e.BigNumber(i.step)))):(o=n?u:s,a(o(i.start,i.end,i.step)))}function s(e,t,r){var n=[],i=e;if(r>0)for(;t>i;)n.push(i),i+=r;else if(0>r)for(;i>t;)n.push(i),i+=r;return n}function u(e,t,r){var n=[],i=e;if(r>0)for(;t>=i;)n.push(i),i+=r;else if(0>r)for(;i>=t;)n.push(i),i+=r;return n}function c(e,t,r){var n=[],i=e;if(r.gt(m))for(;i.lt(t);)n.push(i),i=i.plus(r);else if(r.lt(m))for(;i.gt(t);)n.push(i),i=i.plus(r);return n}function f(e,t,r){var n=[],i=e;if(r.gt(m))for(;i.lte(t);)n.push(i),i=i.plus(r);else if(r.lt(m))for(;i.gte(t);)n.push(i),i=i.plus(r);return n}function l(e){var t=e.split(\":\"),r=t.map(function(e){return Number(e)}),n=r.some(function(e){return isNaN(e)});if(n)return null;switch(r.length){case 2:return{start:r[0],end:r[1],step:1};case 3:return{start:r[0],end:r[2],step:r[1]};default:return null}}var p=n(r(51)),m=new e.BigNumber(0),h=new e.BigNumber(1),g=i(\"range\",{string:o,\"string, boolean\":o,\"number, number\":function(e,t){return a(s(e,t,1))},\"number, number, number\":function(e,t,r){return a(s(e,t,r))},\"number, number, boolean\":function(e,t,r){return a(r?u(e,t,1):s(e,t,1))},\"number, number, number, boolean\":function(e,t,r,n){return a(n?u(e,t,r):s(e,t,r))},\"BigNumber, BigNumber\":function(e,t){return a(c(e,t,h))},\"BigNumber, BigNumber, BigNumber\":function(e,t,r){return a(c(e,t,r))},\"BigNumber, BigNumber, boolean\":function(e,t,r){return a(r?f(e,t,h):c(e,t,h))},\"BigNumber, BigNumber, BigNumber, boolean\":function(e,t,r,n){return a(n?f(e,t,r):c(e,t,r))}});return g.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",g}t.name=\"range\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(310));return a(\"subset\",{\"...any\":function(e){try{return o.apply(null,e)}catch(t){throw i(t)}}})}var i=r(278).transform;t.name=\"subset\",t.path=\"expression.transform\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(e,t){if(!t||t.isIndex!==!0)throw new TypeError(\"Index expected\");if(1!=t.size().length)throw new o(t.size().length,1);var r=e.length;a(t.min()[0],r),a(t.max()[0],r);var n=t.dimension(0),i=\"\";return n.forEach(function(t){i+=e.charAt(t)}),i}function c(e,t,r,n){if(!t||t.isIndex!==!0)throw new TypeError(\"Index expected\");if(1!=t.size().length)throw new o(t.size().length,1);if(void 0!==n){if(\"string\"!=typeof n||1!==n.length)throw new TypeError(\"Single character expected as defaultValue\")}else n=\" \";var i=t.dimension(0),s=i.size()[0];if(s!=r.length)throw new o(i.size()[0],r.length);var u=e.length;a(t.min()[0]),a(t.max()[0]);for(var c=[],f=0;u>f;f++)c[f]=e.charAt(f);if(i.forEach(function(e,t){c[e]=r.charAt(t[0])}),c.length>u)for(f=u-1,s=c.length;s>f;f++)c[f]||(c[f]=n);return c.join(\"\")}var f=n(r(51)),l=s(\"subset\",{\"Array, Index\":function(e,t){var r=f(e),n=r.subset(t);return n&&n.valueOf()},\"Matrix, Index\":function(e,t){return e.subset(t)},\"string, Index\":u,\"Array, Index, any\":function(e,t,r){return f(i(e)).subset(t,r,void 0).valueOf()},\"Array, Index, any, any\":function(e,t,r,n){return f(i(e)).subset(t,r,n).valueOf()},\"Matrix, Index, any\":function(e,t,r){return e.clone().subset(t,r)},\"Matrix, Index, any, any\":function(e,t,r,n){return e.clone().subset(t,r,n)},\"string, Index, string\":c,\"string, Index, string, string\":c});return l.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",l}var i=r(3).clone,a=r(40).validateIndex,o=r(42);t.name=\"subset\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e){if(!(this instanceof s))throw new SyntaxError(\"Constructor must be called with the new operator\");if(!e)throw new Error('Argument \"doc\" missing');this.doc=e}var u=n(r(273))();return s.prototype.type=\"Help\",s.prototype.isHelp=!0,s.prototype.toString=function(){var e=this.doc||{},t=\"\\n\";if(e.name&&(t+=\"Name: \"+e.name+\"\\n\\n\"),e.category&&(t+=\"Category: \"+e.category+\"\\n\\n\"),e.description&&(t+=\"Description:\\n \"+e.description+\"\\n\\n\"),e.syntax&&(t+=\"Syntax:\\n \"+e.syntax.join(\"\\n \")+\"\\n\\n\"),e.examples){t+=\"Examples:\\n\";for(var r=0;r<e.examples.length;r++){var n=e.examples[r];t+=\" \"+n+\"\\n\";var i;try{i=u.eval(n)}catch(o){i=o}i&&!i.isHelp&&(t+=\" \"+a.format(i,{precision:14})+\"\\n\")}t+=\"\\n\"}return e.seealso&&(t+=\"See also: \"+e.seealso.join(\", \")+\"\\n\"),t},s.prototype.toJSON=function(){var e=i.clone(this.doc);return e.mathjs=\"Help\",e},s.fromJSON=function(e){var t={};for(var r in e)\"mathjs\"!==r&&(t[r]=e[r]);return new s(t)},s.prototype.valueOf=s.prototype.toString,s}var i=r(3),a=r(23);t.name=\"Help\",t.path=\"type\",t.factory=n},function(e,t,r){e.exports=[r(313),r(341),r(373),r(389),r(399),r(404),r(407),r(412),r(421),r(431),r(437),r(445),r(486),r(488)]},function(e,t,r){e.exports=[r(314),r(316),r(336),r(338),r(340)]},function(e,t,r){\"use strict\";function n(e,t,n,i){var o=n(r(51)),s=n(r(315)),u=n(r(52)),c=n(r(295)),f=n(r(297)),l=n(r(302)),p=n(r(63)),m=n(r(48)),h=n(r(300)),g=e.SparseMatrix,v=e.DenseMatrix,d=e.Spa,y=i(\"lup\",{DenseMatrix:function(e){return x(e)},SparseMatrix:function(e){return w(e)},Array:function(e){var t=o(e),r=x(t);return{L:r.L.valueOf(),U:r.U.valueOf(),p:r.p}}}),x=function(e){var t,r,n,i=e._size[0],o=e._size[1],h=Math.min(i,o),g=a.clone(e._data),d=[],y=[i,h],x=[],w=[h,o],b=[];for(t=0;i>t;t++)b[t]=t;for(r=0;o>r;r++){if(r>0)for(t=0;i>t;t++){var N=Math.min(t,r),E=0;for(n=0;N>n;n++)E=u(E,f(g[t][n],g[n][r]));g[t][r]=l(g[t][r],E)}var M=r,A=0,_=0;for(t=r;i>t;t++){var O=g[t][r],T=s(O);p(T,A)&&(M=t,A=T,_=O)}if(r!==M&&(b[r]=[b[M],b[M]=b[r]][0],v._swapRows(r,M,g)),i>r)for(t=r+1;i>t;t++){var C=g[t][r];m(C,0)||(g[t][r]=c(g[t][r],_))}}for(r=0;o>r;r++)for(t=0;i>t;t++)0===r&&(o>t&&(x[t]=[]),d[t]=[]),r>t?(o>t&&(x[t][r]=g[t][r]),i>r&&(d[t][r]=0)):t!==r?(o>t&&(x[t][r]=0),i>r&&(d[t][r]=g[t][r])):(o>t&&(x[t][r]=g[t][r]),i>r&&(d[t][r]=1));var S=new v({data:d,size:y}),z=new v({data:x,size:w}),B=[];for(t=0,h=b.length;h>t;t++)B[b[t]]=t;return{L:S,U:z,p:B,toString:function(){return\"L: \"+this.L.toString()+\"\\nU: \"+this.U.toString()+\"\\nP: \"+this.p}}},w=function(e){var t,r,n,i=e._size[0],a=e._size[1],o=Math.min(i,a),u=e._values,l=e._index,v=e._ptr,y=[],x=[],w=[],b=[i,o],N=[],E=[],M=[],A=[o,a],_=[],O=[];for(t=0;i>t;t++)_[t]=t,O[t]=t;var T=function(e,t){var r=O[e],n=O[t];_[r]=t,_[n]=e,O[e]=n,O[t]=r};for(r=0;a>r;r++){var C=new d;i>r&&(w.push(y.length),y.push(1),x.push(r)),M.push(N.length);var S=v[r],z=v[r+1];for(n=S;z>n;n++)t=l[n],C.set(_[t],u[n]);r>0&&C.forEach(0,r-1,function(e,t){g._forEachRow(e,y,x,w,function(r,n){r>e&&C.accumulate(r,h(f(n,t)))})});var B=r,k=C.get(r),I=s(k);C.forEach(r+1,i-1,function(e,t){var r=s(t);p(r,I)&&(B=e,I=r,k=t)}),r!==B&&(g._swapRows(r,B,b[1],y,x,w),g._swapRows(r,B,A[1],N,E,M),C.swap(r,B),T(r,B)),C.forEach(0,i-1,function(e,t){r>=e?(N.push(t),E.push(e)):(t=c(t,k),m(t,0)||(y.push(t),x.push(e)))})}return M.push(N.length),w.push(y.length),{L:new g({values:y,index:x,ptr:w,size:b}),U:new g({values:N,index:E,ptr:M,size:A}),p:_,toString:function(){return\"L: \"+this.L.toString()+\"\\nU: \"+this.U.toString()+\"\\nP: \"+this.p}}};return y}var i=r(39),a=i.object;t.name=\"lup\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"abs\",{number:Math.abs,Complex:function(e){var t=Math.abs(e.re),r=Math.abs(e.im);if(1e3>t&&1e3>r)return Math.sqrt(t*t+r*r);if(t>=r){var n=r/t;return t*Math.sqrt(1+n*n)}var i=t/r;return r*Math.sqrt(1+i*i)},BigNumber:function(e){return e.abs()},Fraction:function(e){return e.abs()},\"Array | Matrix\":function(e){return i(e,a,!0)},Unit:function(e){var t=e.clone();return t.value=Math.abs(t.value),t}});return a.toTex=\"\\\\left|${args[0]}\\\\right|\",a}var i=r(19);t.name=\"abs\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(317)),s=n(r(328)),u=i(\"slu\",{\"SparseMatrix, number, number\":function(e,t,r){if(!o(t)||0>t||t>3)throw new Error(\"Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]\");if(0>r||r>1)throw new Error(\"Partial pivoting threshold must be a number from 0 to 1\");var n=a(t,e,!1),i=s(e,n,r);return{L:i.L,U:i.U,p:i.pinv,q:n.q,toString:function(){return\"L: \"+this.L.toString()+\"\\nU: \"+this.U.toString()+\"\\np: \"+this.p.toString()+(this.q?\"\\nq: \"+this.q.toString():\"\")+\"\\n\";\n}}}});return u}var i=r(39),a=i.number,o=a.isInteger;t.name=\"slu\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(318)),a=n(r(323)),o=n(r(324)),s=n(r(325)),u=n(r(326)),c=function(e,t,r){var n,c=t._ptr,l=t._size,p=l[1],m={};if(m.q=i(e,t),e&&!m.q)return null;if(r){var h=e?a(t,null,m.q,0):t;m.parent=o(h,1);var g=s(m.parent,p);if(m.cp=u(h,m.parent,g,1),h&&m.parent&&m.cp&&f(h,m))for(m.unz=0,n=0;p>n;n++)m.unz+=m.cp[n]}else m.unz=4*c[p]+p,m.lnz=m.unz;return m},f=function(e,t){var r=e._ptr,n=e._index,i=e._size,a=i[0],o=i[1];t.pinv=[],t.leftmost=[];var s,u,c,f,l,p=t.parent,m=t.pinv,h=t.leftmost,g=[],v=0,d=a,y=a+o,x=a+2*o;for(u=0;o>u;u++)g[d+u]=-1,g[y+u]=-1,g[x+u]=0;for(s=0;a>s;s++)h[s]=-1;for(u=o-1;u>=0;u--)for(f=r[u],l=r[u+1],c=f;l>c;c++)h[n[c]]=u;for(s=a-1;s>=0;s--)m[s]=-1,u=h[s],-1!=u&&(0===g[x+u]++&&(g[y+u]=s),g[v+s]=g[d+u],g[d+u]=s);for(t.lnz=0,t.m2=a,u=0;o>u;u++)if(s=g[d+u],t.lnz++,0>s&&(s=t.m2++),m[s]=u,!(--x[u]<=0)){t.lnz+=g[x+u];var w=p[u];-1!=w&&(0===g[x+w]&&(g[y+w]=g[y+u]),g[v+g[y+u]]=g[d+w],g[d+w]=g[v+s],g[x+w]+=g[x+u])}for(s=0;a>s;s++)m[s]<0&&(m[s]=u++);return!0};return c}t.name=\"cs_sqr\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(319)),a=n(r(320)),o=n(r(321)),s=n(r(50)),u=n(r(296)),c=n(r(322)),f=function(e,t){if(!t||0>=e||e>3)return null;var r=t._size,n=r[0],s=r[1],u=0,c=Math.max(16,10*Math.sqrt(s));c=Math.min(s-2,c);var f=l(e,t,n,s,c);a(f,g,null);for(var v,d,y,x,w,b,N,E,M,A,_,O,T,C,S,z,B=f._index,k=f._ptr,I=k[s],R=[],P=[],U=0,q=s+1,L=2*(s+1),F=3*(s+1),D=4*(s+1),$=5*(s+1),j=6*(s+1),G=7*(s+1),H=R,Z=p(s,k,P,U,F,H,L,G,q,j,D,$),V=m(s,k,P,$,D,j,c,q,F,H,L),Y=0;s>V;){for(y=-1;s>Y&&-1==(y=P[F+Y]);Y++);-1!=P[L+y]&&(H[P[L+y]]=-1),P[F+Y]=P[L+y];var W=P[D+y],X=P[q+y];V+=X;var J=0;P[q+y]=-X;var K=k[y],Q=0===W?K:I,ee=Q;for(x=1;W+1>=x;x++){for(x>W?(b=y,N=K,E=P[U+y]-W):(b=B[K++],N=k[b],E=P[U+b]),w=1;E>=w;w++)v=B[N++],(M=P[q+v])<=0||(J+=M,P[q+v]=-M,B[ee++]=v,-1!=P[L+v]&&(H[P[L+v]]=H[v]),-1!=H[v]?P[L+H[v]]=P[L+v]:P[F+P[$+v]]=P[L+v]);b!=y&&(k[b]=i(y),P[j+b]=0)}for(0!==W&&(I=ee),P[$+y]=J,k[y]=Q,P[U+y]=ee-Q,P[D+y]=-2,Z=h(Z,u,j,s),A=Q;ee>A;A++)if(v=B[A],!((_=P[D+v])<=0)){M=-P[q+v];var te=Z-M;for(K=k[v],O=k[v]+_-1;O>=K;K++)b=B[K],P[j+b]>=Z?P[j+b]-=M:0!==P[j+b]&&(P[j+b]=P[$+b]+te)}for(A=Q;ee>A;A++){for(v=B[A],O=k[v],T=O+P[D+v]-1,C=O,S=0,z=0,K=O;T>=K;K++)if(b=B[K],0!==P[j+b]){var re=P[j+b]-Z;re>0?(z+=re,B[C++]=b,S+=b):(k[b]=i(y),P[j+b]=0)}P[D+v]=C-O+1;var ne=C,ie=O+P[U+v];for(K=T+1;ie>K;K++){d=B[K];var ae=P[q+d];0>=ae||(z+=ae,B[C++]=d,S+=d)}0===z?(k[v]=i(y),M=-P[q+v],J-=M,X+=M,V+=M,P[q+v]=0,P[D+v]=-1):(P[$+v]=Math.min(P[$+v],z),B[C]=B[ne],B[ne]=B[O],B[O]=y,P[U+v]=C-O+1,S=(0>S?-S:S)%s,P[L+v]=P[G+S],P[G+S]=v,H[v]=S)}for(P[$+y]=J,u=Math.max(u,J),Z=h(Z+u,u,j,s),A=Q;ee>A;A++)if(v=B[A],!(P[q+v]>=0))for(S=H[v],v=P[G+S],P[G+S]=-1;-1!=v&&-1!=P[L+v];v=P[L+v],Z++){for(E=P[U+v],_=P[D+v],K=k[v]+1;K<=k[v]+E-1;K++)P[j+B[K]]=Z;var oe=v;for(d=P[L+v];-1!=d;){var se=P[U+d]===E&&P[D+d]===_;for(K=k[d]+1;se&&K<=k[d]+E-1;K++)P[j+B[K]]!=Z&&(se=0);se?(k[d]=i(v),P[q+v]+=P[q+d],P[q+d]=0,P[D+d]=-1,d=P[L+d],P[L+oe]=d):(oe=d,d=P[L+d])}}for(K=Q,A=Q;ee>A;A++)v=B[A],(M=-P[q+v])<=0||(P[q+v]=M,z=P[$+v]+J-M,z=Math.min(z,s-V-M),-1!=P[F+z]&&(H[P[F+z]]=v),P[L+v]=P[F+z],H[v]=-1,P[F+z]=v,Y=Math.min(Y,z),P[$+v]=z,B[K++]=v);P[q+y]=X,0===(P[U+y]=K-Q)&&(k[y]=-1,P[j+y]=0),0!==W&&(I=K)}for(v=0;s>v;v++)k[v]=i(k[v]);for(d=0;s>=d;d++)P[F+d]=-1;for(d=s;d>=0;d--)P[q+d]>0||(P[L+d]=P[F+k[d]],P[F+k[d]]=d);for(b=s;b>=0;b--)P[q+b]<=0||-1!=k[b]&&(P[L+b]=P[F+k[b]],P[F+k[b]]=b);for(y=0,v=0;s>=v;v++)-1==k[v]&&(y=o(v,y,P,F,L,R,j));return R.splice(R.length-1,1),R},l=function(e,t,r,n,i){var a=c(t);if(1===e&&n===r)return s(t,a);if(2==e){for(var o=a._index,f=a._ptr,l=0,p=0;r>p;p++){var m=f[p];if(f[p]=l,!(f[p+1]-m>i))for(var h=f[p+1];h>m;m++)o[l++]=o[m]}return f[r]=l,t=c(a),u(a,t)}return u(a,t)},p=function(e,t,r,n,i,a,o,s,u,c,f,l){for(var p=0;e>p;p++)r[n+p]=t[p+1]-t[p];r[n+e]=0;for(var m=0;e>=m;m++)r[i+m]=-1,a[m]=-1,r[o+m]=-1,r[s+m]=-1,r[u+m]=1,r[c+m]=1,r[f+m]=0,r[l+m]=r[n+m];var g=h(0,0,c,e);return r[f+e]=-2,t[e]=-1,r[c+e]=0,g},m=function(e,t,r,n,a,o,s,u,c,f,l){for(var p=0,m=0;e>m;m++){var h=r[n+m];if(0===h)r[a+m]=-2,p++,t[m]=-1,r[o+m]=0;else if(h>s)r[u+m]=0,r[a+m]=-1,p++,t[m]=i(e),r[u+e]++;else{var g=r[c+h];-1!=g&&(f[g]=m),r[l+m]=r[c+h],r[c+h]=m}}return p},h=function(e,t,r,n){if(2>e||0>e+t){for(var i=0;n>i;i++)0!==r[i]&&(r[i]=1);e=2}return e},g=function(e,t){return e!=t};return f}t.name=\"cs_amd\",t.path=\"sparse\",t.factory=n},function(e,t){\"use strict\";function r(){var e=function(e){return-e-2};return e}t.name=\"cs_flip\",t.path=\"sparse\",t.factory=r},function(e,t){\"use strict\";function r(){var e=function(e,t,r){for(var n=e._values,i=e._index,a=e._ptr,o=e._size,s=o[1],u=0,c=0;s>c;c++){var f=a[c];for(a[c]=u;f<a[c+1];f++)t(i[f],c,n?n[f]:1,r)&&(i[u]=i[f],n&&(n[u]=n[f]),u++)}return a[s]=u,i.splice(u,i.length-u),n&&n.splice(u,n.length-u),u};return e}t.name=\"cs_fkeep\",t.path=\"sparse\",t.factory=r},function(e,t){\"use strict\";function r(){var e=function(e,t,r,n,i,a,o){var s=0;for(r[o]=e;s>=0;){var u=r[o+s],c=r[n+u];-1==c?(s--,a[t++]=u):(r[n+u]=r[i+c],++s,r[o+s]=c)}return t};return e}t.name=\"cs_tdfs\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=e.DenseMatrix,f=e.SparseMatrix,l=o(\"transpose\",{Array:function(e){return l(u(e)).valueOf()},Matrix:function(e){var t,r=e.size();switch(r.length){case 1:t=e.clone();break;case 2:var n=r[0],i=r[1];if(0===i)throw new RangeError(\"Cannot transpose a 2D matrix with no columns (size: \"+a(r)+\")\");switch(e.storage()){case\"dense\":t=p(e,n,i);break;case\"sparse\":t=m(e,n,i)}break;default:throw new RangeError(\"Matrix must be a vector or two dimensional (size: \"+a(this._size)+\")\")}return t},any:function(e){return i(e)}}),p=function(e,t,r){for(var n,a=e._data,o=[],s=0;r>s;s++){n=o[s]=[];for(var u=0;t>u;u++)n[u]=i(a[u][s])}return new c({data:o,size:[r,t],datatype:e._datatype})},m=function(e,t,r){for(var n=e._values,a=e._index,o=e._ptr,s=n?[]:void 0,u=[],c=[],l=[],p=0;t>p;p++)l[p]=0;var m,h,g;for(m=0,h=a.length;h>m;m++)l[a[m]]++;for(var v=0,d=0;t>d;d++)c.push(v),v+=l[d],l[d]=c[d];for(c.push(v),g=0;r>g;g++)for(var y=o[g],x=o[g+1],w=y;x>w;w++){var b=l[a[w]]++;u[b]=g,n&&(s[b]=i(n[w]))}return new f({values:s,index:u,ptr:c,size:[r,t],datatype:e._datatype})};return l.toTex=\"\\\\left(${args[0]}\\\\right)\"+s.operators.transpose,l}var i=r(3).clone,a=r(23).format;t.name=\"transpose\",t.factory=n},function(e,t){\"use strict\";function r(e){var t=e.SparseMatrix,r=function(e,r,n,i){for(var a=e._values,o=e._index,s=e._ptr,u=e._size,c=e._datatype,f=u[0],l=u[1],p=i&&e._values?[]:null,m=[],h=[],g=0,v=0;l>v;v++){h[v]=g;for(var d=n?n[v]:v,y=s[d],x=s[d+1],w=y;x>w;w++){var b=r?r[o[w]]:o[w];m[g]=b,p&&(p[g]=a[w]),g++}}return h[l]=g,new t({values:p,index:m,ptr:h,size:[f,l],datatype:c})};return r}t.name=\"cs_permute\",t.path=\"sparse\",t.factory=r},function(e,t){\"use strict\";function r(){var e=function(e,t){if(!e)return null;var r,n,i=e._index,a=e._ptr,o=e._size,s=o[0],u=o[1],c=[],f=[],l=0,p=u;if(t)for(r=0;s>r;r++)f[p+r]=-1;for(var m=0;u>m;m++){c[m]=-1,f[l+m]=-1;for(var h=a[m],g=a[m+1],v=h;g>v;v++){var d=i[v];for(r=t?f[p+d]:d;-1!=r&&m>r;r=n)n=f[l+r],f[l+r]=m,-1==n&&(c[r]=m);t&&(f[p+d]=m)}}return c};return e}t.name=\"cs_etree\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(321)),a=function(e,t){if(!e)return null;var r,n=0,a=[],o=[],s=0,u=t,c=2*t;for(r=0;t>r;r++)o[s+r]=-1;for(r=t-1;r>=0;r--)-1!=e[r]&&(o[u+r]=o[s+e[r]],o[s+e[r]]=r);for(r=0;t>r;r++)-1==e[r]&&(n=i(r,n,o,s,u,a,c));return a};return a}t.name=\"cs_post\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(322)),a=n(r(327)),o=function(e,t,r,n){if(!e||!t||!r)return null;var o,s,u,c,f,l,p,m=e._size,h=m[0],g=m[1],v=4*g+(n?g+h+1:0),d=[],y=0,x=g,w=2*g,b=3*g,N=4*g,E=5*g+1;for(u=0;v>u;u++)d[u]=-1;var M=[],A=i(e),_=A._index,O=A._ptr;for(u=0;g>u;u++)for(s=r[u],M[s]=-1==d[b+s]?1:0;-1!=s&&-1==d[b+s];s=t[s])d[b+s]=u;if(n){for(u=0;g>u;u++)d[r[u]]=u;for(o=0;h>o;o++){for(u=g,l=O[o],p=O[o+1],f=l;p>f;f++)u=Math.min(u,d[_[f]]);d[E+o]=d[N+u],d[N+u]=o}}for(o=0;g>o;o++)d[y+o]=o;for(u=0;g>u;u++){for(s=r[u],-1!=t[s]&&M[t[s]]--,c=n?d[N+u]:s;-1!=c;c=n?d[E+c]:-1)for(f=O[c];f<O[c+1];f++){o=_[f];var T=a(o,s,d,b,x,w,y);T.jleaf>=1&&M[s]++,2==T.jleaf&&M[T.q]--}-1!=t[s]&&(d[y+s]=t[s])}for(s=0;g>s;s++)-1!=t[s]&&(M[t[s]]+=M[s]);return M};return o}t.name=\"cs_counts\",t.path=\"sparse\",t.factory=n},function(e,t){\"use strict\";function r(){var e=function(e,t,r,n,i,a,o){var s,u,c,f,l=0;if(t>=e||r[n+t]<=r[i+e])return-1;if(r[i+e]=r[n+t],c=r[a+e],r[a+e]=t,-1===c)l=1,f=e;else{for(l=2,f=c;f!=r[o+f];f=r[o+f]);for(s=c;s!=f;s=u)u=r[o+s],r[o+s]=f}return{jleaf:l,q:f}};return e}t.name=\"cs_leaf\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(315)),a=n(r(295)),o=n(r(296)),s=n(r(63)),u=n(r(329)),c=n(r(330)),f=e.SparseMatrix,l=function(e,t,r){if(!e)return null;var n,l=e._size,p=l[1],m=100,h=100;t&&(n=t.q,m=t.lnz||m,h=t.unz||h);var g,v,d=[],y=[],x=[],w=new f({values:d,index:y,ptr:x,size:[p,p]}),b=[],N=[],E=[],M=new f({values:b,index:N,ptr:E,size:[p,p]}),A=[],_=[],O=[];for(g=0;p>g;g++)_[g]=0,A[g]=-1,x[g+1]=0;m=0,h=0;for(var T=0;p>T;T++){x[T]=m,E[T]=h;var C=n?n[T]:T,S=c(w,e,C,O,_,A,1),z=-1,B=-1;for(v=S;p>v;v++)if(g=O[v],A[g]<0){var k=i(_[g]);s(k,B)&&(B=k,z=g)}else N[h]=A[g],b[h++]=_[g];if(-1==z||0>=B)return null;A[C]<0&&u(i(_[C]),o(B,r))&&(z=C);var I=_[z];for(N[h]=T,b[h++]=I,A[z]=T,y[m]=z,d[m++]=1,v=S;p>v;v++)g=O[v],A[g]<0&&(y[m]=g,d[m++]=a(_[g],I)),_[g]=0}for(x[p]=m,E[p]=h,v=0;m>v;v++)y[v]=A[y[v]];return d.splice(m,d.length-m),y.splice(m,y.length-m),b.splice(h,b.length-h),N.splice(h,N.length-h),{L:w,U:M,pinv:A}};return l}t.name=\"cs_lu\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"largerEq\",{\"boolean, boolean\":function(e,t){return e>=t},\"number, number\":function(e,r){return e>=r||i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.gte(t)},\"Fraction, Fraction\":function(e,t){return-1!==e.compare(t)},\"Complex, Complex\":function(){throw new TypeError(\"No ordering relation is defined for complex numbers\")},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value>=r.value||i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return e>=t},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,m);break;default:r=s(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,m,!1);break;default:r=f(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,m,!1);break;default:r=l(e,t,m,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,m,!0);break;default:r=l(t,e,m,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,m,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,m,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.largerEq+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"largerEq\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(295)),a=n(r(296)),o=n(r(302)),s=n(r(331)),u=function(e,t,r,n,u,c,f){var l,p,m,h,g=e._values,v=e._index,d=e._ptr,y=e._size,x=y[1],w=t._values,b=t._index,N=t._ptr,E=s(e,t,r,n,c);for(l=E;x>l;l++)u[n[l]]=0;for(p=N[r],m=N[r+1],l=p;m>l;l++)u[b[l]]=w[l];for(var M=E;x>M;M++){var A=n[M],_=c?c[A]:A;if(!(0>_))for(p=d[_],m=d[_+1],u[A]=i(u[A],g[f?p:m-1]),l=f?p+1:p,h=f?m:m-1;h>l;l++){var O=v[l];u[O]=o(u[O],a(g[l],u[A]))}}return E};return u}t.name=\"cs_spsolve\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(332)),a=n(r(333)),o=n(r(334)),s=function(e,t,r,n,s){var u,c,f,l=e._ptr,p=e._size,m=t._index,h=t._ptr,g=p[1],v=g;for(c=h[r],f=h[r+1],u=c;f>u;u++){var d=m[u];a(l,d)||(v=i(d,e,v,n,s))}for(u=v;g>u;u++)o(l,n[u]);return v};return s}t.name=\"cs_reach\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(333)),a=n(r(334)),o=n(r(335)),s=function(e,t,r,n,s){var u,c,f,l=t._index,p=t._ptr,m=t._size,h=m[1],g=0;for(n[0]=e;g>=0;){e=n[g];var v=s?s[e]:e;i(p,e)||(a(p,e),n[h+g]=0>v?0:o(p[v]));var d=1;for(c=n[h+g],f=0>v?0:o(p[v+1]);f>c;c++)if(u=l[c],!i(p,u)){n[h+g]=c,n[++g]=u,d=0;break}d&&(g--,n[--r]=e)}return r};return s}t.name=\"cs_dfs\",t.path=\"sparse\",t.factory=n},function(e,t){\"use strict\";function r(){var e=function(e,t){return e[t]<0};return e}t.name=\"cs_marked\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(319)),a=function(e,t){e[t]=i(e[t])};return a}t.name=\"cs_mark\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n){var i=n(r(319)),a=function(e){return 0>e?i(e):e};return a}t.name=\"cs_unflip\",t.path=\"sparse\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(295)),s=n(r(297)),u=n(r(302)),c=n(r(48)),f=n(r(337)),l=e.DenseMatrix,p=i(\"lsolve\",{\"SparseMatrix, Array | Matrix\":function(e,t){return h(e,t)},\"DenseMatrix, Array | Matrix\":function(e,t){return m(e,t)},\"Array, Array | Matrix\":function(e,t){var r=a(e),n=m(r,t);return n.valueOf()}}),m=function(e,t){t=f(e,t,!0);for(var r=t._data,n=e._size[0],i=e._size[1],a=[],p=e._data,m=0;i>m;m++){var h,g=r[m][0]||0;if(c(g,0))h=0;else{var v=p[m][m];if(c(v,0))throw new Error(\"Linear system cannot be solved since matrix is singular\");h=o(g,v);for(var d=m+1;n>d;d++)r[d]=[u(r[d][0]||0,s(h,p[d][m]))]}a[m]=[h]}return new l({data:a,size:[n,1]})},h=function(e,t){t=f(e,t,!0);for(var r,n,i=t._data,a=e._size[0],p=e._size[1],m=e._values,h=e._index,g=e._ptr,v=[],d=0;p>d;d++){var y=i[d][0]||0;if(c(y,0))v[d]=[0];else{var x=0,w=[],b=[],N=g[d+1];for(n=g[d];N>n;n++)r=h[n],r===d?x=m[n]:r>d&&(w.push(m[n]),b.push(r));if(c(x,0))throw new Error(\"Linear system cannot be solved since matrix is singular\");var E=o(y,x);for(n=0,N=b.length;N>n;n++)r=b[n],i[r]=[u(i[r][0]||0,s(E,w[n]))];v[d]=[E]}}return new l({data:v,size:[a,1]})};return p}t.name=\"lsolve\",t.factory=n},function(e,t,r){\"use strict\";function n(e){var t=e.DenseMatrix,r=function(e,r,n){var i=e.size();if(2!==i.length)throw new RangeError(\"Matrix must be two dimensional (size: \"+a.format(i)+\")\");var u=i[0],c=i[1];if(u!==c)throw new RangeError(\"Matrix must be square (size: \"+a.format(i)+\")\");var f,l,p;if(r&&r.isMatrix===!0){var m=r.size();if(1===m.length){if(m[0]!==u)throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\");for(f=[],p=r._data,l=0;u>l;l++)f[l]=[p[l]];return new t({data:f,size:[u,1],datatype:r._datatype})}if(2===m.length){if(m[0]!==u||1!==m[1])throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\");if(r.isDenseMatrix===!0){if(n){for(f=[],p=r._data,l=0;u>l;l++)f[l]=[p[l][0]];return new t({data:f,size:[u,1],datatype:r._datatype})}return r}for(f=[],l=0;u>l;l++)f[l]=[0];for(var h=r._values,g=r._index,v=r._ptr,d=v[1],y=v[0];d>y;y++)l=g[y],f[l][0]=h[y];return new t({data:f,size:[u,1],datatype:r._datatype})}throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\")}if(s(r)){var x=o.size(r);if(1===x.length){if(x[0]!==u)throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\");for(f=[],l=0;u>l;l++)f[l]=[r[l]];return new t({data:f,size:[u,1]})}if(2===x.length){if(x[0]!==u||1!==x[1])throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\");for(f=[],l=0;u>l;l++)f[l]=[r[l][0]];return new t({data:f,size:[u,1]})}throw new RangeError(\"Dimension mismatch. Matrix columns must match vector length.\")}};return r}var i=r(39),a=i.string,o=i.array,s=Array.isArray;t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(314)),u=n(r(316)),c=n(r(339)),f=n(r(337)),l=n(r(340)),p=n(r(336)),m=a(\"lusolve\",{\"Array, Array | Matrix\":function(e,t){e=o(e);var r=s(e),n=g(r.L,r.U,r.p,null,t);return n.valueOf()},\"DenseMatrix, Array | Matrix\":function(e,t){var r=s(e);return g(r.L,r.U,r.p,null,t)},\"SparseMatrix, Array | Matrix\":function(e,t){var r=s(e);return g(r.L,r.U,r.p,null,t)},\"SparseMatrix, Array | Matrix, number, number\":function(e,t,r,n){var i=u(e,r,n);return g(i.L,i.U,i.p,i.q,t)},\"Object, Array | Matrix\":function(e,t){return g(e.L,e.U,e.p,e.q,t)}}),h=function(e){if(e&&e.isMatrix===!0)return e;if(i(e))return o(e);throw new TypeError(\"Invalid Matrix LU decomposition\")},g=function(e,t,r,n,i){e=h(e),t=h(t),i=f(e,i,!1),r&&(i._data=c(r,i._data));var a=p(e,i),o=l(t,a);return n&&(o._data=c(n,o._data)),o};return m}var i=Array.isArray;t.name=\"lusolve\",t.factory=n},function(e,t){\"use strict\";function r(){var e=function(e,t,r){var n,r=t.length,i=[];if(e)for(n=0;r>n;n++)i[e[n]]=t[n];else for(n=0;r>n;n++)i[n]=t[n];return i};return e}t.name=\"cs_ipvec\",t.path=\"sparse\",t.factory=r},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(295)),s=n(r(297)),u=n(r(302)),c=n(r(48)),f=n(r(337)),l=e.DenseMatrix,p=i(\"usolve\",{\"SparseMatrix, Array | Matrix\":function(e,t){return h(e,t)},\"DenseMatrix, Array | Matrix\":function(e,t){return m(e,t)},\"Array, Array | Matrix\":function(e,t){var r=a(e),n=m(r,t);return n.valueOf()}}),m=function(e,t){t=f(e,t,!0);for(var r=t._data,n=e._size[0],i=e._size[1],a=[],p=e._data,m=i-1;m>=0;m--){var h,g=r[m][0]||0;if(c(g,0))h=0;else{var v=p[m][m];if(c(v,0))throw new Error(\"Linear system cannot be solved since matrix is singular\");h=o(g,v);for(var d=m-1;d>=0;d--)r[d]=[u(r[d][0]||0,s(h,p[d][m]))]}a[m]=[h]}return new l({data:a,size:[n,1]})},h=function(e,t){t=f(e,t,!0);for(var r,n,i=t._data,a=e._size[0],p=e._size[1],m=e._values,h=e._index,g=e._ptr,v=[],d=p-1;d>=0;d--){var y=i[d][0]||0;if(c(y,0))v[d]=[0];else{var x=0,w=[],b=[],N=g[d],E=g[d+1];for(n=E-1;n>=N;n--)r=h[n],r===d?x=m[n]:d>r&&(w.push(m[n]),b.push(r));if(c(x,0))throw new Error(\"Linear system cannot be solved since matrix is singular\");var M=o(y,x);for(n=0,E=b.length;E>n;n++)r=b[n],i[r]=[u(i[r][0],s(M,w[n]))];v[d]=[M]}}return new l({data:v,size:[a,1]})};return p}t.name=\"usolve\",t.factory=n},function(e,t,r){e.exports=[r(315),r(50),r(52),r(342),r(344),r(345),r(294),r(346),r(348),r(350),r(343),r(353),r(354),r(355),r(356),r(359),r(352),r(362),r(363),r(296),r(364),r(366),r(351),r(367),r(369),r(357),r(370),r(302),r(300),r(371),r(372)]},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){if(0===e)return e;var t,r=0>e;return r&&(e=-e),isFinite(e)?(t=Math.exp(Math.log(e)/3),t=(e/(t*t)+2*t)/3):t=e,r?-t:t}function s(r,n){var i=r.toPolar(),a=l(new e.Complex(o(i.r),0),p(new e.Complex(0,i.phi/3)));if(n){var s=[a,l(new e.Complex(o(i.r),0),p(new e.Complex(0,i.phi/3+2*Math.PI/3))),l(new e.Complex(o(i.r),0),p(new e.Complex(0,i.phi/3-2*Math.PI/3)))];return\"array\"===t.matrix?s:f(s)}return a}function u(e){if(e.isZero())return e;var t,r=e.isNegative();return r&&(e=e.neg()),e.isFinite()?(t=e.ln().div(3).exp(),t=e.div(t.times(t)).plus(t.times(2)).div(3)):t=1/0,r?t.neg():t}function c(e){var t=e.value<0;t&&(e.value=-e.value);var r=e.pow(1/3);return t&&(r.value=-r.value),r}var f=n(r(51)),l=a.find(n(r(297)),[\"Complex,Complex\"]),p=a.find(n(r(343)),[\"Complex\"]),m=a(\"cbrt\",{number:o,Complex:s,\"Complex, boolean\":s,BigNumber:u,Unit:c,\"Array | Matrix\":function(e){return i(e,m,!0)}});return m.toTex=\"\\\\sqrt[3]{${args[0]}}\",m}var i=r(19);t.name=\"cbrt\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"exp\",{number:Math.exp,Complex:function(t){var r=Math.exp(t.re);return new e.Complex(r*Math.cos(t.im),r*Math.sin(t.im))},BigNumber:function(e){return e.exp()},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\exp\\\\left(${args[0]}\\\\right)\",a}var i=r(19);t.name=\"exp\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"ceil\",{number:Math.ceil,Complex:function(t){return new e.Complex(Math.ceil(t.re),Math.ceil(t.im))},BigNumber:function(e){return e.ceil()},Fraction:function(e){return e.ceil()},\"Array | Matrix\":function(e){return i(e,a,!0)}});return a.toTex=\"\\\\left\\\\lceil${args[0]}\\\\right\\\\rceil\",a}var i=r(19);t.name=\"ceil\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=a.find(n(r(297)),[\"Complex,Complex\"]),s=a(\"cube\",{number:function(e){return e*e*e},Complex:function(e){return o(o(e,e),e)},BigNumber:function(e){return e.times(e).times(e)},Fraction:function(e){return e.mul(e).mul(e)},\"Array | Matrix\":function(e){return i(e,s,!0)},Unit:function(e){return e.pow(3)}});return s.toTex=\"\\\\left(${args[0]}\\\\right)^3\",s}var i=r(19);t.name=\"cube\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(295)),s=r(30),u=n(r(347)),c=n(r(60)),f=n(r(61)),l=n(r(298)),p=n(r(62)),m=n(r(56)),h=n(r(57)),g=i(\"dotDivide\",{\"any, any\":o,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,o,!1);break;default:r=u(t,e,o,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,o,!1);break;default:r=m(e,t,o)}}return r},\"Array, Array\":function(e,t){return g(a(e),a(t)).valueOf()},\"Array, Matrix\":function(e,t){return g(a(e),t)},\"Matrix, Array\":function(e,t){return g(e,a(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,o,!1);break;default:r=h(e,t,o,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=p(t,e,o,!0);break;default:r=h(t,e,o,!0)}return r},\"Array, any\":function(e,t){return h(a(e),t,o,!1).valueOf()},\"any, Array\":function(e,t){return h(a(t),e,o,!0).valueOf()}});return g.toTex=\"\\\\left(${args[0]}\"+s.operators.dotDivide+\"${args[1]}\\\\right)\",g}t.name=\"dotDivide\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r,n){var u=e._data,c=e._size,f=e._datatype,l=t._values,p=t._index,m=t._ptr,h=t._size,g=t._datatype;if(c.length!==h.length)throw new i(c.length,h.length);if(c[0]!==h[0]||c[1]!==h[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+c+\") must match Matrix B (\"+h+\")\");if(!l)throw new Error(\"Cannot perform operation on Dense Matrix and Pattern Sparse Matrix\");var v,d=c[0],y=c[1],x=o,w=0,b=r;\"string\"==typeof f&&f===g&&(v=f,x=a.find(o,[v,v]),w=a.convert(0,v),b=a.find(r,[v,v]));for(var N=[],E=[],M=[],A=0;y>A;A++){M[A]=E.length;for(var _=m[A],O=m[A+1],T=_;O>T;T++){var C=p[T],S=n?b(l[T],u[C][A]):b(u[C][A],l[T]);x(S,w)||(E.push(C),N.push(S))}}return M[y]=E.length,new s({values:N,index:E,ptr:M,size:[d,y],datatype:v})};return u}var i=r(42);t.name=\"algorithm02\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(297)),s=r(30),u=n(r(347)),c=n(r(349)),f=n(r(298)),l=n(r(56)),p=n(r(57)),m=i(\"dotMultiply\",{\"any, any\":o,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,o,!1);break;default:r=u(t,e,o,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,o,!1);break;default:r=l(e,t,o)}}return r},\"Array, Array\":function(e,t){return m(a(e),a(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(a(e),t)},\"Matrix, Array\":function(e,t){return m(e,a(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,o,!1);break;default:r=p(e,t,o,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=f(t,e,o,!0);break;default:r=p(t,e,o,!0)}return r},\"Array, any\":function(e,t){return p(a(e),t,o,!1).valueOf()},\"any, Array\":function(e,t){return p(a(t),e,o,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+s.operators.dotMultiply+\"${args[1]}\\\\right)\",m}t.name=\"dotMultiply\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r){var n=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype,p=t._values,m=t._index,h=t._ptr,g=t._size,v=t._datatype;if(f.length!==g.length)throw new i(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+f+\") must match Matrix B (\"+g+\")\");var d,y=f[0],x=f[1],w=o,b=0,N=r;\"string\"==typeof l&&l===v&&(d=l,w=a.find(o,[d,d]),b=a.convert(0,d),N=a.find(r,[d,d]));var E,M,A,_,O,T=n&&p?[]:void 0,C=[],S=[],z=new s({values:T,index:C,ptr:S,size:[y,x],datatype:d}),B=T?[]:void 0,k=[];for(M=0;x>M;M++){S[M]=C.length;var I=M+1;if(B)for(_=h[M],O=h[M+1],A=_;O>A;A++)E=m[A],k[E]=I,B[E]=p[A];for(_=c[M],O=c[M+1],A=_;O>A;A++)if(E=u[A],B){var R=k[E]===I?B[E]:b,P=N(n[A],R);w(P,b)||(C.push(E),T.push(P))}else C.push(E)}return S[x]=C.length,z};return u}var i=r(42);t.name=\"algorithm09\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(351)),s=r(30),u=n(r(60)),c=n(r(61)),f=n(r(298)),l=n(r(62)),p=n(r(56)),m=n(r(57)),h=i(\"dotPow\",{\"any, any\":o,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,o,!1);break;default:r=u(t,e,o,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,o,!1);break;default:r=p(e,t,o)}}return r},\"Array, Array\":function(e,t){return h(a(e),a(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(a(e),t)},\"Matrix, Array\":function(e,t){return h(e,a(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return m(a(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return m(a(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+s.operators.dotPow+\"${args[1]}\\\\right)\",h}t.name=\"dotPow\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(r,n){return i(n)||r>=0||t.predictable?Math.pow(r,n):u(new e.Complex(r,0),new e.Complex(n,0))}function u(e,t){return p(g(h(e),t))}function c(e,t){if(!i(t)||0>t)throw new TypeError(\"For A^b, b must be a positive integer (value is \"+t+\")\");var r=a(e);if(2!=r.length)throw new Error(\"For A^b, A must be 2 dimensional (A has \"+r.length+\" dimensions)\");if(r[0]!=r[1])throw new Error(\"For A^b, A must be square (size is \"+r[0]+\"x\"+r[1]+\")\");for(var n=m(r[0]).valueOf(),o=e;t>=1;)1==(1&t)&&(n=g(o,n)),t>>=1,o=g(o,o);return n}function f(e,t){return v(c(e.valueOf(),t))}var l=r(30),p=n(r(343)),m=n(r(304)),h=n(r(352)),g=n(r(296)),v=n(r(51)),d=o(\"pow\",{\"number, number\":s,\"Complex, Complex\":u,\"BigNumber, BigNumber\":function(r,n){return n.isInteger()||r>=0||t.predictable?r.pow(n):u(new e.Complex(r.toNumber(),0),new e.Complex(n.toNumber(),0))},\"Fraction, Fraction\":function(e,r){if(1!==r.d){if(t.predictable)throw new Error(\"Function pow does not support non-integer exponents for fractions.\");return s(e.valueOf(),r.valueOf())}return e.pow(r)},\"Array, number\":c,\"Array, BigNumber\":function(e,t){return c(e,t.toNumber())},\"Matrix, number\":f,\"Matrix, BigNumber\":function(e,t){return f(e,t.toNumber())},\"Unit, number\":function(e,t){return e.pow(t)}});return d.toTex=\"\\\\left(${args[0]}\\\\right)\"+l.operators.pow+\"{${args[1]}}\",d}var i=r(6).isInteger,a=r(40).size;t.name=\"pow\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(r){return r>=0||t.predictable?Math.log(r):c(new e.Complex(r,0))}function s(t){return new e.Complex(Math.log(Math.sqrt(t.re*t.re+t.im*t.im)),Math.atan2(t.im,t.re))}var u=n(r(295)),c=a(\"log\",{number:o,Complex:s,BigNumber:function(r){return!r.isNegative()||t.predictable?r.ln():s(new e.Complex(r.toNumber(),0))},\"Array | Matrix\":function(e){return i(e,c)},\"any, any\":function(e,t){return u(c(e),c(t))}});return c.toTex={1:\"\\\\ln\\\\left(${args[0]}\\\\right)\",2:\"\\\\log_{${args[1]}}\\\\left(${args[0]}\\\\right)\"},c}var i=r(19);t.name=\"log\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"fix\",{number:function(e){return e>0?Math.floor(e):Math.ceil(e)},Complex:function(t){return new e.Complex(t.re>0?Math.floor(t.re):Math.ceil(t.re),t.im>0?Math.floor(t.im):Math.ceil(t.im))},BigNumber:function(e){return e.isNegative()?e.ceil():e.floor()},Fraction:function(e){return e.s<0?e.ceil():e.floor()},\"Array | Matrix\":function(e){return i(e,a,!0)}});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}var i=r(19);t.name=\"fix\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"floor\",{number:Math.floor,Complex:function(t){return new e.Complex(Math.floor(t.re),Math.floor(t.im))},BigNumber:function(e){return e.floor()},Fraction:function(e){return e.floor()},\"Array | Matrix\":function(e){return i(e,a,!0)}});return a.toTex=\"\\\\left\\\\lfloor${args[0]}\\\\right\\\\rfloor\",a}var i=r(19);t.name=\"floor\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(t,r){if(!t.isInt()||!r.isInt())throw new Error(\"Parameters in function gcd must be integer numbers\");for(var n=new e.BigNumber(0);!r.isZero();){var i=t.mod(r);t=r,r=i}return t.lt(n)?t.neg():t}var s=n(r(51)),u=n(r(53)),c=n(r(54)),f=n(r(55)),l=n(r(56)),p=n(r(57)),m=a(\"gcd\",{\"number, number\":i,\"BigNumber, BigNumber\":o,\"Fraction, Fraction\":function(e,t){return e.gcd(t)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,m);break;default:r=u(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,m,!1);break;default:r=l(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(s(e),s(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(s(e),t)},\"Matrix, Array\":function(e,t){return m(e,s(t))},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,m,!1);break;default:r=p(e,t,m,!1)}return r},\"number | BigNumber, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=f(t,e,m,!0);break;default:r=p(t,e,m,!0)}return r},\"Array, number | BigNumber\":function(e,t){return p(s(e),t,m,!1).valueOf()},\"number | BigNumber, Array\":function(e,t){return p(s(t),e,m,!0).valueOf()},\"Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber\":function(e,t,r){for(var n=m(e,t),i=0;i<r.length;i++)n=m(n,r[i]);return n}});return m.toTex=\"\\\\gcd\\\\left(${args}\\\\right)\",m}function i(e,t){if(!a(e)||!a(t))throw new Error(\"Parameters in function gcd must be integer numbers\");for(var r;0!=t;)r=e%t,e=t,t=r;return 0>e?-e:e}var a=r(6).isInteger;t.name=\"gcd\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){for(var t=0,r=0,n=0;n<e.length;n++){var i=s(e[n]);p(r,i)?(t=f(t,f(c(r,i),c(r,i))),t=u(t,1),r=i):t=u(t,m(i)?f(c(i,r),c(i,r)):i)}return f(r,l(t))}var s=n(r(315)),u=n(r(52)),c=n(r(295)),f=n(r(297)),l=n(r(357)),p=n(r(59)),m=n(r(358)),h=a(\"hypot\",{\"... number | BigNumber\":o,Array:function(e){return h.apply(h,i(e))},Matrix:function(e){return h.apply(h,i(e.toArray()))}});return h.toTex=\"\\\\hypot\\\\left(${args}\\\\right)\",h}var i=r(40).flatten;t.name=\"hypot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){function a(r){return r>=0||t.predictable?Math.sqrt(r):o(new e.Complex(r,0))}function o(t){var r,n,i=Math.sqrt(t.re*t.re+t.im*t.im);return r=t.re>=0?.5*Math.sqrt(2*(i+t.re)):Math.abs(t.im)/Math.sqrt(2*(i-t.re)),n=t.re<=0?.5*Math.sqrt(2*(i-t.re)):Math.abs(t.im)/Math.sqrt(2*(i+t.re)),t.im>=0?new e.Complex(r,n):new e.Complex(r,-n)}var s=n(\"sqrt\",{number:a,Complex:o,BigNumber:function(e){return!e.isNegative()||t.predictable?e.sqrt():a(e.toNumber())},\"Array | Matrix\":function(e){return i(e,s,!0)},Unit:function(e){return e.pow(.5)}});return s.toTex=\"\\\\sqrt{${args[0]}}\",s}var i=r(19);t.name=\"sqrt\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"isPositive\",{number:function(e){return e>0},BigNumber:function(e){return!e.isNeg()&&!e.isZero()&&!e.isNaN()},Fraction:function(e){return e.s>0&&e.n>0},Unit:function(e){return e.value>0},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);r(6);t.name=\"isPositive\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(t,r){if(!t.isInt()||!r.isInt())throw new Error(\"Parameters in function lcm must be integer numbers\");if(t.isZero()||r.isZero())return new e.BigNumber(0);for(var n=t.times(r);!r.isZero();){var i=r;\nr=t.mod(i),t=i}return n.div(t).abs()}var s=n(r(51)),u=n(r(347)),c=n(r(360)),f=n(r(298)),l=n(r(56)),p=n(r(57)),m=a(\"lcm\",{\"number, number\":i,\"BigNumber, BigNumber\":o,\"Fraction, Fraction\":function(t,r){return 0===t.n&&0===r.n?new e.Fraction(0):t.mul(r).abs().div(t.gcd(r))},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,m);break;default:r=u(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,m,!1);break;default:r=l(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(s(e),s(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(s(e),t)},\"Matrix, Array\":function(e,t){return m(e,s(t))},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,m,!1);break;default:r=p(e,t,m,!1)}return r},\"number | BigNumber, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=f(t,e,m,!0);break;default:r=p(t,e,m,!0)}return r},\"Array, number | BigNumber\":function(e,t){return p(s(e),t,m,!1).valueOf()},\"number | BigNumber, Array\":function(e,t){return p(s(t),e,m,!0).valueOf()},\"Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber\":function(e,t,r){for(var n=m(e,t),i=0;i<r.length;i++)n=m(n,r[i]);return n}});return m.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",m}function i(e,t){if(!a(e)||!a(t))throw new Error(\"Parameters in function lcm must be integer numbers\");if(0==e||0==t)return 0;for(var r,n=e*t;0!=t;)r=t,t=e%r,e=r;return Math.abs(n/e)}var a=r(6).isInteger;t.name=\"lcm\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(48)),u=e.SparseMatrix,c=function(e,t,r){var n=e._values,c=e._size,f=e._datatype,l=t._values,p=t._size,m=t._datatype;if(c.length!==p.length)throw new a(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+c+\") must match Matrix B (\"+p+\")\");var h,g=c[0],v=c[1],d=s,y=0,x=r;\"string\"==typeof f&&f===m&&(h=f,d=o.find(s,[h,h]),y=o.convert(0,h),x=o.find(r,[h,h]));for(var w=n&&l?[]:void 0,b=[],N=[],E=new u({values:w,index:b,ptr:N,size:[g,v],datatype:h}),M=w?[]:void 0,A=[],_=[],O=0;v>O;O++){N[O]=b.length;var T=O+1;if(i(e,O,A,M,_,T,E,x),i(t,O,A,M,_,T,E,x),M)for(var C=N[O];C<b.length;){var S=b[C];if(_[S]===T){var z=M[S];d(z,y)?b.splice(C,1):(w.push(z),C++)}else b.splice(C,1)}else for(var B=N[O];B<b.length;){var k=b[B];_[k]!==T?b.splice(B,1):B++}}return N[v]=b.length,E};return c}var i=r(361),a=r(42);t.name=\"algorithm06\",t.factory=n},function(e,t){\"use strict\";e.exports=function(e,t,r,n,i,a,o,s,u,c,f){var l,p,m,h,g=e._values,v=e._index,d=e._ptr,y=o._index;if(n)for(p=d[t],m=d[t+1],l=p;m>l;l++)h=v[l],r[h]!==a?(r[h]=a,y.push(h),c?(n[h]=u?s(g[l],f):s(f,g[l]),i[h]=a):n[h]=g[l]):(n[h]=u?s(g[l],n[h]):s(n[h],g[l]),i[h]=a);else for(p=d[t],m=d[t+1],l=p;m>l;l++)h=v[l],r[h]!==a?(r[h]=a,y.push(h)):i[h]=a}},function(e,t,r){\"use strict\";function n(e,t,r,n){function a(t){return new e.Complex(Math.log(Math.sqrt(t.re*t.re+t.im*t.im))/Math.LN10,Math.atan2(t.im,t.re)/Math.LN10)}var o=n(\"log10\",{number:function(r){return r>=0||t.predictable?Math.log(r)/Math.LN10:o(new e.Complex(r,0))},Complex:a,BigNumber:function(r){return!r.isNegative()||t.predictable?r.log():a(new e.Complex(r.toNumber(),0))},\"Array | Matrix\":function(e){return i(e,o)}});return o.toTex=\"\\\\log_{10}\\\\left(${args[0]}\\\\right)\",o}var i=r(19);t.name=\"log10\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(t>0)return e-t*Math.floor(e/t);if(0===t)return e;throw new Error(\"Cannot calculate mod for a negative divisor\")}var o=n(r(51)),s=r(30),u=n(r(347)),c=n(r(60)),f=n(r(303)),l=n(r(298)),p=n(r(62)),m=n(r(56)),h=n(r(57)),g=i(\"mod\",{\"number, number\":a,\"BigNumber, BigNumber\":function(e,t){return t.isZero()?e:e.mod(t)},\"Fraction, Fraction\":function(e,t){return e.mod(t)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,g,!1);break;default:r=u(t,e,g,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,g,!1);break;default:r=m(e,t,g)}}return r},\"Array, Array\":function(e,t){return g(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return g(o(e),t)},\"Matrix, Array\":function(e,t){return g(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,g,!1);break;default:r=h(e,t,g,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=p(t,e,g,!0);break;default:r=h(t,e,g,!0)}return r},\"Array, any\":function(e,t){return h(o(e),t,g,!1).valueOf()},\"any, Array\":function(e,t){return h(o(t),e,g,!0).valueOf()}});return g.toTex=\"\\\\left(${args[0]}\"+s.operators.mod+\"${args[1]}\\\\right)\",g}t.name=\"mod\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){var r=e.size();if(1==r.length){if(t===Number.POSITIVE_INFINITY||\"inf\"===t){var n=0;return e.forEach(function(e){var t=o(e);p(t,n)&&(n=t)},!0),n}if(t===Number.NEGATIVE_INFINITY||\"-inf\"===t){var i;return e.forEach(function(e){var t=o(e);(!i||m(t,i))&&(i=t)},!0),i||0}if(\"fro\"===t)return a(e,2);if(\"number\"==typeof t&&!isNaN(t)){if(!l(t,0)){var h=0;return e.forEach(function(e){h=s(u(o(e),t),h)},!0),u(h,1/t)}return Number.POSITIVE_INFINITY}throw new Error(\"Unsupported parameter value\")}if(2==r.length){if(1===t){var d=[],y=0;return e.forEach(function(e,t){var r=t[1],n=s(d[r]||0,o(e));p(n,y)&&(y=n),d[r]=n},!0),y}if(t===Number.POSITIVE_INFINITY||\"inf\"===t){var x=[],w=0;return e.forEach(function(e,t){var r=t[0],n=s(x[r]||0,o(e));p(n,w)&&(w=n),x[r]=n},!0),w}if(\"fro\"===t)return c(g(f(v(e),e)));if(2===t)throw new Error(\"Unsupported parameter value, missing implementation of matrix singular value decomposition\");throw new Error(\"Unsupported parameter value\")}}var o=n(r(315)),s=n(r(50)),u=n(r(351)),c=n(r(357)),f=n(r(296)),l=n(r(48)),p=n(r(63)),m=n(r(59)),h=n(r(51)),g=n(r(365)),v=n(r(322)),d=i.find(o,[\"Complex\"]),y=i(\"norm\",{number:Math.abs,Complex:d,BigNumber:function(e){return e.abs()},\"boolean | null\":function(e){return Math.abs(e)},Array:function(e){return a(h(e),2)},Matrix:function(e){return a(e,2)},\"number | Complex | BigNumber | boolean | null, number | BigNumber | string\":function(e){return y(e)},\"Array, number | BigNumber | string\":function(e,t){return a(h(e),t)},\"Matrix, number | BigNumber | string\":function(e,t){return a(e,t)}});return y.toTex={1:\"\\\\left\\\\|${args[0]}\\\\right\\\\|\",2:\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\"},y}t.name=\"norm\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(51)),u=n(r(50)),c=o(\"trace\",{Array:function(e){return c(s(e))},Matrix:function(e){var t;switch(e.storage()){case\"dense\":t=f(e);break;case\"sparse\":t=l(e)}return t},any:i}),f=function(e){var t=e._size,r=e._data;switch(t.length){case 1:if(1==t[0])return i(r[0]);throw new RangeError(\"Matrix must be square (size: \"+a(t)+\")\");case 2:var n=t[0],o=t[1];if(n===o){for(var s=0,c=0;n>c;c++)s=u(s,r[c][c]);return s}throw new RangeError(\"Matrix must be square (size: \"+a(t)+\")\");default:throw new RangeError(\"Matrix must be two dimensional (size: \"+a(t)+\")\")}},l=function(e){var t=e._values,r=e._index,n=e._ptr,i=e._size,o=i[0],s=i[1];if(o===s){var c=0;if(t.length>0)for(var f=0;s>f;f++)for(var l=n[f],p=n[f+1],m=l;p>m;m++){var h=r[m];if(h===f){c=u(c,t[m]);break}if(h>f)break}return c}throw new RangeError(\"Matrix must be square (size: \"+a(i)+\")\")};return c.toTex=\"\\\\mathrm{tr}\\\\left(${args[0]}\\\\right)\",c}var i=r(3).clone,a=r(23).format;t.name=\"trace\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){var n=e.BigNumber.precision,i=e.BigNumber.constructor({precision:n+2}),a=new e.BigNumber(0),o=new i(1),s=r.isNegative();if(s&&(r=r.neg()),r.isZero())throw new Error(\"Root must be non-zero\");if(t.isNegative()&&!r.abs().mod(2).equals(1))throw new Error(\"Root must be odd when a is negative.\");if(t.isZero())return a;if(!t.isFinite())return s?a:t;var u=t.abs().pow(o.div(r));return u=t.isNeg()?u.neg():u,new e.BigNumber((s?o.div(u):u).toPrecision(n))}var u=n(r(51)),c=n(r(53)),f=n(r(347)),l=n(r(360)),p=n(r(298)),m=n(r(56)),h=n(r(57)),g=o(\"nthRoot\",{number:function(e){return i(e,2)},\"number, number\":i,BigNumber:function(t){return s(t,new e.BigNumber(2))},Complex:function(e){return a(e,2)},\"Complex, number\":a,\"BigNumber, BigNumber\":s,\"Array | Matrix\":function(e){return g(e,2)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":if(1!==t.density())throw new Error(\"Root must be non-zero\");r=l(e,t,g);break;default:r=f(t,e,g,!0)}break;default:switch(t.storage()){case\"sparse\":if(1!==t.density())throw new Error(\"Root must be non-zero\");r=c(e,t,g,!1);break;default:r=m(e,t,g)}}return r},\"Array, Array\":function(e,t){return g(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return g(u(e),t)},\"Matrix, Array\":function(e,t){return g(e,u(t))},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=p(e,t,g,!1);break;default:r=h(e,t,g,!1)}return r},\"number | BigNumber, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":if(1!==t.density())throw new Error(\"Root must be non-zero\");r=p(t,e,g,!0);break;default:r=h(t,e,g,!0)}return r},\"Array, number | BigNumber\":function(e,t){return g(u(e),t).valueOf()},\"number | BigNumber, Array\":function(e,t){return g(e,u(t)).valueOf()}});return g.toTex=\"\\\\sqrt[${args[1]}]{${args[0]}}\",g}function i(e,t){var r=0>t;if(r&&(t=-t),0===t)throw new Error(\"Root must be non-zero\");if(0>e&&Math.abs(t)%2!=1)throw new Error(\"Root must be odd when a is negative.\");if(0==e)return 0;if(!isFinite(e))return r?0:e;var n=Math.pow(Math.abs(e),1/t);return n=0>e?-n:n,r?1/n:n}function a(e,t){if(0>t)throw new Error(\"Root must be greater than zero\");if(0===t)throw new Error(\"Root must be non-zero\");if(t%1!==0)throw new Error(\"Root must be an integer\");for(var r=e.toPolar(),n=[],i=Math.pow(r.r,1/t),a=0;t>a;a++)n.push({r:i,phi:(r.phi+2*Math.PI*a)/t});return n}t.name=\"nthRoot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var c=n(r(51)),f=n(r(48)),l=n(r(368)),p=n(r(298)),m=n(r(62)),h=n(r(57)),g=o(\"round\",{number:Math.round,\"number, number\":function(e,t){if(!a(t))throw new TypeError(u);if(0>t||t>15)throw new Error(\"Number of decimals in function round must be in te range of 0-15\");return i(e,t)},Complex:function(t){return new e.Complex(Math.round(t.re),Math.round(t.im))},\"Complex, number\":function(t,r){return new e.Complex(i(t.re,r),i(t.im,r))},\"Complex, BigNumber\":function(t,r){if(!r.isInteger())throw new TypeError(u);var n=r.toNumber();return new e.Complex(i(t.re,n),i(t.im,n))},\"number, BigNumber\":function(t,r){if(!r.isInteger())throw new TypeError(u);return new e.BigNumber(t).toDecimalPlaces(r.toNumber())},BigNumber:function(e){return e.toDecimalPlaces(0)},\"BigNumber, BigNumber\":function(e,t){if(!t.isInteger())throw new TypeError(u);return e.toDecimalPlaces(t.toNumber())},Fraction:function(e){return e.round()},\"Array | Matrix\":function(e){return s(e,g,!0)},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=p(e,t,g,!1);break;default:r=h(e,t,g,!1)}return r},\"number | Complex | BigNumber, Matrix\":function(e,t){if(!f(e,0)){var r;switch(t.storage()){case\"sparse\":r=m(t,e,g,!0);break;default:r=h(t,e,g,!0)}return r}return l(t.size(),t.storage())},\"Array, number | BigNumber\":function(e,t){return h(c(e),t,g,!1).valueOf()},\"number | Complex | BigNumber, Array\":function(e,t){return h(c(t),e,g,!0).valueOf()}});return g.toTex={1:\"\\\\left\\\\lfloor${args[0]}\\\\right\\\\rceil\",2:\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\"},g}function i(e,t){return parseFloat(o(e,t))}var a=r(6).isInteger,o=r(6).toFixed,s=r(19),u=\"Number of decimals in function round must be an integer\";t.name=\"round\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){var n=u(t),i=n?new e.BigNumber(0):0;if(c(t),r){var o=f(r);return t.length>0?o.resize(t,i):o}var s=[];return t.length>0?a(s,t,i):s}function u(e){var t=!1;return e.forEach(function(e,r,n){e&&e.isBigNumber===!0&&(t=!0,n[r]=e.toNumber())}),t}function c(e){e.forEach(function(e){if(\"number\"!=typeof e||!i(e)||0>e)throw new Error(\"Parameters in function zeros must be positive integers\")})}var f=n(r(51)),l=o(\"zeros\",{\"\":function(){return\"array\"===t.matrix?s([]):s([],\"default\")},\"...number | BigNumber | string\":function(e){var r=e[e.length-1];if(\"string\"==typeof r){var n=e.pop();return s(e,n)}return\"array\"===t.matrix?s(e):s(e,\"default\")},Array:s,Matrix:function(e){var t=e.storage();return s(e.valueOf(),t)},\"Array | Matrix, string\":function(e,t){return s(e.valueOf(),t)}});return l.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",l}var i=r(6).isInteger,a=r(40).resize;t.name=\"zeros\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"sign\",{number:i.sign,Complex:function(t){var r=Math.sqrt(t.re*t.re+t.im*t.im);return new e.Complex(t.re/r,t.im/r)},BigNumber:function(t){return new e.BigNumber(t.cmp(0))},Fraction:function(t){return new e.Fraction(t.s)},\"Array | Matrix\":function(e){return a(e,o,!0)},Unit:function(e){return i.sign(e.value)}});return o.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",o}var i=r(6),a=r(19);t.name=\"sign\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"square\",{number:function(e){return e*e},Complex:function(t){return new e.Complex(t.re*t.re-t.im*t.im,t.re*t.im+t.im*t.re)},BigNumber:function(e){return e.times(e)},Fraction:function(e){return e.mul(e)},\"Array | Matrix\":function(e){return i(e,a,!0)},Unit:function(e){return e.pow(2)}});return a.toTex=\"\\\\left(${args[0]}\\\\right)^2\",a}var i=r(19);t.name=\"square\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=a(\"unaryPlus\",{number:function(e){return e},Complex:function(e){return e.clone()},BigNumber:function(e){return e},Fraction:function(e){return e},Unit:function(e){return e.clone()},\"Array | Matrix\":function(e){return i(e,s,!0)},\"boolean | string | null\":function(r){return\"bignumber\"==t.number?new e.BigNumber(+r):+r}});return s.toTex=o.operators.unaryPlus+\"\\\\left(${args[0]}\\\\right)\",s}var i=r(19);t.name=\"unaryPlus\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,r){var n,a,o,s=0,c=1,f=1,l=0;if(!i(e)||!i(r))throw new Error(\"Parameters in function xgcd must be integer numbers\");for(;r;)a=Math.floor(e/r),o=e%r,n=s,s=c-a*s,c=n,n=f,f=l-a*f,l=n,e=r,r=o;var p;return p=0>e?[-e,-c,-l]:[e,e?c:0,l],\"array\"===t.matrix?p:u(p)}function s(r,n){var i,a,o,s=new e.BigNumber(0),c=new e.BigNumber(0),f=new e.BigNumber(1),l=new e.BigNumber(1),p=new e.BigNumber(0);if(!r.isInt()||!n.isInt())throw new Error(\"Parameters in function xgcd must be integer numbers\");for(;!n.isZero();)a=r.div(n).floor(),o=r.mod(n),i=c,c=f.minus(a.times(c)),f=i,i=l,l=p.minus(a.times(l)),p=i,r=n,n=o;var m;return m=r.lt(s)?[r.neg(),f.neg(),p.neg()]:[r,r.isZero()?0:f,p],\"array\"===t.matrix?m:u(m)}var u=n(r(51)),c=a(\"xgcd\",{\"number, number\":o,\"BigNumber, BigNumber\":s});return c.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",c}var i=r(6).isInteger;t.name=\"xgcd\",t.factory=n},function(e,t,r){e.exports=[r(374),r(378),r(379),r(381),r(383),r(386),r(388)]},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(347)),f=n(r(360)),l=n(r(298)),p=n(r(56)),m=n(r(57)),h=o(\"bitAnd\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function bitAnd\");return e&t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,h,!1);break;default:r=c(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(u(e),t)},\"Matrix, Array\":function(e,t){return h(e,u(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return m(u(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return m(u(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+s.operators.bitAnd+\"${args[1]}\\\\right)\",h}var i=r(6).isInteger,a=r(375);t.name=\"bitAnd\",t.factory=n},function(e,t,r){var n=r(376);e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function bitAnd\");var r=e.constructor;if(e.isNaN()||t.isNaN())return new r(NaN);if(e.isZero()||t.eq(-1)||e.eq(t))return e;if(t.isZero()||e.eq(-1))return t;if(!e.isFinite()||!t.isFinite()){if(!e.isFinite()&&!t.isFinite())return e.isNegative()==t.isNegative()?e:new r(0);if(!e.isFinite())return t.isNegative()?e:e.isNegative()?new r(0):t;if(!t.isFinite())return e.isNegative()?t:t.isNegative()?new r(0):e}return n(e,t,function(e,t){return e&t})}},function(e,t,r){function n(e){for(var t=e.c,r=t[0]+\"\",n=1;n<t.length;++n){for(var i=t[n]+\"\",a=7-i.length;a--;)i=\"0\"+i;r+=i}var o;for(o=r.length-1;\"0\"==r.charAt(o);--o);var s=e.e,u=r.slice(0,o+1||1),c=u.length;if(s>0)if(++s>c)for(s-=c;s--;u+=\"0\");else c>s&&(u=u.slice(0,s)+\".\"+u.slice(s));for(var f=[0],n=0;n<u.length;){for(var l=f.length;l--;f[l]*=10);f[0]+=u.charAt(n++)<<0;for(var o=0;o<f.length;++o)f[o]>1&&(null==f[o+1]&&(f[o+1]=0),f[o+1]+=f[o]>>1,f[o]&=1)}return f.reverse()}var i=r(377);e.exports=function(e,t,r){var a,o,s=e.constructor,u=+(e.s<0),c=+(t.s<0);if(u){a=n(i(e));for(var f=0;f<a.length;++f)a[f]^=1}else a=n(e);if(c){o=n(i(t));for(var f=0;f<o.length;++f)o[f]^=1}else o=n(t);var l,p,m;a.length<=o.length?(l=a,p=o,m=u):(l=o,p=a,m=c);var h=l.length,g=p.length,v=1^r(u,c),d=new s(1^v),y=s.ONE,x=new s(2),w=s.precision;for(s.config({precision:1e9});h>0;)r(l[--h],p[--g])==v&&(d=d.plus(y)),y=y.times(x);for(;g>0;)r(m,p[--g])==v&&(d=d.plus(y)),y=y.times(x);return s.config({precision:w}),0==v&&(d.s=-d.s),d}},function(e,t){e.exports=function(e){if(e.isFinite()&&!e.isInteger())throw new Error(\"Integer expected in function bitNot\");var t=e.constructor,r=t.precision;t.config({precision:1e9});var e=e.plus(t.ONE);return e.s=-e.s||null,t.config({precision:r}),e}},function(e,t,r){\"use strict\";function n(e,t,n,s){var u=r(30),c=s(\"bitNot\",{number:function(e){if(!o(e))throw new Error(\"Integer expected in function bitNot\");return~e},BigNumber:a,\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=u.operators.bitNot+\"\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(377),o=r(6).isInteger;t.name=\"bitNot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(53)),f=n(r(54)),l=n(r(55)),p=n(r(56)),m=n(r(57)),h=o(\"bitOr\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function bitOr\");return e|t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,h);break;default:r=c(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(u(e),t)},\"Matrix, Array\":function(e,t){return h(e,u(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return m(u(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return m(u(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+s.operators.bitOr+\"${args[1]}\\\\right)\",h}var i=r(6).isInteger,a=r(380);t.name=\"bitOr\",t.factory=n},function(e,t,r){var n=r(376);e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function bitOr\");var r=e.constructor;if(e.isNaN()||t.isNaN())return new r(NaN);var i=new r(-1);return e.isZero()||t.eq(i)||e.eq(t)?t:t.isZero()||e.eq(i)?e:e.isFinite()&&t.isFinite()?n(e,t,function(e,t){return e|t}):!e.isFinite()&&!e.isNegative()&&t.isNegative()||e.isNegative()&&!t.isNegative()&&!t.isFinite()?i:e.isNegative()&&t.isNegative()?e.isFinite()?e:t:e.isFinite()?t:e}},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(60)),f=n(r(61)),l=n(r(62)),p=n(r(56)),m=n(r(57)),h=o(\"bitXor\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function bitXor\");return e^t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,h);break;default:r=c(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(u(e),t)},\"Matrix, Array\":function(e,t){return h(e,u(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=l(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return m(u(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return m(u(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+s.operators.bitXor+\"${args[1]}\\\\right)\",h}var i=r(6).isInteger,a=r(382);t.name=\"bitXor\",t.factory=n},function(e,t,r){var n=r(376),i=r(377);e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function bitXor\");var r=e.constructor;if(e.isNaN()||t.isNaN())return new r(NaN);if(e.isZero())return t;if(t.isZero())return e;if(e.eq(t))return new r(0);var a=new r(-1);return e.eq(a)?i(t):t.eq(a)?i(e):e.isFinite()&&t.isFinite()?n(e,t,function(e,t){return e^t}):e.isFinite()||t.isFinite()?new r(e.isNegative()==t.isNegative()?1/0:-(1/0)):a}},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(48)),f=n(r(368)),l=n(r(53)),p=n(r(347)),m=n(r(385)),h=n(r(55)),g=n(r(298)),v=n(r(56)),d=n(r(57)),y=o(\"leftShift\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function leftShift\");return e<<t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=m(e,t,y,!1);break;default:r=p(t,e,y,!0)}break;default:switch(t.storage()){case\"sparse\":r=l(e,t,y,!1);break;default:r=v(e,t,y)}}return r},\"Array, Array\":function(e,t){return y(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return y(u(e),t)},\"Matrix, Array\":function(e,t){return y(e,u(t))},\"Matrix, number | BigNumber\":function(e,t){if(!c(t,0)){var r;switch(e.storage()){case\"sparse\":r=g(e,t,y,!1);break;default:r=d(e,t,y,!1)}return r}return e.clone()},\"number | BigNumber, Matrix\":function(e,t){if(!c(e,0)){var r;switch(t.storage()){case\"sparse\":r=h(t,e,y,!0);break;default:r=d(t,e,y,!0)}return r}return f(t.size(),t.storage())},\"Array, number | BigNumber\":function(e,t){return y(u(e),t).valueOf()},\"number | BigNumber, Array\":function(e,t){return y(e,u(t)).valueOf()}});return y.toTex=\"\\\\left(${args[0]}\"+s.operators.leftShift+\"${args[1]}\\\\right)\",y}var i=r(6).isInteger,a=r(384);t.name=\"leftShift\",t.factory=n},function(e,t){e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function leftShift\");var r=e.constructor;return e.isNaN()||t.isNaN()||t.isNegative()&&!t.isZero()?new r(NaN):e.isZero()||t.isZero()?e:e.isFinite()||t.isFinite()?t.lt(55)?e.times(Math.pow(2,t.toNumber())+\"\"):e.times(new r(2).pow(t)):new r(NaN)}},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(48)),s=e.SparseMatrix,u=function(e,t,r){var n=e._values,u=e._index,c=e._ptr,f=e._size,l=e._datatype,p=t._values,m=t._index,h=t._ptr,g=t._size,v=t._datatype;if(f.length!==g.length)throw new i(f.length,g.length);if(f[0]!==g[0]||f[1]!==g[1])throw new RangeError(\"Dimension mismatch. Matrix A (\"+f+\") must match Matrix B (\"+g+\")\");if(!n||!p)throw new Error(\"Cannot perform operation on Pattern Sparse Matrices\");var d,y=f[0],x=f[1],w=o,b=0,N=r;\"string\"==typeof l&&l===v&&(d=l,w=a.find(o,[d,d]),b=a.convert(0,d),N=a.find(r,[d,d]));for(var E,M,A,_,O=[],T=[],C=[],S=new s({values:O,index:T,ptr:C,size:[y,x],datatype:d}),z=[],B=[],k=0;x>k;k++){C[k]=T.length;var I=k+1;for(M=c[k],A=c[k+1],E=M;A>E;E++)_=u[E],B[_]=I,z[_]=n[E],T.push(_);for(M=h[k],A=h[k+1],E=M;A>E;E++)_=m[E],B[_]===I&&(z[_]=N(z[_],p[E]));for(E=C[k];E<T.length;){_=T[E];var R=z[_];w(R,b)?T.splice(E,1):(O.push(R),E++)}}return C[x]=T.length,S};return u}var i=r(42);t.name=\"algorithm08\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=r(30),u=n(r(51)),c=n(r(48)),f=n(r(368)),l=n(r(53)),p=n(r(347)),m=n(r(385)),h=n(r(55)),g=n(r(298)),v=n(r(56)),d=n(r(57)),y=o(\"rightArithShift\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function rightArithShift\");return e>>t},\"BigNumber, BigNumber\":a,\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=m(e,t,y,!1);break;default:r=p(t,e,y,!0)}break;default:switch(t.storage()){case\"sparse\":r=l(e,t,y,!1);break;default:r=v(e,t,y)}}return r},\"Array, Array\":function(e,t){return y(u(e),u(t)).valueOf()},\"Array, Matrix\":function(e,t){return y(u(e),t)},\"Matrix, Array\":function(e,t){return y(e,u(t))},\"Matrix, number | BigNumber\":function(e,t){if(!c(t,0)){var r;switch(e.storage()){case\"sparse\":r=g(e,t,y,!1);break;default:r=d(e,t,y,!1)}return r}return e.clone()},\"number | BigNumber, Matrix\":function(e,t){if(!c(e,0)){var r;switch(t.storage()){case\"sparse\":r=h(t,e,y,!0);break;default:r=d(t,e,y,!0)}return r}return f(t.size(),t.storage())},\"Array, number | BigNumber\":function(e,t){return y(u(e),t).valueOf()},\"number | BigNumber, Array\":function(e,t){return y(e,u(t)).valueOf()}});return y.toTex=\"\\\\left(${args[0]}\"+s.operators.rightArithShift+\"${args[1]}\\\\right)\",y}var i=r(6).isInteger,a=r(387);t.name=\"rightArithShift\",t.factory=n},function(e,t){e.exports=function(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw new Error(\"Integers expected in function rightArithShift\");var r=e.constructor;return e.isNaN()||t.isNaN()||t.isNegative()&&!t.isZero()?new r(NaN):e.isZero()||t.isZero()?e:t.isFinite()?t.lt(55)?e.div(Math.pow(2,t.toNumber())+\"\").floor():e.div(new r(2).pow(t)).floor():new r(e.isNegative()?-1:e.isFinite()?0:NaN)}},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=n(r(51)),u=n(r(48)),c=n(r(368)),f=n(r(53)),l=n(r(347)),p=n(r(385)),m=n(r(55)),h=n(r(298)),g=n(r(56)),v=n(r(57)),d=a(\"rightLogShift\",{\"number, number\":function(e,t){if(!i(e)||!i(t))throw new Error(\"Integers expected in function rightLogShift\");return e>>>t},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=p(e,t,d,!1);break;default:r=l(t,e,d,!0)}break;default:switch(t.storage()){case\"sparse\":r=f(e,t,d,!1);break;default:r=g(e,t,d)}}return r},\"Array, Array\":function(e,t){return d(s(e),s(t)).valueOf()},\"Array, Matrix\":function(e,t){return d(s(e),t)},\"Matrix, Array\":function(e,t){return d(e,s(t))},\"Matrix, number | BigNumber\":function(e,t){if(!u(t,0)){var r;switch(e.storage()){case\"sparse\":r=h(e,t,d,!1);break;default:r=v(e,t,d,!1)}return r}return e.clone()},\"number | BigNumber, Matrix\":function(e,t){if(!u(e,0)){var r;switch(t.storage()){case\"sparse\":r=m(t,e,d,!0);break;default:r=v(t,e,d,!0)}return r}return c(t.size(),t.storage())},\"Array, number | BigNumber\":function(e,t){return d(s(e),t).valueOf()},\"number | BigNumber, Array\":function(e,t){return d(e,s(t)).valueOf()}});return d.toTex=\"\\\\left(${args[0]}\"+o.operators.rightLogShift+\"${args[1]}\\\\right)\",d}var i=r(6).isInteger;t.name=\"rightLogShift\",t.factory=n},function(e,t,r){e.exports=[r(390),r(397),r(391),r(398)]},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(50)),o=n(r(391)),s=n(r(395)),u=n(r(396)),c=i(\"bellNumbers\",{\"number | BigNumber\":function(e){if(!u(e)||s(e))throw new TypeError(\"Non-negative integer value expected in function bellNumbers\");for(var t=0,r=0;e>=r;r++)t=a(t,o(e,r));return t}});return c.toTex=\"\\\\mathrm{B}_{${args[0]}}\",c}t.name=\"bellNumbers\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(50)),o=n(r(302)),s=n(r(296)),u=n(r(294)),c=n(r(351)),f=n(r(392)),l=n(r(394)),p=n(r(395)),m=n(r(396)),h=n(r(63)),g=i(\"stirlingS2\",{\"number | BigNumber, number | BigNumber\":function(e,t){if(!m(e)||p(e)||!m(t)||p(t))throw new TypeError(\"Non-negative integer value expected in function stirlingS2\");if(h(t,e))throw new TypeError(\"k must be less than or equal to n in function stirlingS2\");for(var r=f(t),n=0,i=0;t>=i;i++){var g=c(-1,o(t,i)),v=l(t,i),d=c(i,e);n=a(n,s(s(v,d),g))}return u(n,r)}});return g.toTex=\"\\\\mathrm{S}\\\\left(${args[0]},${args[1]}\\\\right)\",g}t.name=\"stirlingS2\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(393)),s=r(30),u=a(\"factorial\",{number:function(e){if(0>e)throw new Error(\"Value must be non-negative\");return o(e+1)},BigNumber:function(e){if(e.isNegative())throw new Error(\"Value must be non-negative\");return o(e.plus(1))},\"Array | Matrix\":function(e){return i(e,u)}});return u.toTex=\"\\\\left(${args[0]}\\\\right)\"+s.operators.factorial,u}var i=r(19);r(77);t.name=\"factorial\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,u){function c(r){if(r.isZero())return new e.BigNumber(1);for(var n=t.precision+(0|Math.log(r.toNumber())),i=e.BigNumber.constructor({precision:n}),a=new i(r),o=r.toNumber()-1;o>1;)a=a.times(o),o--;return new e.BigNumber(a.toPrecision(e.BigNumber.precision))}var f=n(r(296)),l=n(r(351)),p=u(\"gamma\",{number:function(e){var t,r;if(a(e)){if(0>=e)return isFinite(e)?1/0:NaN;if(e>171)return 1/0;for(var n=e-2,i=e-1;n>1;)i*=n,n--;return 0==i&&(i=1),i}if(.5>e)return Math.PI/(Math.sin(Math.PI*e)*p(1-e));if(e>=171.35)return 1/0;if(e>85){var u=e*e,c=u*e,f=c*e,l=f*e;return Math.sqrt(2*Math.PI/e)*Math.pow(e/Math.E,e)*(1+1/(12*e)+1/(288*u)-139/(51840*c)-571/(2488320*f)+163879/(209018880*l)+5246819/(75246796800*l*e))}--e,r=s[0];for(var m=1;m<s.length;++m)r+=s[m]/(e+m);return t=e+o+.5,Math.sqrt(2*Math.PI)*Math.pow(t,e+.5)*Math.exp(-t)*r},Complex:function(t){var r,n;if(0==t.im)return p(t.re);t=new e.Complex(t.re-1,t.im),n=new e.Complex(s[0],0);for(var i=1;i<s.length;++i){var a=t.re+i,u=a*a+t.im*t.im;0!=u?(n.re+=s[i]*a/u,n.im+=-(s[i]*t.im)/u):n.re=s[i]<0?-(1/0):1/0}r=new e.Complex(t.re+o+.5,t.im);var c=Math.sqrt(2*Math.PI);t.re+=.5;var m=l(r,t);0==m.im?m.re*=c:0==m.re?m.im*=c:(m.re*=c,m.im*=c);var h=Math.exp(-r.re);return r.re=h*Math.cos(-r.im),r.im=h*Math.sin(-r.im),f(f(m,r),n)},BigNumber:function(t){if(t.isInteger())return t.isNegative()||t.isZero()?new e.BigNumber(1/0):c(t.minus(1));if(!t.isFinite())return new e.BigNumber(t.isNegative()?NaN:1/0);throw new Error(\"Integer BigNumber expected\")},\"Array | Matrix\":function(e){return i(e,p)}});return p.toTex=\"\\\\Gamma\\\\left(${args[0]}\\\\right)\",p}var i=r(19),a=r(6).isInteger,o=4.7421875,s=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];t.name=\"gamma\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"combinations\",{\"number, number\":function(e,t){var r,n,i;if(!a(e)||0>e)throw new TypeError(\"Positive integer value expected in function combinations\");if(!a(t)||0>t)throw new TypeError(\"Positive integer value expected in function combinations\");if(t>e)throw new TypeError(\"k must be less than or equal to n\");for(r=Math.max(t,e-t),n=1,i=1;e-r>=i;i++)n=n*(r+i)/i;return n},\"BigNumber, BigNumber\":function(t,r){var n,a,o,s,u=new e.BigNumber(1);if(!i(t)||!i(r))throw new TypeError(\"Positive integer value expected in function combinations\");if(r.gt(t))throw new TypeError(\"k must be less than n in function combinations\");for(n=t.minus(r),r.lt(n)&&(n=r),a=u,o=u,s=t.minus(n);o.lte(s);o=o.plus(1))a=a.times(n.plus(o)).dividedBy(o);\nreturn a}});return o.toTex=\"\\\\binom{${args[0]}}{${args[1]}}\",o}function i(e){return e.isInteger()&&e.gte(0)}var a=r(6).isInteger;t.name=\"combinations\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"isNegative\",{number:function(e){return 0>e},BigNumber:function(e){return e.isNeg()&&!e.isZero()&&!e.isNaN()},Fraction:function(e){return e.s<0&&e.n>0},Unit:function(e){return e.value<0},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);r(6);t.name=\"isNegative\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"isInteger\",{number:a.isInteger,BigNumber:function(e){return e.isInt()},Fraction:function(e){return 1===e.d&&isFinite(e.n)},\"Array | Matrix\":function(e){return i(e,o)}});return o}var i=r(19),a=r(6);t.name=\"isInteger\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(394)),o=n(r(52)),s=n(r(358)),u=n(r(396)),c=n(r(63)),f=i(\"composition\",{\"number | BigNumber, number | BigNumber\":function(e,t){if(!(u(e)&&s(e)&&u(t)&&s(t)))throw new TypeError(\"Positive integer value expected in function composition\");if(c(t,e))throw new TypeError(\"k must be less than or equal to n in function composition\");return a(o(e,-1),o(t,-1))}});return f.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",f}t.name=\"composition\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(50)),o=n(r(294)),s=n(r(296)),u=n(r(394)),c=n(r(395)),f=n(r(396)),l=i(\"catalan\",{\"number | BigNumber\":function(e){if(!f(e)||c(e))throw new TypeError(\"Non-negative integer value expected in function catalan\");return o(u(s(e,2),e),a(e,1))}});return l.toTex=\"\\\\mathrm{C}_{${args[0]}}\",l}t.name=\"catalan\",t.factory=n},function(e,t,r){e.exports=[r(400),r(401),r(402),r(403)]},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"arg\",{number:function(e){return Math.atan2(0,e)},Complex:function(e){return Math.atan2(e.im,e.re)},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\arg\\\\left(${args[0]}\\\\right)\",a}var i=r(19);t.name=\"arg\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"conj\",{number:function(e){return e},BigNumber:function(e){return e},Complex:function(t){return new e.Complex(t.re,-t.im)},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\left(${args[0]}\\\\right)^*\",a}var i=r(19);t.name=\"conj\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"im\",{number:function(e){return 0},BigNumber:function(t){return new e.BigNumber(0)},Complex:function(e){return e.im},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\Im\\\\left\\\\lbrace${args[0]}\\\\right\\\\rbrace\",a}var i=r(19);t.name=\"im\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"re\",{number:function(e){return e},BigNumber:function(e){return e},Complex:function(e){return e.re},\"Array | Matrix\":function(e){return i(e,a)}});return a.toTex=\"\\\\Re\\\\left\\\\lbrace${args[0]}\\\\right\\\\rbrace\",a}var i=r(19);t.name=\"re\",t.factory=n},function(e,t,r){e.exports=[r(405),r(406)]},function(e,t,r){\"use strict\";function n(e,t,n,f){var l=n(r(51)),p=f(\"intersect\",{\"Array, Array, Array\":function(e,t,r){if(!a(e))throw new TypeError(\"Array with 3 numbers expected for first argument\");if(!a(t))throw new TypeError(\"Array with 3 numbers expected for second argument\");if(!o(r))throw new TypeError(\"Array with 4 numbers expected as third argument\");return c(e[0],e[1],e[2],t[0],t[1],t[2],r[0],r[1],r[2],r[3])},\"Array, Array, Array, Array\":function(e,t,r,n){if(2===e.length){if(!i(e))throw new TypeError(\"Array with 2 numbers expected for first argument\");if(!i(t))throw new TypeError(\"Array with 2 numbers expected for second argument\");if(!i(r))throw new TypeError(\"Array with 2 numbers expected for third argument\");if(!i(n))throw new TypeError(\"Array with 2 numbers expected for fourth argument\");return s(e[0],e[1],t[0],t[1],r[0],r[1],n[0],n[1])}if(3===e.length){if(!a(e))throw new TypeError(\"Array with 3 numbers expected for first argument\");if(!a(t))throw new TypeError(\"Array with 3 numbers expected for second argument\");if(!a(r))throw new TypeError(\"Array with 3 numbers expected for third argument\");if(!a(n))throw new TypeError(\"Array with 3 numbers expected for fourth argument\");return u(e[0],e[1],e[2],t[0],t[1],t[2],r[0],r[1],r[2],n[0],n[1],n[2])}throw new TypeError(\"Arrays with two or thee dimensional points expected\")},\"Matrix, Matrix, Matrix\":function(e,t,r){return l(p(e.valueOf(),t.valueOf(),r.valueOf()))},\"Matrix, Matrix, Matrix, Matrix\":function(e,t,r,n){return l(p(e.valueOf(),t.valueOf(),r.valueOf(),n.valueOf()))}});return p}function i(e){return 2===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]}function a(e){return 3===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&\"number\"==typeof e[2]}function o(e){return 4===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&\"number\"==typeof e[2]&&\"number\"==typeof e[3]}function s(e,t,r,n,i,a,o,s){var u=(e-i)*(o-i)+(t-a)*(s-a),c=(o-i)*(r-e)+(s-a)*(n-t),f=(e-i)*(r-e)+(t-a)*(n-t),l=(o-i)*(o-i)+(s-a)*(s-a),p=(r-e)*(r-e)+(n-t)*(n-t),m=(u*c-f*l)/(p*l-c*c),h=(u+m*c)/l,g=e+m*(r-e),v=t+m*(n-t),d=i+h*(o-i),y=a+h*(s-a);return g===d&&v===y?[g,v]:null}function u(e,t,r,n,i,a,o,s,u,c,f,l){var p=(e-o)*(c-o)+(t-s)*(f-s)+(r-u)*(l-u),m=(c-o)*(n-e)+(f-s)*(i-t)+(l-u)*(a-r),h=(e-o)*(n-e)+(t-s)*(i-t)+(r-u)*(a-r),g=(c-o)*(c-o)+(f-s)*(f-s)+(l-u)*(l-u),v=(n-e)*(n-e)+(i-t)*(i-t)+(a-r)*(a-r),d=(p*m-h*g)/(v*g-m*m),y=(p+d*m)/g,x=e+d*(n-e),w=t+d*(i-t),b=r+d*(a-r),N=o+y*(c-o),E=s+y*(f-s),M=u+y*(l-u);return x===N&&w===E&&b===M?[x,w,b]:null}function c(e,t,r,n,i,a,o,s,u,c){var f=(c-e*o-t*s-r*u)/(n*o+i*s+a*u-e-t-r),l=e+f*(n-e),p=t+f*(i-t),m=r+f*(a-r);return[l,p,m]}t.name=\"intersect\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){var h=(n(r(51)),s(\"distance\",{\"Array, Array, Array\":function(e,t,r){if(2==e.length&&2==t.length&&2==r.length){if(!i(e))throw new TypeError(\"Array with 2 numbers expected for first argument\");if(!i(t))throw new TypeError(\"Array with 2 numbers expected for second argument\");if(!i(r))throw new TypeError(\"Array with 2 numbers expected for third argument\");var n=(r[1]-r[0])/(t[1]-t[0]),a=n*n*t[0],o=-1*(n*t[0]),s=e[1];return c(e[0],e[1],a,o,s)}throw new TypeError(\"Invalid Arguments: Try again\")},\"Object, Object, Object\":function(e,t,r){if(2==Object.keys(e).length&&2==Object.keys(t).length&&2==Object.keys(r).length){if(!i(e))throw new TypeError(\"Values of pointX and pointY should be numbers\");if(!i(t))throw new TypeError(\"Values of lineOnePtX and lineOnePtY should be numbers\");if(!i(r))throw new TypeError(\"Values of lineTwoPtX and lineTwoPtY should be numbers\");if(e.hasOwnProperty(\"pointX\")&&e.hasOwnProperty(\"pointY\")&&t.hasOwnProperty(\"lineOnePtX\")&&t.hasOwnProperty(\"lineOnePtY\")&&r.hasOwnProperty(\"lineTwoPtX\")&&r.hasOwnProperty(\"lineTwoPtY\")){var n=(r.lineTwoPtY-r.lineTwoPtX)/(t.lineOnePtY-t.lineOnePtX),a=n*n*t.lineOnePtX,o=-1*(n*t.lineOnePtX),s=e.pointX;return c(e.pointX,e.pointY,a,o,s)}throw new TypeError(\"Key names do not match\")}throw new TypeError(\"Invalid Arguments: Try again\")},\"Array, Array\":function(e,t){if(2==e.length&&3==t.length){if(!i(e))throw new TypeError(\"Array with 2 numbers expected for first argument\");if(!a(t))throw new TypeError(\"Array with 3 numbers expected for second argument\");return c(e[0],e[1],t[0],t[1],t[2])}if(3==e.length&&6==t.length){if(!a(e))throw new TypeError(\"Array with 3 numbers expected for first argument\");if(!o(t))throw new TypeError(\"Array with 6 numbers expected for second argument\");return f(e[0],e[1],e[2],t[0],t[1],t[2],t[3],t[4],t[5])}if(2==e.length&&2==t.length){if(!i(e))throw new TypeError(\"Array with 2 numbers expected for first argument\");if(!i(t))throw new TypeError(\"Array with 2 numbers expected for second argument\");return l(e[0],e[1],t[0],t[1])}if(3==e.length&&3==t.length){if(!a(e))throw new TypeError(\"Array with 3 numbers expected for first argument\");if(!a(t))throw new TypeError(\"Array with 3 numbers expected for second argument\");return p(e[0],e[1],e[2],t[0],t[1],t[2])}throw new TypeError(\"Invalid Arguments: Try again\")},\"Object, Object\":function(e,t){if(2==Object.keys(e).length&&3==Object.keys(t).length){if(!i(e))throw new TypeError(\"Values of pointX and pointY should be numbers\");if(!a(t))throw new TypeError(\"Values of xCoeffLine, yCoeffLine and constant should be numbers\");if(e.hasOwnProperty(\"pointX\")&&e.hasOwnProperty(\"pointY\")&&t.hasOwnProperty(\"xCoeffLine\")&&t.hasOwnProperty(\"yCoeffLine\")&&t.hasOwnProperty(\"yCoeffLine\"))return c(e.pointX,e.pointY,t.xCoeffLine,t.yCoeffLine,t.constant);throw new TypeError(\"Key names do not match\")}if(3==Object.keys(e).length&&6==Object.keys(t).length){if(!a(e))throw new TypeError(\"Values of pointX, pointY and pointZ should be numbers\");if(!o(t))throw new TypeError(\"Values of x0, y0, z0, a, b and c should be numbers\");if(e.hasOwnProperty(\"pointX\")&&e.hasOwnProperty(\"pointY\")&&t.hasOwnProperty(\"x0\")&&t.hasOwnProperty(\"y0\")&&t.hasOwnProperty(\"z0\")&&t.hasOwnProperty(\"a\")&&t.hasOwnProperty(\"b\")&&t.hasOwnProperty(\"c\"))return f(e.pointX,e.pointY,e.pointZ,t.x0,t.y0,t.z0,t.a,t.b,t.c);throw new TypeError(\"Key names do not match\")}if(2==Object.keys(e).length&&2==Object.keys(t).length){if(!i(e))throw new TypeError(\"Values of pointOneX and pointOneY should be numbers\");if(!i(t))throw new TypeError(\"Values of pointTwoX and pointTwoY should be numbers\");if(e.hasOwnProperty(\"pointOneX\")&&e.hasOwnProperty(\"pointOneY\")&&t.hasOwnProperty(\"pointTwoX\")&&t.hasOwnProperty(\"pointTwoY\"))return l(e.pointOneX,e.pointOneY,t.pointTwoX,t.pointTwoY);throw new TypeError(\"Key names do not match\")}if(3==Object.keys(e).length&&3==Object.keys(t).length){if(!a(e))throw new TypeError(\"Values of pointOneX, pointOneY and pointOneZ should be numbers\");if(!a(t))throw new TypeError(\"Values of pointTwoX, pointTwoY and pointTwoZ should be numbers\");if(e.hasOwnProperty(\"pointOneX\")&&e.hasOwnProperty(\"pointOneY\")&&e.hasOwnProperty(\"pointOneZ\")&&t.hasOwnProperty(\"pointTwoX\")&&t.hasOwnProperty(\"pointTwoY\")&&t.hasOwnProperty(\"pointTwoZ\"))return p(e.pointOneX,e.pointOneY,e.pointOneZ,t.pointTwoX,t.pointTwoY,t.pointTwoZ);throw new TypeError(\"Key names do not match\")}throw new TypeError(\"Invalid Arguments: Try again\")},Array:function(e){if(!u(e))throw new TypeError(\"Incorrect array format entered for pairwise distance calculation\");return m(e)}}));return h}function i(e){return e.constructor!==Array&&(e=s(e)),\"number\"==typeof e[0]&&\"number\"==typeof e[1]}function a(e){return e.constructor!==Array&&(e=s(e)),\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&\"number\"==typeof e[2]}function o(e){return e.constructor!==Array&&(e=s(e)),\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&\"number\"==typeof e[2]&&\"number\"==typeof e[3]&&\"number\"==typeof e[4]&&\"number\"==typeof e[5]}function s(e){for(var t=Object.keys(e),r=[],n=0;n<t.length;n++)r.push(e[t[n]]);return r}function u(e){if(2==e[0].length&&\"number\"==typeof e[0][0]&&\"number\"==typeof e[0][1]){for(var t in e)if(2!=e[t].length||\"number\"!=typeof e[t][0]||\"number\"!=typeof e[t][1])return!1}else{if(3!=e[0].length||\"number\"!=typeof e[0][0]||\"number\"!=typeof e[0][1]||\"number\"!=typeof e[0][2])return!1;for(var t in e)if(3!=e[t].length||\"number\"!=typeof e[t][0]||\"number\"!=typeof e[t][1]||\"number\"!=typeof e[t][2])return!1}return!0}function c(e,t,r,n,i){var a=Math.abs(r*e+n*t+i),o=Math.pow(r*r+n*n,.5),s=a/o;return s}function f(e,t,r,n,i,a,o,s,u){var c=[(i-t)*u-(a-r)*s,(a-r)*o-(n-e)*u,(n-e)*s-(i-t)*o];c=Math.pow(c[0]*c[0]+c[1]*c[1]+c[2]*c[2],.5);var f=Math.pow(o*o+s*s+u*u,.5),l=c/f;return l}function l(e,t,r,n){var i=n-t,a=r-e,o=i*i+a*a,s=Math.pow(o,.5);return s}function p(e,t,r,n,i,a){var o=a-r,s=i-t,u=n-e,c=o*o+s*s+u*u,f=Math.pow(c,.5);return f}function m(e){for(var t=[],r=0;r<e.length-1;r++)for(var n=r+1;n<e.length;n++)2==e[0].length?t.push(l(e[r][0],e[r][1],e[n][0],e[n][1])):3==e[0].length&&t.push(p(e[r][0],e[r][1],e[r][2],e[n][0],e[n][1],e[n][2]));return t}t.name=\"distance\",t.factory=n},function(e,t,r){e.exports=[r(408),r(409),r(410),r(411)]},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=r(30),o=n(r(51)),s=n(r(368)),u=n(r(409)),c=n(r(347)),f=n(r(360)),l=n(r(298)),p=n(r(56)),m=n(r(57)),h=i(\"and\",{\"number, number\":function(e,t){return!(!e||!t)},\"Complex, Complex\":function(e,t){return!(0===e.re&&0===e.im||0===t.re&&0===t.im)},\"BigNumber, BigNumber\":function(e,t){return!(e.isZero()||t.isZero()||e.isNaN()||t.isNaN())},\"Unit, Unit\":function(e,t){return 0!==e.value&&null!==e.value&&0!==t.value&&null!==t.value},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=f(e,t,h,!1);break;default:r=c(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(o(e),t)},\"Matrix, Array\":function(e,t){return h(e,o(t))},\"Matrix, any\":function(e,t){if(u(t))return s(e.size(),e.storage());var r;switch(e.storage()){case\"sparse\":r=l(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){if(u(e))return s(e.size(),e.storage());var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, any\":function(e,t){return h(o(e),t).valueOf()},\"any, Array\":function(e,t){return h(e,o(t)).valueOf()}});return h.toTex=\"\\\\left(${args[0]}\"+a.operators.and+\"${args[1]}\\\\right)\",h}t.name=\"and\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=r(30),s=a(\"not\",{number:function(e){return!e},Complex:function(e){return 0===e.re&&0===e.im},BigNumber:function(e){return e.isZero()||e.isNaN()},Unit:function(e){return null===e.value||0==e.value},\"Array | Matrix\":function(e){return i(e,s)}});return s.toTex=o.operators.not+\"\\\\left(${args[0]}\\\\right)\",s}var i=r(19);t.name=\"not\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=r(30),o=n(r(51)),s=n(r(60)),u=n(r(303)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=i(\"or\",{\"number, number\":function(e,t){return!(!e&&!t)},\"Complex, Complex\":function(e,t){return 0!==e.re||0!==e.im||0!==t.re||0!==t.im},\"BigNumber, BigNumber\":function(e,t){return!e.isZero()&&!e.isNaN()||!t.isZero()&&!t.isNaN()},\"Unit, Unit\":function(e,t){return 0!==e.value&&null!==e.value||0!==t.value&&null!==t.value},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,p);break;default:r=s(t,e,p,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,p,!1);break;default:r=f(e,t,p)}}return r},\"Array, Array\":function(e,t){return p(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return p(o(e),t)},\"Matrix, Array\":function(e,t){return p(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,p,!1);break;default:r=l(e,t,p,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,p,!0);break;default:r=l(t,e,p,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,p,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,p,!0).valueOf()}});return p.toTex=\"\\\\left(${args[0]}\"+a.operators.or+\"${args[1]}\\\\right)\",p}t.name=\"or\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=r(30),o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=i(\"xor\",{\"number, number\":function(e,t){return!!(!!e^!!t)},\"Complex, Complex\":function(e,t){return!!((0!==e.re||0!==e.im)^(0!==t.re||0!==t.im))},\"BigNumber, BigNumber\":function(e,t){return!!((!e.isZero()&&!e.isNaN())^(!t.isZero()&&!t.isNaN()))},\"Unit, Unit\":function(e,t){return!!((0!==e.value&&null!==e.value)^(0!==t.value&&null!==t.value))},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,p);break;default:r=s(t,e,p,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,p,!1);break;default:r=f(e,t,p)}}return r},\"Array, Array\":function(e,t){return p(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return p(o(e),t)},\"Matrix, Array\":function(e,t){return p(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,p,!1);break;default:r=l(e,t,p,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,p,!0);break;default:r=l(t,e,p,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,p,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,p,!0).valueOf()}});return p.toTex=\"\\\\left(${args[0]}\"+a.operators.xor+\"${args[1]}\\\\right)\",p}t.name=\"xor\",t.factory=n},function(e,t,r){e.exports=[r(279),r(413),r(301),r(414),r(415),r(304),r(416),r(299),r(417),r(308),r(418),r(419),r(420),r(310),r(365),r(322),r(368)]},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){var r=i(e),n=i(t);if(1!=r.length||1!=n.length||3!=r[0]||3!=n[0])throw new RangeError(\"Vectors with length 3 expected (Size A = [\"+r.join(\", \")+\"], B = [\"+n.join(\", \")+\"])\");return[u(c(e[1],t[2]),c(e[2],t[1])),u(c(e[2],t[0]),c(e[0],t[2])),u(c(e[0],t[1]),c(e[1],t[0]))]}var s=n(r(51)),u=n(r(302)),c=n(r(296)),f=a(\"cross\",{\"Matrix, Matrix\":function(e,t){return s(o(e.toArray(),t.toArray()))},\"Matrix, Array\":function(e,t){return s(o(e.toArray(),t))},\"Array, Matrix\":function(e,t){return s(o(e,t.toArray()))},\"Array, Array\":o});return f.toTex=\"\\\\left(${args[0]}\\\\right)\\\\times\\\\left(${args[1]}\\\\right)\",f}var i=r(40).size;t.name=\"cross\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(e,t,r,n){if(!o(t))throw new TypeError(\"Second parameter in function diag must be an integer\");var i=t>0?t:0,a=0>t?-t:0;switch(r.length){case 1:return c(e,t,n,r[0],a,i);case 2:return f(e,t,n,r,a,i)}throw new RangeError(\"Matrix for function diag must be 2 dimensional\")}function c(t,r,n,i,a,o){var s=[i+a,i+o],u=e.Matrix.storage(n||\"dense\"),c=u.diagonal(s,t,r);return null!==n?c:c.valueOf()}function f(e,t,r,n,i,o){if(e&&e.isMatrix===!0){var s=e.diagonal(t);return null!==r?r!==s.storage()?l(s,r):s:s.valueOf()}for(var u=Math.min(n[0]-i,n[1]-o),c=[],f=0;u>f;f++)c[f]=a(e[f+i][f+o]);return null!==r?l(c):c}var l=n(r(51)),p=s(\"diag\",{Array:function(e){return u(e,0,i.size(e),null)},\"Array, number\":function(e,t){return u(e,t,i.size(e),null)},\"Array, BigNumber\":function(e,t){return u(e,t.toNumber(),i.size(e),null)},\"Array, string\":function(e,t){return u(e,0,i.size(e),t)},\"Array, number, string\":function(e,t,r){return u(e,t,i.size(e),r)},\"Array, BigNumber, string\":function(e,t,r){return u(e,t.toNumber(),i.size(e),r)},Matrix:function(e){return u(e,0,e.size(),e.storage())},\"Matrix, number\":function(e,t){return u(e,t,e.size(),e.storage())},\"Matrix, BigNumber\":function(e,t){return u(e,t.toNumber(),e.size(),e.storage())},\"Matrix, string\":function(e,t){return u(e,0,e.size(),t)},\"Matrix, number, string\":function(e,t,r){return u(e,t,e.size(),r)},\"Matrix, BigNumber, string\":function(e,t,r){return u(e,t.toNumber(),e.size(),r)}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",p}var i=r(40),a=r(3).clone,o=r(6).isInteger;t.name=\"diag\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){var r=i(e),n=i(t),a=r[0];if(1!==r.length||1!==n.length)throw new RangeError(\"Vector expected\");if(r[0]!=n[0])throw new RangeError(\"Vectors must have equal length (\"+r[0]+\" != \"+n[0]+\")\");if(0==a)throw new RangeError(\"Cannot calculate the dot product of empty vectors\");for(var o=0,c=0;a>c;c++)o=s(o,u(e[c],t[c]));return o}var s=n(r(50)),u=n(r(296)),c=a(\"dot\",{\"Matrix, Matrix\":function(e,t){return o(e.toArray(),t.toArray())},\"Matrix, Array\":function(e,t){return o(e.toArray(),t)},\"Array, Matrix\":function(e,t){return o(e,t.toArray())},\"Array, Array\":o});return c.toTex=\"\\\\left(${args[0]}\\\\cdot${args[1]}\\\\right)\",c}var i=r(40).size;t.name=\"dot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(51)),u=o(\"flatten\",{Array:function(e){return a(i(e))},Matrix:function(e){var t=a(i(e.toArray()));return s(t)}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}var i=r(3).clone,a=r(40).flatten;t.name=\"flatten\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){var n=u(t),i=n?new e.BigNumber(1):1;if(c(t),r){var o=f(r);return t.length>0?o.resize(t,i):o}var s=[];return t.length>0?a(s,t,i):s}function u(e){var t=!1;return e.forEach(function(e,r,n){e&&e.isBigNumber===!0&&(t=!0,n[r]=e.toNumber())}),t}function c(e){e.forEach(function(e){if(\"number\"!=typeof e||!i(e)||0>e)throw new Error(\"Parameters in function ones must be positive integers\")})}var f=n(r(51)),l=o(\"ones\",{\"\":function(){return\"array\"===t.matrix?s([]):s([],\"default\")},\"...number | BigNumber | string\":function(e){var r=e[e.length-1];if(\"string\"==typeof r){var n=e.pop();return s(e,n)}return\"array\"===t.matrix?s(e):s(e,\"default\")},Array:s,Matrix:function(e){var t=e.storage();return s(e.valueOf(),t)},\"Array | Matrix, string\":function(e,t){return s(e.valueOf(),t)}});return l.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",l}var i=r(6).isInteger,a=r(40).resize;t.name=\"ones\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,f){function l(e,t,r){if(void 0!==r){if(\"string\"!=typeof r||1!==r.length)throw new TypeError(\"Single character expected as defaultValue\")}else r=\" \";if(1!==t.length)throw new i(t.length,1);var n=t[0];if(\"number\"!=typeof n||!o(n))throw new TypeError(\"Invalid size, must contain positive integers (size: \"+s(t)+\")\");if(e.length>n)return e.substring(0,n);if(e.length<n){for(var a=e,u=0,c=n-e.length;c>u;u++)a+=r;return a}return e}var p=n(r(51)),m=function(e,r,n){if(2!=arguments.length&&3!=arguments.length)throw new a(\"resize\",arguments.length,2,3);if(r&&r.isMatrix===!0&&(r=r.valueOf()),r.length&&r[0]&&r[0].isBigNumber===!0&&(r=r.map(function(e){return e&&e.isBigNumber===!0?e.toNumber():e})),e&&e.isMatrix===!0)return e.resize(r,n,!0);if(\"string\"==typeof e)return l(e,r,n);var i=Array.isArray(e)?!1:\"array\"!==t.matrix;if(0==r.length){for(;Array.isArray(e);)e=e[0];return u(e)}Array.isArray(e)||(e=[e]),e=u(e);var o=c.resize(e,r,n);return i?p(o):o};return m.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",m}var i=r(42),a=r(11),o=r(6).isInteger,s=r(23).format,u=r(3).clone,c=r(40);t.name=\"resize\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=a(\"size\",{Matrix:function(e){return o(e.size())},Array:i.size,string:function(e){return\"array\"===t.matrix?[e.length]:o([e.length])},\"number | Complex | BigNumber | Unit | boolean | null\":function(e){return\"array\"===t.matrix?[]:o([])}});return s.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",s}var i=r(40);t.name=\"size\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(51)),u=o(\"squeeze\",{Array:function(e){return a.squeeze(i.clone(e))},Matrix:function(e){var t=a.squeeze(e.toArray());return Array.isArray(t)?s(t):t},any:function(e){return i.clone(e)}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}var i=r(3),a=r(40);t.name=\"squeeze\",t.factory=n},function(e,t,r){e.exports=[r(394),r(392),r(393),r(422),r(425),r(426),r(427),r(429),r(430)]},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){var r=t.size().length,n=e.size().length;if(r>1)throw new Error(\"first object must be one dimensional\");if(n>1)throw new Error(\"second object must be one dimensional\");if(r!==n)throw new Error(\"Length of two vectors must be equal\");var i=u(e);if(0===i)throw new Error(\"Sum of elements in first object must be non zero\");var a=u(t);if(0===a)throw new Error(\"Sum of elements in second object must be non zero\");var o=s(e,u(e)),m=s(t,u(t)),h=u(c(o,l(f(o,m))));return p(h)?h:Number.NaN}var o=n(r(51)),s=n(r(294)),u=n(r(423)),c=n(r(296)),f=n(r(346)),l=n(r(352)),p=n(r(424)),m=i(\"kldivergence\",{\"Array, Array\":function(e,t){return a(o(e),o(t))},\"Matrix, Array\":function(e,t){return a(e,o(t))},\"Array, Matrix\":function(e,t){return a(o(e),t)},\"Matrix, Matrix\":function(e,t){return a(e,t)}});return m}t.name=\"kldivergence\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(r){var n=void 0;if(i(r,function(e){n=void 0===n?e:s(n,e)}),void 0===n)switch(t.number){case\"number\":return 0;case\"bignumber\":return new e.BigNumber(0);case\"fraction\":return new e.Fraction(0);default:return 0}return n}var s=n(r(52)),u=a(\"sum\",{\"Array | Matrix\":function(e){return o(e)},\"Array | Matrix, number | BigNumber\":function(){throw new Error(\"sum(A, dim) is not yet supported\")},\"...\":function(){return o(arguments)}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}var i=r(290);t.name=\"sum\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"isNumeric\",{\"number | BigNumber | Fraction | boolean\":function(){return!0},\"Complex | Unit | string\":function(){return!1},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);r(6);t.name=\"isNumeric\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(50)),s=n(r(296)),u=n(r(294)),c=n(r(392)),f=n(r(396)),l=n(r(358));return a(\"multinomial\",{\"Array | Matrix\":function(e){var t=0,r=1;return i(e,function(e){if(!f(e)||!l(e))throw new TypeError(\"Positive integer value expected in function multinomial\");t=o(t,e),r=s(r,c(e))}),u(c(t),r)}})}var i=r(290);t.name=\"multinomial\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=n(r(392)),u=o(\"permutations\",{\"number | BigNumber\":s,\"number, number\":function(e,t){var r,n;if(!a(e)||0>e)throw new TypeError(\"Positive integer value expected in function permutations\");if(!a(t)||0>t)throw new TypeError(\"Positive integer value expected in function permutations\");if(t>e)throw new TypeError(\"second argument k must be less than or equal to first argument n\");for(r=1,n=e-t+1;e>=n;n++)r*=n;return r},\"BigNumber, BigNumber\":function(t,r){var n,a;if(!i(t)||!i(r))throw new TypeError(\"Positive integer value expected in function permutations\");if(r.gt(t))throw new TypeError(\"second argument k must be less than or equal to first argument n\");for(n=new e.BigNumber(1),a=t.minus(r).plus(1);a.lte(t);a=a.plus(1))n=n.times(a);return n}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}function i(e){return e.isInteger()&&e.gte(0)}var a=r(6).isInteger;t.name=\"permutations\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(428)),o=a(\"uniform\").pickRandom;return o.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",o}t.name=\"pickRandom\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e){if(!f.hasOwnProperty(e))throw new Error(\"Unknown distribution \"+e);var t=Array.prototype.slice.call(arguments,1),r=f[e].apply(this,t);return function(e){var t={random:function(e,t,n){var s,c,f;if(arguments.length>3)throw new i(\"random\",arguments.length,0,3);if(1===arguments.length?a(e)?s=e:f=e:2===arguments.length?a(e)?(s=e,f=t):(c=e,f=t):(s=e,c=t,f=n),void 0===f&&(f=1),void 0===c&&(c=0),void 0!==s){var l=o(s.valueOf(),c,f,r);return s&&s.isMatrix===!0?u(l):l}return r(c,f)},randomInt:function(e,t,r){var s,c,f;if(arguments.length>3||arguments.length<1)throw new i(\"randomInt\",arguments.length,1,3);if(1===arguments.length?a(e)?s=e:f=e:2===arguments.length?a(e)?(s=e,f=t):(c=e,f=t):(s=e,c=t,f=r),void 0===c&&(c=0),void 0!==s){var l=o(s.valueOf(),c,f,n);return s&&s.isMatrix===!0?u(l):l}return n(c,f)},pickRandom:function(e){if(1!==arguments.length)throw new i(\"pickRandom\",arguments.length,1);if(e&&e.isMatrix===!0)e=e.valueOf();else if(!Array.isArray(e))throw new TypeError(\"Unsupported type of value in function pickRandom\");if(c.size(e).length>1)throw new Error(\"Only one dimensional vectors supported\");return e[Math.floor(Math.random()*e.length)]}},r=function(t,r){return t+e()*(r-t)},n=function(t,r){return Math.floor(t+e()*(r-t))},o=function(e,t,r,n){var i,a,s=[];if(e=e.slice(0),e.length>1)for(a=0,i=e.shift();i>a;a++)s.push(o(e,t,r,n));else for(a=0,i=e.shift();i>a;a++)s.push(n(t,r));return s};return t}(r)}var u=n(r(51)),c=r(40),f={uniform:function(){return Math.random},normal:function(){return function(){for(var e,t,r=-1;0>r||r>1;)e=Math.random(),t=Math.random(),r=1/6*Math.pow(-2*Math.log(e),.5)*Math.cos(2*Math.PI*t)+.5;return r}}};return s.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",s}var i=r(11),a=r(288);t.name=\"distribution\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(428)),o=a(\"uniform\").random;return o.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",o}t.name=\"random\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(428)),o=a(\"uniform\").randomInt;return o.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",o}t.name=\"randomInt\",t.factory=n},function(e,t,r){e.exports=[r(432),r(433),r(434),r(63),r(329),r(59),r(435),r(436)]},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(303)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=a(\"compare\",{\"boolean, boolean\":function(e,t){return e===t?0:e>t?1:-1},\"number, number\":function(e,r){return e===r||i(e,r,t.epsilon)?0:e>r?1:-1},\"BigNumber, BigNumber\":function(t,r){return new e.BigNumber(t.cmp(r))},\"Fraction, Fraction\":function(t,r){return new e.Fraction(t.compare(r))},\"Complex, Complex\":function(){throw new TypeError(\"No ordering relation is defined for complex numbers\")},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value===r.value||i(e.value,r.value,t.epsilon)?0:e.value>r.value?1:-1},\"string, string\":function(e,t){return e===t?0:e>t?1:-1},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,p);break;default:r=s(t,e,p,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,p,!1);break;default:r=f(e,t,p)}}return r},\"Array, Array\":function(e,t){return p(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return p(o(e),t)},\"Matrix, Array\":function(e,t){return p(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,p,!1);break;default:r=l(e,t,p,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,p,!0);break;default:r=l(t,e,p,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,p,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,p,!0).valueOf()}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",p}var i=r(6).nearlyEqual;t.name=\"compare\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(Array.isArray(e)){if(Array.isArray(t)){var r=e.length;if(r!==t.length)return!1;for(var n=0;r>n;n++)if(!a(e[n],t[n]))return!1;return!0}return!1}return Array.isArray(t)?!1:o(e,t)}var o=n(r(434)),s=i(\"deepEqual\",{\"any, any\":function(e,t){return a(e.valueOf(),t.valueOf())}});return s.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",s}t.name=\"deepEqual\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=n(r(51)),o=n(r(48)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=i(\"equal\",{\"any, any\":function(e,t){return null===e?null===t:null===t?null===e:void 0===e?void 0===t:void 0===t?void 0===e:o(e,t)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,o);break;default:r=s(t,e,o,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,o,!1);break;default:r=f(e,t,o)}}return r},\"Array, Array\":function(e,t){return m(a(e),a(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(a(e),t)},\"Matrix, Array\":function(e,t){return m(e,a(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,o,!1);break;default:r=l(e,t,o,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,o,!0);break;default:r=l(t,e,o,!0)}return r},\"Array, any\":function(e,t){return l(a(e),t,o,!1).valueOf()},\"any, Array\":function(e,t){return l(a(t),e,o,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.equal+\"${args[1]}\\\\right)\",m}t.name=\"equal\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"smallerEq\",{\"boolean, boolean\":function(e,t){return t>=e},\"number, number\":function(e,r){return r>=e||i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return e.lte(t)},\"Fraction, Fraction\":function(e,t){return 1!==e.compare(t)},\"Complex, Complex\":function(){throw new TypeError(\"No ordering relation is defined for complex numbers\");\n},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return e.value<=r.value||i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return t>=e},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,m);break;default:r=s(t,e,m,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,m,!1);break;default:r=f(e,t,m)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,m,!1);break;default:r=l(e,t,m,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,m,!0);break;default:r=l(t,e,m,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,m,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,m,!0).valueOf()}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.smallerEq+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"smallerEq\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(60)),u=n(r(61)),c=n(r(62)),f=n(r(56)),l=n(r(57)),p=r(30),m=a(\"unequal\",{\"any, any\":function(e,t){return null===e?null!==t:null===t?null!==e:void 0===e?void 0!==t:void 0===t?void 0!==e:h(e,t)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=u(e,t,h);break;default:r=s(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=s(e,t,h,!1);break;default:r=f(e,t,h)}}return r},\"Array, Array\":function(e,t){return m(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return m(o(e),t)},\"Matrix, Array\":function(e,t){return m(e,o(t))},\"Matrix, any\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=l(e,t,h,!1)}return r},\"any, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=c(t,e,h,!0);break;default:r=l(t,e,h,!0)}return r},\"Array, any\":function(e,t){return l(o(e),t,h,!1).valueOf()},\"any, Array\":function(e,t){return l(o(t),e,h,!0).valueOf()}}),h=a(\"_unequal\",{\"boolean, boolean\":function(e,t){return e!==t},\"number, number\":function(e,r){return!i(e,r,t.epsilon)},\"BigNumber, BigNumber\":function(e,t){return!e.eq(t)},\"Fraction, Fraction\":function(e,t){return 0!==e.compare(t)},\"Complex, Complex\":function(e,r){return!i(e.re,r.re,t.epsilon)||!i(e.im,r.im,t.epsilon)},\"Unit, Unit\":function(e,r){if(!e.equalBase(r))throw new Error(\"Cannot compare units with different base\");return!i(e.value,r.value,t.epsilon)},\"string, string\":function(e,t){return e!==t}});return m.toTex=\"\\\\left(${args[0]}\"+p.operators.unequal+\"${args[1]}\\\\right)\",m}var i=r(6).nearlyEqual;t.name=\"unequal\",t.factory=n},function(e,t,r){e.exports=[r(289),r(293),r(438),r(306),r(440),r(441),r(442),r(443),r(423),r(444)]},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){e=i(e.valueOf());var t=e.length;if(0==t)throw new Error(\"Cannot calculate median of an empty array\");if(t%2==0){for(var r=t/2-1,n=f(e,r+1),a=e[r],o=0;r>o;++o)c(e[o],a)>0&&(a=e[o]);return m(a,n)}var s=f(e,(t-1)/2);return p(s)}var s=n(r(52)),u=n(r(295)),c=n(r(432)),f=n(r(439)),l=a(\"median\",{\"Array | Matrix\":o,\"Array | Matrix, number | BigNumber\":function(e,t){throw new Error(\"median(A, dim) is not yet supported\")},\"...\":function(){return o(Array.prototype.slice.call(arguments))}}),p=a({\"number | BigNumber | Unit\":function(e){return e}}),m=a({\"number | BigNumber | Unit, number | BigNumber | Unit\":function(e,t){return u(s(e,t),2)}});return l.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",l}var i=r(40).flatten;t.name=\"median\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e,t){return-c(e,t)}function s(e,t,r){if(!i(t)||0>t)throw new Error(\"k must be a non-negative integer\");if(e&&e.isMatrix){var n=e.size();if(n.length>1)throw new Error(\"Only one dimensional matrices supported\");return u(e.valueOf(),t,r)}return Array.isArray(e)?u(e,t,r):void 0}function u(e,t,r){if(t>=e.length)throw new Error(\"k out of bounds\");for(var n=0,i=e.length-1;i>n;){for(var a=n,o=i,s=e[Math.floor(Math.random()*(i-n+1))+n];o>a;)if(r(e[a],s)>=0){var u=e[o];e[o]=e[a],e[a]=u,--o}else++a;r(e[a],s)>0&&--a,a>=t?i=a:n=a+1}return e[t]}var c=n(r(432));return a(\"partitionSelect\",{\"Array | Matrix, number\":function(e,t){return s(e,t,c)},\"Array | Matrix, number, string\":function(e,t,r){if(\"asc\"===r)return s(e,t,c);if(\"desc\"===r)return s(e,t,o);throw new Error('Compare string must be \"asc\" or \"desc\"')},\"Array | Matrix, number, function\":s})}var i=r(6).isInteger;t.name=\"partitionSelect\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){function a(e){e=i(e.valueOf());var t=e.length;if(0==t)throw new Error(\"Cannot calculate mode of an empty array\");var r={},n=[],a=0;for(var o in e)e[o]in r||(r[e[o]]=0),r[e[o]]++,r[e[o]]==a?n.push(e[o]):r[e[o]]>a&&(a=r[e[o]],n=[e[o]]);return n}var o=n(\"mode\",{\"Array | Matrix\":a,\"...\":function(){return a(Array.prototype.slice.call(arguments))}});return o}var i=r(40).flatten;t.name=\"mode\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){var t=void 0;if(i(e,function(e){t=void 0===t?e:s(t,e)}),void 0===t)throw new Error(\"Cannot calculate prod of an empty array\");return t}var s=n(r(297)),u=a(\"prod\",{\"Array | Matrix\":o,\"Array | Matrix, number | BigNumber\":function(e,t){throw new Error(\"prod(A, dim) is not yet supported\")},\"...\":function(){return o(arguments)}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}var i=r(290);t.name=\"prod\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,u){function c(t,r,n){var o,u,c;if(arguments.length<2||arguments.length>3)throw new SyntaxError(\"Function quantileSeq requires two or three parameters\");if(s(t)){if(n=n||!1,\"boolean\"==typeof n){if(u=t.valueOf(),a(r)){if(0>r)throw new Error(\"N/prob must be non-negative\");if(1>=r)return f(u,r,n);if(r>1){if(!i(r))throw new Error(\"N must be a positive integer\");var l=r+1;o=new Array(r);for(var p=0;r>p;)o[p]=f(u,++p/l,n);return o}}if(r&&r.isBigNumber){if(r.isNegative())throw new Error(\"N/prob must be non-negative\");if(c=r.constructor.ONE,r.lte(c))return f(u,r,n);if(r.gt(c)){if(!r.isInteger())throw new Error(\"N must be a positive integer\");var m=r.toNumber();if(m>4294967295)throw new Error(\"N must be less than or equal to 2^32-1, as that is the maximum length of an Array\");var l=new e.BigNumber(m+1);o=new Array(m);for(var p=0;m>p;)o[p]=f(u,new e.BigNumber(++p).div(l),n);return o}}if(Array.isArray(r)){o=new Array(r.length);for(var p=0;p<o.length;++p){var h=r[p];if(a(h)){if(0>h||h>1)throw new Error(\"Probability must be between 0 and 1, inclusive\")}else{if(!h||!h.isBigNumber)throw new TypeError(\"Unexpected type of argument in function quantileSeq\");if(c=h.constructor.ONE,h.isNegative()||h.gt(c))throw new Error(\"Probability must be between 0 and 1, inclusive\")}o[p]=f(u,h,n)}return o}throw new TypeError(\"Unexpected type of argument in function quantileSeq\")}throw new TypeError(\"Unexpected type of argument in function quantileSeq\")}throw new TypeError(\"Unexpected type of argument in function quantileSeq\")}function f(e,t,r){var n=o(e),i=n.length;if(0===i)throw new Error(\"Cannot calculate quantile of an empty sequence\");if(a(t)){var s=t*(i-1),u=s%1;if(0===u){var c=r?n[s]:m(n,s);return g(c),c}var f,v,d=Math.floor(s);if(r)f=n[d],v=n[d+1];else{v=m(n,d+1),f=n[d];for(var y=0;d>y;++y)h(n[y],f)>0&&(f=n[y])}return g(f),g(v),l(p(f,1-u),p(v,u))}var s=t.times(i-1);if(s.isInteger()){s=s.toNumber();var c=r?n[s]:m(n,s);return g(c),c}var f,v,d=s.floor(),u=s.minus(d),x=d.toNumber();if(r)f=n[x],v=n[x+1];else{v=m(n,x+1),f=n[x];for(var y=0;x>y;++y)h(n[y],f)>0&&(f=n[y])}g(f),g(v);var w=u.constructor.ONE;return l(p(f,w.minus(u)),p(v,u))}var l=n(r(50)),p=n(r(296)),m=n(r(439)),h=n(r(432)),g=u({\"number | BigNumber | Unit\":function(e){return e}});return c}var i=r(6).isInteger,a=r(6).isNumber,o=r(40).flatten,s=r(288);t.name=\"quantileSeq\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,i){function a(e,t){if(0==e.length)throw new SyntaxError(\"Function std requires one or more parameters (0 provided)\");return o(s.apply(null,arguments))}var o=n(r(357)),s=n(r(444)),u=i(\"std\",{\"Array | Matrix\":a,\"Array | Matrix, string\":a,\"...\":function(){return a(Array.prototype.slice.call(arguments))}});return u.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",u}t.name=\"std\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t,r){var n=0,i=0;if(0==t.length)throw new SyntaxError(\"Function var requires one or more parameters (0 provided)\");if(a(t,function(e){n=u(n,e),i++}),0===i)throw new Error(\"Cannot calculate var of an empty array\");var o=l(n,i);switch(n=0,a(t,function(e){var t=c(e,o);n=u(n,f(t,t))}),r){case\"uncorrected\":return l(n,i);case\"biased\":return l(n,i+1);case\"unbiased\":var s=n&&n.isBigNumber===!0?new e.BigNumber(0):0;return 1==i?s:l(n,i-1);default:throw new Error('Unknown normalization \"'+r+'\". Choose \"unbiased\" (default), \"uncorrected\", or \"biased\".')}}var u=n(r(52)),c=n(r(302)),f=n(r(297)),l=n(r(295)),p=o(\"variance\",{\"Array | Matrix\":function(e){return s(e,i)},\"Array | Matrix, string\":s,\"...\":function(){return s(arguments,i)}});return p.toTex=\"\\\\mathrm{Var}\\\\left(${args}\\\\right)\",p}var i=\"unbiased\",a=r(290);t.name=\"var\",t.factory=n},function(e,t,r){e.exports=[r(446),r(456),r(458),r(460),r(463),r(465),r(467),r(468),r(464),r(466),r(459),r(469),r(462),r(471),r(472),r(475),r(477),r(479),r(480),r(481),r(482),r(483),r(474),r(484),r(485)]},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t){var r=new e.Complex(t.im*t.im-t.re*t.re+1,-2*t.re*t.im),n=u(r),i=new e.Complex(n.re-t.im,n.im+t.re),a=c(i);return new e.Complex(1.5707963267948966-a.im,a.re)}var u=o.find(n(r(357)),[\"Complex\"]),c=o.find(n(r(352)),[\"Complex\"]),f=o(\"acos\",{number:function(r){return r>=-1&&1>=r||t.predictable?Math.acos(r):s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!1)},\"Array | Matrix\":function(e){return i(e,f)}});return f.toTex=\"\\\\cos^{-1}\\\\left(${args[0]}\\\\right)\",f}var i=r(19),a=r(447);t.name=\"acos\",t.factory=n},function(e,t,r){var n=r(77).pi,i=r(448);e.exports=function(e,t,r){if(r){if(e.abs().lt(t.ONE))throw new Error(\"asec() only has non-complex values for |x| >= 1.\")}else if(e.abs().gt(t.ONE))throw new Error(\"acos() only has non-complex values for |x| <= 1.\");if(e.eq(-1))return n(t);var a=t.precision;t.config({precision:a+4}),r&&(e=t.ONE.div(e));var o=i(t.ONE.minus(e.times(e)).sqrt().div(e.plus(t.ONE)),t).times(2);return t.config({precision:a}),o.toDP(a-1)}},function(e,t,r){var n=r(77),i=r(449),a=r(78);e.exports=function(e,t,r){if(e.isNaN())return new t(NaN);if(!r&&e.isZero()||r&&!e.isFinite())return new t(0);var o=t.precision;if(!r&&!e.isFinite()||r&&e.isZero()){var s=n.pi(t.constructor({precision:o+2})).div(2).toDP(o-1);return s.constructor=t,s.s=e.s,s}t.config({precision:o+4}),r&&(e=t.ONE.div(e));var u=e.abs();if(u.lte(.875)){var c=a(e);return c.constructor=t,t.config({precision:o}),c.toDP(t.precision-1)}if(u.gte(1.143)){var s=n.pi(t.constructor({precision:o+4})).div(2),c=s.minus(a(t.ONE.div(u)));return c.s=e.s,c.constructor=t,t.config({precision:o}),c.toDP(t.precision-1)}return e=e.div(e.times(e).plus(1).sqrt()),t.config({precision:o}),i(e,t)}},function(e,t,r){var n=r(77).pi,i=r(450),a=r(451);e.exports=function o(e,t,r){if(e.isNaN())return new t(NaN);var s=t.precision,u=e.abs();if(r){if(u.lt(t.ONE))throw new Error(\"acsc() only has non-complex values for |x| >= 1.\");t.config({precision:s+2}),e=t.ONE.div(e),t.config({precision:s}),u=e.abs()}else if(u.gt(t.ONE))throw new Error(\"asin() only has non-complex values for |x| <= 1.\");if(u.gt(.8)){t.config({precision:s+4});var c=e.s,f=n(t.constructor({precision:s+4})).div(2);return e=f.minus(o(t.ONE.minus(e.times(e)).sqrt(),t)),e.s=c,e.constructor=t,t.config({precision:s}),e.toDP(s-1)}var l=u.gt(.58);l&&(t.config({precision:s+8}),e=e.div(new t(2).sqrt().times(t.ONE.minus(e.times(e)).sqrt().plus(t.ONE).sqrt())),t.config({precision:s}));var p=60>=s||e.dp()<=Math.log(s)&&e.lt(.05)?i(e,s):a(e,t);return l?p.times(2):p}},function(e,t){e.exports=function(e,t){var r=e.constructor;r.config({precision:t+Math.log(t)|4});for(var n=new r(1),i=e,a=NaN,o=e.times(e),s=e,u=new r(n),c=new r(n),f=new r(n),l=3;!i.equals(a);l+=2)s=s.times(o),u=u.times(f),c=c.times(f.plus(n)),a=i,f=new r(l),i=i.plus(s.times(u).div(f.times(c)));return r.config({precision:t}),i.toDP(t-1)}},function(e,t,r){var n=r(452),i=r(455);e.exports=function(e,t){var r=t.precision,a=-(r+4),o=r+8-e.e,s=25-e.e,u=Math.max(1.442695*Math.log(r+2)|5,5);t.config({precision:s});var c=0,f=new t(Math.asin(e.toNumber())+\"\");do{var l=n(f,t,1,!1),p=i(l);l.isZero()||(l.s=f.s);var m=l.minus(e).div(p);f=f.minus(m),s=Math.min(2*s,o),t.config({precision:s})}while(2*m.e>=a&&!m.isZero()&&++c<=u);if(c==u)throw new Error(\"asin() failed to converge to the requested accuracy.Try with a higher precision.\");return t.config({precision:r}),f.toDP(r-1)}},function(e,t,r){var n=r(453),i=r(454);e.exports=function(e,t,r,a){if(e.isNaN()||!e.isFinite())return new t(NaN);var o=t.precision,s=new t(e),u=s.isNegative();u&&(s.s=-s.s);var c=o+(0|Math.log(o))+3;if(t.config({precision:c}),s=n(s,t.constructor({precision:c}),r),s[0].constructor=t,s[1])return s=s[0],a&&s.isZero()&&(s=new t(1/0)),t.config({precision:o}),s;var f;if(s=s[0],r){f=i(s.div(3125),r),t.config({precision:Math.min(c,o+15)});for(var l=new t(5),p=new t(16),m=new t(20),h=0;5>h;++h){var g=f.times(f),v=g.times(f),d=v.times(g);f=p.times(d).minus(m.times(v)).plus(l.times(f))}u&&(f.s=-f.s)}else{var y,x;s.abs().lt(t.ONE)?(y=64,x=3):(y=256,x=4),f=i(s.div(y),r),t.config({precision:Math.min(c,o+8)});for(var w=new t(8);x>0;--x){var g=f.times(f),b=g.times(g);f=w.times(b.minus(g)).plus(t.ONE)}}return a&&(f=f.e<=-o?new t(1/0):t.ONE.div(f)),t.config({precision:o}),f.toDP(o-1)}},function(e,t,r){var n=r(77);e.exports=function(e,t,r){var i=n.pi(t.constructor({precision:t.precision+2})),a=n.tau(t);if(e.abs().lte(i.toDP(e.dp())))return[e,!1];if(e.dp()>0&&e.div(i.toDP(e.dp())).toNumber()%2==0)return[new t(1^r),!0];var o=e.mod(a);return e.dp()>0&&o.toDP(e.dp(),1).isZero()?[new t(1^r),!0]:(o.gt(i)&&(r?(o=o.minus(i),o.s=-o.s):o=a.minus(o)),o.constructor=e.constructor,[o,!1])}},function(e,t){e.exports=function(e,t){for(var r=e.constructor.ONE,n=e,i=NaN,a=e.times(e),o=t?n:n=r,s=r,u=!0,c=t;!n.equals(i);c+=2)o=o.times(a),s=s.times(c+1).times(c+2),i=n,u=!u,n=u?n.plus(o.div(s)):n.minus(o.div(s));return n}},function(e,t){e.exports=function(e){var t=e.constructor,r=t.precision;t.config({precision:r+2});var n=t.ONE.minus(e.times(e)).sqrt();return t.config({precision:r}),n.toDP(r-1)}},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(e){var t,r=u(e);return r.im<=0?(t=r.re,r.re=-r.im,r.im=t):(t=r.im,r.im=-r.re,r.re=t),r}var u=o.find(n(r(446)),[\"Complex\"]),c=o(\"acosh\",{number:function(r){return r>=1||t.predictable?Math.log(Math.sqrt(r*r-1)+r):-1>=r?new e.Complex(Math.log(Math.sqrt(r*r-1)-r),Math.PI):s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!1,!1)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\cosh^{-1}\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(457);t.name=\"acosh\",t.factory=n},function(e,t){e.exports=function(e,t,r,n){if(e.isNaN())return new t(NaN);if(n&&e.isZero())return new t(1/0);if(!r)if(n){if(e.isNegative()||e.gt(t.ONE))throw new Error(\"asech() only has non-complex values for 0 <= x <= 1.\")}else if(e.lt(t.ONE))throw new Error(\"acosh() only has non-complex values for x >= 1.\");var i=t.precision;t.config({precision:i+4});var a=new t(e);a.constructor=t,n&&(a=t.ONE.div(a));var o=r?a.times(a).plus(t.ONE):a.times(a).minus(t.ONE),s=a.plus(o.sqrt()).ln();return t.config({precision:i}),new t(s.toPrecision(i))}},function(e,t,r){\"use strict\";function n(e,t,n,s){var u=s.find(n(r(459)),[\"Complex\"]),c=s(\"acot\",{number:function(e){return e?Math.atan(1/e):o},Complex:function(t){if(0==t.im)return new e.Complex(t.re?Math.atan(1/t.re):o,0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re=t.re/r,t.im=-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),u(t)},BigNumber:function(t){return a(t,e.BigNumber,!0)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\cot^{-1}\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(448),o=1.5707963267948966;t.name=\"acot\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(352)),[\"Complex\"]),u=o(\"atan\",{number:function(e){return Math.atan(e)},Complex:function(t){if(0==t.re){if(1==t.im)return new e.Complex(0,1/0);if(-1==t.im)return new e.Complex(0,-(1/0))}var r=t.re,n=t.im,i=r*r+(1-n)*(1-n),a=new e.Complex((1-n*n-r*r)/i,-2*r/i),o=s(a);return new e.Complex(-.5*o.im,.5*o.re)},BigNumber:function(t){return a(t,e.BigNumber,!1)},\"Array | Matrix\":function(e){return i(e,u,!0)}});return u.toTex=\"\\\\tan^{-1}\\\\left(${args[0]}\\\\right)\",u}var i=r(19),a=r(448);t.name=\"atan\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(t){if(0==t.re&&0==t.im)return new e.Complex(0,o);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re/r,-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),c(t)}var c=s.find(n(r(462)),[\"Complex\"]),f=s(\"acoth\",{number:function(r){return r>=1||-1>=r||t.predictable?isFinite(r)?(Math.log((r+1)/r)+Math.log(r/(r-1)))/2:0:0!==r?u(new e.Complex(r,0)):new e.Complex(0,o)},Complex:u,BigNumber:function(t){return a(t,e.BigNumber,!0)},\"Array | Matrix\":function(e){return i(e,f)}});return f.toTex=\"\\\\coth^{-1}\\\\left(${args[0]}\\\\right)\",f}var i=r(19),a=r(461),o=1.5707963267948966;t.name=\"acoth\",t.factory=n},function(e,t){e.exports=function(e,t,r){if(e.isNaN())return new t(NaN);var n=e.abs();if(n.eq(t.ONE))return new t(e.isNegative()?-(1/0):1/0);if(n.gt(t.ONE)){if(!r)throw new Error(\"atanh() only has non-complex values for |x| <= 1.\")}else if(r)throw new Error(\"acoth() has complex values for |x| < 1.\");if(e.isZero())return new t(0);var i=t.precision;t.config({precision:i+4});var a=new t(e);a.constructor=t,r&&(a=t.ONE.div(a));var o=t.ONE.plus(a).div(t.ONE.minus(a)).ln().div(2);return t.config({precision:i}),new t(o.toPrecision(i))}},function(e,t,r){\"use strict\";function n(e,t,r,n){function o(t){var r=t.re>1&&0==t.im,n=1-t.re,i=1+t.re,a=n*n+t.im*t.im;t=0!=a?new e.Complex((i*n-t.im*t.im)/a,(t.im*n+i*t.im)/a):new e.Complex(-1!=t.re?t.re/0:0,0!=t.im?t.im/0:0);var o=t.re;return t.re=Math.log(Math.sqrt(t.re*t.re+t.im*t.im))/2,t.im=Math.atan2(t.im,o)/2,r&&(t.im=-t.im),t}var s=n(\"atanh\",{number:function(r){return 1>=r&&r>=-1||t.predictable?Math.log((1+r)/(1-r))/2:o(new e.Complex(r,0))},Complex:o,BigNumber:function(t){return a(t,e.BigNumber,!1)},\"Array | Matrix\":function(e){return i(e,s,!0)}});return s.toTex=\"\\\\tanh^{-1}\\\\left(${args[0]}\\\\right)\",s}var i=r(19),a=r(461);t.name=\"atanh\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,s){function u(t){if(0==t.re&&0==t.im)return new e.Complex(o,1/0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re=t.re/r,t.im=-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),c(t)}var c=s.find(n(r(464)),[\"Complex\"]),f=s(\"acsc\",{number:function(r){return-1>=r||r>=1||t.predictable?Math.asin(1/r):u(new e.Complex(r,0))},Complex:u,BigNumber:function(t){return a(t,e.BigNumber,!0)},\"Array | Matrix\":function(e){return i(e,f)}});return f.toTex=\"\\\\csc^{-1}\\\\left(${args[0]}\\\\right)\",f}var i=r(19),a=r(449),o=1.5707963267948966;t.name=\"acsc\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t){var r=t.re,n=t.im,i=new e.Complex(n*n-r*r+1,-2*r*n),a=u(i),o=new e.Complex(a.re-n,a.im+r),s=c(o);return new e.Complex(s.im,-s.re)}var u=o.find(n(r(357)),[\"Complex\"]),c=o.find(n(r(352)),[\"Complex\"]),f=o(\"asin\",{number:function(r){return r>=-1&&1>=r||t.predictable?Math.asin(r):s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!1)},\"Array | Matrix\":function(e){return i(e,f,!0)}});return f.toTex=\"\\\\sin^{-1}\\\\left(${args[0]}\\\\right)\",f}var i=r(19),a=r(449);t.name=\"asin\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(466)),[\"Complex\"]),u=o(\"acsch\",{number:function(e){return e=1/e,Math.log(e+Math.sqrt(e*e+1))},Complex:function(t){if(0==t.im)return t=0!=t.re?Math.log(t.re+Math.sqrt(t.re*t.re+1)):1/0,new e.Complex(t,0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re/r,-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),s(t)},BigNumber:function(t){return a(t,e.BigNumber,!0,!0)},\"Array | Matrix\":function(e){return i(e,u)}});return u.toTex=\"\\\\mathrm{csch}^{-1}\\\\left(${args[0]}\\\\right)\",u}var i=r(19),a=r(457);t.name=\"acsch\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(464)),[\"Complex\"]),u=o(\"asinh\",{number:function(e){return Math.log(Math.sqrt(e*e+1)+e)},Complex:function(e){var t=e.im;e.im=-e.re,e.re=t;var r=s(e);return e.re=-e.im,e.im=t,t=r.re,r.re=-r.im,r.im=t,r},BigNumber:function(t){return a(t,e.BigNumber,!0,!1)},\"Array | Matrix\":function(e){return i(e,u,!0)}});return u.toTex=\"\\\\sinh^{-1}\\\\left(${args[0]}\\\\right)\",u}var i=r(19),a=r(457);t.name=\"asinh\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t){if(0==t.re&&0==t.im)return new e.Complex(0,1/0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re=t.re/r,t.im=-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),u(t)}var u=o.find(n(r(446)),[\"Complex\"]),c=o(\"asec\",{number:function(r){return-1>=r||r>=1||t.predictable?Math.acos(1/r):s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!0)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\sec^{-1}\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(447);t.name=\"asec\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){function s(t){if(0==t.re&&0==t.im)return new e.Complex(1/0,0);var r=t.re*t.re+t.im*t.im;return t=0!=r?new e.Complex(t.re/r,-t.im/r):new e.Complex(0!=t.re?t.re/0:0,0!=t.im?-(t.im/0):0),u(t)}var u=o.find(n(r(456)),[\"Complex\"]),c=o(\"asech\",{number:function(r){if(1>=r&&r>=-1||t.predictable){r=1/r;var n=Math.sqrt(r*r-1);return r>0||t.predictable?Math.log(n+r):new e.Complex(Math.log(n-r),Math.PI)}return s(new e.Complex(r,0))},Complex:s,BigNumber:function(t){return a(t,e.BigNumber,!1,!0)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\mathrm{sech}^{-1}\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(457);t.name=\"asech\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){var o=n(r(51)),s=n(r(347)),u=n(r(60)),c=n(r(349)),f=n(r(298)),l=n(r(62)),p=n(r(56)),m=n(r(57)),h=a(\"atan2\",{\"number, number\":Math.atan2,\"BigNumber, BigNumber\":function(t,r){return i(t,r,e.BigNumber)},\"Matrix, Matrix\":function(e,t){var r;switch(e.storage()){case\"sparse\":switch(t.storage()){case\"sparse\":r=c(e,t,h,!1);break;default:r=s(t,e,h,!0)}break;default:switch(t.storage()){case\"sparse\":r=u(e,t,h,!1);break;default:r=p(e,t,h)}}return r},\"Array, Array\":function(e,t){return h(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return h(o(e),t)},\"Matrix, Array\":function(e,t){return h(e,o(t))},\"Matrix, number | BigNumber\":function(e,t){var r;switch(e.storage()){case\"sparse\":r=f(e,t,h,!1);break;default:r=m(e,t,h,!1)}return r},\"number | BigNumber, Matrix\":function(e,t){var r;switch(t.storage()){case\"sparse\":r=l(t,e,h,!0);break;default:r=m(t,e,h,!0)}return r},\"Array, number | BigNumber\":function(e,t){return m(o(e),t,h,!1).valueOf()},\"number | BigNumber, Array\":function(e,t){return m(o(t),e,h,!0).valueOf()}});return h.toTex=\"\\\\mathrm{atan2}\\\\left(${args}\\\\right)\",h}var i=r(470);t.name=\"atan2\",t.factory=n},function(e,t,r){var n=r(77),i=r(448);e.exports=function(e,t,r){var a=r.precision;if(t.isZero()){if(e.isZero())return new r(NaN);var o=n.pi(r.constructor({precision:a+2})).div(2).toDP(a-1);return o.constructor=r,o.s=e.s,o}r.config({precision:a+2});var s=i(e.div(t),r,!1);if(t.isNegative()){var u=n.pi(r);s=e.isNegative()?s.minus(u):s.plus(u)}return s.constructor=r,r.config({precision:a}),s.toDP(a-1)}},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(472)),[\"number\"]),u=o.find(n(r(474)),[\"number\"]),c=o(\"cos\",{number:Math.cos,Complex:function(t){return new e.Complex(Math.cos(t.re)*s(-t.im),Math.sin(t.re)*u(-t.im))},BigNumber:function(t){return a(t,e.BigNumber,0,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function cos is no angle\");return Math.cos(t.value)},\"Array | Matrix\":function(e){return i(e,c)}});return c.toTex=\"\\\\cos\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(452);t.name=\"cos\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"cosh\",{number:i,Complex:function(t){var r=Math.exp(t.re),n=Math.exp(-t.re);return new e.Complex(Math.cos(t.im)*(r+n)/2,Math.sin(t.im)*(r-n)/2)},BigNumber:function(t){return o(t,e.BigNumber,!1,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function cosh is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s)}});return s.toTex=\"\\\\cosh\\\\left(${args[0]}\\\\right)\",s}function i(e){return(Math.exp(e)+Math.exp(-e))/2}var a=r(19),o=r(473);t.name=\"cosh\",t.factory=n},function(e,t){e.exports=function(e,t,r,n){if(e.isNaN())return new t(NaN);if(!e.isFinite())return new t(n?0:r?e:1/0);var i=t.precision;t.config({precision:i+4});var a=new t(e);return a.constructor=t,a=a.exp(),a=r?a.minus(t.ONE.div(a)):a.plus(t.ONE.div(a)),a=n?new t(2).div(a):a.div(2),t.config({precision:i}),new t(a.toPrecision(i))}},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"sinh\",{number:i,Complex:function(t){var r=Math.cos(t.im),n=Math.sin(t.im),i=Math.exp(t.re),a=Math.exp(-t.re);return new e.Complex(r*(i-a)/2,n*(i+a)/2)},BigNumber:function(t){return o(t,e.BigNumber,!0,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function sinh is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s,!0)}});return s.toTex=\"\\\\sinh\\\\left(${args[0]}\\\\right)\",s}function i(e){return Math.abs(e)<1?e+e*e*e/6+e*e*e*e*e/120:(Math.exp(e)-Math.exp(-e))/2}var a=r(19),o=r(473);t.name=\"sinh\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"cot\",{number:function(e){return 1/Math.tan(e)},Complex:function(t){var r=Math.exp(-4*t.im)-2*Math.exp(-2*t.im)*Math.cos(2*t.re)+1;return new e.Complex(2*Math.exp(-2*t.im)*Math.sin(2*t.re)/r,(Math.exp(-4*t.im)-1)/r)},BigNumber:function(t){return a(t,e.BigNumber,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function cot is no angle\");return 1/Math.tan(t.value)},\"Array | Matrix\":function(e){return i(e,o)}});return o.toTex=\"\\\\cot\\\\left(${args[0]}\\\\right)\",o}var i=r(19),a=r(476);t.name=\"cot\",t.factory=n},function(e,t,r){var n=r(77),i=r(452),a=r(455),o=r(453);e.exports=function(e,t,r){if(e.isNaN())return new t(NaN);var s=t.precision,u=n.pi(t.constructor({precision:s+2})),c=u.div(2).toDP(s-1);u=u.toDP(s-1);var f=o(e,t,1)[0];if(f.abs().eq(u))return new t(1/0);t.config({precision:s+4});var l=i(f,t,1,!1),p=a(l);l=l.toDP(s),p=p.toDP(s),f.eq(e)?f.gt(c)&&(p.s=-p.s):u.minus(f.abs()).gt(c)&&(p.s=-p.s);var m=r?p.div(l):l.div(p);return t.config({precision:s}),new t(m.toPrecision(s))}},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"coth\",{number:i,Complex:function(t){var r=Math.exp(2*t.re),n=r*Math.cos(2*t.im),i=r*Math.sin(2*t.im),a=(n-1)*(n-1)+i*i;return new e.Complex(((n+1)*(n-1)+i*i)/a,-2*i/a)},BigNumber:function(t){return o(t,e.BigNumber,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function coth is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s)}});return s.toTex=\"\\\\coth\\\\left(${args[0]}\\\\right)\",s}function i(e){var t=Math.exp(2*e);return(t+1)/(t-1)}var a=r(19),o=r(478);t.name=\"coth\",t.factory=n},function(e,t){e.exports=function(e,t,r){if(e.isNaN())return new t(NaN);if(!e.isFinite())return new t(e.s);var n=t.precision;t.config({precision:n+4});var i=new t(e);i.constructor=t;var a=i.exp(),o=t.ONE.div(a),s=a.minus(o);return s=r?a.plus(o).div(s):s.div(a.plus(o)),t.config({precision:n}),s.toDP(n-1)}},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"csc\",{number:function(e){return 1/Math.sin(e)},Complex:function(t){var r=.25*(Math.exp(-2*t.im)+Math.exp(2*t.im))-.5*Math.cos(2*t.re);return new e.Complex(.5*Math.sin(t.re)*(Math.exp(-t.im)+Math.exp(t.im))/r,.5*Math.cos(t.re)*(Math.exp(-t.im)-Math.exp(t.im))/r)},BigNumber:function(t){return a(t,e.BigNumber,1,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function csc is no angle\");return 1/Math.sin(t.value)},\"Array | Matrix\":function(e){return i(e,o)}});return o.toTex=\"\\\\csc\\\\left(${args[0]}\\\\right)\",o}var i=r(19),a=r(452);t.name=\"csc\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"csch\",{number:i,Complex:function(t){var r=Math.exp(t.re),n=Math.exp(-t.re),i=Math.cos(t.im)*(r-n),a=Math.sin(t.im)*(r+n),o=i*i+a*a;return new e.Complex(2*i/o,-2*a/o)},BigNumber:function(t){return o(t,e.BigNumber,!0,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function csch is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s)}});return s.toTex=\"\\\\mathrm{csch}\\\\left(${args[0]}\\\\right)\",s}function i(e){return 0==e?Number.POSITIVE_INFINITY:Math.abs(2/(Math.exp(e)-Math.exp(-e)))*s(e)}var a=r(19),o=r(473),s=r(6).sign;t.name=\"csch\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"sec\",{number:function(e){return 1/Math.cos(e)},Complex:function(t){var r=.25*(Math.exp(-2*t.im)+Math.exp(2*t.im))+.5*Math.cos(2*t.re);return new e.Complex(.5*Math.cos(t.re)*(Math.exp(-t.im)+Math.exp(t.im))/r,.5*Math.sin(t.re)*(Math.exp(t.im)-Math.exp(-t.im))/r)},BigNumber:function(t){return a(t,e.BigNumber,0,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function sec is no angle\");return 1/Math.cos(t.value)},\"Array | Matrix\":function(e){return i(e,o)}});return o.toTex=\"\\\\sec\\\\left(${args[0]}\\\\right)\",o}var i=r(19),a=r(452);t.name=\"sec\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"sech\",{number:i,Complex:function(t){var r=Math.exp(t.re),n=Math.exp(-t.re),i=Math.cos(t.im)*(r+n),a=Math.sin(t.im)*(r-n),o=i*i+a*a;return new e.Complex(2*i/o,-2*a/o)},BigNumber:function(t){return o(t,e.BigNumber,!1,!0)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function sech is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s)}});return s.toTex=\"\\\\mathrm{sech}\\\\left(${args[0]}\\\\right)\",s}function i(e){return 2/(Math.exp(e)+Math.exp(-e))}var a=r(19),o=r(473);t.name=\"sech\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,o){var s=o.find(n(r(472)),[\"number\"]),u=o.find(n(r(474)),[\"number\"]),c=o(\"sin\",{number:Math.sin,Complex:function(t){return new e.Complex(Math.sin(t.re)*s(-t.im),Math.cos(t.re)*u(t.im))},BigNumber:function(t){return a(t,e.BigNumber,1,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function sin is no angle\");return Math.sin(t.value)},\"Array | Matrix\":function(e){return i(e,c,!0)}});return c.toTex=\"\\\\sin\\\\left(${args[0]}\\\\right)\",c}var i=r(19),a=r(452);t.name=\"sin\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var o=n(\"tan\",{number:Math.tan,Complex:function(t){var r=Math.exp(-4*t.im)+2*Math.exp(-2*t.im)*Math.cos(2*t.re)+1;return new e.Complex(2*Math.exp(-2*t.im)*Math.sin(2*t.re)/r,(1-Math.exp(-4*t.im))/r)},BigNumber:function(t){return a(t,e.BigNumber,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function tan is no angle\");return Math.tan(t.value)},\"Array | Matrix\":function(e){return i(e,o,!0)}});return o.toTex=\"\\\\tan\\\\left(${args[0]}\\\\right)\",o}var i=r(19),a=r(476);t.name=\"tan\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var s=n(\"tanh\",{number:i,Complex:function(t){var r=Math.exp(2*t.re),n=r*Math.cos(2*t.im),i=r*Math.sin(2*t.im),a=(n+1)*(n+1)+i*i;return new e.Complex(((n-1)*(n+1)+i*i)/a,2*i/a)},BigNumber:function(t){\nreturn o(t,e.BigNumber,!1)},Unit:function(t){if(!t.hasBase(e.Unit.BASE_UNITS.ANGLE))throw new TypeError(\"Unit in function tanh is no angle\");return i(t.value)},\"Array | Matrix\":function(e){return a(e,s,!0)}});return s.toTex=\"\\\\tanh\\\\left(${args[0]}\\\\right)\",s}function i(e){var t=Math.exp(2*e);return(t-1)/(t+1)}var a=r(19),o=r(478);t.name=\"tanh\",t.factory=n},function(e,t,r){e.exports=[r(487)]},function(e,t,r){\"use strict\";function n(e,t,n,i){var a=r(30),o=n(r(51)),s=n(r(56)),u=n(r(57)),c=i(\"to\",{\"Unit, Unit | string\":function(e,t){return e.to(t)},\"Matrix, Matrix\":function(e,t){return s(e,t,c)},\"Array, Array\":function(e,t){return c(o(e),o(t)).valueOf()},\"Array, Matrix\":function(e,t){return c(o(e),t)},\"Matrix, Array\":function(e,t){return c(e,o(t))},\"Matrix, any\":function(e,t){return u(e,t,c,!1)},\"any, Matrix\":function(e,t){return u(t,e,c,!0)},\"Array, any\":function(e,t){return u(o(e),t,c,!1).valueOf()},\"any, Array\":function(e,t){return u(o(t),e,c,!0).valueOf()}});return c.toTex=\"\\\\left(${args[0]}\"+a.operators.to+\"${args[1]}\\\\right)\",c}t.name=\"to\",t.factory=n},function(e,t,r){e.exports=[r(489),r(281),r(490),r(396),r(395),r(424),r(358),r(491),r(286),r(439),r(492),r(493),r(494),r(283)]},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"clone\",{any:i.clone});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}var i=r(3);t.name=\"clone\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"format\",{any:i.format,\"any, Object | function | number\":i.format});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}var i=r(23);t.name=\"format\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"isZero\",{number:function(e){return 0===e},BigNumber:function(e){return e.isZero()},Complex:function(e){return 0===e.re&&0===e.im},Fraction:function(e){return 1===e.d&&0===e.n},Unit:function(e){return 0===e.value},\"Array | Matrix\":function(e){return i(e,a)}});return a}var i=r(19);r(6);t.name=\"isZero\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"print\",{\"string, Object\":i,\"string, Object, number\":i});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}function i(e,t,r){return e.replace(/\\$([\\w\\.]+)/g,function(e,n){for(var i=n.split(\".\"),s=t[i.shift()];i.length&&void 0!==s;){var u=i.shift();s=u?s[u]:s+\".\"}return void 0!==s?a(s)?s:o(s,r):e})}var a=r(23).isString,o=r(23).format;t.name=\"print\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,n,a){function o(e){if(\"asc\"===e)return f;if(\"desc\"===e)return l;throw new Error('String \"asc\" or \"desc\" expected')}function s(e){if(1!==i(e).length)throw new Error(\"One dimensional array expected\")}function u(e){if(1!==e.size().length)throw new Error(\"One dimensional matrix expected\")}var c=n(r(51)),f=n(r(432)),l=function(e,t){return-f(e,t)},p=a(\"sort\",{Array:function(e){return s(e),e.sort(f)},Matrix:function(e){return u(e),c(e.toArray().sort(f),e.storage())},\"Array, function\":function(e,t){return s(e),e.sort(t)},\"Matrix, function\":function(e,t){return u(e),c(e.toArray().sort(t),e.storage())},\"Array, string\":function(e,t){return s(e),e.sort(o(t))},\"Matrix, string\":function(e,t){return u(e),c(e.toArray().sort(o(t)),e.storage())}});return p.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",p}var i=r(40).size;t.name=\"sort\",t.factory=n},function(e,t,r){\"use strict\";function n(e,t,r,n){var a=n(\"_typeof\",{any:function(e){var t=i.type(e);if(\"Object\"===t){if(e.isBigNumber===!0)return\"BigNumber\";if(e.isComplex===!0)return\"Complex\";if(e.isFraction===!0)return\"Fraction\";if(e.isMatrix===!0)return\"Matrix\";if(e.isUnit===!0)return\"Unit\";if(e.isIndex===!0)return\"Index\";if(e.isRange===!0)return\"Range\";if(e.isChain===!0)return\"Chain\";if(e.isHelp===!0)return\"Help\"}return t}});return a.toTex=\"\\\\mathrm{${name}}\\\\left(${args}\\\\right)\",a}var i=r(41);t.name=\"typeof\",t.factory=n},function(e,t,r){e.exports=[r(496)]},function(e,t){\"use strict\";function r(e,t,r,n){return function(t,r){var n=e[r&&r.mathjs];return n&&\"function\"==typeof n.fromJSON?n.fromJSON(r):r}}t.name=\"reviver\",t.path=\"json\",t.factory=r},function(e,t,r){\"use strict\";var n=r(11),i=r(42),a=r(43);e.exports=[{name:\"ArgumentsError\",path:\"error\",factory:function(){return n}},{name:\"DimensionError\",path:\"error\",factory:function(){return i}},{name:\"IndexError\",path:\"error\",factory:function(){return a}}]}])});\n//# sourceMappingURL=math.map\n", "title": "$:/plugins/mklauber/math.js/math.js", "type": "application/javascript", "module-type": "library" } } }
{ "tiddlers": { "$:/plugins/telmiger/details/details.css": { "text": "/* details and summary */\n\ndetails {\n transition: height 1s ease;\n padding: 0 0.5em 0 0.66em;\n margin-top: 0.66em;\n margin-bottom: 0.66em;\n}\n\ndetails + details {\n margin-top: -0.46em;\n}\n\ndetails[open] {\n padding-bottom: 1em;\n}\n\ndetails:not([open]) { \n cursor: pointer;\n}\n\ndetails > summary {\n display: list-item;\n margin: 0 -0.5em 0 -0.66em;\n padding: 0.2em 0.5em 0.2em 0.66em;\n padding-left: 1.76em; /* adjust for indentation */\n text-indent: -1.1em;\n cursor: pointer;\n}\n\ndetails[open] > summary {\n margin-bottom: 1em;\n}\n\ndetails[open] > *:first-child:not(summary) {\n margin-top: 1em;\n}\n", "title": "$:/plugins/telmiger/details/details.css", "tags": "$:/tags/Stylesheet", "modifier": "Thomas Elmiger", "modified": "20180929131615369", "creator": "Thomas Elmiger", "created": "20170122140815442" }, "$:/plugins/telmiger/details/details.js": { "text": "/*\\\ntitle: $:/plugins/telmiger/details/details.js\ntype: application/javascript\nmodule-type: widget\n\nDetails widget v 0.8\n\nWill output an HTML 5 <details> section including a <summary>\n\n```\n\t<details>\n\t\t<summary>This sums it up</summary> \n\t\tAll the details follow here.\n\t</details>\n```\n\n|Parameter |Description |h\n|summary |Optional text to display as summary. Wins over field (see below). |\n|open |Optional initial state, set to \"open\" to show details on load. Defaults to \"\". |\n|state |An optional TextReference containing the state. Wins over open. |\n|field |Optionally, the summary is taken from the field with this name in a given tiddler. Defaults to \"title\". |\n|tiddler |Optional title of a tiddler to watch, connected to field. Defaults to current tiddler. |\n|class |Optional CSS classes to be assigned to the details tag. |\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DetailsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDetailsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDetailsWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute attributes\n\tthis.computeAttributes();\n\t// Execute logic\n\tthis.execute();\n\t// Create elements\n\tthis.detailsDomNode = this.document.createElement(\"details\");\n\tif(this.detailsClass !== \"\") {\n\t\t// this.detailsClass += \" \";\n\t\t// this.detailsClass += \"tc-details\";\n\t\tthis.detailsDomNode.setAttribute(\"class\",this.detailsClass);\n\t}\n\tif(this.detailsOpen == \"open\") {\n\t\tthis.detailsDomNode.setAttribute(\"open\",\"open\");\n\t}\n\tif(this.detailsSummary !== \"\") {\n\t\tthis.summaryDomNode = this.document.createElement(\"summary\");\n\t\t// this.summaryDomNode.setAttribute(\"class\",\"tc-summary\");\n\t\tthis.detailsDomNode.appendChild(this.summaryDomNode);\n\t\tthis.summaryDomNode.appendChild(this.document.createTextNode(this.detailsSummary));\n\t}\n// register an event listener\n/* Maybe this can be reactivated later, see below.\n\tif(this.detailsStateTitle) {\n\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t{name: \"toggle\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t}\n*/\n// As iOS mobile browsers lack support of toggle events on details \n// we emulate the toggle event using click\n\tif(this.detailsStateTitle && this.summaryDomNode) {\n\t\t$tw.utils.addEventListeners(this.summaryDomNode,[\n\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t} else {\n\t\tif(this.detailsStateTitle) {\n\t\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t\t]);\n\t\t}\n\t}\n\t// Insert the details into the DOM and render any children\n\tthis.parentDomNode.insertBefore(this.detailsDomNode,nextSibling);\n\tthis.renderChildren(this.detailsDomNode,null);\n\tthis.domNodes.push(this.detailsDomNode);\n};\n\n/*\nRetrieve the value of the summary\n*/\nDetailsWidget.prototype.getSummary = function() {\n\tvar summary = \"\";\n\tif(this.summaryTitle === \"Tiddler not found\" && this.summaryField === \"\") {\n\t// nothing defined: leave empty \n\t\tsummary = \"\";\n\t} else {\n\t\t// tiddler defined? use defined field or title\n\t\tif(this.myTiddler) {\n\t\t\tif(this.summaryField === \"title\" || this.summaryField === \"\") {\n\t\t\t\tsummary = this.summaryTitle;\n\t\t\t} else {\n\t\t\t\tif(this.summaryField === \"text\") {\n \t\t// getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\t\tsummary = this.wiki.getTiddlerText(this.summaryTitle);\n\t\t\t\t} else {\n\t\t\t\t\tsummary = this.myTiddler.fields[this.summaryField];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.summaryField !== \"\" && this.summaryField !== \"text\") {\n\t\t\t\t// try defined field in current tiddler\n\t\t\t\tvar tiddler = this.wiki.getTiddler(this.getVariable(\"currentTiddler\"));\n\t\t\t\tsummary = tiddler.fields[this.summaryField];\n\t\t\t} else {\n\t\t\t\tsummary = \"\";\n\t\t\t}\n\t\t}\n\t}\n return summary;\n};\n\n/*\nRetrieve the value of the state text reference\n*/\nDetailsWidget.prototype.getStateFromReference = function() {\n var state = this.detailsStateTitle ? this.wiki.getTextReference(this.detailsStateTitle,\"\",this.getVariable(\"currentTiddler\")) : \"\";\n return state;\n};\n\n/*\nCheck all open signals, state fields/tiddlers get priority\n*/\nDetailsWidget.prototype.getOpenState = function() {\n\tvar result = \"\";\n\tif((this.detailsOpenDefault !== \"\" && this.detailsOpenDefault !== \"no\") \n\t || this.detailsState === \"open\") {\n\t\tresult = \"open\";\n\t } \n\tif(this.detailsStateTitle !==\"\" && this.detailsState !== \"open\") {\n\t\tresult = \"\";\n\t}\n\treturn result;\n};\n\n/*\nUpdate the state text reference after click event\n*/\nDetailsWidget.prototype.updateState = function(openState) {\n\tvar fieldValue = \"false\";\n\tvar currentTiddler = this.getVariable(\"currentTiddler\");\n // get the title for the (existing/new) tiddler\n\tvar tr = $tw.utils.parseTextReference(this.detailsStateTitle);\n\tvar tidTitle = tr.title || currentTiddler;\n // is it an existing state tiddler?\n\tvar isStateTiddler = (tr.title === this.detailsStateTitle);\n\tvar hasStateTiddler = this.wiki.tiddlerExists(tr.title);\n\tvar currentStateTiddler = (tr.title === currentTiddler);\n\tif(isStateTiddler || hasStateTiddler || (currentStateTiddler && tr.field !== \"text\")) { \n\t\t// Set the state field (but never overwrite the current tiddler’s text field\n\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t} else {\n\t\tif(!hasStateTiddler && tidTitle !== currentTiddler) {\n\t\t\tthis.createTiddler(tidTitle);\n\t\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t\t} else {\n\t\t\tconsole.log (\"Something went wrong in updateState\");\n\t\t}\n\t}\n};\n\n/*\nCreate a tiddler with a title only\n*/\nDetailsWidget.prototype.createTiddler = function(tidTitle) {\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: tidTitle,\n\t\t\ttags: []\n\t\t}\n\t));\n};\n\n/*\nSet openState according to click\n*/\nDetailsWidget.prototype.handleToggleEvent = function(event) {\n\t// check if an open attribute is present\n\tvar newState = this.detailsDomNode.open ? \"\" : \"open\";\n\t// update only, if the node has a new state\n\tif(newState !== this.detailsState) {\n\t\tthis.updateState(newState);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDetailsWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes \n\tvar tryTiddler = this.getAttribute(\"tiddler\");\n\tthis.myTiddler = this.wiki.getTiddler(tryTiddler);\n\tthis.summaryTitle = this.myTiddler ? tryTiddler : \"Tiddler not found\";\n\tthis.summaryField = this.getAttribute(\"field\",\"\");\n\tthis.detailsSummary = this.getAttribute(\"summary\") || this.getSummary();\n\tthis.detailsStateTitle = this.getAttribute(\"state\",\"\");\n\tthis.detailsState = this.getStateFromReference();\n\tthis.detailsOpenDefault = this.getAttribute(\"open\",\"\");\n\tthis.detailsOpen = this.getOpenState();\n\tthis.detailsClass = this.getAttribute(\"class\",\"\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDetailsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.summary || changedAttributes.state || changedAttributes.open || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tvar testState = this.getStateFromReference();\n\t\tif(testState !== this.detailsState) {\n\t\t\t// state change\n\t\t\tthis.refreshSelf();\n\t\t\trefreshed = true;\n\t\t} \n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.details = DetailsWidget;\n\n})();", "type": "application/javascript", "title": "$:/plugins/telmiger/details/details.js", "tags": "Plugins", "module-type": "widget", "modifier": "Thomas Elmiger", "modified": "20180929212032187", "creator": "Thomas Elmiger", "created": "20170124173619910" }, "$:/plugins/telmiger/details/icon": { "created": "20170205205314072", "text": "<svg class=\"tc-image-button telmiger-icon\" viewBox=\"0 0 128 128\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title\"><title id=\"title\">T</title><path class=\"circle\" d=\"M64 2C30 2 2 29.753 2 64c0 34.235 27.753 62 62 62s62-27.752 62-62C126 29.753 98.221 2 64 2z\"/><path class=\"t\" d=\"M100.41 63.254c-2.886 1.92-7.544 2.883-13.979 2.883h-8.008c-4.246 0-7.331.845-9.254 2.536-1.922 1.69-3.449 5.086-4.576 10.19 0 0-.181 1.481-.503 1.481s-.369-.877-.518-1.586a37.897 37.897 0 0 0-.721-2.754c-.631-2.137-1.262-3.753-1.894-4.847-.764-1.359-1.727-2.452-2.889-3.28-1.162-.83-2.49-1.326-3.985-1.492l-2.092-.248H41.73c-6.144 0-10.711-.962-13.7-2.884-4.976-3.159-7.649-9.129-8.02-17.91-.03-.706.003-1.351.132-2.171h.585c.399 3.975 3.679 7.048 6.086 9.219 2.408 2.172 6.269 3.258 11.581 3.258h9.313c5.347 0 9.257 1.226 11.731 3.68 2.231 2.213 3.701 5.68 4.406 10.4.076.511.03.736.178.736.149 0 .11-.256.17-.783.713-6.122 3.085-10.219 7.117-12.294 2.487-1.292 6.434-1.906 11.841-1.839l6.368.1c4.311.066 7.942-.788 10.893-2.56 2.953-1.773 6.447-5.079 6.844-9.917h.595c.183.478.16 1.576.127 2.333-.371 8.752-2.894 14.668-7.567 17.749z\"/></svg>\n<style>\n.telmiger-icon .circle { fill: #e2001a }\n.telmiger-icon .t { fill: #fff }\n</style>", "title": "$:/plugins/telmiger/details/icon", "tags": "", "modified": "20171219183752113" }, "$:/plugins/telmiger/details/license": { "text": "!! Plugin license\n!!!The MIT License (MIT)\n\n```\nCopyright © 2017/2018 Thomas Elmiger – thomas-elmiger.ch\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```", "title": "$:/plugins/telmiger/details/license", "tags": "", "modified": "20170205214435064", "created": "20170205213335455" }, "$:/plugins/telmiger/details/readme": { "created": "20170205212323032", "text": "! ~DetailsWidget\n\n{{$:/plugins/telmiger/details/about}}\n\nDocumentation can be found at http://tid.li/tw5/plugins.html#DetailsWidget\n", "title": "$:/plugins/telmiger/details/readme", "tags": "", "modified": "20200603211110057" }, "$:/plugins/telmiger/details/colours.css": { "text": "/* details and summary colours */\n\ndetails {\n background-color: <<colour tiddler-info-tab-background>>;\n color: <<colour foreground>>;\n}\n\ndetails summary {\n background-color: <<colour dropdown-tab-background>>;\n}\n\ndetails.notification summary {\n background-color: <<colour notification-background>>;\n /* TW leaves color undefined/uses foreground */\n}\n\ndetails.warning summary {\n background-color: #ffbbaf;\n color: #000;\n}\n\ndetails.success summary {\n background-color: #88edc5;\n color: #000;\n}\n", "title": "$:/plugins/telmiger/details/colours.css", "tags": "$:/tags/Stylesheet", "modifier": "Thomas Elmiger", "modified": "20180926204140772", "creator": "Thomas Elmiger", "created": "20180925155320737" }, "$:/plugins/telmiger/DetailsWidget/support": { "created": "20200603204816640", "text": "{{$:/plugins/telmiger/support}}", "title": "$:/plugins/telmiger/DetailsWidget/support", "tags": "", "modified": "20200603204849180" }, "$:/plugins/telmiger/support": { "created": "20200604213259310", "text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch", "title": "$:/plugins/telmiger/support", "tags": "", "modifier": "Thomas Elmiger", "modified": "20200604213305050", "creator": "Thomas Elmiger" }, "$:/plugins/telmiger/details/about": { "created": "20200603211101398", "modified": "20200603211101398", "title": "$:/plugins/telmiger/details/about", "text": "Create HTML 5 `<details>` elements including a `<summary>` using this widget.\n\n<$details summary=\"The details element – W3C definition\">\n\n<<<\nThe [[details|http://w3c.github.io/html/interactive-elements.html#elementdef-details]] element represents a disclosure widget from which the user can obtain additional information or controls.\n<<< W3C\n\n</$details>\n\n<$details summary=\"Code example\" open=\"no\">\n\n```\n<$details summary=\"This should be open\" open=\"yes\">\n\nContent will be immediately visible if open is set to \"yes\".\n\n</$details>\n```\n\n</$details>", "tags": "" } } }
{ "tiddlers": { "$:/plugins/TWaddle/LeftBar/Toggle": { "text": "\\define leftbar-content()\n<div class=\"leftbar-content\">\n\n{{$:/plugins/TWaddle/LeftBar/Menu}}\n</div>\n\\end\n\n<$list filter=\"[title[$:/plugins/TWaddle/LeftBar/temp]!is[tiddler]]\" >\n<$button set=\"$:/state/LeftBar\" setTo=\"show\" class=\"tc-btn-invisible tc-image-button leftbar-toggle\">\n\t{{$:/core/images/menu-button}}\n \t<$action-setfield $tiddler=\"$:/plugins/TWaddle/LeftBar/temp\"\n\t\t$field=\"storyleft\"\n $value={{$:/themes/tiddlywiki/vanilla/metrics/storyleft}}/>\n\t<$action-setfield $tiddler=\"$:/plugins/TWaddle/LeftBar/temp\" \n\t\t$field=\"storyright\"\n $value={{$:/themes/tiddlywiki/vanilla/metrics/storyright}}/>\n <$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" \n\t\ttext=\"/*LeftBar*/ calc({{$:/plugins/TWaddle/LeftBar/Stylesheet!!width}} + {{$:/plugins/TWaddle/LeftBar/temp!!storyleft}})\" />\n\t<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"\n\t\ttext=\"/*LeftBar*/ calc({{$:/plugins/TWaddle/LeftBar/temp!!storyright}} + {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}})\"/>\n</$button>\n</$list>\n\n<$list filter=\"[title[$:/plugins/TWaddle/LeftBar/temp]is[tiddler]]\" >\n<$button set=\"$:/state/LeftBar\" setTo=\"hide\" class=\"tc-btn-invisible tc-image-button leftbar-toggle\">\n\t{{$:/core/images/chevron-left}}\n\t<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" \n\t\ttext={{$:/plugins/TWaddle/LeftBar/temp!!storyleft}} />\n\t<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" \n\t\ttext={{$:/plugins/TWaddle/LeftBar/temp!!storyright}} />\n\t<$action-deletetiddler $tiddler=\"$:/plugins/TWaddle/LeftBar/temp\"/>\n</$button>\n</$list>\n\n<$list filter=\"[title[$:/plugins/TWaddle/LeftBar/temp]is[tiddler]]\" >\n\t<<leftbar-content>>\n</$list>\n<$list filter=\"[title[$:/plugins/TWaddle/LeftBar/temp]!is[tiddler]]\" >\n\t<div class=\"leftbar-togglezone\">\n\t\t<<leftbar-content>>\n\t</div>\n</$list>", "title": "$:/plugins/TWaddle/LeftBar/Toggle", "tags": "$:/tags/PageTemplate", "modifier": "Mat von TWaddle", "modified": "20180905121252605", "creator": "Mat von TWaddle", "created": "20170430114950811" }, "$:/plugins/TWaddle/LeftBar/Stylesheet": { "text": "<pre>button.leftbar-toggle {\n\tposition:fixed;\n\tz-index: 1200;\n\tdisplay:{{!!display}};\n\ttop:0px;\n\tleft:0px;\n\tpadding:0px;\n\theight:3em;\n\twidth:2em;\n}\n.leftbar-toggle svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n\tfill: <<colour muted-foreground>>;\n}\n.leftbar-toggle:hover svg {\n\tfill: <<colour foreground>>;\n}\n.leftbar-togglezone {\n\tposition:fixed;\n\tleft:0;\n\ttop:3em;\n\tmin-height:50vh;\n\twidth:1em;\n}\n.leftbar-settingstable {\n\tmargin:\n\t0 auto;\n}\n.leftbar-settingstable,\n .leftbar-settingstable td {\n\tborder:0;\n}\n.leftbar-settingstable td:nth-of-type(1) {\n\ttext-align:right;\n\tvertical-align:top;\n}\n.leftbar-content {\n\tposition:{{!!position}};\n\tmax-width:calc(42px + {{!!width}});\n\tleft:0px;\n\ttop:3em;\n\tpadding:0em 10px 5px 10px;\n\tbackground:none;\n\tmin-height:50vh;\n\tmax-height:85vh;\n\toverflow-y:auto;\n}\n.leftbar-content .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n}\n.leftbar-content .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n}\n.leftbar-togglezone .leftbar-content {\n\tdisplay:none;\n\tposition:fixed;\n}\n.leftbar-togglezone:hover .leftbar-content {\n\tdisplay:{{$:/plugins/TWaddle/LeftBar/Stylesheet!!hover-to-display-as}};\n\tbackground:#f4f4f4;\n\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n }\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.leftbar-content {\n\t\tdisplay:block;\n\t\tbackground:#f4f4f4;\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t\tmax-width:90vw;\n\t}\n\tbutton.leftbar-toggle {\n\t\tbackground:transparent;\n\t\theight:2em;\n\t}\n\tbutton.leftbar-toggle svg {\n\t\tbackground:white;\n\t}\n\tbutton.leftbar-toggle:hover {\n\t\toutline:2px solid lightgray;\n\t}\n}\n</pre>\n", "width": "200px", "type": "text/vnd.tiddlywiki", "title": "$:/plugins/TWaddle/LeftBar/Stylesheet", "tags": "$:/tags/Stylesheet", "position": "fixed", "modifier": "Mat von TWaddle", "modified": "20180905120521378", "hover-to-display-as": "block", "display": "block", "creator": "Mat von TWaddle", "created": "20170430122213416" }, "$:/plugins/TWaddle/LeftBar/readme": { "text": "!!To use\nEdit the LeftBar contents by editing $:/plugins/TWaddle/LeftBar/Menu\n\n!!LeftBar settings\nAlso found under //Controlpanel> Settings> LeftBar//, unless unchecked here\n\n{{$:/plugins/TWaddle/LeftBar/settings}}\n\n@@color:silver; /// Mat von TWaddle//@@", "title": "$:/plugins/TWaddle/LeftBar/readme", "modifier": "Mat von TWaddle", "modified": "20180426160512182", "creator": "Mat von TWaddle", "created": "20170501015503878" }, "$:/plugins/TWaddle/LeftBar/icon": { "text": "{{$:/core/images/menu-button}}", "title": "$:/plugins/TWaddle/LeftBar/icon", "tags": "", "modifier": "Mat von TWaddle", "modified": "20180426160450511", "creator": "Mat von TWaddle", "created": "20170502094251285" }, "$:/plugins/TWaddle/LeftBar/Menu": { "text": "Welcome to LeftBar!<br><br>\nChange the content of this by editing $:/plugins/TWaddle/LeftBar/Menu<br><br> \nYou can add tablists or whatever you want.<br><br>\nNote also that you access the menu either by clicking the hamburger or by simply hovering (or tapping) along the left screen edge. If you don't like this behaviour, you can change it in the //Controlpanel > settings// ", "title": "$:/plugins/TWaddle/LeftBar/Menu", "tags": "", "modifier": "Mat von TWaddle", "modified": "20180905122142436", "creator": "Mat von TWaddle", "created": "20170502091456621" }, "$:/plugins/TWaddle/LeftBar/settings": { "text": "<table class=\"leftbar-settingstable\">\n<tr>\n<td><$edit-text tiddler=\"$:/plugins/TWaddle/LeftBar/Stylesheet\" field=\"width\" size=3/></td>\n<td>''Width'' for LeftBar</td>\n</tr>\n<tr>\n<td>\n<$checkbox tiddler=\"$:/plugins/TWaddle/LeftBar/Stylesheet\" field=\"display\" checked=\"block\" unchecked=\"none\" default=\"blocked\"/>\n</td>\n<td>''Toggle button'' - display in left top menu</td>\n</tr>\n<tr>\n<td><$checkbox tiddler=\"$:/plugins/TWaddle/LeftBar/Stylesheet\" field=\"position\" checked=\"fixed\" unchecked=\"absolute\" default=\"fixed\"/>\n</td>\n<td>''Scroll vs Fix'' - behaviour when activated //via button//<br>(The //hover-activated// content is always in fixed position.)</td>\n</tr>\n<tr>\n<td><$checkbox tiddler=\"$:/plugins/TWaddle/LeftBar/settings\" tag=\"$:/tags/ControlPanel/Settings\" /></td>\n<td>''Ctrlpanel'' - show this table also in //Ctrlpanel> Settings//</td>\n</tr>\n<tr>\n<td><$checkbox tiddler=\"$:/plugins/TWaddle/LeftBar/Stylesheet\" field=\"hover-to-display-as\" checked=\"block\" unchecked=\"none\" default=\"block\"/></td>\n<td>''Hover to display'' - enable \"hover window edge\" to display pop-out</td>\n</tr>\n</table>", "title": "$:/plugins/TWaddle/LeftBar/settings", "tags": "$:/tags/ControlPanel/Settings", "modifier": "Mat von TWaddle", "modified": "20180905120536003", "list-before": "", "creator": "Mat von TWaddle", "created": "20170430123149149", "caption": "LeftBar Settings" } } }
@@.p_nopad <span style="font-size:1.25em;line-height: 1.25;"> Charlie's</span><br> <span style="font-size:2.25em;line-height: 1.25;">Favourite Stuff</span><br> <span style="font-size:2.25em;line-height:1.25">and Projects</span> @@ {{Alt TW Purposes}} <br> <div style="border:solid gray;border-width:thin;text-align:center;font-size:0.9em;"> {{About This Site||fLm}}<br> <a href="https://cjveniot.neocities.org/" target="_blank">About Charlie</a><br> <div style="border-top:solid lightgray;border-width:thin;"> {{Thank-you for your support !||fLm}} </div> </div> <div style="color:DarkGray;font-size:90%;border-top:solid lightgray;border-width: thin;" align="right">- Version: <$list filter="[!is[system]!has[draft.of]!sort[modified]limit[1]]"> <$view field="modified" format="date" template="YYYY-0MM-0DD 0hh12:0mmam"/> -<br/> </$list> </div>
<pre>button.leftbar-toggle { position:fixed; z-index: 1200; display:{{!!display}}; top:0px; left:0px; padding:0px; height:3em; width:2em; } .leftbar-toggle svg { <<transition "fill 150ms ease-in-out">> fill: <<colour muted-foreground>>; } .leftbar-toggle:hover svg { fill: <<colour foreground>>; } .leftbar-togglezone { position:fixed; left:0; top:3em; min-height:50vh; width:1em; } .leftbar-settingstable { margin: 0 auto; } .leftbar-settingstable, .leftbar-settingstable td { border:0; } .leftbar-settingstable td:nth-of-type(1) { text-align:right; vertical-align:top; } .leftbar-content { position:{{!!position}}; max-width:calc(42px + {{!!width}}); left:0px; top:3em; padding:0em 10px 5px 10px; background:none; min-height:50vh; max-height:85vh; overflow-y:auto; } .leftbar-content .tc-tab-buttons button.tc-tab-selected { background-color: <<colour sidebar-tab-background-selected>>; } .leftbar-content .tc-tab-buttons button { background-color: <<colour sidebar-tab-background>>; } .leftbar-togglezone .leftbar-content { display:none; position:fixed; } .leftbar-togglezone:hover .leftbar-content { display:{{$:/plugins/TWaddle/LeftBar/Stylesheet!!hover-to-display-as}}; background:#f4f4f4; <<box-shadow "1px 1px 5px rgba(0, 0, 0, 0.3)">> } @media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) { .leftbar-content { display:block; background:#f4f4f4; <<box-shadow "1px 1px 5px rgba(0, 0, 0, 0.3)">> max-width:90vw; } button.leftbar-toggle { background:transparent; height:2em; } button.leftbar-toggle svg { background:white; } button.leftbar-toggle:hover { outline:2px solid lightgray; } } </pre>
<!-- NO SUBTITLE HERE -->
{{TiddlyWiki Title}}
show
hide
hide
hide
show
show
show
configuration
contents
no
no
yes
yes
TiddlyWiki License
$:/core/ui/AdvancedSearch/System
$:/core/ui/TiddlerInfo/Advanced
$:/plugins/flibbles/relink/ui/configuration/Fields
$:/core/ui/ControlPanel/Toolbars
$:/core/ui/TiddlerInfo/Tools
$:/plugins/flibbles/relink/ui/TiddlerInfo/References
$:/core/ui/ControlPanel/Basics
$:/plugins/flibbles/relink/ui/TiddlerInfo/References
$:/plugins/flibbles/relink/ui/TiddlerInfo/References
$:/core/ui/ControlPanel/Plugins/Installed/Plugins
TiddlyWiki License
$:/core/ui/TiddlerInfo/References
$:/core/ui/ControlPanel/Info
$:/core/ui/MoreSideBar/All
🔧
$:/core/ui/ControlPanel/Toolbars/ViewToolbar
no
<<ShowModal "{{CJ Veniot!!title}}">>
Get Startup Context
yes
{ "tiddlers": { "$:/info/browser": { "title": "$:/info/browser", "text": "yes" }, "$:/info/node": { "title": "$:/info/node", "text": "no" }, "$:/info/url/full": { "title": "$:/info/url/full", "text": "about:srcdoc" }, "$:/info/url/host": { "title": "$:/info/url/host", "text": "" }, "$:/info/url/hostname": { "title": "$:/info/url/hostname", "text": "" }, "$:/info/url/protocol": { "title": "$:/info/url/protocol", "text": "about:" }, "$:/info/url/port": { "title": "$:/info/url/port", "text": "" }, "$:/info/url/pathname": { "title": "$:/info/url/pathname", "text": "srcdoc" }, "$:/info/url/search": { "title": "$:/info/url/search", "text": "" }, "$:/info/url/origin": { "title": "$:/info/url/origin", "text": "null" }, "$:/info/browser/screen/width": { "title": "$:/info/browser/screen/width", "text": "1920" }, "$:/info/browser/screen/height": { "title": "$:/info/browser/screen/height", "text": "1080" }, "$:/info/browser/language": { "title": "$:/info/browser/language", "text": "en-GB" } } }
{ "tiddlers": { "$:/themes/tiddlywiki/snowwhite/base": { "title": "$:/themes/tiddlywiki/snowwhite/base", "tags": "[[$:/tags/Stylesheet]]", "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ntextarea.tc-edit-texteditor {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\ncanvas.tc-edit-bitmapeditor {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n" } } }
{ "tiddlers": { "$:/themes/tiddlywiki/vanilla/themetweaks": { "title": "$:/themes/tiddlywiki/vanilla/themetweaks", "tags": "$:/tags/ControlPanel/Appearance", "caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}", "text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n" }, "$:/themes/tiddlywiki/vanilla/base": { "title": "$:/themes/tiddlywiki/vanilla/base", "tags": "[[$:/tags/Stylesheet]]", "text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n`\"`<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\"`\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n`\"`<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>`\"`\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\n<<if-background-attachment \"\"\"\n\nbody.tc-body {\n background-color: transparent;\n}\n\n\"\"\">>\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote > div {\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n border-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n left: -50px;\n top: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n right: -80px;\n bottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\nbutton, textarea, input, select {\n\toutline-color: <<colour primary>>;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\ninput[type=\"checkbox\"] {\n vertical-align: middle;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\t/* next 2 elements needed, since normalize 8.0.1 */\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\n.tc-links-draggable-list .tc-droppable-placeholder {\n\tline-height: 2em;\n\theight: 2em;\n}\n\n.tc-sidebar-tab-open-item {\n\tposition: relative;\n}\n\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\n\tfont-size: 0.7em;\n\tfill: <<colour muted-foreground>>;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n \tcursor: pointer;\n\tcolor: <<colour foreground>>;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n/* used for documentation \"fake\" buttons */\n.tc-btn-standard {\n\tline-height: 1.8;\n\tcolor: #667;\n\tbackground-color: #e0e0e0;\n\tborder: 1px solid #888;\n\tpadding: 2px 1px 2px 1px;\n\tmargin: 1px 4px 1px 4px;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tborder-radius: 2px;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-primary-btn {\n \tbackground: <<colour primary>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-sidebar-scrollable .tc-tag-label {\n\ttext-shadow: none;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tmargin-right: 3px; \n\tmargin-bottom: 1px;\n\tvertical-align: text-bottom;\n}\n\n.tc-edit-tags button.tc-remove-tag-button svg {\n\tfont-size: 0.7em;\n\tvertical-align: middle;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button {\n\toutline: none;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls .tc-drop-down {\n font-size: 1rem;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n\tmargin-right: .1em;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-subtitle .tc-tiddlylink {\n\tmargin-right: .3em;\n}\n\n.tc-tiddler-missing .tc-title {\n font-style: italic;\n font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button,\n.tc-tiddler-controls > span > span > button,\n.tc-tiddler-controls > span > span > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n height: 1.2em;\n width: 1.2em;\n margin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tbackground-color: <<colour tiddler-editor-background>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-type-selector .tc-edit-typeeditor {\n\twidth: 20%;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-viewswitcher .tc-image-button {\n\tmargin-right: .3em;\n}\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down .tc-drop-down-info {\n\tpadding-left: 14px;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n width: auto;\n margin-bottom: 0px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n\toverflow: auto;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n display: block;\n width: 100%;\n text-align: left;\t\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n flex: 1 0;\n background: <<colour tiddler-editor-background>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n white-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n background: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n padding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n flex: 3 1;\n border-left: 0.5em solid <<colour muted-foreground>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 28px;\n\tleft: 0;\n\tright: 0;\n\tmax-width: 50%;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 14px;\n\tpadding: 7px;\n\tborder: 1px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 7px;\n\tright: 7px;\n line-height: 0;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n font-size: 0.8em;\n margin-bottom: 0.5em;\n}\n\n.tc-alert-body > p {\n\tmargin: 0;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Floating drafts list\n*/\n\n.tc-drafts-list {\n\tz-index: 2000;\n\tposition: fixed;\n\tfont-size: 0.8em;\n\tleft: 0;\n\tbottom: 0;\n}\n\n.tc-drafts-list a {\n\tmargin: 0 0.5em;\n\tpadding: 4px 4px;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tborder: 1px solid <<colour background>>;\n\tborder-bottom-none;\n\tbackground: <<colour dirty-indicator>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a:hover {\n\ttext-decoration: none;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: flex;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tfill: <<colour muted-foreground>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n align-items: center;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info {\n margin: 0.5em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugin-indicator {\n\tmargin: -16px 1em 0 2em;\n}\n\n.tc-plugin-info-sub-plugin-indicator button {\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n\tborder-radius: 8px;\n padding: 2px 7px;\n font-size: 0.75em;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info-dropdown {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n margin: 2px;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description {\n\tflex-grow: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-buttons {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n text-align: right;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h1 {\n\tfont-size: 1em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h2 {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description div {\n\tfont-size: 0.7em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle img, .tc-plugin-info-chunk.tc-plugin-info-toggle svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {\n\twidth: 2em;\n\theight: 2em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 0 1em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugins {\n\tpadding: 0.5em;\n margin: 0 1em 1em 1em;\n\tbackground: <<colour notification-background>>;\n}\n\n.tc-install-plugin {\n\tfont-weight: bold;\n\tbackground: green;\n\tcolor: white;\n\tfill: white;\n\tborder-radius: 4px;\n\tpadding: 3px;\n}\n\n.tc-install-plugin.tc-reinstall-downgrade {\n\tbackground: red;\n}\n\n.tc-install-plugin.tc-reinstall {\n\tbackground: blue;\n}\n\n.tc-install-plugin.tc-reinstall-upgrade {\n\tbackground: orange;\n}\n\n.tc-check-list {\n\tline-height: 2em;\n}\n\n.tc-check-list .tc-image-button {\n\theight: 1.5em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n vertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder-right: 1px solid <<colour table-header-background>>;\n\tborder-left: 1px solid <<colour table-header-background>>;\n}\n\n\n.tc-chooser-item {\n\tborder-bottom: 1px solid <<colour table-header-background>>;\n\tborder-top: 1px solid <<colour table-header-background>>;\n\tpadding: 2px 4px 2px 14px;\n}\n\n.tc-drop-down .tc-chooser-item {\n\tpadding: 2px;\n}\n\n.tc-chosen,\n.tc-chooser-item:hover {\n\tbackground-color: <<colour table-header-background>>;\n\tborder-color: <<colour table-footer-background>>;\n}\n\n.tc-chosen .tc-tiddlylink {\n\tcursor:default;\n}\n\n.tc-chooser-item .tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tbackground-color: transparent;\n}\n\n.tc-chooser-item:hover .tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-chosen .tc-tiddlylink,\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-chosen > .tc-tiddlylink:before {\n\tmargin-left: -10px;\n\tposition: relative;\n\tcontent: \"» \";\n}\n\n.tc-chooser-item svg,\n.tc-chooser-item img{\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n.tc-language-chooser .tc-image-button img {\n\twidth: 2em;\n\tvertical-align: -0.15em;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\ninput.tc-palette-manager-colour-input {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Diffs\n*/\n\n.tc-diff-equal {\n\tbackground-color: <<colour diff-equal-background>>;\n\tcolor: <<colour diff-equal-foreground>>;\n}\n\n.tc-diff-insert {\n\tbackground-color: <<colour diff-insert-background>>;\n\tcolor: <<colour diff-insert-foreground>>;\n}\n\n.tc-diff-delete {\n\tbackground-color: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n}\n\n.tc-diff-invisible {\n\tbackground-color: <<colour diff-invisible-background>>;\n\tcolor: <<colour diff-invisible-foreground>>;\n}\n\n.tc-diff-tiddlers th {\n\ttext-align: right;\n\tbackground: <<colour background>>;\n\tfont-weight: normal;\n\tfont-style: italic;\n}\n\n.tc-diff-tiddlers pre {\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n\n/*\n** Tree macro\n*/\n\n.tc-tree div {\n \tpadding-left: 14px;\n}\n\n.tc-tree ol {\n \tlist-style-type: none;\n \tpadding-left: 0;\n \tmargin-top: 0;\n}\n\n.tc-tree ol ol {\n \tpadding-left: 1em; \n}\n\n.tc-tree button { \n \tcolor: #acacac;\n}\n\n.tc-tree svg {\n \tfill: #acacac;\n}\n\n.tc-tree span svg {\n \twidth: 1em;\n \theight: 1em;\n \tvertical-align: baseline;\n}\n\n.tc-tree li span {\n \tcolor: lightgray;\n}\n\nselect {\n color: <<colour select-tag-foreground>>;\n background: <<colour select-tag-background>>;\n}\n\n/*\n** Utility classes for SVG icons\n*/\n\n.tc-fill-background {\n\tfill: <<colour background>>;\n}" }, "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": { "title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize", "text": "15px" }, "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": { "title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight", "text": "22px" }, "$:/themes/tiddlywiki/vanilla/metrics/fontsize": { "title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize", "text": "14px" }, "$:/themes/tiddlywiki/vanilla/metrics/lineheight": { "title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight", "text": "20px" }, "$:/themes/tiddlywiki/vanilla/metrics/storyleft": { "title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft", "text": "0px" }, "$:/themes/tiddlywiki/vanilla/metrics/storytop": { "title": "$:/themes/tiddlywiki/vanilla/metrics/storytop", "text": "0px" }, "$:/themes/tiddlywiki/vanilla/metrics/storyright": { "title": "$:/themes/tiddlywiki/vanilla/metrics/storyright", "text": "770px" }, "$:/themes/tiddlywiki/vanilla/metrics/storywidth": { "title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth", "text": "770px" }, "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": { "title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth", "text": "686px" }, "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": { "title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint", "text": "960px" }, "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": { "title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth", "text": "350px" }, "$:/themes/tiddlywiki/vanilla/options/stickytitles": { "title": "$:/themes/tiddlywiki/vanilla/options/stickytitles", "text": "no" }, "$:/themes/tiddlywiki/vanilla/options/sidebarlayout": { "title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout", "text": "fixed-fluid" }, "$:/themes/tiddlywiki/vanilla/options/codewrapping": { "title": "$:/themes/tiddlywiki/vanilla/options/codewrapping", "text": "pre-wrap" }, "$:/themes/tiddlywiki/vanilla/reset": { "title": "$:/themes/tiddlywiki/vanilla/reset", "type": "text/plain", "text": "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n" }, "$:/themes/tiddlywiki/vanilla/settings/fontfamily": { "title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily", "text": "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"" }, "$:/themes/tiddlywiki/vanilla/settings/codefontfamily": { "title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily", "text": "\"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace" }, "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": { "title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment", "text": "fixed" }, "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": { "title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize", "text": "auto" }, "$:/themes/tiddlywiki/vanilla/sticky": { "title": "$:/themes/tiddlywiki/vanilla/sticky", "text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n\n``\n<$list filter=\"[range[100]]\">\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {\nz-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;\n}\n`\n</$list>\n</$reveal>\n" } } }
16px
24px
16px
24px
25%
/*LeftBar*/ calc({{$:/plugins/TWaddle/LeftBar/Stylesheet!!width}} + {{$:/plugins/TWaddle/LeftBar/temp!!storyleft}})
/*LeftBar*/ calc({{$:/plugins/TWaddle/LeftBar/temp!!storyright}} + {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}})
80%
80%
fluid-fixed
yes
verdana, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
classic
* previously fully charged with solar panel * 2021-01-28 ** 12:40pm: connected to my digital clock ** 8:57pm: power bank display showing 100% capacity; that doesn't seem right * 2021-01-29 ** 10:10pm: power bank display still showing 100% ** 10:20pm: PAUSE TESTING *** unplugged clock from power bank, returning the clock to normal bedtime duty (i.e. powered via AC adapter.)
At last check ^^(2020-08-19)^^, my residential electricity rate here in New Brunswick is 11.18 cents / kWh (i.e. <<WHCv 1 1>> $/Wh). * //([[NBPower's current residential rates|https://www.nbpower.com/en/products-services/residential/rates]])// To put things in perspective, running a 25 Watt lightbulb continually costs: |1 hour: | <<WHC 25 1>>| |1 day: | <<WHC 25 24>>| |1 month: | <<WHC 25 24*30>>| |1 year: | <<WHC 25 24*365>>| In the scheme of things, ''electricity from a utility is very inexpensive''. --- Another way to look at things: <<BEPWH 1>> Wh costs 1 $. To reduce hydro costs, one will save 1 $ per every reduction of <<BEPWH 1>> Wh's in electricity consumption. To save 1 $ in one year, one would need to reduce electricity consumption by <<BEPWH 1/365>> Wh's per day. ''__Every day__'', do one of the following: * Cut <<BEPWH 1/365>> Watts for one hour * Cut <<BEPWH 1/365/5>> Watts per hour for 5 hours * Cut <<BEPWH 1/365/24>> Watts per hour for 24 hours ''However'', it is easy for the sum of many wasted Watts (bad habits, "phantom/standby" electricity draw, inefficient devices/appliances) to turn into a significant waste of money and an unnecessarily higher carbon footprint. Areas to consider investigating for wasted Watts: * Bad habits * "Phantom/standby" electricity draw * Inefficient devices/appliances
{{||dPd}}
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
!! For low-wattage appliances/devices "Break Even Point" Analysis for this kind of scenario is really mostly for the mathematical fun of it. Electricity costs from any electrical utility (at least when near the grid) is ridiculously inexpensive. Where I live, the utility charges only <<WhRate>>$/Wh (as per my most recent bill.) Regardless, if one is going to buy something to help during emergencies and/or off-grid excursions, might as well use take advantage of that thing year-round and recover some of the cost, even if just pennies.
[[TODO]] Many naysayers argue that Chromebooks are nothing but web browsers when there is internet access, and nothing but paper-weights when there is no internet access. Nothing is further from the truth, and this project is about show-casing things that can easily and quite inexpensively be done with a Chromebook instead of with a PC or with a Mac. There are scenarios in which: * a Chromebook is the best choice * a PC is the best choice (Windows, or Linux, or either) * a Mac is the best choice * more than one of the above options are equally suitable
[[TODO]] Tips about easy/inexpensive ways to reduce electricity bills.
You'll find in this site's purpose various products (organized into "product categories") along with slowly evolving reviews of these products as I become increasingly familiar with them. I've personally purchased each product, and I am very excited about each one.
[[TODO]] Easy, inexpensive, small, fun ideas/projects for "micro-grid-independence" and power outages.
{{||dYT}}
{{Financial and Environmental Considerations#️⃣Solar||tAsDc}} {{Reverse Current Protection||tAsDc}}
What is a "Solar Generator"? It seems like an odd moniker for all of the products that market themselves as such. From [[Going Solar|https://goingsolar.com/what-is-a-solar-generator-how-does-it-work/]]: <<< * A solar energy generator is an alternative power source which uses energy from the sun //[captured via solar panel(s)]// to produce voltage. Many solar energy devices can fall into this category including farm solar panels, a smart solar box, and a power station system. Some solar power devices come equipped with a graphical user interface for increased usability.<br><br> * Solar generators are used to supply power to other machines or power grids. A solar energy harnessing device //[i.e. solar panel]// cannot stand on its own in most cases because power cannot be supplied instantaneously. A battery or another energy source must be used in combination with a solar energy harnessing device.<br><br> * Solar power devices usually contain solar panels, a battery charger, solar batteries, and a charge inverter. <<< Looking at solar generators on the market, most don't include solar panels, but do include an AC adapter to charge the generator via AC wall outlet. Often, they also include an adapter to charge the generator via a car's cigarette lighter. Some can even be charged via USB port. So what makes these solar generators? Is it the fact that they include one of many different types of ports to connect them to solar panels? Solar Generators really just batteries with features like: * convenient battery management * easy plug and play connections //(solar panels, devices, etc.)// This category exists because the following products are marketed as solar generators (although most of these can be recharged with solar panels, car 12v cigarette lighters, or 120v wall outlets. ) You'll find these also in [[Power Storage (Batteries)]].
From related [[Wikipedia article|https://en.wikipedia.org/wiki/Thermoelectric_generator]]: <<< A thermoelectric generator (TEG), also called a Seebeck generator, is a solid state device that converts heat flux (temperature differences) directly into electrical energy through a phenomenon called the Seebeck effect (a form of thermoelectric effect). Thermoelectric generators function like heat engines, but are less bulky and have no moving parts. However, TEGs are typically more expensive and less efficient. <<< <center> ''See how TEGs work in this great video by Grand Illusions'' <br> <iframe width="560" height="315" src="https://www.youtube.com/embed/6JH-GgLe1xs" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> </center>
Hello, and welcome to this portable and self-contained (single HTML file) website created with {{TiddlyWiki||fLm}}. Being a huge fan of TiddlyWiki and always on the lookout for new "how would I do this/that with TiddlyWiki" projects, I decided to build this "website" such that it fits my intertwingled //(sometimes maybe unorthodox)// way of thinking //(always a challenging and fun design exercise)//. Aside from showcasing a use case for TiddlyWiki, this one website handles two distinct information purposes: <div style="margin-left:1em;"> {{Alt TW Purposes}} </div> Since both purposes share a lot of common content, it made more sense //(to me)// for all the content to be in one place, and to simply show the content differently based on a viewer's interest/preference. It is the proverbial two birds with one stone. {{About "Product Reviews"||tAsDc}} {{About "Urban Off Gridding for Laypersons"||tAsDc}} {{About "Hydro Bill Cutting for Laypersons"||tAsDc}} {{About "Chromebook: Beyond Web Browsing"||tAsDc}}
{{Off-Grid AC Power (Budget Friendly)|| tAsDc}}
Although the jump starter has half the typical capacity //(around 40,000 mAh)// of low-end solar generators, the power bank allows {{Pass through charging||fLm}}. Since the jump starter receives input charge via USB-C port, the jump starter's capacity is limited only to the sum of capacity from all devices that can provide charge to the jump starter via USB.
{{||LCP}}
{{||dPd}}
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
{{||dPd}}
Oh-oh. After a full day in a westward-facing window, the X-Dragon 70 W Foldable Solar Panel has not charged the generator by much: the generator's battery was at somewhere between 0 and 20% at the beginning of the day, and is somewhere between 20% and 40% charged at the end of the day. I'll be putting the solar panel in a southward-facing window tonight, and see if I get better charging. Supposedly, slow-charging makes batteries happily longer-lasting. If very slow charging of the generator's battery does not harm the battery, maybe I have no complaints (i.e. not so bad if it takes longer for the generator and solar panel combo to pay for itself). Let's just say I have some thinking and experimenting and possibly re-assessing goals.
{{Planned Usage#️⃣SPS-155||tAsDc}} {{AIMTOM SPS-155 2020-07-31 Update||tAsDc}} !! 2020-10-08 Update ''Replacement has arrived in my mailbox. Very happy to start playing with this generator again !'' !! 2020-08-11 Update Shipped the generator back to Aimtom; waiting for replacement.
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
<<ListCategoryProducts "Product Categories">>
<$vars vWorkTiddler=<<currentTiddler>>> <$list filter="[tag[$:/Context]sort[sortpos]]"> <$vars vPurpose={{{ [<currentTiddler>get[status]] }}} vTitleTid={{{ [<currentTiddler>get[title]] }}}> <$button setTitle=<<vWorkTiddler>> setField="purpose" setTo=<<vPurpose>> class="contextbutton tc-btn-invisible"> <table class="noborders contexttb"><tr class="noborders contexttb"><td class="noborders contexttb"><$radio tiddler=<<vWorkTiddler>> field="purpose" value=<<vPurpose>> ></$radio></td><td class="noborders contexttb"> <$transclude tiddler=<<vTitleTid>>/></td></tr></table></$button> </$vars> </$list> </$vars>
Who knew such a thing is possible? Oh what an intertwingled journey to figure that out. For almost two decades, I had been trying to figure out an easy and budget-friendly way to backup/preserve years of precious family moments all on Hi8 video camera footage. Although I tried, repeatedly by unsuccessfully, to create DVD backups with a DVD player/recorder, I had to give up on that idea. To me, the results were not all that great, and the process was much too tedious: no joy in it at all, and the thought of in the future backing up each individual DVD depressed me silly. I then considered the purchase of a powerful enough computer, Windows or Mac, for digitizing the video tapes. It did not take long for me to discard that idea. Despite my whole career thoroughly enjoying creation of business applications for Windows with Gupta Team Developer, I am a Chromebooks-only-at-home kind of fella. After a several-years-long break from the problem of digitizing my camcorder tapes, I started looking into it again last week. Very haphazardly, I found this very interesting YouTube video: {{CAV}} That's a really informative video, well-worth the time to watch. My take-away from that information: * ''an inexpensive AV-to-HDMI converter does a really good job converting analog video to digital video output to HDMI'' * ''an HDMI video-capture device will take HDMI input and output that video to a computer'' At first, knowing it is impossible to install drivers (like software of any kind) for hardware on Chromebooks, I thought this was a dead-end solution. There are stand-alone (i.e. no computer required, save right to SD card) HDMI video-capture devices, but I find them expensive. Then it occurred to me: an external web cam works fine via my Chromebook's USB port as-is (i.e. no software required), and an HDMI video-capture card is just feeding video to a computer's USB port, so why wouldn't that work? I wasn't overly optimistic because every product I looked at stated a need for either Windows, or Mac, or Linux. I decided to do some searching and found this one and only very informative video on YouTube: {{CAVC}} After viewing these videos and finding myself fairly well-armed, I immediately visited Amazon.ca to begin my own investigative journey.
{{AVE}}
{{||LCP}}
Convert 12V DC to 110V AC {{||dPd}}
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
{{BPE}}
{{||LCP}}
[[BC Hydro's Tips|https://www.bchydro.com/powersmart/residential/savings-and-rebates/everyday-electricity-saving-tips.html?WT.mc_id=rd_21tips]]
\define BEPDaysHere(I:0 OldCost:2 NewCost:1 ) <div class="tooltip"> <$calc>round(($I$ / ($OldCost$ - $NewCost$)),0)</$calc> Days <span class="tooltiptext"> __B__reak __E__ven __P__oint (<$calc>round(($I$ / ($OldCost$ - $NewCost$)),0)</$calc> Days )<br> = <br> New device purchase price ($I$ $) <br> / Savings per day (<$calc>round(($OldCost$ - $NewCost$),7)</$calc> $/Day) <br> <hr> Savings per day <br> = <br> Old device's daily cost: $OldCost$ $<br> - New device's daily cost: $NewCost$ $<br> </span> </div> \end \define BEPWH(I:0) <$calc>round(($I$ / <<WhRate>>),2)</$calc> \end
{{AIMTOM SPS-155||dBep}} --- Purchase price: {{AIMTOM SPS-155!!p_price}} $ Electricity rate: <<WhRate>> $/Wh Break even point at <<BEPWH "{{AIMTOM SPS-155!!p_price}}">> Total Watt Hours Assuming usage of of 155 Wh/day, break even point will happen after <<BEPWH "{{AIMTOM SPS-155!!p_price}}/155">> days (i.e. after <<BEPWH "{{AIMTOM SPS-155!!p_price}}/155/365">> years.) Obviously, one does not buy a solar generator like this with any intent to recover costs. The generator drops to 80% of original capacity after 500 charges, so within 2 years of daily use, you'll start getting at best 80% of new capacity of 155Wh, so (at best) down to about 124Wh per day after 500 charges. So well after 40 years before recovering the generator's cost, and there's no way the generator will last 40 years.
{{||dPd}} {{BCC2}}
This product was included as part of the {{BioLite CampStove Campstove 2 Wood Burning USB Charging Bundle||fLmg}}.
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
{{||LCP}}
{{||dPd}}
!!! My "smart" phone * 2020-09-14 ** Jump Starter battery charged to 100%, phone at 29% charge ** Phone plugged into [[X-DRAGON USB Digital Multimeter]], reading shows <<A2W "0.92" "5.04">>
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
{{||dYT}}
{{||dYT}}
<$set name=this_tiddler value={{!!title}}> <$list filter="[field:purpose[Chromebook]]"> <$transclude tiddler=<<this_tiddler>> mode="block"/> </$list> </$set>
When charging the power bank, it seems that the charge indicator is not accurate. Despite showing 100% charged, the power bank is still drawing current from the AC charger long after showing 100% charged. That may explain why I'm getting short-changed running my {{HOUSBAY Digital Alarm Clock||fLb}}. * Leaving the power bank charging for 8 hours (ignoring the charge indicator); the power bank runs the clock for about 36 hours. * Disconnecting the power bank from the charger upon getting to 100% charge on the charge indicator, the power bank only runs the clock for about 8 hours.
* once the power bank is depleted, connect the power bank to AC Charger via my {{X-DRAGON USB Digital Multimeter||fLb}}, and regularly take note of charge status and current draw. * note when charge status indicates 100% charge * note when multimeter shows no more current being drawn; at that point, disconnect the power bank from charger * connect power bank to clock, monitor charge indicator and note when clock stops working (i.e. no more charge left in power bank * REDO the steps above with one change: disconnect the power bank from the charger as soon as charge display shows 100% * tabulate/compare results
{{ABLEWE AV to HDMI Converter||tPd}} {{Foscomax 4K HDMI Capture Card||tPd}} {{SanDisk 128GB Extreme microSDXC||tPd}} * 2 of these, one as on-site backup, one as off-site backup. {{Silicon Power 1TB External Hard Drive||tPd}} * as secondary on-site backup {{Adata HD710 1TB External Hard Drive||tPd}}
{{Coowoo USB Lens Heater||tPd}} !! Power source options {{EAFU BE-E3 6000mAh Power Bank||tPd}}
<$set name=this_tiddler value={{!!title}}> <$list filter="[field:purpose[HydroCutting]]"> <$transclude tiddler=<<this_tiddler>> mode="block"/> </$list> </$set>
<$vars vWorkingTid={{!!title}}> <div style="overflow-y: auto;"> @@.multicolauto <$list filter="[tag[Product Categories]sort[title]]"> <$button setTitle=<<vWorkingTid>> setField="tiddler-to-show" setTo=<<currentTiddler>> class="mng_btn"> {{!!title}} </$button> </$list> @@ </div> </$vars>
TODO: Add some content here for an "About Me" tiddler.
<$set name=this_tiddler value={{!!title}}> <$list filter="[field:purpose[OffGridding]]"> <$transclude tiddler=<<this_tiddler>> mode="block"/> </$list> </$set>
{{Contents#️⃣PR||cPr}}{{Contents#️⃣OG||cOg}}{{Contents#️⃣HB||cHb}}{{Contents#️⃣COS||cCb}}
* {{Digitizing Analog Video||fLc}}
<$details summary="General Info" > * [[A Reality Check About Hydro Costs]] * [[Get An Electricity Usage Monitor]] * [[Easy Energy Saving Tips]] </$details> {{Project Ideas#️⃣HB||tAsDc}}
{{Resources#️⃣OG||tAsDc}} {{Project Ideas#️⃣OG||tAsDc}}
{{Product Categories||tAsDc}}
<$details summary="Info" > These tiddlers adjust content throughout this multi-role TiddlyWiki so that everything matches the selected context: {{Alt TW Purposes}} </$details> <<list-links "[tag[🔧Context]]">>
{{||dPd}}
Last electric utility bill: <<WhRate>> $ per Wh (WattHour). Assuming a 1 Watt appliance, rounded electricity consumption costs: |hourly |<<WHC 1>> | |daily |<<WHC 24>> | |weekly |<<WHC 168>> | |monthly |<<WHC 5040>> |
<$set name=this_tiddler value={{!!title}}> <$list filter="[field:purpose[ProductReviews]]"> <$transclude tiddler=<<this_tiddler>> mode="block"/> </$list> </$set>
Crock pots [[help beat the summer heat|https://jimshomefresh.com.au/blogs/blog/beat-the-summer-heat-with-crock-pot-cooking?_pos=1&_sid=bdca96d2f&_ss=r]]. Conversely, I am thinking that using a crock pot, instead of an oven, also helps with winter heating. The theory: <<< Better to have low radiating heat (along with lower amount of humidity) for extended periods than to have a high blast of heat (along with high amount of humidity) for short periods? <<< * Heat rises. I figure the hotter the air, the quicker it rises and it winds up heating the roof.
@@.p_nopad <div style="border-top:solid lightgray;"> <div style=" font-size: 15px;line-height: 1.5;"> Charlie's</div> <h1 class="tc-site-title">{{TiddlyWiki Title}}</h1> {{Subtitle PR||cPr}}{{Subtitle UOG4L||cOg}}{{Subtitle HBC4L||cHb}}{{Subtitle COS||cCb}} </div> <$list filter="[[TODO]!is[orphan]]"> {{TODO||tAsDc}} </$list> $:/plugins/TWaddle/LeftBar/Menu @@
|Purchase price: |{{!!p_price}} $ | |Electricity rate: |<<WhRate>> $/Wh | |!Amount of Usage to Reach Break Even Point|<| |Total Watt Hours: |<<BEPWH "{{!!p_price}}">> | | //Assuming daily use of max capacity ({{!!wh}}/day) ...// |<| |Days: |<<BEPWH "{{!!p_price}}/{{!!wh}}">> | |Years: | (i.e. after <<BEPWH "{{!!p_price}}/{{!!wh}}/365">> years.) |
!! Details Widget {{$:/plugins/telmiger/details/license}}
/* details and summary colours */ /* details { background-color: <<colour tiddler-info-tab-background>>; color: <<colour foreground>>; } */ details { background-color: #fefefe; border-style: solid; border-color: LightGray; border-width: thin; color: <<colour foreground>>; } details summary { background-color: <<colour dropdown-tab-background>>; } details.plain summary { background-color: <<colour dropdown-tab-background>>; /* TW leaves color undefined/uses foreground */ } details.notification summary { background-color: <<colour notification-background>>; /* TW leaves color undefined/uses foreground */ } details.warning summary { background-color: #ffbbaf; color: #000; } details.success summary { background-color: #88edc5; color: #000; }
{{DM}}
{{What's Needed#️⃣DAV#️⃣COS||tAsDo}} {{Attribution#️⃣DAV#️⃣COS||tAsDc}} {{Charlie's Choices#️⃣DAV#️⃣COS||tAsDc}} {{Journal#️⃣DAV#️⃣COS||tAsDo}}
''Discharging to Empty'' * 2020-09-26: I used the generator to charge a power bank, leaving the power bank connected to the generator until the generator's battery got depleted. Attaching the generator to USB charger for 12 hours, the generator remained unresponsive (i.e. turning the generator on, the charge indicator lights would come on then instantly turn off). I eventually decided to quickly and repeatedly click and unclick the power button half-a-dozen times (thinking it might "reset" the generator), and suddenly the generator became responsive (i.e. charge status lights stayed on.) ** ''Recommendation'': As soon as the battery is 75% discharged //(i.e. down to the red light)//, best to immediately turn off the generator until is is again charged above 50%.
__The experiment__: A jump starter recharged by solar panel and a small inverter plugged into jump starter's 12V DC output __The Results__: Limited as an AC Generator substitute. * the 12V output on the Jump Starter is not regulated, so the voltage slowly drops as the battery charge drops, thus simultaneously and proportionally reducing the voltage of the inverter's output and the amount of watts to whatever AC appliance * the jump starter does not support {{Pass through charging||fLm}} {{DIY Solar Generator Bundle - Observations||tAsDc}} --- {{Bapdas 150W Inverter||tProductTransclude}} {{BUTURE BR200 Car Jump Starter||tProductTransclude}} {{X-DRAGON 70W Foldable Solar Panel Charger||tProductTransclude}}
* 2020-09-18: Oops, seems more like the EAFU BE-E3, from fully charged, powers the clock for 48-50 hours * 2020-09-13: 24 hours, and the clock consumed 27% of the EAFU BE-E3's capacity; so it looks like I have to recharge the power bank every three days; must figure out how long it takes to charge the power bank with my solar panel, and decide if I should buy another BE-E3 //(or bigger power bank)//, or if my old PocketJuice is enough to power the clock while the BE-E3 is charging. * 2020-09-12: Replaced the [[PocketJuice Solo 4,000 mAh Portable Charger]] with the [[EAFU BE-E3 6000mAh Power Bank]] *# The EAFU has a digital display that shows percentage of charge left; the PocketJuice has four lights to indicate charge left, and that's not precise enough for me *# I'm not convinced the PocketJuice still has a 4,000 mAh capacity; it looked like it used greater than 50% , but less than 75%, of capacity to power the clock for 24 hours; the EAFU today has used 12% of capacity to power the clock for 10 hours; might get another EAFU so I can have one charging while the other is powering the clock...
__The recipe__: An alarm clock powered by power bank(s), power bank(s) recharged by solar panel(s). {{DIY Solar Alarm Clock Bundle - Observations||tAsDc}} --- {{HOUSBAY Digital Alarm Clock||tProductTransclude}} {{PocketJuice Solo 4,000 mAh Portable Charger||tProductTransclude}} {{EAFU BE-E3 6000mAh Power Bank||tProductTransclude}} {{X-DRAGON 70W Foldable Solar Panel Charger||tProductTransclude}} {{X-DRAGON 20W Foldable Solar Panel||tProductTransclude}}
[[TODO]]: Information in this tiddler needs to be fixed * the AC 3-bulb lamp uses 11.7 Watts; * fix mistake in cost per Wh; * replace all calculations with energy macros --- * AC Lighting (13.5W) lasts 2 hours ** Great lighting for first hour ** Dim lighting for second hour ** After two hours, the jump starter's unregulated voltage has dropped too much to provide useful DC-to-AC power *** at about 26% battery charge left: good enough for USB applications //(testing to follow)// <$details summary="Return on Investment"> {{Cost of electricity}} * Cost of items ** Jump Starter: $120 ** Inverter: $30 ** Total : $150 * Return on Investment ** Wh's to return on investment: $150 / $0.01118/Wh = 13416.8157424 Wh ** With living room light *** Using this combo for just my living room light (three 4.5 watt bulbs, so 13.5 W total), it would take 13416.8157424 Wh / 13.5W = 993 hours *** Assuming 2 hours per night: 496 days </$details> <$details summary="2020-09-10: Received, first try for AC lighting"> * Received both the inverter and the jump starter today. Jump starter was already fully charged, so I decided to immediately give the combo a spin with my living room lamp. * Looks like the combo can power my living room light for 2.5 hours * My lights having been very slowly getting dimmer over the last hour. I suspect that, as the Jump Starter's battery slowly discharges, the voltage starts dropping a little, and the inverter simultaneously starts to also have a drop in voltage (or amps?), thus giving less power to the light. Fine for just plugging away at the computer and/or watching tv, but not good for reading. * After two hours, Jump Starter is down to 26% ** Good lighting for first hour ** Dim lighting for second hour ** Past two hours, lighting is too poor </$details>
{{||LCP}}
2020-09-12: I just figured out, while experimenting with my [[DIY Solar Digital Alarm Clock Kit]] and charging various devices, that the tested devices do not handle "pass through charging". {{Pass through charging}}
\define show_group(group) <tr style="background-color:lightyellow;border:2px solid black; font-size: 110%;"> <td colspan="2"; style="text-align:center"> ''$group$'' </td> </tr> \end \define show_field(label tfield) <$list filter="[all[current]has[$tfield$]]"> <tr> <td style="background-color: #F5F5F5;width:50%"> $label$</td> <td style="width:50%"> {{!!$tfield$}}</td> </tr> </$list> \end \define show_webpage() <$list filter="[all[current]has[web_page]]"> //(<a href={{!!web_page}} rel="noopener noreferrer" target="_blank">product on Amazon.ca</a>)// </$list> \end \define show_otherseller() <$list filter="[all[current]has[purchased_from]]"> direct from {{!!purchased_from}} </$list> \end \define show_price() <$list filter="[all[current]has[p_price]]"> for ${{!!p_price}} </$list> \end * Purchased {{!!purchase_date}} by Charlie <<show_otherseller>> <<show_price>> <<show_webpage>> <!-- 🔴🔴🔴 SPECS --> <$details summary="Specifications"> <!-- 🟠 NICE FEATURES --> <$list filter="[all[current]has[features]]"> <table style="width:70%;"> <<show_group "Features">> <tr> <td colspan="2"> {{!!features}} </td> </tr> </table> </$list> <!-- 🟠 ENERGY CONVERSION --> <$list filter=" [all[current]tag[$:/C/Templates]] [all[current]tag[Solar Panels]] [all[current]tag[Thermoelectric Generators]]"> <table style="width:70%;"> <<show_group "Energy Conversion">> <<show_field "Power Rating" "p_rating">> </table> </$list> <!-- 🟠 DEVICE PORTS --> <$list filter=" [all[current]tag[$:/C/Templates]] [all[current]tag[Power Banks]] [all[current]tag[Power Device]] [all[current]tag[Solar Generators]] [all[current]tag[Solar Panels]] [all[current]tag[Thermoelectric Generators]]"> <table style="width:70%;"> <<show_group "Device Ports">> <<show_field "Charging Port" "d_charging_port">> <<show_field "USB Output Ports" "d_usb_out">> <<show_field "DC Output Ports" "d_dc_out">> <<show_field "AC Output Ports" "d_ac_out">> <<show_field "Battery Management System" "d_battery_management">> </table> </$list> <!-- 🟠 BATTERY --> <$list filter=" [all[current]tag[$:/C/Templates]] [all[current]tag[Battery-Powered Equipment]] [all[current]tag[Power Storage (Batteries)]]"> <table style="width:70%;"> <<show_group "Battery">> <<show_field "Cell Chemistry" "b_chemistry">> <<show_field "Capacity" "b_capacity">> </table> </$list> </$details> <!-- 🔴🔴🔴 EXTENDING THE LIFE OF BATTERIES --> <$list filter=" [all[current]tag[$:/C/Templates]] [all[current]tag[Battery-Powered Equipment]] [all[current]tag[Power Storage (Batteries)]]"> {{🔋Battery Education||tAsDc}} </$list> <!-- 🔴🔴🔴 REVIEW --> <$list filter=" [all[current]has[review]]"> <$details summary="CJ's Review"> <table style="border:none;width:100%;"> <tr> <td style="border:none;width:95%"> <!-- <small>//(From <$link to={{!!review}}>{{!!review}}</$link> tiddler)//</small> --> <$transclude tiddler={{!!review}}/> </td> <td style="border:none;text-align:right;width:5%"> <$link to={{!!review}} tooltip="Open Transcluded Source Tiddler">🐟</$link> </td> </tr> </table> </$details> </$list> <!-- 🔴🔴🔴 BREAK EVEN POINT --> <$list filter="[all[current]has[bep]]"> <$details summary="Break Even Point"> {{About "Break Even Point" Analysis||fLm}} <table style="border:none;width:100%;"> <tr> <td style="border:none;width:95%"> <!-- <small>//(From <$link to={{!!review}}>{{!!review}}</$link> tiddler)//</small> --> <$transclude tiddler={{!!bep}}/> </td> <td style="border:none;text-align:right;width:5%"> <$link to={{!!bep}} tooltip="Open Transcluded Source Tiddler">🐟</$link> </td> </tr> </table> </$details> </$list> <!-- 🔴🔴🔴 PRODUCT YOUTUBE VIDEO --> <$list filter="[all[current]has[youtube]]"> {{||dYT}} </$list>
<center> <iframe width="560" height="315" src={{{ [all[current]get[youtube]addprefix[https://www.youtube.com/embed/]] }}} frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <br>^^//(This YouTube video, created by a third party, embedded here for your convenience.)//^^ </center>
{{||LCP}}
{{||dPd}}
{{||dPd}}
* a beautiful power bank * beefy //(in a nice way)// * very nice charge display indicator --- !! testing * the charge display indicator seems "wonky"; I am testing to see if it is an issue caused by charging the power bank via solar panel AND/OR using the power bank to power low-wattage devices. {{2021-01-28 (solar panel charge, low-watt clock)#️⃣EAFU BE-E2 test||tAsDc}}
{{||dPd}}
/9j/4AAQSkZJRgABAQAAAQABAAD/4QCORXhpZgAATU0AKgAAAAgABAESAAMAAAABAAEAAAExAAIAAAAWAAAAPgEyAAIAAAAUAAAAVIdpAAMAAAABAGgAAAAAAABDaHJvbWUgT1MgR2FsbGVyeSBBcHAAMjAyMDowOToyMCAyMTowMzowMAAAAqACAAMAAAABAfQAAKADAAMAAAABAiEAAAAAAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAIhAfQDASIAAhEBAxEB/8QAHgAAAQQDAQEBAAAAAAAAAAAAAAMEBQYCBwgJAQr/xABqEAABAwMBBAUGCAgIBg0JBwUBAgMEAAURBgcSITETIkFRYQgUMnGBkRUjQlJicqGxCRYkM4KSssE0Q1Njc6Kz0RcldIOTwic1N0RHVGR1o8PS09QmV4SUxNXh8PEYNkZlpLS1xUVWdoX/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAgMBBAUGB//EADQRAQACAgEDAgQEAwgDAAAAAAABAgMRBAUhMRJBBhNRcSIyYYEUkcEjM1Kh0eHw8RZCgv/aAAwDAQACEQMRAD8A9U6KKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiisHnm47K3XVpbaQkqWtZwEgcSSewUGdUbaztu0TsOsSbtrS/xrLHcJDDS8rfkKHNLTSQVLPEcgcZGa5F2zeX0/fJF5jaAcMHSdtcUwvUid3p7q6gp6REUr+LZYTvJSqQ6UglaQgpUoKHGGs9N33WWuYuqLzq1Pw1dVtuR3dVIUuEiOcnoWeqJcnjwSI7CkceDrmSoh2lqD8IzqbVrzjWzbZ2GIxJDdx1U6QVdyvN2VcvAuA+qtc3nat5QWsXFu3HaHJtUdZyIljhsxG2/BKwkun2rNMtk+urXYLpD0xr6wu6FvMspTbJsxl5i33UHgCyp9DbraldiHUJJ788K3Vf7SxDStAbCCnhyxig53mx9oDpUuTtF1c65zJF7kp+5YqJkX/aPaDmLtE1Y2UnIzeJCv2lGtoagdQ2tQAGKo9xkIcJH2UDW0eVFt70VKS5F19Iu0dPOHeoTEptfgVbgc9yxW2dLfhPdU2ooRrHZ/BuCR6b9hlLjq8SGnd8ewue2tISIzbqjkCo6Xp1qQkndBJ8KD0O2aeXZse2lIjtDUn4sXN3CTbtSN+ZuJV83pCS0o/VWa6AbcS82laFBaFAKSpJyCOwivE266CalpUFNAg8xipfZ9tR2obClsfiXqqXDtzCsizyvyiCpPajoV5CQfoFJ7iDQeztFcM7J/wAJ5Z50pi27TdOPaZfX1Td7UFSYYV9Nvi62PV0niRzrsXQ+0LTO0qypu2lb7Av9uJ3TIgPpdCVfNVjilXgcGgsNFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAVxF5fW3qbcJLWxHRlxVDu1zjmXqe6sqCRbLYBvLQVfOcTnh80gZHSAjf3lTeUJbvJu2Tz9SyGvPru+RDs9tSetLlr4ITj5qfSV27qTjJIB8qZ7E5uDcHNQz2LjqTUFyS7qO9SVIOJgUFeadK6lTXxWQC222+5v8AotJCW1UDphMSf+LseEyi02dS0C1tLlgJShBwno1hDqnXFK3lKVDYec3nFYfTncTc35B0VqeQ7Mkr0m7LwXUXO6J04ZWeRUAqTeJIVzBcW2SexOcBFAGlNV790lN6ekSGktlVyuD1mXMTugDebR015lBQxgKLCDjAQgYAXnW666XbcuFmteoLFbXCSZmn7DC0lbnO0nz+4qcmuZ5nfwe7iTQReo9KxrvDmJt+m5U61TQDP/FHRHQtSUggnpbleHFPg8PziAOPEdlTOhNs8rSrkDSuprnGkW+aV/BL8i8sz59vG/uohz1N4GSN3o3cYO8Ekk8tb6k1BYb9MBui9IXaUOStQ6luGpXkn1NKSB6k5FNYz8IxpNr+FQzYbgW27latK6NcjiU0lYVuB19skHhwVvZHYaDfmoLp6YJ4gkYzxFUubNKlE57aqumdSXSOEWO+sTmJRZMm2ybju9NNh7xCSspJHSoGAseIPPNSL8gqVQPvOSCO2pGI8lwDlVeS4eeTTqJJUhY4mgs/mjbyaQkWRD4PUBBFN41y6Pmc9lSjE9twAZxQU+76IZloILQ4jkRVUt9h1Bs+vRvOkrzP07cwN0yrc+plShzwrd9IeCsjwrcqdxfcfXSL9uaeGN0CguOy/wDCS660KxHt+0jT7er4bR3VXe2BMacU96m+DTivV0f767Z2ReU7s123pbb0pqeLJuSkdIq0ysx5qB25ZXhRx2lOR415s3LSLEpBBbGD4VQL3svSJCJMXfjSWVhxp5klK21jkpKhxSR3ig9uKK8odlnlp7YtirgiXaQnX+nk4AjXhR86ZA/k5A63H+cC/DFdo7GfL02WbW0xocm5q0bqB1QbNqv5SzvL5ANvZ6NYJ5dYKPakUHRtFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAU0u11iWK1TLlcJDcSBDZXIkSHThDTaElSlKPYAAT7Kd159fhAduT20TVSNhOmZrjFvaSibrC5RlFRQ1kFuEgJ4qWslHV7SttOD1hQaG2w7cpXlBbSJ+06Wl1nTdnD0LRdvdCFBoJUEuXFwOKS0319zCnFABW6OsWwlURZof4uSrFcJk34J6VgdHcZ9wVbUTErJJS3I6Lz19JKiNyAww0Srgted8xLamrtbPhdMdFusMWS1FjrE1hmPbUtJ3UN+dPb8VleCVEMokyclWC1vbp2M9AuFraTqG1s3iLDeA6W/2ZDdgiPk8y9fbuVTH8jn0SUJUPRA4UCMu3XTRyV3O1wL3YrLIUVOSbXDi6KtrpPMmdPU5cH85yd4gnORzxWvr1dtK3WQ48PxCduXypyxdNX3AHuLxPRk570Y8alr1fNMXF56THf0Cm9HncIkO560uhI7DJeCmc/WRjxxVcdf1TdVYif4Sby2nsYhQbLHI8EtEKA9goGTUm9SCGos7XFwQT1EWPTUC3M+GM7qsezNTcSwawCN9emteqbI4uXDUQhAj1NqIqGk2eerPwtY5MVJ4K+H9bLSPaCFCko9m0mwsuPWjZq4rtVK1Ih5XtxuZoH980VOuMVx1m32yx3htaJKL3edTqmSWOiSshtO8E8F7xSQpRTuqVgZINZaV1O3qyyMXBtvoVq6j7BOSy6Mbyc9vMEHtCge2loM7R0UYRatj6SO1ctxwj9WYmq1qi/W7T2sk6iavWnpUa8uJYn27TqyY8MJSlLb/F1xXMneK1ZO+ceiAAvbTL7zbi2I65HR43kt7oPE4HFRA95pwWLjBt4nzrNcbfAUopTLeZC2VEc8OIKkjHiRWVhuptEtSnGi/GdQWZMc4ytBIPDuUkhKknsUkZyMgun37jpO/OCFc3THmAvxJrC1BMhtRUooUhXZwJ3FA8ApJGUKoEGnkOtoW2pK0KAUlSTkKB5EHtFLuurgMx33N5qPIWW2nyD0aljGUb3IK6yeqTnrJ4cRXy8RmVQxfLe20w0pe5cYLOUJZdOT0yEngEq6ysA9ixjqJ35WPa5CUyYziIVw07OCULcTLCZTIPouljnvIypK0hSspLgTvHdVQIt3gx7g5BcIExltLi2ietuKAKVjvSQQQRwOR31LMXJKwM1S3mlSQqw3pb/ntvTvQrnHcSuQygkKDrLnoOJO91kK6iwveG6VhQjYdz1XA1Qi2XeRpxm2vEiFcS1Kb+E8DKm2SN9KXwCkltwJ9LuwaDarS+mShSeIX6JHHPqr6uIl0HeQR7K0NpDo29v21C0z2xJh3uJHuEmOpSkpe6QIW4cjBB33d4KGCFBJByKmL7s70NpKKzNl601ppiK84WmlJ1IOh3wM4wtk5ODnBUM4PHgcBsudp6PLScpGe+qPqPZhGntLCmEnI49XnS+zXW0xF1f0fqKc3Pu7DAm2y7oG6i929WejkIHaoAEKAzgpOeKVGtj5SsccGgpezTbhtb8n56MjTOonbhYo/VNgvAMmIpHzUgkLax2dGpPiCOFdi7HvwlGiNXOotuvYD2z+7HAEl4l+3unwdSMtn+kSB9I1zFLtLEpPFAz34qpX3QEac2oFoLB8ONB7A2i8QL/bI1xtk2PcbfJQHWJcR1LrTqDyUlSSQQe8U8rxd0ZftoGwucqZoDU02xp6TpXIIIdiPHt32FZQc8icBXcQeNdc7JPwm0B+UzbNqmnF6dfVhPw3Z0qfhZ71tElxseI6TxxzoO6aKgdF6707tGsTN60xeoN+tbpITKgPpdRkc0kjkodoOCO2p6gKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKjNTaktujtO3K+3mY3AtNujuSpUp5WENNISVKUT4AUGmvLG8pRjybdlbk+I2idq+8L+D7BbSes9JVgb5TzKUbwJxzJSnhvA15fWyxS7b5/Y5B+Gb9ISu86hmk9O7KkuA5UtG+hPQtdIfjJDiGCpaiUu8GzYNo+2W6bfNp8jaxcQiHHffNl0Za5LigIsfe3FScJSpSnSd7dS2hai4ThJDYpbQulE3F26WaPBcuM5L4dTZoFoF2nRVgnDgt6VmKwvmOmuL7zv0Qc0E3pSxSLjYYV3sTM+5Sragtu3bTrLElcdA5oXepyUQYaQeG7BZO72qVzptdL9pm4vuvOzNDPX1KTvS5Krhr28IPcHOMZBz2bhQMcCBT67XqzdI3D1ZL0m9eY4KGTrm+SNWXJgjgAi228JjMEdiADjkQcVWbretTXEdBbZu0i/MN+i3ZbLC0zbgO5IQEugeKkg+2gjp03Vl1GI3+E2+sJGBuRYWn4n6KWDvAeweqqjcrPHddKr1ZbS2rt/GTWJdV7d9J++sbzaWHpBdvenrQy7nj+NWrlSHPaFA/fS1sn6ctytxlnZZEWPlKW7JI/Ukp+6gXtTulLWrqW/ZQ2rs6eWt8+9Mlv7qs0HVFpQR0EzZdCPfHtst3H/AOpWKTi6mCwBF1joqAMcEwrA88B6shypFq+XNXAbVbYx4M6JKh9sBX30C7Oq14w1rPQ7I7m9PPqx9hrC7XU36zTrTO2h6XRBnMqjyBG048y4UK57q+i4H20qm6XXAJ2wtDwToMf+6zXz4aujXLa/Hc/pNDpA/wD4wUGudCaphxxOsEu5b0i0ulhiRN3WVSY2SGnACo54DHM8N05Oa2RAu0K5Wh22TFLlxd7pYy4q0KcjOdpTnsPA4zzSD2qB13tgkQ0wYGq7heYm0G+2SVGXHhfAqozIiIUtUhtxostN7iwrJVuqUNxI4Ak1LM7JNmE29Q1Q7HHe0hraK0qzyngpCoUnfK46C6FZSFq6SI6M8FBCvlA0F3tk1+0TlOttOOxXAW3mVp3A80SCUkdbByAQeO6oJI4ivqrJYSlcVi73SBGCgqM+3bmkraA5tLbUpxO5xyCg5GAnGOI1mzsf0s3Yd+LYFr1LpGQ21Ot63HmE3SIXVFlbqUqBStz42K4Rgpdbb5ZOX6NkOjXL2iJbLlfhZNVxm3tOXNF0ebdjPFSnGmVZVufGpS5HO+lRQ60OQVQXi76U+EWoZj6ztC5MEnzZ+4Q5bLm6T+bUWY6gpPpcD2KI7sYPtsyIzsGcxHuUJ0p6eMSpTLhTyKSQlYIyd1YCVjORitanZ3Hb0+i5R9Qaocm2CQiPe7a1cHEqmNFZU2+3v5LSnWt5IB4JdaKCOsKef4K3fxhdtcHaVqKQzdIqZmnJ6HQpEwZLnRqQU5KnGAoowU9dlxBBIAoE4mgL3Ytr0XU7N2VfbLKgKt7y5i0JmxEpT8Wl7dSkPDKEAOpBz8oJIxWz0KZnseaTERXozqgSiayl1neGd1RSpKgMZPWAJAJ9R1A3pm9R7Habydo118wjyBCvraEtPORljKlPMkp67amSh9AIyUJc45TT1WidocGfe7UnaOyu5wmRMiLVb462JscD41SFbpOUpU074tLKuzFBltBGqdQ2KMzadlWsIWoLHJEiyzbNbUPx2V72HG/iQUllaSSQkcVJSeRVvbQ0tqC53axQ5l4sdw03cXE4ft1yiux1trHpBKXACU9oPHgRxzmtVRrfr/GnZTurYAtV0/JnpUu0NBUCYMtqZfCSAEpf3EFQPBLqF4IJA+qm7U7db7tlGn5V2tLyRMtrkJ9LnQqGEOIKVjey4lbRGBhaQM9YUG9GZ6V+qnCX0qA5Z7q0mnU20Ru7NQ4zOkrgzNiGZaZLSpbabmNzfS20DnDikhzCVYBLS053hgoNbT9dx7VFuTtg0+5DXIVFkuNXRSBCcBT+e3k8AUrS4FJ3huHezgHAbukQ2ZIOQCTVZvOjI05Kh0aTnwqkL2q69t8u6xZOzouybZgyGGLo2pwpLhb30J3cqTv4BIzjeTnG8Kzj7d7s47b2X9nt13rjH86iKjS2Xkvo3FLwg4AKsIX1M72UkYyMUDm027VGy+8rvGib9cNNXNWN56A7uhzHILQcpWB3LBHhXUuyX8JhdrC5EtW1nTvnLIw2vUVibwodm+7GJ495LZ9SOyuVGNvlkuEaM7I0xqiKiS+YqFGA24OlBTlB3XCQeujgQPTT300um0vQtwbm+czJMAxHAzJE23SGwwskgJWdzdScgjBPYaD2S2b7WtHbXrOq6aO1DBv0RBCXfNXQXGVEZCXEHCkHwUAat1eD1s1PZ9O39q9aP12xYbw0OpKhz/NXcHjukkgkcuB4V17sb/CUar0pHhwNplmTqy2IIbOobKlCJe789xoENuEdu5ucOwnmHpJRVF2V7b9D7a7W5O0ZqKJekNAF9htRQ+xnl0jSgFo9oFXqgKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKArzb/AAgm3gbXddK2JWC4pj6VshTcNZXWOre6yDlEMH0chW7kH5ZTnG4oHpby4fKeT5OOywJs5bla81CtVvsED0ll04Sp/d5lLe8nh2qUgdteYNp02q2RZ2mi81dbgjN0v03dbfeemKVkuL6Uhlppokp6aSrc3lqUltxW7uhOWVaLndbNdXjbrVCktGJDQp95iK9HB6NEVtxhJlzMDqqagpQ2pRO88sk7uxLhAGkbeYWpIbFr048N9q3a/ubWmLQofOZskImS+nGOs+oqUMb2DmsdJ2ic9akXuxi6zktNBEu96clJgRXEjgRL1HOAWoAAjo4SENADCcYBqPk6o0/AW87p6/6J03dUq3n1aCsMjVV2dJ+fcZSVt730up9Y0DS56ldaZMXTGob47AdGW7Xss0U1aYSfDzqWEvLH0t5frrXeprPOmub1/wBLTAjmHtb6tUonxKCFJHqGKlb+rUOpErW5aNpGpIqskv6lvCLcz6+hYUpOPDHKqgxZrTaHN56w6Atzh4kXK7h1z28WzQOYL+nrUUhEPZbFI5dJMVII/VfRmrRA1U2sDzLV+iLV/N2+yOPAfrF2o626st8Ybka9bNrSR8qLHW+oe+QsfZU4zqmZJSOi2nada/yTTKHcf/pnKB23d7k/y2rQGB3RtF749/wcr76comzcDe2vPE/Q0Qr/AN1Ugzdp68Z2uo9TeiwMe61mnInyt3KtrsgfV0aR/wD0qgU89k7oxtdm5+lopQH/APFUk5cbmkDd2vY/pNF/32uvirnLQMp2uu+tej/77XSKr5cAQf8AC7FyOx/SLSfvtooMxqK5xgoL2r2leQUkvaWQyoZGD1hCbIPiCDVH2Vi3uO6h2PfDDt1tpSu56blrQEqdcKcyY7RBJOdxLiPRPSsJ4AqIN0OsJbA6+1XTL3hI07HQf/2yKpW1S9G+WOLc0bQ7E5d9PPG52tNmjNMOrkJwQCnpEg53RyBVwGAeRC9r1NLfiW7W7z7dxuVvK7VqiNHABntLbBcdRjsfZSJbfDg6y5jngZv2RL71y0Q5dG5sC4hd405PiJx0rikpecS1j0elQluU2BydaWkHnlrbtaW29RrTtFixWYeltURvMb+zH4ot7ocBWoJ74z5Q6nPNl8j5ORk7p24RY1y0a62za79plarnY5bSt4tMod31ttqI6wjPK6ROebD6+HYQ+u6oeW3E1xKeZkP5XaNWRoaR8cCkOOPtADiFAJnNYHpJeA4dUYSLO82J+kPPoqH4il3nTVzhjqhI3X3EsHJ4JymW0OPUcdRxHJV28x25cfVrtuj2qx39BtuoobYym1yUODeVu5/3s8pKx3sSCOSchsuy3O3sSdNhhq26n0e55/ZpG+VbsZDv5sK+WI7qynjzjyM8xxBVy9tecN6plRIcG1XgKtep4bQ3kW6ShQUXUpzxDLi0up+cxIWOSc0gqz3O3IcsyI8eLqfRq/O7S6pwqS5DSvdLRPy0tKcLSs43o8hKvkjP1Mi3mWxdRbGrfpXVTaYk+K4cotExCi2krHZ0LqlML72H0HsICCIFyjRUxG4C0as0UUqYRJWCZMHiylDvYoJBVDcxzStlXEDIBQR7ZJdTu21TWldYJCOgfcOLbPBLIQ4ezrZiOHuLC+dIJm3BgJubzE+XqHTmIN3iL4OXSEvqBS8clOBG4SD1ZEZB4FZJzMW1THVRG40pWldZpDsHzhwgxZpHRhDiieqV7qormc4dbZWeJCqRNzloQm9vJmy75Yv8X32LulLlyirGA4RzSp1KB9WTG7CvJDIwmnD8AQ7w85Gnf440vc22cL6Q/GlDYxwUrdL6Ej+Mbfb7cFFd3iyEfDkpEBu1XU/B+ooyUZahSU8UvpHykJC99Pzo77if4vIUVb0Ob+no14WpiT/jjTFzZa6xUfjSlsY4FW75wgD5aH2+0iklXqLIHw/KEFq2XX/F+oYyUbzcKQniHkj5SU7/AEifnR33E/I4B8MW4W9ZZ8wS/qLS43Q10/8AtlbjhooWr5WMpjqVz/gznIUn5o1ILNtgzJzcC6r+EdOT90dIxJ4qU0B8lSlIWrd4YfZcT6LnH75lcISjFTCZd1HpfrMIU7lM+3n4otuK+UEhQjqPMoXHX8mkzBjSwm3xlT0WbUKvPbNJ3wHI8zPFrPyFKW2Rx5SWAeTnEG782BNYeuE5MRu2XFQg36L0ZS3CkhOUvp5Eo3Fbw7Sy4oc2eGMtqa29JEuO9LultbEe5RW3EuquUMqwl0A8C4lWBnl0gQfReNKu3ptaXrzOc3Wl/wCLdSxjHyltWCtMlCMcRgl8D5qpDfYE1gY8mGsRUIiSb1YEdJEBdITcLeQAWlq7QlCkIz2tKYc+QchCzbHFkLbb6KHcXkxS7bn3mt1NwgkElhSiDndRy7Qns3mTmCRom0h6IuDBQhLu8uA4AWyTnDkV0tkHfBCsE5IOQD+bq5CIHvN40F+YxEuKzOsU0BKnIsoElTGDyUVpc6p/jUOJ9F2mT7sOQy9KeSzDgTHQzckJKmhbZgAKXkq5pQRuEK59GUK5tKoKfZo1z0zeoF103fLtaro06fN5kWViQD1d6MV8SlXEFOBhQPbvIz2bsJ/CYat0jEjWzaTCb1lAQspF3t7aWLgGgMkuIz0bikZG8OocYOVZyeWpsVzM4z2HA4wUsXVhKN4qGcIloSnjkEKBA7d9I5t4i5MRaXXd8l59tKXnPN1Aqfa6u5Ka4jrglOcHB3geG+N0PZvZV5UmzfbCmE1YtQNN3OU30gtc74qQk4JKcZKVHCVHqKUCEkgkA1tnnX5/0h+A+lbTwSrcDoWyN4Lb6pDyEnGRyKkdhIOAd0J6C2J+XBtA2QvMQnZ/w5ZGkJzbLgrpEBsnqlpZIUkEKSEqyEHKQoAkKUHr9RXP+xLy1tn22FtiI7NTpq/rV0fwfcXUhDi8hPxTvAK4lIwd1QKgCkEjPQFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBULrTWNo2faTu2pb9Nbt1mtcZcqVJdOEoQkZPrJ5AcySAOJqarzF/CA7e/8ADjtJ/wADGnp5/EzTrqZerJ8MFwvyUqw3DRj0lBZCQgZJdIGMoxQaF2h7X71tu1/dNst86GAZiza9KQZTvRNW2HkoMgqKVEr9PdCUqUtxSylCgkATujdLNRLjIschgeeKUHo9k+BlXK4tL7HY9lQpSEL63CRc3FLwQSlJUarNiaevSndUFpi1RLe8mGZDNwbiRbaykYbjOXJWURzujJZiJW+vKypaeqkbktVimM6cdmWa0Xm5aOWnpJKbUsaK0mMj0nZj589mgZPXcICuJGQcUEfqlyHp6S23ruLpuJdY/wCYf2vaiVebm0COr0dohKS0wMck9nLrYqiam1pcrjiPH1frrUaEjDMbSOnGLBb0p7EpKktOFPjg+s1I3PW1msbbkLTeqNn2kFJz0kfZ3p1y9zF9+9LdQ6CfpAIrXNyuE/ULikIZ2javyeKrjNTBaJ8ENucB600CE/R824uecz9AOkcw/qi/reUfE7yVffTq3i2WZWVQdmUBxPyZFx6RQ9gfbP2UhE2ZTgoSXtmkBhJ49Jd7iVEes9D++rBbkw7EUhdu2Y2xwfJmXMlQ9glNfdQOY2vWkp3GdWbN7cB8mNHDuP1pC6et60kPgBG1TSkc/wDJ9PsOftMLpRGvBGHUveymKn+beC8frXA1n/hHUrAGu9nMf6keMv73lUAjUdydHV2xWkDl8XpOOfut5rJV8uaf+GS3A/S0owM++218/wAIi8cNpmgk+q3Q/wC80K2jq7dpWgV+PmMIf6woMF6nuDfpbY7ModpXpiIPvgCj8eJCMBW1XSj/APS2KKn/AKlNZo2jqTx/HzZ293b7ERP3PppwnaQo8RqnZg6f5xTSfunCgbo2iKbV19oOgX8dj0KO39ziKWb2npzkal2YPEHmtW4fsnJpwnaEV4CrxsmdB75ZT91zFZfjc1KGOn2UvH6NzWP/AOpGg15pS9WizbT7ppWbfbPdrRr9xyW0i2SA5Et1zyoITnpnSG3kqUyrfVvYWM+iFVamETBZ2ERUSPxz0K82GTL4LkwxvNsF4dvAOwnv82TwHBpr/Tp2haXkWduVoGyuurbdauFsuKy60tCgoEBUtwdmOCSePCkdN7RHdXaXsu0QOGberYpdq1RbUjC5XxeHwQMfn2UF5PIB1hWOJ4BMtGym5NuRYzqNF63Za83TLUSmFLwW2elPYQorhO9uC2oniCWTKZyLc0GI8k6v0S4hLaZnpS4XWZa6YdvV6SG7z4hongODty0Q3J9w0g5c1XWy6jSbjY5iAAJEhbe8Up4cPOWgHE4xh9ggccgtBqGVIgQtWdMu63uxq+D77GQMfCkdbYy5w5CSwlLgPIPscMFWaBdEezvzEx2WHnNHa3bQ5C86UcRphSW20uEngVgKhu54haW1E5KVU1TInCMzPSzKmaq0mtMWaxIBCrnDUC0gujnl1CVR3O55lo8CTS67XBfly9KfCTtysuo0fCNhloG6Xn1o3ilPAY84bR0icYxIjkcDkFsdRvPRouqlvOz7taibbqKKynBuLC0Alwd3TtJS+nueZUOahQZLhWyW85ZGpUyXpvVaROsclR3VedLRwQT8kvIQQfmyI4PI0mNQPFDWpX3pEm5W3Nt1JHab3VzWFpCumSPklxKUvo5br7Lifl4pRy1suvStJ/Cy5MG6A3TT02OjBcdUA6pDfDh0oSJDYGMOsuJHEkFE6nK0R9XPykrUc2zU8eKgdcEdKX2hjjnAmtep5PLqgPqoBR02m2bujeSTeNM3OO1y5PKSz9klsDPAvt+rBV3iuKF/kIgx7Vds2/UEZKd5uBJQch0DPWSgr3h86PIUPkZoct70cP6cbucZidbCbrp24MpylLaSHlIaPaG94SEDjll11PEDhgq4xFLTeXo0OFY70DCvUQjKLZKbO7vkdqWlOAZ+VHkDsTmgDBuENXmaYbC9SaVO9GQ47kTYP5otuE+mEhYjqJ5trYWfRpJUCHNBgMtzE2LUv5Ta3elw5Fm+iWyT6ClKb6M55SGUK5Lo8zuEMCIILatSaV4sIecz57B/NdG4flBO95ss9qFML7KxMCFMHmTLUv8AF/U/5RbnS7urjzT1OjJPoKWpvolZ5PsoUfSzQfF3pYDl8lOSemj/AOLtSx0sDK0emmS2jHPh06QRwWmQ2eCgmklMvQlot7MmA7c7KkzLLIWCWpEPG8plR+UhKHDnjxYeHa3wzVeXmwq+yPO1S4Q+D9RMNN9Z9o9ZMhtJ5KOOmSDyebeQfTwUSw9DUi1x7hHE22D4S09NLeWlsD4wtD5yEpWVgccsvOJ5o4BiIsSegMNMuM2fUK9+MpL+67b7gCE9GVfIUVpS2Ty6RDDny6xfnEok3Oel0dEBB1FH6DfCknJRKSj9dwDv84b7Uivim7dOQoKjR2rDqBRakMOPFPwdPThspWoeiMlLSlD5Ko7g5Gvqpc2Oty5SI8126WweZ3iO1jpZsdR6ryU8ukJQSOwPNKH8ZQN1MvQny0jzeVdLS0Vxz0pQm428gEoK+3dSWxvfN6Bz5KstkwysQ2YTyy28VSbLJeaCwk8Q5FWkceYcG53h1A+RTstOR1MQYsxlciEg3GwzHGipl6MQVKZ71NhKlKCeZaccTzbGEeiiTkJbYT5tbby7looe3HbdcElKSgq+SSoISVcgoMOfKNBGLZakMsGOvzRl91QZJWCYEw82VBQwUKKu3gd8HiHFYZS46UJ31BEFKHFNrDoO7CeO9lKt7ILK8nnyCjnj0lTcxwOsy5dxZUlrhEv8VTO8hJ47kpKRxwQFnHd0yOaUUhKbdYefbeSJ0+I1uyGW3ONxhkDCxngVp3kce8oVycVQQocfgLdwVMpSeidbdXgNLwUpQtR7MBW4snllKgRvBPRWwvy4debI1sW52Wb9Zt7ok2y576wggDKW1AFxtQOBuDeSN47qVDdSNBuxNzdSjEtZYK4q1gpTOikElsq5BaAAQSM9XjkoXli5G6VrDRVJS6gqZPo+cITvZQojO663xxkE4SoHODvh7H7FfLD2fbZo8Fhm4Cx3ySUoFsuCgnfcIOEtODqOZwrdAIUd08OBreVfn7jTX4mHGHSpJBUChAPSAKyo45byd0haCRn0uY3k9Q7DPL41vsyeZhXiT+M1hKQPNrg9vKbTvboU0+esAeXW3k5GCEK4qD1jorUOxbypdB7cG2o9nuPmN7UkldnnkIfBSSFbmCQsAg53TkY4hJyBt6gKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooqA17rqy7M9G3fVOopzdustqjqkyZDh4JSOwd6icAAcSSAOJoNA+Xj5Up8nbZgm32BaJG0PUxVAscNI3nGyrqrk7vcjeGM8CspHEZrzBsunUWxNs0oFm4uypi3rnMeDr3wvcTkKYaZZPTzOiKijcQUoKyekWBkVNau2q37bxtQuW1a9JlN3m8B2HpGzxY/TrgQWknfkJQohI3E7xK1qSjfUtRO6MCc2eaaWnTiL6ykzLO3+S3C7OXoW21d3RTb0oBx89nm0FKW8YG8pWSQsukLezbZibe9KTB1bb95MePCtrWpNTR0Z4oYhNDzC1DlwVlaTzWCATJ66hrsLjNy1fo61xpYG+zctt2rlTJzw+eiA0tKUfVQQPXT+2zPhG1twtJStVaotrmejsOyWzfi7YSRwIXPexIfHYVgrPbkcq1Tq6RB0LLkIc0vs40JcColw3m5qu91QrtKwVo63iQo0ERf9oDt030x9oS1wUk9HA0NpgR2G/BLpazj1uE+NVjc+F14bsWtb+VczcrkGgf0Q6of1aJOpnby8VO7QLpNT2J0/ZehRjuCksj9r20vHkW1fVcRr65rPMuSehSffKT+zQTFk2Sz7goOsbIVEn5cyZvA+0RlffVxh7O7vbAnpNmulYqR/xma8Me5CKpkXTEW6gFvZhd7slXy5t1aUT70u/fVgtuyeU+B5tsUWO7flJUP6sI0FoZak29OBp/Z1DPLDtxfz/+8RS34ySYw4/4K2P6S4OfvuQqNj7Ir6BhGxWMfFb7v7oFP2dk2p0cRsYtqR9J6R+6IKBUaylYwJmyfHZicr/3pX0anlveg7suc8ET3P3XKsTss1RxH+By2Y8HZP8A4WkHNlWpSevsbt5Hg9I/8GaB2LhcXz/ANnTo70T3/wB08186K4vf/h3Qj47kz5P/AIs1FO7KL6fS2MxCfB5398CkF7KruD19jTAHcl5X77fQTS9NXWSSU6G0g99WbIP/AFiqRVoC+v8AFOzPTTue1EqQf+rNQTmyuYn85saH6MkD74FNXNmaknK9jGf/AExsffCFBYlbLL+8T/sUWRY+g+8f/ZjVKn2W+bE9ft3/AFFZWtO6F1R0VjuLDTa1NxXR1mJIUWGk5QtAVg5UQlfHjkOl7OWkf8CxHqnMj/2SmN22dtzbVMhs7IFxXX2Vtod8+YX0ZIICsebp5c+BB8aCwP6emsRLxoaZ0NtudkU5crNIZVkstIcC3m2jwz5u7h9HDi04sYHZnK1G4JETXD8dqFFn9La9UwIwyYziVBT5QOPFp1Tcps8yhaxyHGr6Nud0uukWmHUhvaNs9kNR3iHAtLzaRux1rPalSSqK524U2TwHVsbT1oYu0S4xIpjaO1iy20RJGU2+QFFDCnO4tOqXEcHzFoJznBDF+xvNIu2iZExiPIhKcuVilxeIQkFLzzbJ/mzuS2hxyha08uXyRqRzpGNYyOijtSukteqoUZIyysKC3VtjjkoWUS2jxylTo7OLVm33EWxdnZjqg6p0atEm2PPrysREubrYUQet0DhVHXx4tOg5OBSwnwI02NfG4LVv0vqVpMW4MODKbVIQsoSpQ7DHeKmVd7Lqe4gBi/an2EXDSS50aPKtxXc7BOjDIShJDziGT/N5TKbHHLTjieXIcvyEut6oeTGhW+5BVt1JEaTvCE8lYUpxI7eicUh5Hey6sck5pJFquceI7ZEMIgal0gsS7W86vKkxkOYCSfldA4osq72XgewZEyoLcti7JgsQtM6lbTGnsvYKbXKQotpUsfzLiiwvvZeQewgBiq3XCGl6wpdiQ77plXn9klb28kR0L3igH5SWVLJ484757qx6eCXUXBUKLD03qJIjXCM8cptctBLYKx2Bta+hWRzZebPYawTBucaMICIaGNUaQWHYRkryXYgUW0pcPy+jKjFc723EK7AaOjt7z7a0wEo0tqxKU9HJWcQpgyykO/N629Ec8OiXz4UGHm1xjtpaEAL1PpUhIbkLGZ0HiyEun5WATFcP9CvkKxMCDMWbe03Lc0/qfEm1uqc3VsyyN3cJ+QpZQW1Z5PsoV8oGsMT0sofEF2TqXTJDL7L6sKuUNQLSel799IMdwjOHG2lcicfFW+DLKrU2qW9YdSAS7RKKglSJKk+hn5KnNwg59GQwDyUDQfDeXv8Ab5/zxc6B/i/UDDTeFSWVdZL7aexSgOlR3PNuo+XxwVGdjrTZ4tzQ3Jh/4z07cENZR0Y+MKEfOSkKLqBxy24838nhkq8u/wC37xluToP5BqGO03hT7ShvB5tPYVAB9Hc8h1PyqSMNxk/Ase5hEiOfhPTlwaa3khA+NKGx2hOS8gccoceb7MAMXH7dKQuQ8zDZsN8/JrlFdOEW+YjqZUfmJ3w2pQ5tOtK+TmvpXOjuGQ9CelX2yDzWdG6XdcuURR3Mk/PJSEEj0Xmm1D0zWBmwX0m4Oohx7JePyS7RljLdvlI6u8o9qE74ST2sPJPyM18U3PinCogk6gsA6FxhbuFXGEfi91Z7TkBlR7FpYXyNB8TGUCxboE99IdIuenbkhoK3VHLhbCe08FOJR3h9vtFIKlW+ZHckSURWrJdz5tc47oIbgS0jAWVfyeFAb3MtOIVzbJrPzBt9LdtiPzEQrmrz+xz2j8Yy/wAVFtI+SpSkKWE8MPNOJ5L44OXNhTTt0l7jMCViFfoymd5uO6BkPhPagJJWB2tOOJ+QMBmpc2O+5KfjvSLvah5rco7TmHZ8YqwHAOXSbycZ7HWweTtJCOtpcaLEkJefjtmbY5TjW8y/HIKlMHHEp3CohPMtqcTzbTj6UyobxR0ceXfLIjdDSnN34QgnCShSu3AKEFX9A535xbjJeSxDgvSW401fn1jnt432H8kloA8AoqSs7p5OIdRyXQNtxiQhhMRZixJ7xXFcS4A5bp4ICmjnhxWQM8t4oVydNN30NlqTIkI8yjl1KZ6UpKTBkgdR9ChxSghIOeYA72jl47JiSWH5UttuNabgoRbvGdbO5CkgdV3I47m6oceZaWDza4DpksuvOPsmTdICRGuEZtfXnxicJdAPAuBXDP8AKAdjtBFyGFJMkyEllxpxPnqWk5La+SJLeOsAcYUB3cM7qMsnmVNFYWUsrbwp0tgK3ArADyB8ptWRvJwRyxnICpkxlx1sNR1olPssl+2POJO5NhkbymVKHHgkAjt3QOZapo3HDhiohneQ5k25x3CsHOHIbg588gAeIGPi6BKBeplnkB1pxbC2VA/ncdEr5BCjnGAkFCzwGN1e8kZrsnye/wAIHf8ARjTdq1aV6ltCFk9I+7iZHbGN8IWvAUEZ4pcOUnAKykhdcX9AlxUfoBlKz0TCXvkLO7vRF544ORukHtTu80YRbUptxKmVPFSj1MHCypI9E/zqQeBwQpJI5Ebwe8mz/aRp3ajYEXjTdxbuEMqLbgAKXGVg4UhxB4oUCCCD3VZq8Rtju3nUGy2/RrnZ7muG6jdG8hYU26gKADa0q4KQd1SAkkbpJQSnDa2/UvydfKj0/t1tbUZS2rZqdCCXreF5Q6ASCtlR5jqnKT1kkKBGUmg3dRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBXll+EI8oRvbntLVskst2TF2faSX59q26sq6jr6DgMb/0DlOO1wnmUCuqfL98qc+TvssFr08+lzaLqjeg2SK2N9xnPVXJ3fobwCc8Csp4EA15eWPSz8J+HoiFm7XF9Sp9zXEipuM+fO4ncaYJ3ChrrbzjxDaSFKO8pG6Qm9PoRqC7W64XF6GxarkgMWuHJiOvRlNIO601FgNgP3JaCOat2MHN7O+OJ3LJiMaFmMPatNh0pcUtgQ7ptUkput6bbV6Jh2ON8RESexJSrHAdbHCI2b2WRcg9E0+7fL9fHPipkHZ04mbcZCgOCLjqB1PRspAwOiiYSBwwcZDy86nhbNumgMXfZnsjuxWQ6m0BWptQlR9JLzyw4A4e34sqz8oUERrW9ydXJeikbVNq63B10XJQsFpxjgUR0bqinwU0BjsrT1zWNKuFr4D0JoxSeARJkecSB6wVNjPsqS1je0amecZdc2ibQXic5vDvwfEPihoLBA8C3Vbt+l7hDT0jOhrHaWk/xk99SlJ9e6lA+2g+MajVPcwvaPGQCfzdrtiDj1FLCz9tWe1PxAEqd1xrWWPmw4cpsH1dVofbTBnUEmGNx3UOh7YRzA6JS0+xyQf2afRdUB5XW2s2WMPmQ7fEOPamMs/aaCcE/T278araVOPb8YtIP61wH3Vgt3SryetprW0of8qksZ/rTVV9h3MPAf7LtyWP+QQXf+rgVJtS2Ugb21XWqvBqJcv3RRQQy4ulVDq6Bvzv9LNiD73jSfwZpZR/3Mrmo+M+D/wBqrOm4wU+ntJ1+4e8Q7r+5sVl8JW0jjtB2gKPf5tdf7qCrG16WGM7MbiPHz6D/ANqs0wdKj/g6vDePmzIR/wCsFWX4RtoPDX+vx4+bXX+6vhuUHs2ia+J/yW6/9igr6Y2lQOOhL+j6sqH/AN/SqUaWTk/ibqZGPmyYv/ihU0Z8PP8Auja9/wDVLp/3dYmdFHLaPr0f+iXP/uqCMS/phPH8WNYt925Jj/umCsjM01j/AGh14n6kln90+nypcb/zk67B8Ydy/wC4pNUqOf8AhL1x+lDuX/h6Bp8I6bCsfA+0JP1ZTf8A7xr6Llp0crdtHQf8qT/7xpwZDPIbSdbY8YVx/wDDV86VvH+6TrL1mDP/APC0FL1DeYWiNV2vWVjsmofN2UuRdSfDCk782AsJQpJV526VFAGUgAEEA5O6MXJVphC53HSj8/4VsupU+fWeSnAS/IW3kgcAAJTI3h2B5rhgjFNbnBgXqA/AuG0DVM2FIQW3mHrfNUlaTwIwYdVvRKXrjp+86BkvPRpmnd+4afuUhp1p163h3e3my422oqjuDpAd0cOlGKCwi6TJ1riX9hblz1PplxMeehYOLmwpG62tYPyZLHxas8nWk9pypYMWj4SXbmVOT9KaxbQ/bX5CsJEpSClorOeHTNpVHczycQlXcR9majd6SHrh9tDCXemtmqLdHHFtQIMlKPFCiiW0eeCscueDtlSZF20TKnJfjyy5cbK/E5LcKUuvNNYzjfR0ctrB9JJAJ45Bqlyc5AYlMsPyNV6ScQ2sSBgz4xBaaU6D2OIC4rvctDZI54UQxa3ZgjssOSNKaxQhyEuSshLMopKG+kOeHSAKiuZ4haW1cyDST2onJEeFq5bpnXS3qVb9Qw2PRmoUgFwpxjg80kSWzyDjascTwzXa4rkqZpZ2e5NtV8SqfZpLY3Q88tG+pCOHAPoHTJxjDzKhzyCCAXOciNSm4j0rVGllpZeakcDcYqgW0F0H+UQFRnOeHG2z31mYVrkvqt7TT0vTOrUh+3OPL3d2UpO6lKjnql1KSwvPJ5tCu0Gk1Xt2RHjanUp64Xe0qMC+xWgR8IMrQCVjHIPtBLqTww80RzUDX1y1xXX5OmlTJE213wGdZZbY3d95ad8oQezpkp6VOMYfZUO8EMPPpa2kXUxZM2/2A+Z3SMrKVXOMsboUocwXkJ3T819hPIqyfirdEkqcsTcuVJtF9Hn9jmoO6S8pO/uJPyS6EdIBw3X2VDt44G+LdaZ1Ksvy7jbswL/FZBBmNLSFFxA+T0rYS+jlh5tY5qoXbW1uP6bE992NNzcrDNjpwd8/GqQ19fAkNgcnEOo55BDFV+UR+Mbzj6pEXMDUUdhGC4ggL6ZtPZkYkt9yw6jtxWLkNxgqsbNzS1JiZuWn57LeUpQPjShvvCM9MgcctuOo7OAdQDCNTOSCkYNv1FGjoBCeHSF5sY7OEpvwLqeXVGC4z0YOWJu5tsTraTcLDNbTvJS2nDhQjvDe/wBKgcctPLTxxwD4bhCWDc3kxI1luv5HeIy07zdvko4b548Uo3936TDw+ZmsVMz4quhMZl/UOn8pS085/thDPxW4s9uAQws/0K6+ruENRFzdTFi2W7fkl3irTvIt8lB3d5QzxS2V7p+cw8Pm5rBUedG/J+gYd1Dp7802+sYnQ/zZQ4flYyGFk9hZX2UGHmceXuwI4k/BV8PnVqkod3XY8sn82CfRWpaCOPJ9ruXQq6bgdvUrpmwnEK/x22t4AekmQhHbwy8kY7Xm+4ViqBEnJ8xabdVZdQnpoDvS7jkeWTu9GT8hS1I6M55PNIV8qj4QfRv3l9uUqTE/Ir5Hjp67zZ6yX20/OOC6jucS6g+lQYlp+GpMND0Vy6WdBk21x/JalQ8dZpSvlIShYSe9lxCuaOGIixZ4TFYSpFrvK+khuB3cehTgQkt5+SorSEk8g4hpXy6y6B6Ktq2xpqUTYI+ELFLU3vNOMDrlsdqkpSoqCe1pxaeaBhFRgTGVBSGG7Fe1FuQ08vd8wmpwghSh6IyUNqV3FhfYTQZrmkJkXSW06hCQId+jIbCk44lElKO3hvOAf07Z7BWKkPxHUsBTEm7WpsuRS7ndnwSAFNlXaEpKEk/MLS+aDWRflNuuT3ozz9ztw8zusdpWHJjBOA6E8ukyknwdbUP4ysAy7HVHhRJJ84jp8/sUwo32nWcFRaPaUhJJCe1tbieaBQYojtupjxYLrrUSa553Z5qFDfjSd47zJSflFYX1T/GJWngHKQkLjSWXZMhKYduluBme0UkCDLAG66lQ4pQRunPPcUhXNs1kTCmtBI6Ni03Zwjrq3F2+ekhJG8PRBVuJKu8Mr7TWS5LgMqfLYc3msQr5GaAUFoOdyQEd/BagO8PIPMUDOYlR87VPbJU1iPdmW+O8OTcpKeeRhWQO0LHHKKZy0FK30Sl7y2gkSy0eLiOHRy0j5wPMp554eknEg700F4J6k2425rLQUcGfAVjqhXaUgoAV/Qq+dTNTZjhoRT5yWGzJt6nOKZMRQytkns3RyHYO/oqBi6FoU90hbQ4ghLqiMoClJO6v+jcAwocsjuHGyaP1xcdJXNmbAmvw5LKulbeSSlxlaeBVvjiFIOAo8cp3VkHdKVVx1CGkJLYMlpDJcjgnPTRFek1nsUg4wDywByQaT3nGXBl7ChunpSOCgR8S9jtCkndUe45PMUHsN5I/lWwdvdjVabq4zD1pb2/yiOjqploB3emQOw5BC0fJUDjKcGui68INneurpobUttvlknuQLpAdS5GdJwpBB3dwntA/NKB4KT0eeGa9n9he1+27b9m1q1RAT0DryOimxFelGkpA6RvxGTlJ+UlST20GwKKKKAooooCiiigKKKKAooooCiiigKKKKAqvbQNeWTZhou8ar1HORbrJaY6pMqQ5ySkdgHaonAAHEkgDnVhryr/CJeUU3tv2lHZDY7uI2gdKqM7VtzZPUcfbP5ne7Q3xTjtcPbuCg0Drna1qLbhtLu2169RXnrrdC7C0paElKUW+G2MKkFS+ohLSTkrUQnfUpR4cpzZzo+PE0s3dlRrZK0qtXRT591uC7dpovDjiVMOJF1e4ZLTW60CMIyM1VLE1F1Bc4N9uLkWFp+YBHtIvDDi4SWmzutoi29sdNcXUkAngGA4cK3hg1vhVoOh1RrtqZizaUWtrMHU+2GQiXdg12GBZWj0UdAOMDCgOGQeQB0zDXrS2N2+2QNbbX4BRmNa7HEGldJMtZ/i0JCXH0j5ykqChzUo8a1jrfWTujG12qPP2a7MFN9RUSwNJuM5P0VqXvAH1ND11Ydd36Nq9gsyJO0nbJIeAWDMT8CWVXi0yN3eHrZ3e6tQ3p6bplJR+L+jdDI+SJDpdfA8d5SE59lBB3K7xrmSuXqHWOpwTkpZaXGYPq4tjFNYFkiT3gYugJM9XIOS5jW8fX1XD9tIi/JmvYf2hb/H0LTFSkjwBbaJ+2p6Ai0rwZN21ldPBtqSjI9anGxQW3TWhdSEJXD2a25CccC85IV+w0gfbVwatWr7cjL+mtLW8DtliUcfrykVrIQdIyBlWkNR3BXfN82GfauQs04jWzT6FDzXZcpzHa7cYbf3NLoNhuXu9R/zt02dQQOxaGeH+kmmmbmrpyFcdebOo57kJtfD9Z81CQrKh3Hm2ypseJujJ/ZhmphjTd53fi9lsTH0pzmf6sOgDrGcAf9kzQSfU3Zz/AK9J/jjOz/uo6JT6mrN/fT9GmdREDc2WwvbLlH7olKo0xqr/AM18D/1qZ/4WgizrKaOe1LRX+hs399fPxzlDntQ0Qf8AMWf++pn8VdWkjd2Xwf8A1ib/AOGrMaV1hy/wXwf9PO/8PQQf46yv/Ofoj/QWj++sTrWT/wCc/ROf8ntH99Tw0nrEn/cvg/6af/3FKDSOs/8AzY28f52f/wBzQV462kEf7p2iP9Baf76wOtnxxO0zRJ/zFq/vqyfifrTHDZnA/wBJP/7qj8T9aY/3NLeP85P/AO7oKydbvZOdpWiseDFq/vr4NcOf+crRP/q9r/vqznSGthxGzi3D/OTv+xR+KOtjn/Y6to/Tn/8AZoKsdcOHP+yRok/5i2/9qqTtA1ELfJtes4etNN3S/add6aNGt7kFkvtqIDraw2sFaSjeGACeJGOJI26dIa1z/ud2wfpzv7qBpPWgORoG2II7UuTs/uoKxGm2lm5Q7tAaDei9YR2kpdd6yITud2M4rxacUqM5x4oUknOcFq3a5ztqladDYtt90sRMtUhat5bMVLp3RnjvGM8roz2Fp0njw3ovT+lJ+krtc9mupYL0SBfUvXLTzO670fSkESISFuDKt5GCOJwtLZ9IkF83PmXS1Qr5GUu46p0y62zKyMi4tqRutOLznqymD0as/wAYhPaesD169oYkxdWhhu32W7tqg36KgZMBaXBvnHzoz5Q4knm06RyGabv2aQyxdNHSZLUGbbFOTrPIZ5tNpUHHW2zzyyvEhvnlpahy9HNoWti7toioMnSmsG2lw35JJQ1IKSmO4s8cbwKorvbndJzkZaMR7g5axDjMqZ1PpFbbsF6ScLXFSooYUvv3Fb0Vz6KknPAYBxI1CUrjatdUiKzI6S26khRxxYWFBbpQMHJbXuym+0oU4OQwUnLWUi4aRduCWnWSu4WSTFGd0DdecbaI+blEprGeqtaRwpVM2FFmxryzHbh6X1I0hmYh4Ai3upUUIWscOLDu8wvllpxPjhuLdcWoTtj+Lt1/0woSrVIcVlSI6HOAJ+V5u6otq72XM+sPr2oACzqt14Noc3rdqKJGSPi1D4xa2+HHdOJbR7Ul0DgCKSXbltiVpc3JLT8Uqn2KZGRvbiRh5aG+/cymQ2OOW3Fp5clFXOPGfZv6UMQLFeW/NbtHIB+Dnm143lDtMd1QB72Xh2DNImBPisP2IvMQL3p4mXaJCjvdGyheSnJ59AtRHiw7mg+rvjaFt6kccajQZebff4rKN5MR1J3ytI+V0aiHkd7TixyTSSosqGlyyJnR4t3sR8+s0r0gllB3yjPaGt/eHzmHjzA4KG4xWXm7yUR4VjvCfNLrGUkKFufbVu7yx29CtQSfnMvJ7gaSMS4xG1WtKo8XUGmlecW1145C46FEbqj8oNKUWld7LiVdnEPipkMrTcFojRrFeR5tcozwBTb5KDuZX3htSw2rlll5B+TmsFMXBgBnzZleodOn4pEhWfPIn5rccPbjPm689haX2CsulhKcRJ6GMzp7UKQ1JZkHqwZKT0YLncEKUWHD2traVSPR3BtsJEZt3UenuqG5CuM6J+a3XO/h+TueIaVQZeYQ5p8xQwpyx6i+MhuF3cWxLPU3Cr5ClqR0Su51pCvlVh56+k/C70eU/Pt+Id6jscFymVcUuoT2KVulaeWHm1p+VQbfEmEwW2Fv2LUeHYS1ObimZSupuE/ILikFpXc80hXbR55Ix8LuRZMm4278kvEdk7q5jC+TiRngpYTvpPDdeaUOaskBMRbRbtMae4263i46fuDTe8nd4ubiB2gAlxCe1KnkdmKRXLhvNqmSOgZsd0/JrpGcRlEKSkboUT8wBW6T8ppxJ+Rms/MTlNnjTH09Ji42C4MJ3sE/G7iB254uoT/TI8CmblGWhd0f3GLXOPmd6jFrfbivAZDo70pCt4fOZcV8zgH1XnrDylrYRJv1mT0L7Kl7q7hEJCOsfnZCUKV2OIaVyVWKISXQzb4T8hMeSrz+xXBo8WneKy1jsUSFrCTyUl5HJVfXES4q+gPm7t9saSWkvnhOhYCShR7QElLaj2pLLnZmk/M48wNwo3SC13dXnFskoc3XYsve4t/RUpaCPB5sfPoMVzIr7DsuUlMe1TyIt3irbyiJIA6rg+huq9rTgPNvh9cckxX3HXmkybzakdBLZC91c6ISBveKwQkFXY4ltQ4OV9VOIS9dZLTqGjiHfYzSN5A5lMhKe7G84B3F5HYBWDgkQlpjhbT92tTZdiF0dWbCIAU2VdoCVJST8wtL5pNA36NcfoY8N7pXGEmdaH1jebfYIJUyrw3SeHPdUsc2xTZKEvBpFvUW0PrVNtroPFl8E9KwpPbkheR2kOD5YpdLKXA0xb3FtsSFGfaZSTksvgkuMlPeSFkp+clxPJdNldHO3Q0BHYuLm82B1Vwp6cDdSfE7oB7cNHjvGgQ3g8W1QgGg6tUqKO1p9OemYUDzBwr14PzwaZbzKEBbSd+PuKcbR3tKOHWiexSF5PrB7E07cUZ3EDoFTHAN3GFRpyMY3T3L6uP814imSn1OKDjCN1ayZCEYwUPJGHmiO1KkgkeAz8rgD2G+8lzdIS6rIScjAcJTw/0reR4qSDzrsDyBtua9nW1JiwXGZ0endULbhq3zltMw/wAGdHzS5vBB7ysDkiuLWi0lSUh0hvCUpXniG1nLav0V8D3cB4Va9Oz1oebMZwxpm8FspH8rvkBIPYQ+ncHd04PYKD3yoqmbGdeNbTtlOlNUtqClXO3MvPAfIe3cOo9aXAtPsooLnRRRQFFFFAUUUUBRRRQFFFFAUUVAa91zZdmejbxqnUU1FuslqjqlSpLnJKEjkB2knAAHEkgDnQc9eX/5VP8A9nHZR5hYZCV7QtTb0GyRkDecaz1Vyd36G8AnPNak8CAa8pbZYnrM5b9GplNSZk+QJV4fRF+Eps2cSdyMxFB+PUgnjv4b3/TVwINg2hbZb7t32rztrN4jSpFzusg2nRlgjsl5xptPVCkNj0igHJ7FOLPEDGJ/YxoGTPblQ7PbrnqK57yhcbVpaUlKnM5Kzdb36LLeCcsR+GPSwetQXHRMZnTd0ftj94n2jUyxuSbfpJCb7rJ9I4Bp+WcR7cgcB0aCgpHAk4xVqvMSbsrYM2XpTRmyeXKT0yL1r25/DWoZIx+dShxQCj4kLA5BNNYepbPbIKtOs6+atEWOMr0bsLtpkLJHDL9xVxcPYpRdSnngVQ75Ads7T9xtWyi2acjKUVm961uapj7h/lCrgSrtIUsgd9BUNb65i6j6Rdw1xrDX+8clFqjGFbyfDHQpx6gRVDiWR110rt2z9lpKjvB64Sd8nxJQgn+tTrUOsXrjLUiZtDjJ48I2n4yE48EqbSon2qqKSzZXzvSG9S3tR4lbqXBn2OOJH2UFsYj6ht7YMhjT1na75CFED2uOpH2Uq3qFxsjpNpWnreO1EVEA49u64r7ar9rtluU7+RaCVIV3yJTDZ9wQ4ftq+2Oz6jc3RD2fwU/WkyVf2bKRQNYV8jSCn/ZflKPzYC1pz6uhi/canI863uAdNtI1fI/oUXVX7LSasULTmvOjBRouzsDH8bHnO/tPIpZ6DrSGMyLfpGCkcy9bVDH+kl0EGlenVfndU65lHwj3Y/tOJrEtaS5+fa7e9UWd/rShUi/N1E2Mr1LoqGO7zWAkD9d40yd1Ddm+Cto2iY+OwIsw/aUaBBTOkDz/AB7c/wDRZH75lYljRpP8E1yvwMVz98yvp1TcsZO1fRiT4JsX9xrFeq7gnP8AsvaUH1E2L/uzQfeg0Uf/AO163V4eaA/fNrEs6KxxsmtT/wCiN/vm1grWEpHpbYtOfopsn7maTVrNwcFbZLGMfNRaP3MUCpj6JA/+7us1jxisY+2bSao+i85/FLV6/XFi/vm0irWyOO9tmtIz80W0fdHoGsGFc9tEM/UMT90WgU830V//AIdqs+uND/8AGUmuNos//gvUp+sxC/8AFUDU8dRyNswP9GWv3RK+jUEdX/DHJ/QP90OgRMPR/HGhr6R9JuEP/aDWJgaSxw0Hdye5Qgj/AK6nSb0ws/7rtyV4IU7+6HWRujSv+FS9r+oqV+6JQR6rdpU8f8H9xPgVwR/1lJKtmlzxGzqWfW/BH+tUoZrasf7JepVfVVP4+6LX1Mhk/wDCJqxX1E3I/wDs9BTdX2OHIswd05pKRp6+QnkTIdwEqEkNOIOesQQcYz292c4q0xdZsXmFaNosUNt2q5suRb/Dj+k0kkGSgc+s04pElvt3VKHL0niXo+OOu9YLOf5O5/8AdCqrYnIej9fyLR0smZprVykhMy5RZDQi3XCtxay8gFXSZUhWM5S4ruwQszllQZl30VNlCTGnl2balxh1XHSgLfZbxnAdQW5LYB9NPAn5TRV5fnQYep21KuN+sjnml2YR6NxQpvifqSWAlQPLpW+9WSNW+XKssmwJSYF60xuyLbIdOXW4qXfiznjlUZ4lpXYW3O35S0i/Jbeh6vDaIVruLa4N+hsjKomHB0wA49aO8UPIPa24ewcQPM7a3cXbQkruWntVITIt0h1WEKkrQQ2VHsEhpKmlZ5Otg4HAhqhyc/AZlMx1v6p0u4hBMnqmawUlDS3QeYcQFxnM8loQTy4KOWYhV10VNlAZU7MtS4vE54OPstdvDqSmsceJA4Uk/fVvMxNVrJlXKCpcC/Qo/oyklALoTjHVdbAkNnsWlWCCeALIRBTNbVHjIXpfVaG+iVKJ3Y8ggttKc54yd6K728EK7eLZpq4GI22zGCdTaXWhcZUgjelRhltsud+OMVzw6NWeApRy1wlTZWnHXXLhaNQJMu1vg7oceWjJSk8ABIbSVDkA80eRHBv59LlRGb03HdnahsSxHuLKgQLiytO6lRB7JDQ3T3PNDtJyC6fMxKaebitN6Z1MhIKZJ4RZIJaQXe7Ct+K59HcVzyKboauCY6W246DqTTSklnzlQzLi/m0Bzvxxiuf5tXYKz8wt6pTlsQhc7T2p0iRb33F4BkLRhIJz1enQktqzydbB7QaREma+w1cUxHJmobCoR5bTpwbiwtJQkrB7HkJLau51pJxxNAr0EJ15KURG1ab1MElAkrIDEri0kOfNyQqM5jkUtq5mkQqd0aXhD851DYCGnWn1AG4xVAtjpOzrgFlfPDiG1cjWXwfBkOrtoZXMsGpUh6A6tW7iQtO6lJPyelSno1dzzaT2g0n5xMdaTcxCcnX2zERp8dZ3TcY6xuhRH86lJSfmvNDvNB9VbocxRtqGnJNi1EOnt7xc3VIkqG7uZ+SXN3cPzXmge0VimbIVi8uRZEm5W38jvEdklKpjK+IcSOxTgTvpPDdeaUOaqF2yJJWuzo6aXZ76PO7VKQvdUHljO6k/JLoTnj6L7Xcc1iZ7ygm+LjSH7hB/Ir1GY6qpLSuPSJHMFYSHEcsOtrHNVB9+D0rIsrMt8ok/4wsNwjjko/GbjficdMgd4dR4FM3ZkIVen8sQZB8yvkZLe8iO4BvB5I7QkHpEjtaccT8nFZqtoz8BtyXw3IPwhYrhG44J+M3G/Xjpmx3h1HDiCmq8tAG+PbzEV78ivkZpG8lhY64eSO0Jz0yR2trcT8nFAKalRFeYpeY+GrIkvwXHxlMmIB1m1q7UpSoIUe1pxtXyaT6CHMT5ulKBZL6SWd9e45DmZCChR+SSoBtR7FpaX8qs1MyYSvg5Etpq72YGVbH3BvIdjJGSgn5SUJXg97LgPyeCajAkpUClhNhvhKHWnzumFMThshZ7BkhpZ/oV99AoJcjfcujsZ12bDxDvEdg4VIaJJS8lPzzuqWO5xDifl0gqO7EU1CjSsyoafPrNJUneafj43i1ntQEq4DmW3FDm3wUU7KC1znY3nV5tX5LcGAvdXOjKO6FY+eSjj815sY9OkTEKS1b4T7qSf8Y2Oc31k4OVlsDt4bywnuLyOziDctsTwhmKeiiXNwvRFJVuuw5yCAW/rFQA8VobPy6QfWiala5B82YnqEaY2oYSxLA6jiT8lKsjB+a4n5nBZa41wRj4tiBdldG42o7phzk4SAFdgJKU73cWVd9N33emQ6/OSWW3fyG6oxlCVjO4+R2A5JPcFuj5IoG7pMoLMo9CZCvM5gPookp/Nuj5u9n2FZz6ANMXnHZJ3t3oXnV5KfmSm+0eCxg48UjsOXchRIdM7qlI8xuBHEKHHonlDv4HJ/pew0yfDryyl0hp9xXm7pz/AL4QctueBV+0o9woE2lMHsxGIKiE9jThwsfoL4n21Z7KGpTiY0ppbcl0lttSOGJJIZHH/KUQl57lHvqtMPtBRcKMtEF1SMckHqvo/R9Id/OrjYPjlLiTeEkIUllwD0pDaS0kDxW8m2Lz7e2g9cPIRf6XyW9Ht9D0SY7k+Okj+MCJr6d/9LGfbRTXyErk5M2FeZKd6Zm03aXbWVjkUtlIJHhvFdFB0RRRRQFFFFAUUUUBRRRQFFFFAV5VfhIPKMO2naOnYtpu6iPo3TznnmrLkz6Cnmz+a3u0N8QR2uH6Fdb+X35Vjfkz7IHW7PISrX2oQuDY4yU7621EALk7vaG94YzwKikYIzXkQiwSbbbZGm3G0TZTi27lqq7XCWY8ZtxfWbZekZyBx3ilOVrOd3jmgsmkbYvXs6fcWmPOtPWxKYoimWLdZ7dDHBIuE88U7+MlhrrLJIKgQlNb+0npdOvbYxbbLYb1tghoG8xbLXGOn9Fwkg80jHSS90jitSVZ45UTVb0Xo5xNjiXx202ufp6Jgsap16PgrTEFZHAQLbvJVIVjGHHCFLxkjiSZ2+36x60t35beta7cZZO43Dtkf4F00gjhuoACEqxwwA2sHHE9tAjrXaNIssNFjlbTNJ6GjNEo/FzZjCEhxKh8nzhKXHFLHEEbyB4VoLUrlru9wLkPS+otTzs8Z2pZO64rx3VFZA8ABV91jd77piMY4tGkNmDCk5She69MI8Q4QkfopNadn3mDd3VibrG731Wc9FbWnOiPsQlAFBKpYv0dPVtdjsLQ5hSFOEevfUkCm3ws40vdk6+tcLjxRGEYEe5K1CoZuNZSoFnS0+W52LllpGfatSj9lW2wQrqrdNv0ZEQnHAuSnF/2TY++gWtsy2SQOm17e547REVMWPYG2k1NtQ9KqSOnd1dcgef5JLIP+leSKmLZZdbOIyjTloYT3uQ5L37bqRS7o1PEOXr5pi0Y5gwoaN3/AErijQQfwXoNfPRuopZ7S7b4Yz+vJJpRuFpNnHQbN5y/6VUBo/eqnitQz2iQ9tZ08wRzSyuzII/VQTSR1M2n87trjtf0NxipH9Rmg+BVnT+a2ZK/zl0hI+5k1mJkZON3Zwykf8+Rh90WviNTQFjjtsmOH+aurv8A1celk3y3qSD/AIYLsvxFznH7mKDJuVvEbmzyOPXfGT90WnLapa/zez6GCfnXjP3RaQF1ti+e1C+vfUm3NX3M0omVZXPS11qZ7xSu8Kz7kCgfNNXpSR0egIHh/jV790WnCWNTK9DZ/b/bcZZ+6PUckaeczvao1a4O8N3o/vFffNtLKHG9avc8fNLufvcFBMtwNYkdXZ/bv/W7gfuZFOUWvWy+WgbePU5cj/qiq0YOkST+V6vd9UG4H9p8UmYGjN0Ax9WO+u3un9qVQXFFl1yo/wD3EtwHj8JH/WFZp09rw5A0TbE+ti4H/rRVIVbtDknNk1Q967a3/rSqQct2hc8dJ6kd+tbon+tKoNgDTuvccdJ2dGPnQpp++SKxVYtdNjjp6wIx8+3Sv3y610bVofGBoS9qJ7VwYA/9oNJqtej0gFvZ7cD9dq3p/wCsNBsJy36xa9O16Ya+vAdH3zKYPuakY9Nej4+PnxEj9qXVJVD02j0NnD5+s/BT/fXzorQPzezcfp3CGn7mjQWxy5XdHpXnRTR8WIw++Saq+uoA1lp6TbLlqnRyELAcbXHVBZdbcScpKF9PlJyMZzyJFYhMQfm9nMYY77vHGPdFpZLS1n4rZ/FQf+dWz90SgZWXVj+rdNWvV0fEzVNhfMO6xkLS4iU6ElCwojIUiS0CM+iXEDHFXWl2026HekIip860zqtDSosiQcobkKSRFdXzxvp3oznbnBOc9apvy5uzrW7WoJtq+BdLXtKLXd225BfDWeLUhJ6FAQUKSlQ55IPfirMbJiTd9EXB7eQ8XpVtTH7V4C5MdvnjeG5JbA455cMggkzCnSbSu1MjzS/6XUh+3SHvzgipWQytXPJZcJYWPmLzk8Mrru7MR+JqdDaYNkuzJi3eMkdaCUudY4+dGewRw4tOeGaaLusmfBhakZBuOorI75tc2EDKJ283gk/QlMYI7OkQO08XDTcCJdhFYR55pvVSW3IkiQcoEhSCI7iueA6jMdzt3gD2jIIrtDjbdy0jLlpiSIfSTLS9H4lpCVBx1pvty0rdkN9pbWRy5Yyb9vCNqx5R3kFy36ggRuHZvPBvh3ASmj/SAdwwYYnv21MKOnoNSaYW27BkPnrrjBRSwtffuKzGc+ioHPAUsq4xYUuLfWkNwtO3toMXBopBMFSXN0KUPnR3uoe9pxPdwBNy0NKem6VekuvRp29NtEiOMZWoBxbbR7lgJkN45LStI45BQXeFPoa1IpDsufCKoV7iR+AkoUkKUUAEYDrYS+g8MOJUMgkV9ctspuLM03Jlot1ws29LtUhHEssoXvKSD2lhwlY72nDwxy+yL2htxrU61+aw5AXAvsNkcYy0q3nN3nlTSyH0dpbUschig+KtUd16Rp5x16VbrsDNtMlo4y4tO+pLZ5DpUp6VHIB1tQ4cawXclutN6gUw/MuEAmFe4jOU+dtqAJUkcCOlQEuoPDDqFDmcn6u14EzS7s1bLrJVMtEiMMlsDDq228cyjKJDeOJStSRWL17RhvU7inEAb0C/RIo9A+mtTfq/hLR7i4OXAB9Va2XFuWAuPvQbl+W2eawd09IodIUtns6QJ6ZHLDjax2msPhZSkp1C42+uTF/Ir5FjJwXUEb5cbHepID7fcsOJ7RX02zrP6aVKdSVFU6zS4qclPEOqQ1346r7QHHitPeDiq9IG5qVwuNt4MK+xoozuEDfU436v4S2e4uJ5cKD6bbnfsCJTwK/8YWKdGGcfxpQ339jzY/pUd4rA3dpKfh1wqYiPfkV8jtI3ksLHX6VI7d3PTI55bW4nkMV9XbVJLmnkzHGZDJM2yS46d7dSCHFIb+duZDrY7ULcR2VibuwjF+cUqNAk5hXqM2jeTGcT1ukT37hPSp+c0tY5JxQCmJMMm1oloYu1n/K7TIWneSthPWKCflJQF8vlMu9u7wTVIgPJLznQtWC9HoZbD44QZSeod49gSVBtZ7ULaV2ZrJUeTE3rUmYmPd7NmXapChvJUwnrFJPyg2F/pMu9uOHxUuEcyVlpiwXj4mcw+nIgykdTK/BJV0au9tbauzNB8UuY0tTzjDci/WYdBIZWrdXOiHqcfE4Daj2OIbV8qkFw0OblviOuCNL/AMYWae0eLbnFZQB2ElKlhPYtDqeSqVUqaycqbakX6yfFKaeOFToh+Lwo9/ANLPzktK7eKCobMgCDFKjb7j+W2qY2rC2X87xQO5SignHY60ofKoEnJEeW2t6Tux7fcyI1wYcT1IsoDAWD2IO8Bn5jiD8jg2ecUgOyZ6Fb7H5Bdt3jvI49G+U9/VJPil0dtOFzGX0rmSh5vBnfkd0YUnKGHwOq74J62f6N0/M4NnXXIyi/MbLsiBiFcA2es7HPoO47VDc/WbVj06BrIBj74l/GLiAQ5ahzVHV+bdI+Vu44nt3D86mLza1lTb6gFjEN5Q5Ejiy4fHsz9Y+p3IxD6rx6dcFIZcx6TsNZ6qh37uAB37iORVTBxnG8084FBsCI6vvQcllR9WMZ7kk9poHER/Dgf6HeCcyFt45hPVkI/VJUK2Loi3O3S5RbS+yVT0OtqjO49JyMcADvLnQWs+IPjWvba+406JXRlSm96Stv5xa4SE/pNFSseFbT0Q4mKHzPfUmbZW3XWFoHFZjtvJ3s9yk2+3DP85nt4h6j+QpaFW3ybLBKcR0bt1lz7kR3pclu9Gfa2EH20VsjYdp4aT2MaEswR0Zg2KEwtP0ksICifEnJ9tFBd6KKKAooooCiiigKKKKAqE1rrOzbPNJ3bUuoJzVts1rjLly5Tp4NtpGSe8nsAHEkgDiam68sfwl3lGO7XdoMfYRpO5pasFqWJmq7gyeqFo49CVct1sHKhy3ykH0TQcybX9u9y277UL5tj1AtuNHStVv0la5ZAaYQjglZyeSM76z2rUR80U72baWZsduhajvE+3WqNIKnY2q9at77Cnyeuu2WvBVKUDgdM4lQ70A4FVHTjbepLvbbuswNOadjAwrJMubHnTikpVgqiQQCqU8T8opKEqODxAVXSFisly0TGa1S7Ctmz5MgbrGvNqbyJ19lgD0okE5bbA+YA5ugcudBJWrSsu7rc1HbNA3PWr0NBU/rnbDKVEiMjhktxEn4lsc05KMjmBVF2hbSPhmS5GvW1uRdFpHCyaBhBljHYkdEMKT3LU4o+NPNTXLTmpOgktt6122XZZy3OvK1Q7Yk/wAwhYwsDuDQAHI1rzV971BaWiy8jTOgIx9GOylLj2PEunn4BNBSZyIr0pw2PQr8g5JVIu7+XD4rA3lZ/SpF8X9treecs1mbHLdbC939Jav3VDzLlbbm6szdUXW9uD+LhpdW3/VCd2kWY1maVvx9MTZTnz5AabB/SUSfsoJJu5thQTK2gttntRCdbSf+hbUftqchtafk7qnr1qC5HtLbU50H3FIpKyou60p8x0pCbT2dLKdWf+jQBVztto1k+PirLaWPXb3nse1bifuoIRu2aLJy5p2/3FXIKXbmuPtefBp221p2OcRdn050dnTuQWPu36mnmNUwhiRqSzWcjnmFAax/pSqmS72+2cSdrtvYPaI0+3NEf6NBNB9YuKUHDGz5todm/fGE/YmN++pSJc7oogMaIggdy704f2I9RH4xW9J+N20yTnsRfV49zbVKC8WN4Zc2p3GSO3dulwV+y0KCyNv6oc9DRNpx2ZuU5X7LQp201rFz0dDWpX+duSv3CqqHtNPcFa0vkn+jfu68+4ClRG0i56V81I94iNeFj7TQW9u362cHV0Ra0+tm5K/1xThuza8WeGkrOg/Sts5X3viqX8F6LUOtK1I767VclftOCsDaNCgHMHUL/h8Cu/67woL8mw7QDy03YUDvNkkH75VYqsevkJJXadOM+uyEftSTWv8A4G2frGVaXvz3/wDxI/8ArSKxNn0Cg9XQ19We82m3p++RQXd+HrJv87I01EH/ADXHTj9d41HPStRNE9Jq7S0bHfFticfrKNVnzPR6MdFoG6k8uvHt7f8A1hoAsaE/F7O5SvrSYKP9U0Ew9fbo16e03SrHfj4FT94NNHNSywcq2u6eT/RuWX9zdMhMipALWzsjxXd4iPuYNZouLh4N6DYT9a+tfui0H1eqxk9Jtfto/on7cP2WTSY1TEzg7Yk5/mZjH+rHp8zMu68dDoyAB2b14cV+zGp4wdUKHU0dbsf84TFfcyKCEOooSue16evP8lMc/wBSNWSLvCexu7Tr494NzJ5/ZYqyNxtXr5aOt3+kuCv3Clk2rWbnLSltbHjHnL+90UFbTIhL9LW2pnvqrup+5sV9PwQo9fUWrFn6KLuf7qtKdP62xkaetKfrWyUf2pNJvWbWrWd622Fgd6rSsftSaCm3W0aYvVtkwJlw1TJYkIKVpeiXJ1BPMEpW4AcEA4PaBUNpKXP1FpFVrWeg1do91pLMt5BQtbCTmJI3TxwCeiUD8hwZ5Yq9v/jEwcPT9MxT/kUdOP13jWvdZypOjNR27W6rpZbmuL+R3ODAdiMqlQl5StKm215cI3hjgSMA8k8As0i8NRX4OrW2vM7Lc2FRbxFQOvESHMODl6cZ/Cwcegvlw44KsoS7ddFz3t9Lpdk20Rh8rAXIjt8+Y3JLYHby8c248O3X9dtQsTrHqcNuwZL5+LMooPQOk44JfbCmVnHpJPCmLUeZOsq7YyTGv2mlNuwZL/5zzYLIYcV3lpzLCx81WfWH1y7PzIUTUjaDcL9Z3DFusZAyicFIwrh8ySzurHZ0iO88V0RILF0XAaT59YNTpQ9CfePUMlSCGlKPYHmwWV9oWkHtBOMi8tR34eqkJ80tFxaVFvEVv04gDnxnf147xStJx6C+WBxTVZ0h266MmyCtLhdk2zzbiQcBx9hv+pJbxx4kDxBNlNwegNpjthOpdMONrjuyDhUhjihlxff8qM5+ic8BhYSocWXGubSWoumtQISiQHgCIbqVFCFrHDi05vMr70KSTjsbLuzkyLG1KhpU+82taol4jN8UzEqQN/A+bIZ3XE9nSJPaeK6YMJq4uWoI8/sWpAl6C+6rCFSFowjJ7A+2ChXc4jPcaBPzOc1EcsypDduvWnz51bJC+JQwhZ5k8+gcUUKzzaXk19Vd48V1m/hSYNouKfNLtHSneMFxC+KiO0sOEEZ5tOduMlNCrg/DafYZSvU2nHGwFSOBmMnKGlr7wtIVHc+klB7OCiFw2JjMhlLLemtRoRlUkZEZ4EttrcHZuq3o7nhunvoElQnmG5Gn3JohXK0kzLTJQN7o20ELUkd/QlW+kcd5l0jiOX1V4YZW3f1L8zt8zMO8xkI3vM3UnKlgcclpR6RPzmlqHEJrFDVwRE8xQtEXUOnCl+C7IOSthCilO+e3o1Esud6FAnlx++fxI77NzC2olgvKQzNadSFeZPIVuBSx29EtXRr72nEnszQYKhPsJesJnGHcbXmZaJKBvbraOuUj53Rb2+kfKZdI4jkG5x21JvSlea2qf+SXeKEbwhvIPFfj0SjkfOZcPPdrHoJrDK7X5yiHfNPnzm3Pu8fiEE8FHt6EqKFfOaWD2V9FwhtOt3PfRGsN3Hm9wYdSFCC+g7m8odvRKVuKz6TTqT2ZoMVMSogVaxLRHvFj/K7Y+6MhTCOO6T8oN7+D85lwHjjh8VLhZ86WptiwXn4maw+nIhSUdTK/BBV0S+9txtXZmgMzY6FW8SG2b9YD08Fx4Z6SOkkbqz2hvJbX3tLSrsoMmEVJkEss6evY6OSzIH8Dko+LyvwSVdCvvQttXjQYL8+ZBBSy/f7H1OjfPWmRD8XuqPb2MrPeGletuqExKAhRyVW26/ldskoXurYk9qPBSig+p1o/OpVRmITgpaev9iO50bxwZkU/F7qz28PiVn5wbV60lwo8zMGOCq2Xb8rt0lCt1bMjtR4KUUH1Os8fSoEVzG1hdwlpLEaR+Q3dndy225zS9j5vW3/qOOD5Ips8t2KS5IQH5dsHmspCfTfiK4JV4qG6BntU2k/L4ruTkrBuUtKmGXvyG7tAZQhfpJfx83iHPquODspq+p2ESZCRIm2rDD6OS34auAx3lOAnPaUNn5XEGb35CdxShJVBGAD6T0NeMbvfu5AH+bzTFxtKD0by99DQ82Wv+ZVxaV6gQB6k9/N2+fMfiwrzgwgVNp7Xoi+YSfo7wx3Zb7qZLbQ0dxxe+218QpZ7WF8W1epJGPAJFBL2WQ/GdEtTHSKjnzt1ojgox/4Sn1KjqWrHcDW29LW+VeoYgJZQi4NOMadkKOMuLclMQWgPEpteSe3pV99aw05JfiPtSnUb6GVh+Q3j0/N1pblJ9Sory1HwB7q6g8mvTkfVe1fZywpKlS3b/DQ/vcj8ExVl5Z7yuS2pRz2qHfQesESMiHFZjtjDbSAhI8AMCilqKAooooCiiigKKKKAooqJ1Zqu06G0zdNQ32c1bbNbI65UuW+cIaaQCVKPsHLtoNAeXj5VkfyXdjsiVb32la3vQXDsUVQC1BzAC3yntS2FA8eBUUjtrxrlw3LNA+BJt2S1fbzIEvUNwkIL7wKjvJjpbGVOuHe3inHEkbxANX3bx5QM7ygNqt82xXwFNgtjvwdpa0vAhCQCS3nHbwLizz3jgeiBSGzewu6cntXS/XFejJl4V5w3Kbiee6lmpXxxBij+DoUSd1xWCccFgZFBsTSOn07No0abdLrG2XPT20lq7XxoXLV05gjCfNoiQoREKHo7qSRyC++8W6yrYkSr1pXZdKua0pCpGtNqc1ZeVgfnFtBRLXeE9IAe0Cs9O2W8aFt7t5temrFsnts8q3NX67lIuN9mnmVNtuHoys8yn4wp5DNa71fqLS98R08y9as2tz0klLz5W1bW1dyVLwn1fFnHhQR+0PXS7nJWzftqK7hvgj4M0owlppQ7EhLI3FJ7N7fKu81qSUq2+c4tOkpUlROekuToC1HxHWV9tW+7y7/FZcTGsFn0lExkqkJ33cdh62E+0Vr653Fp51SLjrNx4H0mYa8Z9SWxj7aCWQxqNeQmDbLYjGdwtKcKR35WoGklS345Im63iwO9DDjDSh+qFKqJYi6dcAPmF0up+cqOTn2uqxUxCfRFIEHSW7nkqRMaZ+xCVH7aB1BXYJZ+P1XdLme3zd2Y9n9QJFTLNr0cvBetd8ufiq2KVn/TuCnNsGppI/J9OWxCewqXKkY9wSKs0Oza3fT8VBtMf6SLMSR7XHT91BX2Y+lY6d6Loi7OqH8rHgsD9tVPGLk0zjzfQCkjsLl5jt/YlhX31LyI+rIZKZer7dacc0mPbWD71gkUxduMlB/KdrsdpQ7Gb3AbI9iE0DqNf7kSOh0dCbHc5fVn9hin7dz1G5gN6PsxB+ddJqz9jYqAN6t6fz+2OQvw/GNZ+xtFYfDGm18HNqUmSfC8z1/sooLc3+NzgwjR1l9i7i5/dTxqBrVeN3SdoQP+bpyx9roqkJXpF709YXKV39HJuzn7hS6IGi3hxuN7fJ+bAujo+00F5RaNeKPV09Y0eJsMg/fIpRVh2gEE/BlkYHeLBj9t81RTZdCEZMe9vnxsEpX7ahWCrLs+JGdN3l/xFgaB/ruigub9r1yzxcuNmh4zztUJOP1lGo557VDSj0murHFx/wAmtCMfrJNV5Nu0K3+b0VfVHvFpgI+9+slJ0w0CGdCXZX9I1Ab+5aqCQevVyaGHtrFlZPaEyLK2fsRTR2/pQPjdsUVJHYzdIA/YbpITbc2MsbP5RPZv3CG19zZr6m9PIV8XoRCO4rv7Q/ZjUCZ1JAUQHNszx8G7wB/Zs0C+2teR/hYuj/1brNV+yzT1q93YnDWkoCR/OXxw/sx6dtTdTPEBvSVpA7jcJrn3NigjUy7I8AVa5vkvPaiTdV/soFZFjTbh6181O8PBq8Lz7yKnG42r3B1dJWpI7epPc/1hTpu1a1c5aetLfdm1S1/e+KCsGFpMjrP6ne9dvuBz+s6KTXbNHKzv23UEn61rJ/tHxVv+AdckEi0WZoDt+A3P9aQaayLbrGMk9NJs0ID/APK4yMfruGgqarXokf8A4TvjvibXEGf1pFJqt+jk4LWhroTz68OAj/rjU5IlX1nPTa2scMf0NqRj9YGo1+9ykHDu1OzoB5hEm0pI/VRmgYKbsrXBnQEgj6b0Jv7ga+O+aLaW0jQKA2tJSreu0dBwRg+iwaydv8f+M2sNp/oblFH7DVYC+25zAO1Se74NXN8/2bVBC6JDkuy3jZ/eFriyrY2uba/jA44qEpQWtCVgJ3ltKAdBAzlKxgDlPyrrIkxYeqQ35zfbW8uJeIbY6kle5h5GOW5IZHSJ4Y30ntNVjWTrUNUDVFk1PLvWobI8l+OmUZsjpWs9dsFbYCQQcniOAI7atabtCiS7fqWFuxtK6gjIbkqTg+bNFfUcPZvR3+oezcUO7qgo0xDt9780ZAmWHUyW3Ikl85b85UkiO6rngOoywvt3h254tGI02XZ3LU2vzS+6bKH4El7isxkrPQrPPJZcJZWOW4rP1sxZyU3XRdyWW/z0m3oYGSkZCpMdvtykhMhsc8cuGRSblykTocTUbLRnaiszpj3KOniiWoowoY49SSzhQ4Y6RPeeILSLuzHeiaoR+SWme0qJeIrXFcTdX8Z39eO6UuJOOLbnIj0k12hBXcdHzH1nfLkm2Kjc0ng48y348USGsd5A8VmWokO8BqMEv6d1MlpceS/xQl9SSmO6vngLBLDnbnB456zRuLNkWty0JdEK96eKH7fJd4rEZKyG1qPHJZcJaX3oVnj2gLuqpLTGpUsqmXS3qVEvMNn0ZSVJBcCR819sJdQeXSJPaeKpt0Xz16yqR5/ZdQp84gPLVuoW+tHVGfkpkNpwe51HqNfHrxHYdi6mSoxbXNbVEvEVsZVEKV/Gd/WYdKXE5HFtZ4EDjgqzpKp+kZTrmVFyVa1xeJTycdZa8RlEhrHeQD2EPiXp8mK3OajJkajsDiG3RI6vn7Kk7jalg9jqAplfctCT6s0NwxJShpthzTepEoU05JPVakEFtsud28d6O54pSrmcUiu6qfZY1J5sqZcISlQ71CY9GSlSQXAkdzrYS8gjksKHM1mq1xTJfsLiPPrNfR5zbn94JSt5aM7oPyQ+gZ8HUeogE0JuHQJS30Q1Jp1aVMGQeMmOCW0FzvxxjufoK7BnNLsNDzbySynTeoAkOCSOEV8ZbSpwdm6oqYc+iUH1JiRNkx27o3FEu/2RQYltuHHn7K07qVKB7Hm0lCs8nGxw4mshFiKfMFDbcvT2owlyK46cBMhY3UBXzelALS+5xCTzPEMAJwa6BKmk6j08d5gyOJkRwS2A4e0J/MOeBQrs4nSQ1qQU9CNO6gASpEjh5tJHxY3+7BJZc8C2rtr4lyc4yiSltp/UViKW1JeODOjqHRpK/rpBZX3LSg19LEN5zzZtLL+n9RALYU8d3o5J6iQv5u+QplfctCFczigblc1CQ50bb9+sZDTjbxwqbFPxeF+sDoV9y0tqpNyBHlHzBjectt2HnltlIVuraf57g+apW4T4OtHPpUoXphQJpjolXuzEMSWlndVNjKG4CrxWlJQrucbSe2kVwGXyu1tbzlvuQ8+tUtpWFIdI390dylBO+O5xtQ7aBJyalafhOWlTDTv5Dd2gMoSvml7HdxDg+it0dlNXVOwQenQJEy0/Eup5Lfhq4DHeRjdz2lDZ7acOz0K/xnJSphiR+RXZoJyhtwcQ7ju4hwfQccHZimb/AEsIfHJEiXafiHUD03oiuA9ZAG7ntLaD28QYSFeYfFg9OYeXWgTnpoi+YSfDe4d28jnimoQ22oIdUVtNnoFKP8g4eofUDj1BI8KXf/IOoD0xh5caB49LFXzCT2gb3Du3kDkKQYabQ8lt5e8w2fNXF/zDhwhXqB4DuAoLro+SpmUwZrBMV1aG5uBx3UrECYkfWjTUq/RSeyu0PIdsKpXlB6cKhvCLp+bqJzhwS/NLPTD2OLcFci6FlOS96HKYT5xOQYu8ocG5K0u2p32lx6A962wa9AfweemEI1ptBvAX0zUSBbbdGcxjAdDstxPhjpWRjwoO36KKKAooooCiiigKKKKD4TgE15d/hPPKUkbRdXRtgejrilEKO4mVqqc0cpQU4UGCeWEAhah87cSSMKFdf+XB5U0LyV9jE28susOatuQVDsUJ0b3SP44uqT2obB3j2Z3U/KFeJ1ykP2mFIg3a4uL1VqZzzu8z3Ul59tK1b3RBA4rcXnJTwGTg4GDQS0AMXvUdtQu4KsOmIaBGtIiRTLuElIOFORY/DecWQrDiilIPJQIJrovT1qnbMbSt2ZMtGxSLcU9N8LXqQLjqu5oJ/OJBCiyk/ObQSDwCu2qLoLTX+Dm1MuXG6MbKUXBKVNTH0+faruTR4DoWkhSoyFAcChIJPDpMc9k6dtkmAJd10Ts2TFaRlb+tNpEguSlcOLrjYJCFfRW4U8uXKgjnWrNLml3TmhNRa/uqkguaj108tpTqvnBrK3A32ggo8U1r/X2rL8FuN3nV1o03udVVvsSEo6HswVpCnDw+dgU+17qmLdH3GdS7RpupH1cRa9PN7jK/UhrdQB4oUQe2tZSJDRcLdl0fxA6q5i8rA7ylA3gfaaCEuDlgfcLrTN11C4ePnEhG6Cf01Y9oFYQnJ7yt23abjtjvcfWsj2NgCnk1y/LSVyJ8C1I5YjtNpHtKu31iojpLa87ifqt+Wf5NiQ45/VbAH20FnjQtSKb31OwLeBxKm4iMj2rV+6slSXGDuztoDcUjmhmbHYV7m05qIiwtMghRtlyuJHJwwCSfa6r99TUWTFjYNv0lJX3GRJYj/shZoFYqtMSsB/Vc+5KJ/i3pz5PsSADUozaNELwVwbrcfXZXl/a6oVlBut6kYSxpm2AjsfuT7h9yEAVZYEfWL4CmrFZ2R/zZJkD3qcTQRTUbRrCcM6Pvbnqt0Jsfa9ml0z7WwMxdCXBQHLpZcNj7kqqyt2bXzwHRt2+P4s2FsftrVWL1l160nee1GiCkfNt1ua+1SDQQTeon0H4vQqmx/OX9ofYmPS6dS3QnCNIwU/0t+cV+yyKWfbvzIzK2ktxhyI8/tzGPckUxemlJ+P2wFPeGtURk/YigkWrvqGR+b0lYyPpXOa5+ygU+ZOq3lAI0nZQcfJRPd+9QqquXGyj+EbWHXiee9qN9X7CaTTK0g76evHpPfuXO5ufckCgvrUHWqwN3T1mb8TZZTn3vClk2fXy/Qt1ma8U6eI/afNURuLol4f7cXKWPoRrm/n31n8D6CIwqNdZB8dPSlZ9qzQXZ2xa/byVzLfDHhZ4icfrk1HyG9Wsn8o1tbomef5NaWvvQarSLPs/bOU6auzx706fZT+24KXDOjGvzOjr8o9n+LYDY+1+geSLjPbOJO1e3MY7E3G1NH+qkUxdvjCAS9tjX6mb8yP7NFfRNszI/JtDXIjvcdhM/cVUfDjjZAY0ItI73b4wj7EsGgb/DllUSHNrU2R3pTfJa/wBhus0zNNPYC9b3SX4Nzbqv7kinSNR3VRwjScJv+mvq1fssCnKbnqOQeppWy48bjNcP2IFBHiHpJ05Xc7/Iz2iNdXc+8ig2rRRThTF8k9vXssk/2jgqfZZ1a+BuaZtKD9GLNe+9Yp0i2a0XystnbzyzYn1ftP0FTNl0ITn8W7u+fGysDP671Y+ZaOZ4taLvCj9KBAbH9sauK7Frsp/MWyKOeUWRtP7bhqNlx9WRDiRqe3W/vzDtzeP10mgr5XZ2zmPoWYoDl0r0Jr7t6vguAQfidDJSB/KXlhH7Mc09kXCe1nznafbWfATbU0fsRUe9eY6T8btax/Q3tgf2aKB03dbmo4Y0pDbPcu9KV+xHp41I1I8Oppi2EH/l0xw/1W01BfDNocOF7TJ0odu7d5jmf9G3WaDp98gnUl4l95beurn7hQWVmJqpeCNM29OP5qc596xVK07YJOlL9P0Re4HRW++By4WRro1tMh7GHoqd8kgKRkDJPEIPPBEp5jpcgb798ezzzb7gsH9dQqD1fpyzTLOpywxLyzf4q0ybfJTbS0UupOQCtbmQD6j2HsoJdoS7pY0ojq3dSaacZMeW8MKdaGfNX1cs/KYcHqzywHMm6x4b0HVDYMSw3VgsXJhI68ZAcwv9OM9xBx6C8Y72KdUNXa3WnX0dsuJIdj3i2tp55A87j478fHoBOeCsHufNw2LbfX7QSmbatQ7rsN94/FKlFv4pecYCJDQKFHHppPDuBI2dvzi6aNnrLyJBdkQEMdiyAqRHb5+kkokNjvP6yJuEq4Q4t8jM+fajsjoZnN/JmZRhJPPKJLJAJ5dIkcyeI1Hm3CyLtaV+aXvTpbcgynfzhjBZ6B05zlTTmWVj5quPcVJd3Yach6rTvs26W25FvMJr044Cvj0Dmd5lwh1B57qjjhzBRkRId0bMXcXpvUqWi1If4obeIKY7qxxxnJjuDnwB7eLZEaY9bXbR5wmBetP7si3yXDlSY6FncUo9pYcJbV3tq4+OfwSyJlx0jMzLi3AuSbeW/RU6pO86y2eQS6jdeRxxvg0mJk6fAj3eOyJWpbC6lqQF8BNSU4QtX0X2uoruWgUGbt5jsPRtSpUuLbJiFRLzFaTlUUpXleOfWYcIcSccW1kcQOOCrQlRm6Tkuvb/AF5Vqci8VDk4400R2jKH2sccEgeKzS4kS5MPsFtOmdRoaw88MpZdOUsurB7jvMODPLdJxng182lrtz1oVLEC8WHEi3yV8VJYQs4JPaWHCUK721caD67dS8hnUhjLkTIu9DvUJg4D6VAKc3QOxxAS+2RyWFDIJFZKtMdTr9gdQZdru4Mq2yEqwFOrTvFCTw3Q8kdInsDrZ9g7eI8Z1jUYLkW2S0qiXiK0MmKpKsrI59ZlZ6RPe2tQGQKwVaQPO9LPuupdQVS7U9GPWSMhxbbZHMpJQ+124KkjxA86lyGkXpMNMy92o+bXFjO7580sYzjueQnPg634mvjlvjPOrtKUplWS+p84t8gqx8etPBOfk9MlOD3OtjvBr4u6dIlrUqozjj7G9CvUOPwC0kBThQB85OH2yO3eHDIrFy0NqXI08sLeiTt6ZapTKsddQ6RSGz2dIB0yO5aFDvoE1SpLjaLuuKZd0th81uTSThUxlY4Kx3uJTnwda8TSTluQsuWhouLjSx8IWicyrilZHSEJ7ioDpUjsUhY5Gs13FSktX96M45Ii5hXmOzwLqCAouJH0kgPI7lpWOZzSTtv6MO2Zt1xDic3G0S2TkAZDigj2lLqR3FxPDBBBJc9pwpuUjMeJM/I7ozjKGXhyc+rlW8O9t1XzcVHurdiJC30dNJtR81kpHpuxVcEnxUAnHippJ7afOTI8paZjhDEC6DzS4MLHUjyQcA+oKVjuLbo+bwjHn3IwTIko6SRbj5lN3T1lsHglRHaoBPH6TRxzoGb2IJLeem8zOQDx6SKvu7wnJx3dQGsrdEadlNxpTmWSrzB1zuad4NL/AEVYHspB/wDIwEOkueYq6JR5kxl8sd4TxwO5KRT6xWv4Slt295WDJJtJc+apwZiuexYSM0G0tIR2NTWlZQ2Wrslr4QSzy+ObYd86z65VmiqH+UGvSz8H5AB2X6rvaUbrd31ROdaI/kmyllA9QDePZXnno2M1JuFsv9vHRMFtV0lqJxuB1qLJfb/RkRbqj1D116h+RjpVWkPJg2fRXU7r8u3i6O5570papPHxHSgeyg3VRRRQFFFFAUUUUBUff79b9LWO4Xm7TGbda4DC5UqXIVutstISVKWo9gABNSFeZP4U3ym5GpLxC8n/AEXPR08laH9TyWTnokcFojEjww4sDj6A7SKDk/yjfKEl+Urthv20+5pV+J2nVGFpy2O9VKgFdQqHzlE9Io8+KRyTwqmgbVKYmo1HqG8N6NXdiHG7mY5lXiUg9kGMASgHkHMA5AG+niKqz4i3G6QI0a5x7LpS1jzeNOfbLqnneHSLaaAJdcyTggEDIPAmuidA6auek7c/fbPbYGg7S+ShevNeLRIuss44iPHWS2hWPkfGKSOXGgsukrJddOQZN90vo+3aFtjqt1zXe0N5Eq5PqPyw04eiDiv5NanMdmeVU/U9501dnVv3LUeodql2aUd1tsrTb2FdxUoJSnwTuKA7OFOpkrSM91ExhvUu16/L6pu11UpEJH0WVO+nxHIIR9aoPVV61SxHDU1+z6IiYIbhw0jpynxUv4wEdyaCvXO4XxEZXwdYLXpiAob3TSMLcPiM4QfWnHqrXl5mtuubtz1Yt7JyWoyyePglAwPeKWusqxyXlGROuGopYJ3igKUkeOTgH2pFRqJjnSdHA0+2kq4J6d4gn2I/+NA3bbsSFZZtk+f2h1TAGT/nD++pS3S5ZXuQtOx0g8vOJas/qtppRiLqNwAK80t3bhEYBQHrWR91fHkLbO7cdZGP3tie2yf1UDNBY7fE1O9wTCt0Yk4z5itw+9ak1KLtupo6R51qRFsbPYlqHHA9qgT9tU6I1pSQrD92kXJQ59EJUrPs4D7Km4MPSLIBbsN0f8WrOhvPtcUmgdrkQ0HE7aatXehN9GPcyKzYVouVxd1W9OV2luTcH8+7ApwzcocX+A6QuSx2dNKjRv2d+nrWorkcBGj4yB/ym+qP7DQoEmrXoJwdYXCWDx/2ilvj3rpdFq0C0R0dgubuf5PTiUftqFOG71fnT8XpvT6B9O4S3D7gkVIRpGrXsBux2FP1IMp/71Cgj0p0cz+b0pfnD9C2wkD7XqzE+zND8n0beFf0i4TX3KVU63H1sv0bdaWc9qdOufep7FKps20F382/HY/orHHTj9cqoK7+MLjJxH0PJI73b4w39iWTSo1NdV+hpCG2P5+/rV+yyKmXrJr1sHzjU64ifCJbmQPb0f76i32bsyD55tOXF48c3qFH+4CgGrzf3z8Xpawj61zmuH7EipBj8a38dHpuypH0Ysx/71iq89IgjPnG1pxzvH41hX2Nmmi5WkldV/aB5yfC9T3D7kDFBekQdbLSNy0Wdof/AOvOq+1T9Kixa/cGUJgsDvbsTKf21mqG21oV/A+GpMzv6Nm4yM+8caW+B9AqHWh3CT4/i3IV9q6C2yrXriOMv6lYt6fGBbWsfrINRMt66tcZm0+PG9Vytsf9lIqMbtuhWuLem7u54t2FhvP67gpwHtLtfwfSF9URwG/FgND+1NAi7c46OL+191Q7m9St4/6MU1VddPOKw/tMflHu+Gprh/qJp8bywyT5tomae4uXOMz9yFUJ1JcuAb0ey33dPqDP7DAoGiU6Sf56huM0/wA2u6P/AHilU2vRax1hd5A8bLNc+1Zp4i73x/g3piyAdzl0mOH+qgU/jjVLw6mnbMgfQizH/vWKCENl0KFZ+ALm+e8WFtP7bgrLzbSDAwzpC8rPhAgtj7XjVmRb9aK9G1WlrwNgdP2qe/dQ5ZNd7pUHYkRPzm7NGT+2VUFX87tjP8G0VOVjl0smG19wVX1N6kJI6HRaWvFy+tj7Ex6lZjOpo+RL1rGhD5pbtjP3ozUU/MU3kP7VWWz3NX2E2fcgZoFU3e9u/mtM20DsDl4fWR+oyKetfjI+Ru6atQ8Qqa7+8ZquuXWz5xI2nyHz3fD0hf8AZpobXpiQf/vLPmn+bk3R7Psxigt6LdqtQ4WW2IP0rTJX+08KzNl1kRkRbZHA7U2UJ+1bpqpCBpNZ65u8jwNqmuj+vXw2rRfM2O5SPH4DbT/aOCgZQ48rQWvjAucmP8Gauc3VOBLaUxJ6TltwNoOAkkgEcMhSu6nrVsVItdz0pcFqhLgNuS7eUHK0RwsF1tJ7VR3RvpI47vDlyj9S2LTV3sE+BB01d48h5ohl7zOGyEODik5DxIGQM47M0par1O1Rp2FfGGSnWWnpKWJqFHO/JQN1ClEc0vt/FqPzgnwNA9lXV+VFh6pbZ85vlteXFu0FA6j7m4A83j5j7QDieGN8HtJFOGmo1sviWWCh7T+pEtKYlPdZCXykiM+occBafiHO3I8eOLk+JbLhDv0ZQjaXvkdDcheOMdsq+KdUOW/Heyg8xuEZ7kops6Sq66MuW8oqL0i3tM5yO2TGR7d19sYzx4dxBNuHIk2iTYXJBgXOxp84t8lRy43GSvqqz86M6Sk/QV7aymXloeaasLS0MKDkK+W9nOUccyW0445Qfj2+OcFWCOzAz5lyt8a9xGhK1NY3g1KHyZStzCFHnlEhkgE/PA78lyh6JbrqxOjuoa0vqFtoGQsZDCuUd5QJ5oVvMuDPLdJI7ATNpYamzNNSUee2+7b0m3uJOELeUjK20q5BL7Y309gcQe0cEkvXGdCauEdpLuprA4hCy71fPEFO60tXg62C0vuWlPdwx+DnHIE3TMyQuDLtaVybe63kuNsIXlaUngSqO51k9pQe7l9kXZK0xtVGMtbzJchXy3s8lcAZDaRw9IAPt+IVxHYCyH4kOa1Lacbb01qFDYU48M+bOglDTix9BW8w4PmlJOOxr5pKMJ+zLlmDebF+U2+QvipLCFHGTjiWFkpV3tqyR3ORbY7U+RYnm0zbTex5xBeUcNrfWjO6D2JkNj2OI9yDblwlQmpTIbVqTT7jYy9wMtogpaWvwcSCy59IJPZwD67dY7C2dRAuRrbLBh3eK2nJiLSrKiBx6zKzvp721EchSDttLaJOm3X3WJcYqmWp9niUpSQ4tCD2lBKHW+9C1AeLlMiHFlszGXm2dN35CEuKeAPmzoO42tY/m1bzLn0SknwadDLRCctfnQi3qwq6eA65xPQoXgbx7ehWS2rvbUCc9gfHLo0C1qBxLrEd0GFeY7Q6rSgd5S0j6CiHkHtQpY5DFIuxHYaHrQmUqPOtqjOtj+N5PRg7ykjvSgqCgO1t0jspZVwiokM3QO+bWa7JDE1laciI8lW7k/0Titw97bg54zTdTcuIwqEl5KLzYlh2KHRnpY4UUhKu8IJLSu9C0mgQW4xOcSpBSi23odC7Hc/iJSSUhJ9SiWj3hTZ7M1GPSVJ3JspJ6SPmDcFA+kg43XSPUAo9xQsCpCQ3HmqWw0Eqtd7b6RnJwpmQARuHuJ3VNk/ObR2mot+SHi3Mk5bU5mDPB9Hf4brh8DlKs9gWugZOAxcJfIX5orzV1Xb0KvQJ8Bj2hFT2mLJLuziobStya807AbPaZbKDJhn1rLZQPFVV0gb7aZJ4oJgPnvSfQUfH0QT37xq36OMyMBcWgfO4bSp2P+VWt1uQpXtjdKfUDQbUUj4BseqYrS1eb3OH55bUo5BuUsvNDh/ye/H3mvZvSFnTp7SdltSE7iIMJiKE9wQ2lOPsryT2V6aVqvUWhtNqYCirWkezqVjiuPElupeTjuTGt8avYOgKKKKAooooCiim9xuMW0W+TOnSGocKM0p5+Q+sIbabSCVKUo8AAASSeWKDSnlj+UzbfJZ2L3PVDy2Hr9IBiWW3vH+Ey1A7uQOJQgZUo9wxnJFeGN3vFwZhXO5XucJGsdWKVMnT5iyksNLUSSsgE5WcndSOXLlW5PKx8o13yq9tt01Y+SrZ1pLei2WHjAkgK4OKB+U6rCjnkkITjtOrtB2y6atusnVa48BlDSgqRfb8Ept0DsTuIVweXgDAVwOMBKuZC+7JNHTLDafxhgMW/TNuaSGjrjWKEEpXjO7Dir6u93AhasdYJBxi/W0aduMtmZZ7LqDa/qJzgq/6iUtqJkfJYSvK3E57UpbI8ajtNQbTdbhFm2KxXfbBqNQKPhq+KXGtrJHyY7ZG+tPfuJb3ezNTOtrxdG8say19DsLSeo7ZNNBLaGf5shGStXi6Qvu7qBnre+ajZaU1qHU9r0ihtIC7TZAElpPctQBWrI/lQBnurT10mafbW4u3wJ98cUcmZM6iV+IKt77MCpqZdLKw8G7DpiTL+Y/cSQ4s/Vzv4PPO8fVVbu9zvrmVSpsW0DkWYwSgp9Z4KB9YoGzr18eQCxb4dqjq9BxTe8T9VSjj3GoiaHkjFw1KI6DzbS+loH2JBJpm+LQp1ZnXZ+a8eYaC3iT4jKf30pGetzCQYtmkuq7CsIaHvPH7KBWKxpp0AqdlXNWeO7HdfB9RUcfZU1Ectkcfkenp7iuwqQwwPfkn7KbQrhdHlBMeyQGj/PSHHj7gMVY4kPU76R0aosMnsZtqQR7XFEH3UGEa73NeEs6ahN+Mq5uK+xCBVjtp1TIA6K02dkHkUwX5WPapSajF2u/NoJn6skwEdpEiPEA9qQKZra0+nqz9dNyj29JfXnP7I0F5j2fXTnBuUzH7uhs7Ccf6QqpV6xazbTmXq2VFH0RCjAe5AqkRmNAOjC7omdnh8XElys/rDjUkzA0C0B0VumPeLWmXE/aRQScqLKbP5btPkMDuXqZhke5JFR7vwCD+VbR0vn6epXl/2Zpy0vSLJy3p+9uY+ZaGG/21il/hi0sA+a6Uvyj2dKYbGfctVBDg6FUrDurm5JPzZ1wf/wDhTlqDs+cH592Xn5lolyM/rCnp1RJQMMaMkqHfIvzSPsS0a+/jHd18E6RtjYP/ABi9vK/YbFAi3atBNjLdmnun6GmSj7V4p23+KDCR0emb64foWuI3+26Kyj3XUTpHR2DTjfqelvn7cVKxxq98fF2yzNq+hY3nftLooIs3a1NfwbSF5UP512Gz9ylVidSykHDGind3vfv7afsSyanvg3XTp+LVFjcOAZsCEftqVQ5YtoBBU5f3o6P5u3wGgPb0eaCDGo7wrIRpS0t57JF7fV+w0KdxrhqN/Ab05p9J7N12Y/8AfisZcK8sg+e7RpMTvBvMSNj3AYqJfNrSPyvakZHeF6qK/wCzVQWllnWDo6lms7Z8LHId+1TopcWrXbp6iYLGeQZsDaf21qqhLXotZw9rNEo9wudwfJ9gGKXag6CeGenkTvFFomScj9IUFykWXXjPF6/iEjvFvt7QHtU2TURLTdGc+ebS0xe//G8CN+yBUW3a9BtcW7LcHj9DTfR/asinaFaUj46HS99We9NvhNj+s9mgaPTbegHznas693j8Z1LH/R01EnSTyiHdbOTT9C53J7PsSMVJqvUZg/kmj7i4Ozpp8Vj9kLr4NSXNacN6PZb/AKfUBV+wwKBk3C0U6MmVPmeKbfcJAP61K/A+huYs9wkq7xp3dPvcUKdN3a+vKG7pywoz8+4y3T7glNSMZOqXvzdmszefmW6TI/acFBFIZ0iwnDOl70sj5tuhNj7Xs0G4W9ofkuj7iru6WREZ/Z3sVYBbdarACI9vY/o7Bun+u4awes+uGkbzl5EJHeLbAbHvUg0ECL/PBw1pBLY73r6n7kMfvrJF1vjxATp2zAdy7nKcP9VsUrMFzZJ892ioid/+M4MbH6qRUU/Ntbf8K2nuv94/GNax7ms0E+wjUj56lhtSPqRpj/3rTTxNu1cs9S3WtrxFjXn+u8apnTaUePW1Q/NP0Jtyez7AMGl02/SDg66bhLHZ/ieW99qxQWp+16xaRvLnRYI7xbIbYH6+9WvLpJ/wfa0Zv9yvUe42+9qFvvSI70YLSgpAbdDbON0oKQd4Jzkc+txnG7Zo1viiwXF496LKy2f+kcFYXGNpuZAkxEaWvBQ+2psktQ2SARjIIcUcjnQOmbc3CvVy0tMAlx7mtx+HxAbVK3Musg5wESGSHE8cb3iAQ1aE27WNLLK+i1FpxxnzeW6MKcaGfNZBzz+Uy4PfyxURpV+dqXRz9gnPCFqbTPRpQ+VfGCPnejvgjPFpagDjhuL555zM68pWmBrNEcqW2XY13tiOIPD8sjY8R8cgHuOOHIM5l2jRnoGq295m0zmVx7rEQOuw3v4eTwyd+O6QtJ4HdVw+kJtLTNxuOlJiPO4txU5IgbpwhTxTl1lB5BLzZDieOAsHtHBViK1ab+5bUlEm06hKFxZL3Foyig+bun6LzeW18PSB7+LFqE/PssmxPSVQbjZEh+DKJ+MTFSvqLz86O51T9A8ew0GTb1xuVtZmRghWp9POtDpXRjzpOMMOq5dVxGWV9u8ByxwXVNh26bEvbLwi6cvTKW5WRgxd1eEOEfOYdyhX0FDNIzbw2Uw9X+bqIT0sO9W5rl3ymRy7unb4/OwR2LIgtQ7rIsikIm2u+Hp4TrisNLkqQd3j2IkNggnsWk8KBubOC1P0lNW6zJj9JItpYzvoQCFutI7SptW66327qsDgaHrm4+0xqZEPzm4w1LiXeE36L4KR0qQPmuoCXUHlvg9p4/G03CdbAw0+ljUWnltLjSHh1nGQSGHVd+Dllwdxye45PXKJGfi6ibW5Hs1xaMe5R0DrRd1eFHt68d0gjhxQvtA4h98xYbnO2jcbm2a/gPwnlqwhT609Tj2B9Awe5xPbwy1S9cH4jctpLbmoLCtCFdNwMtkgpbUr+kQCyv6SUmlFWdGZ+lJXSdJlcq2qZPEclutNnwJQ+34EgduUnbmt9pjUZiF+bEKod3jNcn0lILmB3OoCXk/TSRzPEMwiOZaWmeicsOoUpUyXeTcggpbCu7e6zC/FKDzOKZLeliGiSG0v3ixrS04hfBUqOQUJz4qQC2rn10JNLrtbSnpViW2JFvugVLt8hCsAuKTvEJPZ0qB0g7loPgQ0duK1NsXx9hTkqGVQrqhvgXWyAVLA7d9AS6O5aFDmckG0uG08t+AxlUSekT7fIQcFK8BRA7lFIC/rNqqNfkInOIdXhtuenzaU0RwTIB4EeBJOO8ODup7KidAJNsbdUh9hRn259PFOMhS8eAUUrA7lrHYajJa0XBaujAEW5tFYT2tPoyCkerCh+inFA2ZT5+60h49GZAMJ/P8AKj0F+s8/0sVtHZxd0MPxZEqP+TSHIcmXkYxuPm13Bv8ATZmJUfUnNawiMuXl4Nt9V2c2UJHLclN8R7yPbwrdWkYUO8WCa42QjzuO5PiJxzVOtshDiP0Ljbow/wA4aDprySbGud5RuzRhSkr80s8rUjwRxAefgxmXc+IeL/P5x769Ma4N8gXSCRtr1xdArpW7FYINtacUScqmOuS149QS36t4V3lQFFFFAUUUUBXnD+Fa8qWTAgxNhWi5bbl9vqUuX51peVRox4oYVj0S5jeVniEAcMLrsTypPKEtHky7G71rW5lp6SyjoLbAcXumZLUD0bQ7ccCpWOSUqPZXg1eNS3vUE29ayvj7tx11q59b6C2MupQs9ZYHyc+iMcgBjtoG0i3u3O4MaWssdiVbLUnekuvvBqMpfNbz68jCQeGCRwHPlW2NF2y1THIph2ubtUvraihrfSqLY4IxyaGMuK7w2kYHELNa70dabREaSzNZd1dcWSkt2W3qDcBlXzpD3JSvABRPLKcVsK+auuy4DcS93yPpy3oTgWWwDoW0I7nFZ3lk/TIx8kigu+rr7cAz5rrHW8a0RUDo1ae0wkMstfzStw5WrxcUF8eHCtdSNTW+Eotae04StIw0uUCpxQHaoc/eF1Vl6qhMq3LTaypz0WipHSLV6yefuXmq9Pu1wlhSX5TbRPFSN4r3PWACBg/RBFBOXm+3OZvJlXVmOFA5aYUN1I7sJzw9aeFVdx20oUnryLg6fSwnIHqJJz7hTV52AhYHSPzlkZKjgAHw4qyPHh6qyj3B7fCIVuZyeAU7lxR/R4j3UDxu5FAIi2hB8ZL5SPcn99TMVm/vJSQ3HhAjILcTGf0lEA+6o1uLe3B15ZhJ5kISloj9bKh7BSSolsaV/jC+NuHmpK5i3Ffqp4UFidgXFKAbjqR6I32gym4yf6oFItN6UCwmXe25a/oyH5JPsHCmsH8WmyCxGkzD85i34P6yuHtzU6xeWmEhMTT897uEiS0wP6u9QOIMfSLSgpm3TJR72LMU59q8D7anmLpaY6R5rpu9LI+eIrA+xZI91Q8W+3XeBZ0/aY575M554+4JAqfgTNTvgdFGszJP8janHz7ysUH0almfxOjVLT3yb6lP2Ja/fSiL/eVDKNLWRo/8ousleP1UVJsRdcOj4q4mMD/I2VhGP9IFUs5pzXLycu6juTae9pMRj9lAoGUW6akkEdHZ9Otn6DUh/wC8ipJpGsXvzcW1tZ5FnTy1H3l391REqw3FveNw15cGsc0v6iQyPcCKin4OmkcJmuYsg9u/qV5w/wBRdBc02vXzg6k/zfu6GyxkfthVfHdN643SqVqi4RkfOSmHHHvSgVRkNbPlK3XL/ClHuBmST9qSDTqPD2eZ3m2FPnvj6bdcJ9pTQS0u3yGT/jDaVJY70v6naZA9iSKjXmdMpJEvX7EgnmVakkO/2ajTxhWj2iOhsd6X3dFZG2v21JpyLxZ2QDF0xf1KHLf8zZB9zivuoIRCdn7hwvUDEsjmEKnSc+8cadtW3Z+vChDfkqxza0085n9JSaeL1PLzhjRkhY75N+bb+xLSvvrBN/vK87mlLO33ec3iQ5j9RsUCjDWjY5+L0/eVj+ZsjLX7a00ubnZGUjzXSt9UezpEwmR9jiq+xblqN7ARZ9Otd4Q1JkftKGak22dYvDLMa3NDsLGnFH7VOn7qCHXqWSnhH0bJUO+RfGm/sS0r76+C/wB5cHU0raWu7zi8yF/sNCp1No2gO46O5rjeDNnhox+uhVNJ1k1S2c3DWk6FjniZEi4/VSMUDaPP1G9gIsenmz3I87kH7SM1JNM6xeT8Xb7U0O9GnnVfap2q3JjQ0EidtMUs9qXtWAn3IVUc7+JZUBI1exJX3fCs6Rn2JyKC9iza7cSSmaiP/Q2eKjH64VTOXa9UxzifrN6EO3LkCLj2hAxVWag6Bd4FSpvi1ZZUrP6yaeMw9FMY6KzXNz+i06lr9tQoFJXQtrImbUnOHNH40tpx+i2ajHX9KKViRrjztR//ADmc8T7EZFTCZen2R+T6ZvrhHaWITI/tSfsrA6ifbGI2kJS09nnF6aZ+xLSqCOaiaJf4+dSZ3f0dunSc/rCl02nRKTvIs8949yNObh97hFLG+3h30NMWprP/ABm8Prx+o0KdxZWoXvzVnsLY722pUn71igbpOmGBhjTN7WR3QoTQ+17P2Vgq8pZB810jMOOXTXKOz+yhVTiIer3hlqJb2gflN6dV963TWS7PrndybqYqO3ctkFrHtWgmgr/w9dXCN3S8Jr/KL24r9hkU4jzL7J9CxWNP1Hpj+P2RX2bFubRPn+0B2H3/AONokX7EgVESpFnT/DNoqpXgrUjrv9kTQWdqHqpYyi2WxA8LI8vHtU9Sps2tVAqS6xGH83aIyMf6TeqlIRpB05N7XO+obhJ+9PGnCLXo1fWMGXIP0dOuHP6TmKBhrNu66MvUHW025RrpLgbsaZCWuIyqRDWSFo3GgnePW7QeBzyTU+joLNqNvoHR+L2okspRNV1ghw/wSSeP+ZWCRyHeCW6WNKtJKU6eu7ySMFKLbEaBHd1nRUBo5hEuBdtB3NqUlLCHZdnbeKS87DUT0rI3SQVJI6QAEneSccOBCZatfnNuuWkriVsLiockW9LZytLG9l9lPeplwb6Mcd3lwyBk/cZk6FE1JFYEjUtofLE9gHqvuhOFD6khnBBxjfHeeOJlT7xao10ibi9VWB9CHXTyfdSn4h08eKH2uoo59IJ9YWk3GHbpkHUbKyxpq7xg1MQngthkrwF8uC472RnBwk+sUCiXYlrvLEuO+lvTGoENJMpQHxKj/Bn1AngUKyysE8gM+DNNqD0K4aVnLdjvwkuSLeWslxDIVvOtJ7Sthwb6O3dPDhwpdq0NszrlpCe15y3MW6/CbTwHSFOZEdJzwDiCl5HEDPb20i29cLrampUZSPxn0+80A+5w844fk7yu9LiMtL8QO7gH165Pyo8bU7MMSbxb3FxbpDQeq+op+NRj5j7eHE8MbwPaeLhtpmDdfNmVtPaf1EG1x5DvFAfUkhhxQ7A4kllz6QB7eKT1yhwJcTULTimNPXdnoprSfTjoC8bx4enGd4cvQV29qZs7YcuOj5ra3kul2Rbw3zBICn2EH6QKH2/H7QQQ1LkWxy2+dea3qwlL0J9fFXQIUQ2tXeWVktL70K40O3SKw/HvyVrjWu4oMa5Rx/vVaV9Y9vFl0gj+bcPMDj9cnTZkOPfWI6JN/s7nQTG+QlZTgE/Rfa9y0jnzrMIZZuPQMqaesWoEtrjuOjqh8pIZKh3LG8yvtyB30DF23lpqZYHH3I02CVTLc63zbQFBa0p7+jUUuJ+gsgcKSeuTCno94UVRoc0GFcmR6DDoVxP6DhCkn5jiuwYrPenfB6UtOJ+GrA4joS7zeZyQ1vH9ZhfsPrwX0D0oCOULs1+aTuJc/i3wCEJP9dlXqR28KCLeTIhx1xkqBn2ZzpGUL/jGMkBJ8ASpvPzVJ8KjZwSovtR8hD4TPhuDsVgEj143T44VT1+W42wzNfb6WRbVeay8ek6wRgK8SUDj9JuoqUkwemaaO85Cc86YAPptqOVgeGSc92+KB1b1vOuPPQh+UBoXaKE/yjGFLSPHdB+2t5Wmw/izPtUpoF+HHuSFtNo+VDemWy6RRjt3m5Mn9RVaf0pLbst0anpbDzFtlx7mUfPhuLDUhPqwv7c1v7Zi85bJrNouSEyHLMFNSXF/JRbF3WKk8fmtPxB/m0dwoO7vwdlsCtD7QL7jIuWqZDDTnzmIzbbLY9QCT9tdaVoPyE9Ku6U8lXQaJKSmVc4zt5dKuZ86eXIRn1IcQPZW/KAooooCvhOBk8BX2uT/AMJjt8c2F+TDd026SqPqHUzgskBTasLbStJL7g7RutpUM9ilpoPOvy5PKMPlWeUFKgRn0jZrolTrUdSHCW5SknDr5I4HfUnCcfITnmTXM8qXFvl/lXO4PSGoLx3WIrH551scEpAB6qfDIyc86U6Eaa2XxmkKCZ13eDrmRnCBxAPhgJPrURUMy98GgoQn8pI6yjxWT/q/f4UFxXqaeiEI8botOW35LMYZdX61AfsjwIqAfvEJlw9ElchfNTjh3lFXv4e8ersqBceDxU486pwjmd7gT4q/uz6hWLc3ILcZorxxUpIKQB3lXMD2gUE29c50kcUIaS4Buocx1x4NgAHPfun102dLLSE+cSVPuZO8jO6hPq5nPeN0H10wQHHQpb8joWjngyB1j68gesgn1GsmJkONgpZS66DwKyVge/CT6ikigfx5wCwiHCbUs8ApaekUfDdOR7gDUiY12cBS9IXEB9JtSg2oetJ6w91RzRuUhoKSFx2FjqqWQ0lQ+iDgH1AGvqIUJlQM64NJTzwMurPqScD7aB2zEtLC/wAvuTTh+akqkLz4pOBUtDmWlj8zBnvEci2ylsH9bH76jIkq2ME9CxMkdxQ2GwffjHvNP2LxICvyezw2vpyn1OHH1QMUEqzeZKlYj2FgY4BybNUfelIxUxBn32TwZatrH+TwFOke3eH3VFw5l9k/mXmWCeyJABx7VEj7Kfpsd9nEGRdboR2pRISwPckCgnWYerZGB8Ky46e5iGyz9pST9tZPaZuKBv3LUlzbQefnN46JP2EAVW3bBaIxPwjdYgWOYm3VSif0d4/dX2MdFx1kCZbnHP8AkkFTyj7Qnj76CXXb9KR/4VqW3Oq7ekvTr59oSpVKMo2dEgKmW+UsfyVuekn3lPGvsO6adZHxMS7vjvYtnRD3rwKf/jLGCQI2nrw9/lElhnPuUqgVjI0S0QWYM90d8fTi0j2EjFP2rjp1nBasOoXO7o4MZof1nQai06muKuDWkIiPGVelq+xDYp5Hv9/JyLNpuOPEyJB/rYoHK9SNN9WNpa7PdwkXCOz+zv0kNTXNZwjRsRs98m+qV9iGhUixI1VJSCyi0tZ/4tYVL+0u/up0iBrxwDo7k9HH81Zozf7aFUEQ1e7+VYRYNNsD6cqU+ftAFSkWRqt8fFxLGg/zNkde+0uivj+mNYrSVy9UXiOjtU3KjxgP1EjFQ8qxxmeNz145z4iZqnd+wLFBY0wtcu+hJEbu6Gwso/tN6hentcvIy/qS4tJ7224cce9LYqlOw9EMkmTqm3SO/eu0qTn3FQrNpjZ24QUuxpiu+PZX5B96kA0E1Nsz7KlfCW0KWz3pk6nbZHuChUTIi6TbIMrW0SSe3e1DJe/s1GnrCtHsAdBa7s6P5nT/AEXu3yKeC72ZkZjad1CtXepERkH/AKUn7KCBbY2evK61yizlZ/i4cuXn9ZPGpBiDoZlILVrnLPPLGmVoHvUAKcOallBX5Po6Q4O+XfG28exLSvvrEXy9rxuaXsbI75F0kuH+qgCgcNS9NM/mrBqBw9nRwIjQ/rPAj3V8d1AhvIiaTubqezzi5x2P2Qulo07UT5wi3afa8G4D8n9pwU/RF1o7+ZMZjxj6eSj7VqVQQn4wXZz0NIwGh/yq+Or/AGGRS0e5X904TZdOs/VXLkH7SmpZVi108g9Lf5rCP5uLCj49obB+2oiXapcfIuW0GZHAGFJf1K2wn3JUmglWG9WvAdFCtiM9rOn3F49qnSPspX4H126MIuC4wP8AI2iI3+2lVUyQxpNsfletI0o9pXf5L+fY2og1gyzoJ4D8qZuGf5K3Spef10caC0TbRqGN/tjraXB783CJE/ZSMVBykWpBPnu0fznvC9Ulz7G11mzG0YwAWLVcnP6LToa+1ZFO/hCyRwPNtOX1Z7MtQ2U/2pP2UEH/AORS1EL1C1OV2hMmfKz/AFSKctW3Q68K8ykSO5TenXnP6ywKeuajkoUAxpJ5Sewyr22j7EtK++sBeLwsgjTtkaT/AD9ykukexKUigzZTpNj81Y7ysDl0NqjNZ/XdFfXLxDjgiFpi6Of08uNH/Z36dxX9QvnLdvsyO4N2x+T+06KepgazdGEFqL3dDYWm/wC03qCA+H7m7no9LRW+PAyb2pf7DApaPOvbyurZrE2T816XII9hKRUlLs+q0JzP1NJhI+dvQomPalAqCloitEpnbRVud6HNUD9ltf7qCdZjapcT8Vb7ckH5SLC4vH6SnT91VrXemNWR2Y+qkrxcrBmWwlEFqOkoBBcSoJwpQ3QeGT299Nh+KK3CF6jbmq7cS50kn7CKctQdHOHe80ffI+W3p91z+ssCgcybxBZctesIyj+L11jFE5lsnKIylYcHDjvx3SFAgAhKvesxATbb3cNNyG25EW7LU/D38BozNzKkA8giQ1xHZvZ7Rwruj3mbZqe6aS82d+B7wtUyzeftBkechA6RkpyoJSsFSO35PDjwlWIjt309KsL8lcSdZEpciSlHDoh72Wne/fYc6qvo5z2Gg+tsS7tYHLb5yYt6sBbXEmO8FmOFHzZ8+La8tL8Cc+Ocy7sJ8x1eiOtTCg7FvFvb44T/AL6Y9aT8cjjnGccOROu63mIOsWInS3CItxi525I6qlgYlR8csOIHSo5jIPfinLQZs2oEIaeR+L2oEs7kxfFKHSPyWQePJQ+KXkjOBx4g0GLUNNtvMiyqS1Ktl9IeiPufmlSij4s8vQkN5SeHBYPCmSGpc2zOW8SvNb1YCh2HIc4rMcKPQOq8Wl5aX2bquPZkatqZVuuGlrgtxh2Chx+AUElxMcLy62D2rYcG8nt3eXDIr7IuUmXGi6nZiCRerc6qPcoifRfXu4dRj5r7eFpOMbw7zxDGVdYjTsTUwDjNvloXEusRAOWBvfHDhyUy5hxHbuk44CkXLS0HbjpaUhTiXt+VAW33kBTzbZ+kCl5A7weWKeJQ3Eu4jsLbdsWoUtqYfcGUh4pPm61DuWnLS+8gd9RgblO2pcBMjoLxYlochuLPWLAWeiKu/o1ktK+irj2UGMi5KWzF1A5GMibCUqHdWkfxySkdIQO3pGwl1P0kkczxazLe0FzrMcrYlgzoMhs/KwCvdPepO64B85KqeOz4yJcW7odMa1XZHQSmjyjOBeAT4tOnd+q53c4p9mRHivQG3ejuNnd6eJvfye8cJPaUoXvIP0FjwwDR+ciQ9HuLh6PzkGFOTySl3I63626oHuWo1FrcMRLanRvLt7vQOHvZVwBPqHDx3KkJRZlPlLYSYF3Z3wk823Ug9X9tB+qmo5laZMiK5IyA8DBlhR+VySr28x9agvmzCwMXK8QrZMVhmTLd0w8r5rVwZWmI4fBLwRx8K2xe5To0lP1FC4Kuen1NSxjlKmRbQ28PEmS3PP6B7a1VoiFMlWmVIY3kTRZ5gKh2S7U43OSr63QNuY9ZrfmgNJq1FqPS2lU9aNddoKLeWMf7zYuUyYtQHd0LoPqI7KD1o0FYU6W0LpyypTuJt1tjQwnGMBtpKMfZU9RRQFFFFAV47/hqtcuXjbVoXRjD3SNWyzGa40k8A9IeUkA+O6yk+pQr2Ir8+n4QTWZ1p5b+vpqni5Hh3Ni3N5PVQhhttogdw3kKPrJoKHtAiSl3yDbLaC4IcFIWsEBLQBOVFROEDd3esSOYqivvMRgENKTLd477hyloHuHav1nHqPOr9rKzXO7agvbQktQLKwpp+ZMeJQ2CUJShCscVq4ZShIJOSccCRSX5TQkGHYI7rm+dxMx1vekOj6CBkN57hk96qBi830JQ5MV1iN4Jc4HHgkcce71UdNIkJSW0dE0T1VvcMn6KR/qg0OxWbY45507vyuRbQQtzPirkk+8isAZMhYQAI29zCcqcI8e334oFVR2GcKkvLeWfSyrcSPADiT7d31Uu1cVKKWIEY+CGUYUr1kZUfUSfCmhbhwnMunpFjl0p3lH1pHAe0n20q3NkTCoR2lKQOKiQAhI8R6IFA8MaVJWVPvNoJ4kKcz793P28adNKtkYDdeckr+UGmwAD6+OfbioxuP0hzIkoQ2Dx3euR+7+tTpEiEx1UodfxyJO7n2dnvNBKs3RLRBjWtKz/ACkp3l+iMg1IxLldXR8U5GjKPyY0bePvJ/dUIxd5CCBGixoyexSsrV/f9tSLC7vPSAJb6W+XxLaWwP0iP30E0i13e4cZFwuKgPkh0Mj3DFZLsVqjfw6ZBSocxNmFZ9yifuqLFhAG9MeKwOapcskY8eOKXjPafh4SZsQL7EQ2OlJ9oFBLQ5OmI/BqWy4ocNyFBU57iBUyxfbYhsJat95kd2GW2U/11A/ZUQxebclADcO6ye7DSWk/1yDSib4/n4jT7WOxcy4H7UoT++glvh6RnDGmAU/OmXTd+xCP307jXy9E9S2WCKnsz0z6h78VGx73ejjDdnh/0UVTyvepQqUZOqJY+LustCT/AMVgNNj37hI99BJR52qZQ+IlxmuPAQrMk+7eUr7qeptGspnBy/XdsfzLbEX9lANQi9J3mQgrm3m8Kb5nprmW0e4EYqPcsWm4hPnt4tJX2pl3ZT6v1SpX3UFkkaTksgqueqbglPb59qAtj7Fioxy1aOjZErU1pePbv3t6T9iVKplEd0IwrdbmQHFjsgWpbp94QKmY10080AWYN7fH8zawyP8ApCmgax29nJV1ZUCSvvjWl2QfeUDNSkdzSLA+Jt12dxyLGny0D6irAr6vUkdPCLpu8Pf5VMjsfsldIjUdzXwb0jBa8Zd6cX7whsUEk1eLKyn4iw6kWrvLcRlJ97ufspB3UzwOI+j5DnjLvTbf2IbV99fGLzqBeMWvTUbuwh+Qf6xFSbK9XPj8nXBa/wAj0/n7VLV91BFi/Xl381peyM93nNzkuY/VQM0+jXHUj2AiDp1k/wA3AekftLFPTaNdyuCr1PYSfktQYkf3Ho8j30xmaTvjQ3rlq+7sJ7n76lhHuSQKCQTH1tIwWXWY474un0JHvWV1krT2uZIPTaiuTSR2tNRI37LYNVKTZtMtE+fawgPrB4h7UrjyvalDh+6mzbWzwK3FXG2TXB2NwX5Z96kHPvoLBP0++0om6a8mtd6ZepkMgewLGKhn4Wj2jmTq6BJI7V32RJ+xClCncYaMaH5PCuDoHLzbTimx71YFPkXaysJzHsWoXFDllmKwn7Xcj3UEGxF2fOEEPxpqu+PaJEkn2qQKlGPxQYA6C13VwfzNgDOf9IRWT2o3uHm+kX3PGZekN/YhtX30mi9Xlavi9N2Jkd8i4yXSPYlKRQPfhm0MJJh6cv61fzgiMJ+xxRHupq5qWYpXxGkDjsVKviU/1UMn76eRZuo5BIai2Js9zVpdkke1Tgp6iFrd4Ho5SooPbHsbDYHq6RKqCGReL24oFNgsLAPa7OlvK9wCRUhGe1M+B0UKzoJ7GrM6/wC4qd/dSkvT2rVNlU3VF1io7VIlR4gH6iU1BTLbbWzi5a8S8QOKZWqSpXuS5mgsibdrh30JaomeQassdr+0SrFM5tk1K3lVx1dcYIPM+fRogH6gTiqqGtDJc3Xb3AmK7t6VNJ96VA++nsaNopvizDkuHvjabWAf0lBIoPsqJZ0Z8/18iSRzS9qhbh9zbmaYpb0StWF3iNPPckTJh+1BB99TrU2wMJ+Isd/cV2bsaKwP6zufspN6/ugYi6VkuJ7DLu7bX2JbX99AzZg6NbOW7fMcJ45Y04pIPqUvdp+mVYY6fibFfHF8xiNEZT9rufspuLrd3OKdPWZlJ/l7jJdV/VSkU/ivagf4sxLOnhyatTsgj2qd/dQMnb++khMfSshaewyrw219iWlffSYut3cPCwWdkdnT3GS6fclKRU63btaOpIbkLiZ/kbLHa/tEKpncLNfmE71x1dNgA8Tm5R4Y/qBNBXtWaZ1BrGzttxYsONPiOiXEctkN7pkupBwEuFw4zw7OYHdSqdSG92i0a6t0VTlzjrUmdBAwFPBOJMcpxwDiB0iRg9YHtJFYS2rGFEztatS1Dn0mo3n/ALG1moXTd3s+lNc/B8K5tOaa1ClDTzzaXdyHMB+LdCnUpzxxnjggqzyFBbd+NZNQMvsyAnTV+bZQqYcYb3uMWScngUn4teTyAJ4cmke0ocauWjbi0tZw8/AZRne3M/lMVPilWHUDmcjHcfsK1Nn4S0dcWVOBXTSbewnOcE4lxU+o4dQPVy7cEuTr7Y25Ed1KdS2B5pHnKwMOqAzFkHvS4jLa859w4B9My4Xa1x7pFCFansT7aHXFcA+sJ+JdJ7UPtdRXHmB3ZH2RPh2+4xb4y8WdO3lhLclI9JhG9hLh+nHd6p4eirj3EnXSHFfgaqaDibPOZWzcYic7zbJXh9HDjvsOELT24PDvImAmDdp+m32kyYdzUqREUcdGqTuZUgHkEPtdYdgUDw4cAaqtDeLppWaF746WVBDY4pGcyGkeIO48gePDxQkXN56LE1D5qJFztzio1yaTj48bmF4HaHmt1Y7N5PjxyQqdOsyOhdCb9YHWgy67zdb4+buK9Y3mVj38uP1ybFauMO6tP9BZry0GX0K/iFb+EqPiy7lBJ5JWM+IIOxW2p8q1FCJFsvCPOIrueqpzc4erpWs5PzkHvzUTInOpixbk6yXpdtUYszHpPNbo62O3fbwfrIxTlyGpMObZVPKjzrcVSYS+1tvfyoD+icwR9FXdTV2c29Mi3JKuhjXJHm8pr5LToVj2bjvD1Od1BGz44aXMgNLKVZ8+hOJ4gnIKse3dVjtyqmzTJushbDIwLkyXGcfIfTxwPHIx+jX19bsOLxy47a3cY7VMnOB7BvJH1RX2MpcBcpyKN9yAtF2jgD0kBXxgHhzz66DeGzC7xi/AfUgIiT5lmvqlfNZccctF0b/S85T+pXSnki2Ru8eUvstaQ4X/AIP045f5JxykLt8WI4fY4lwfpVzhB0auLpy7NNq3W7eq7oRungYz0Fu9wsHxMKQR45rtvyANMsTtte0bUDSR5vZLLbLHFWB6Re3pL3tBQ176DvCiiigKKKKBvPnMWuDJmSnAzGjtqedcVyShIJUT6gDX5jtq2oH9Ya/vOp3wUO32W9dCFH0S66tWPZmv0J+WXqtWi/JZ2nXNDnRO/AkiK2oHBC3k9CnHjlyvAjaBpZbGibPd0N9Rp0xXDjlvAqRn9VVBY7/YPxvMG6zrt8FaYbitSpklXxm66rqgNtZHSOqCMBORwSSSACapblxevMn4I0rAehRXVFJwrfkyB3uucABjmkbqB2550/061B1fpCDGuc74NZtErEiX0ZcKIy8kkIHFRzkAcBy4gZIwut/e1I4jTejrU9b7SpZCWGh0kuZ9N9Y9Lv3RhCe7toIF+HBsO+2++mdLBx0MNeUpP0ncYPqRn102CpU5YaT+TNcyzHTk48ePH9I1JSrXa9MNrRPlCdc0q3TDgrBbR9d3kT9FGfrUwcmT7yW4zSBHYxhMaI3jPrA4qPio+2gw6GLbVnpC2pwfJyHVf9kfbWInPSiQyyooTzW4rIHtPBNZiFGtrihJcQl0fITh1fqPyR9tI/CBdWRHYKgP4x07xH7k+ygXajqeVvPv9UcMoG99pwPtpZL8Vo46NThHYpR/dimaI78lRU66VJHMoG9j7h9tKJ82YPWSFK7lKKvsGKCRau0g4S0Go4HYhGT7eWfbT1EabNIU8/J3SORX0QPqxjNQ6bq6o4QUteCEgfYMfdThMaQ/hTqnADxw4vcz7OGaCYbt0GGQuU7EaHznVby/ZmpCNc7S2cMuSZIH/F45A/u+2oFpqHEwp55hkfRTlX7qfR7rCQcNty5AxzQnAPvx99BO/DSE4Eezvv5+VKkpaHuTmnca/XVScIjWuGO8NqeUPeU1ANX14HEe1xm/pynSv7ADUhHul3cwG5LDBPIRYoUf62fuoLAzI1FMThu6yUpPZDitoHv3SR76X/FSc+N+bPuLyTxJk3FSU+4KGKgk2u6XDjJnXJwH5Kn+hSfYndrM6ftcLrTXLe0rvnyAs/1iTQSa7RpiAoGXNsiXBzD8kPrHs6xp7EumlG8CPJckkckwLUtX24FRUW5aaY6jc1L7g+Rb4Kl+4gVKov8AALfxVrvEk/T6JkH9ZWfsoJVu/W1KcM2q/SMDgVhllP8AWXn7K+fjHLVwZ0m0E9i5l3P2pQj99RiNQTlH8n01Eb7lzbitfvShIp/Hvd/UAEiyws/8XgF0+9Sh91A+jXy/KACbbp2IOw9G9JI/WIqTjyNXSQDHntN57YNjb/1t+mDbWr52Am73BCD2xIDLI/W6PP218e0XdFpK7je7utvmfOrwptI9gUAKCaNi1pNSC7f702D/ACPQRP2UJNR8vSCmD/jbVEsJ7fhHURQP2xUI7YdJQsiZeLItQ5plXUyVe1O8o/ZSkN7QjJ3WJUV5Q+TbbM46feECgyetmhox/Kb/AGV8du/cXpn2DfpeINnySBHcZfV2eY2B10n+oKfR7xp9rHQW7UD3Dh0VvbYH/SKTSjupGx/BtLXN89nnlyYYH9ULoPsefpprAZtl+d/orShj+0UmlnNQx0DEbTN6fxyEqbGjj+qV0x+H7s5jotK2iOc85d1fd/YQBT1i56idwlEXT0ZR5Bu3OSD7CpwUDZWoLk5+a0hBaJPDzu9uL94Q0mlWbtf1kYtWmow8ESJJ/rKFSbTOtnx8TMUynviWJpI96wuvjumtYykEv6hvbSTzLT7MT9hKcUA1+OEkfkyojf8AkWnxw9qlKH2Ut8B65lpIcvlzZHczFiRce0Ng/bVfmaZgMKPwvq/Ku0XHU5B9wcBqMci6CYXuv3mzSTyxvPzSf6qgffQT07TExkqN21nPaT2ibqMMp9wWkCoWTA0YwcytT2ySrt37u/Lz7ElYpzF/EtrBjMyHh2GDp1zHvIAqRau1kZ4sWbUTp7CI8eOn+s4D9lBDxo+g94FpTMlXfCsLz5PtKBmpNh/TbPBm13tz+htLcf8AtFpr49qF7OI+kpDg75l5bbx7ENq++sE3e8LILen7FHA7X58p9Q9gCRQOHr+w2ndiabu74HISpseOP6u/TU3y5uq+L0tb2e38rvLrn9m0mpGPK1HIA6BuzNq7o1mU8ofpKc/dTsW3W8hOBcpcZJ7GLVGYHsKmyR76CNj3C+rICYGn457kR35X7axmpBDGsZCcsrajj50SwISPevfFNJ+mr0gb1z1bdIqT2PXtEVHuSUiq/Ktulo6szNVW+Uvt6W+uyfsQpX3UFpkaf1e6kLlahuUVHaptcWGB+ohNQUu1wWiRc9cdKe1ErVBKv1UuZ+ymLDGh1Ebi48xXzodlfkE+0tj76lY8jTjGAzbb08ByDNqbj/2jgoIbotEhe6u7QZp+biVNP2oUD76exo+kWBliHLc/yfTqkj9Ze6KfP3xpoERNNXN4D/jU+PH/AGQumpu9zcPxem7Wx/ld1fdP/RoTQOhcbTGTmNZL44od6IrCf7Qn7KhNWiRquwzLYnTnm5fSA3Il3dKujUDlKtxLJzgjlnvqdiTL47wai2Ro/Nbtzso+9bv7qkERNZPDLchyIO+PZY7Q97iFffQVW13OfrDSrFwYKI+rNPyER5C1HP5Q3wYdPelaQW1Z58Ozk9uFziMPW7V7LSjapbDjdxggEkRyrElk9u80vC08jg8OWaiLzDl7N9XRtRXiQ7Ktl2Jg3lLjjQWptSRhwIbxxSEZyBnKRxyqp+NFVZtRy7Gvo1w704Fxnl8WhOCPi18PkPt8DjtyOeRQYtRTadQyrKvo3oF6Ul2K85xaMvc+LVnHoPt5ScA9YEd4qLREcn2OTZXJS4twswS7DfJ64i7+Wlnt3mHOqfonjzBrNuEm5WCdpyW+5HftTZeiO5+MEPfznPz47nbngn7Pk27uvxoWqkRC7dYLq2LlFRyccCcPt47nWwFp4YyO8nIJzbsxvQdVebq6NQcjXaG2OAGQJTePAgOp7xvYx2JuW9DM64WB5oSIlx3pMVeeqt3c66Qf51vrjuUk93B2Gk2++GKy42u0X1LZYfVxSHinMdw+C05bV3kDvGYjoZD9oetyXyxcbKtLkRxXpBneJaJ7+jcy2fonj2UCbs+QqBGuRaD9ytLgYkjtfb3eB/zjR4/SQPVTCZHbMiZb8ByDcUecR3BwBVu/epHH1oPfmnz85hU6HdUr6CFdG/N5LR5NOb+M+HRu5HgF91Qr7brMORDQvdmWx3po29z3Cond8QlQUnwSod9A2XL6ZyLNczvqBgyx3qzgE+shJB7ATUzodtEe9WhczdMaPPFpmKV2RpA3Ao+Ccj3VByEImSXGUD8mubIcbOfQcxkD2j3boqyaOs0jVqnobRIdvVoltIAH+/YaenQPXhBA9dBubQ01/o7FbLklS3VxotquAHynINwkWrGO8RLgkHwHjXoF+DWtedkur9QniL5qqa62rGMtNbjSB6huEeyuGXlw4Nwf1LHAchLZe1CSDwAuFrgXAe1MiLJTjv4dlemnkV6KOgfJY2b21Yw+/a0XN/vDspSpKwfEF4j2UG7KKKKAooooOLPwsetFaf8AJmh2Fpfx2pr9EhKSOfRNhclR9W8y2P0q4N0fszb17s6uen3VIQZsYobdWODbo6zaj4BQTnwzXSv4XC+/Ceu9lGlUqz0TMu5OI7t5TbaT/UX9tV/YzpUx7IwpSTndB788KDzQ0/Le0Jq2VBvEdxptK1wLjFWOITndUCO9JGfZVkvd+f0xa1abscYwW5AC5M5Ct56eD6ICwODfcgc+3Nbv8uTY+3HvKda2mMAp0Bu6ttDmoYCHseIASrxAPMk1z3o/VcgCNFC203KKFJgPuoCsb3Ao49vzSc4PswH1/SEfSaA5qJ5TMxSAtu1skF/jy6Q8mh4HKvAVDzb7InIEeIy3Aicg1HGCr6yvSWfWalYOmn7xIky7pLMKK0s+cSpAK1qV2gDmpXLhy4jJ4jKE6+x7epcexxlxWjw85dIVIX455IHgKCPTZBFIXNWmMOe64MrPqR/fik1z2m1brDHSr7FOjex6kjhWUazSZ6VSXSENZyp51e6k/pHn7KzWqBDRhAMtXzuKG/7z++gbBMuW6A4sn6CesfcP30qIrDP5xQ4dilZJ9QT/AH0m9NkyQUp+Lb+ajqp9w51km0LSnfdyjIzlw7o9ffQZquKUnCAQOWAAgH2CskiRJTvdYIPao7o+3nWJcjx0gIUVfUTu8fWeJH/zikRLcdUQ01x5ndyT76CQjtNpOXHUtp+gnJ+3FOm58VBISl53Hsz91RDbTi1ddwA9yev93Cl95hg8d9Z+kQPsGfvoJlF7dAAjw47I+c6Ss/8Az7aeNXC5SeomatIPNMdoA+/iagE3Utpwww0kdqlDJ/8An204ZnzJOEJfcGexlH7+NBYWrGt/rSVvv/5RJUfsz+6nTTVlth+Ol2+Oe1LSQtfuHGq83bN4gvjfPfIdKsesZ/dT5qRbYHVXMZbUPkR0bx+zlQWSPfLUkANpuEtPZ0MbcB/WwPtpyL+QcRrAV9oXNmhH9VAP31BR71CAw3FnSTzyQEJPtOKctX+aFAR7VBjJ75Lqnj7sYoLFGv8Ae1cA3Z4AHa1FU8oe1RFSLC9S3FISm8zwg/8AEorbAH6QRn7arrF2vjwCW57ccnsiQkZ9hVvfdToWC53JRVLmXV8Hml6UppH6oKaCaVoqS6kruM64vo7TNuiwPsWKbLtWk7YsqkXDTyVjnvPCQ4PcFGmCrFZLaczHbOwsDP5bIStz7d5Rp5Du2mWeEeW7KWPkW23LUPfgCgkoV30m2B5s9KmeFvtC939YgVJjUFvCB0Nkvsk44dKWGE/asn7KjE36Buks2a9SF97xZYSfeon7KxGoLgokx9M2+OexU25OO+9KEgUEiL/OV+Y0lFbHYubeFqz6w2gffTiPetQKwBD05DzyKIrskj9dSabMXvULmNxyzQjyAi2zpD+spf7qkURtZ3Af7cXVCD2xYTMdPsUG8/bQOmV6xkgeb3Dowf8AiNkaH2rC6yd0xq+dnznUF+bT2hqU3EHuQlNRknQc9aS5dbzdHEdpn3tSE/YsAVFPWbRcHhKu2nlqHMPTTMUPYN80EpL0fbo5/wAcajQDnj8JakUPs6UVGqiaAiuYeu1jkKzw3UuzVZ9iFffS0SXolsfkr3nBA9G22J1Y9h3RUsxe7O2n4i06je7tyKywn/pFg0DKNJ0c2E+atzXx3QdPuBP6xAFSTd6tLSPiLLqJ09xbjMJ/rOA/ZTV7UTqc9BpJ9Q+fOvCGvsQ2r76jX9eOQ1ZcjaStw7RKubz6/wBUlINBJuahkKOI+kVqT2KmXpKf6qGj99Yt3e+E5RY9PxR3uyJMg+4kCq/I2zR4wx8P6fjqHZCsinD+spRH2VEzdvLZBB1Zdlp+bAt0Zj7dwH7aDYrEjVEpPxCrY0o9kKx7xHtUtWfdTk2jXExOFXi5spPYzBjRce3owftrR1x2zRHyczNVXMH5Mq8LaT7kE4qDe2pQ1Hqacac/y6c9J/aNBvyfpOajKrxqy4tjtTO1D0SR7AsAVBP27RcU/lGoLRJI59JcnpufYN/NaW/wqSWf4LY7JF8UQhmknNrupzwamMxR3MxWh9u7mg3nFTohPGOA9/zfp91zPtKE1LNT7JHGWLVf3iOXRwmI4/6RwGuY5W0DUkxRLl7nepL6kj3DFRr98uMnPSz5LmfnvKP76DqaXqQN8WdNPlPLfn3hpj3hKF/fUS/rxMYkrZ0pEI7JF3efV+qkpBrmNbinDlSio95Oa+UHSru12HHGPh3TsdQ7I1nU6f1lLP3VHSttzBSUq1fMCT2QbYwz7iGs/bXPdFBuuXtes72fOL3q24Z+SZy0J9wWnFRD+1PTiSSjT8uce+dOWvPr3iutV0UGxJ21K2yoUiMzpKBGbeQUEhQ3hkcwQgce2r9s8vbe0XZy/aZsotXOyNhIeBwvzXeBQ6D3srxx7Enj31z7Vi2f6wf0LquDd2UdKllWHmScB1s8FoPrGfsoOhJt1lTYkHVMWNvX63PqanRk8AqQlOHm8fNebG8MDG8O88fqlMW2/R3474Rp++tNNh/A+LKjmK8e4pVlpWTjGM+Crxj2bULL7T4Gnb4000qQPkhXGK/4FCstqz2Yzw5RrdtaWxdtLTkKO4HZURtIJIQTiSyjxSrDiQOJ4Y8Qbm3tvW656clrW25FDkmGU53m2d745A8WnAFjtweHDNIS7sVNw9SLZK5MdS41zZSPSwN19OPpJAcT6j3mlZFymSrdDvLTQfvloe6GSBzeUlOAfU8yefeE+FCiiPeUpjrSq03ptvolkcnMZjqPr6zZHbhPhQMJUNpEy4WdaelizkmTHWDwUoJAUAe9aCFDxSqoaRPJbh3J9Px0YmJMV3jgCo94KdxfsxTxaZHwUpltWJ1odSWN7tbyS0D4DrtnwpnKW27N6gBgXRkKAPyVgEp+zeB9QFAxfZcity47Qy5DcEtgdpSTlQHget7xWz9ntwa0xcVXdJ3kWa5WnVbCUj85FU8liUj1HpUg+s1rKA8GnrfKfGPN3fMZW8fkKIAJ8DwJ9dbg2X6RVc4LNrkgqU83fNHrJ/lXIa5UDPrdbAHqFBZ5hkW/Z5ftJMIU/JL8awNuJ9LfYut0YbQO/LL6E+pIr2005aEaf09a7W0AG4UVqMkJ5AIQEjHuryU2V6cGtPKA2WWXokmPetSw9XLz8poW+Pc1BXgVvkY8SK9fKAooooCiiig8ifLavjm0jy67vAGVsact8G0NHs9DzhZ9e9JUP0a6C0JpwW/TTat0JAQDWmNcaUduHlu7U5Dycq+FGyDjPDzdnd+zFdPTo7dn0tj0SEcRnsoOQPKImIxIaUlC2ylSVJWN4KB5gjtFeeer7Em0XN5UX+CKX1ADko8M12p5RF+KpsgEhQyezlXIOo5AefWDgg9lBExrwLoyWZb25ISMtrUeo4QMdbuVjhvdvb31N21FttUHzlTKblct7qsOp+Ka8Vg+kfDlVNkQltJDiUktnl4UvBu6o6C26C4gjAIOFAd2e7w92KCQmyp99mhJ6SS6o7qEJSSB4JSP3U7VYWoCv8YO7rgGegb6y8+PYn7as+m7narxBcgQnGrLLeO7vuLwVjA4dIcBPM4HD2njUYdC32QpL0aC+uC5lSJikbqHEg43wpXySeRPPszkUEUZQjZ6BCGAflK6yz7f3DhWAtcuaoL6NeDzW9nPr/8ArU5GRBsa1NHD8wHCzxwD3bx4n2Y7vGlnLi3IUlBJceV6LLKd5R9SRQV82RDJy66FHsCRvZP3Y8eNIOqQwnqtZI7XDkD2cjVyOmpK2+lkrZtrB/lFdI6fUkcB7z6qYu2GI0oqSh19X8q8fuH/ANKCoLW+8D1ilJ7M4BpRENQQFL3j7N0e88T7qmJyfNRw3GOPDvP7/ZyqMXAkyVZ3HD9YHPsFBgh9qNyCFLH0d77+H2VkLi65kBavUOP2V8VbkM9ZwpwOPWVnPsHP31iqSlAwjOO4dQe4UDhMZayC7w/pl/u/+FPmlxYw+NfSj6Lac5+6oQKdeGQkhPLPIe0mnDLQHWW4ABz3E7x/cPtoJ5m6xQMtxpDxHzjug+/H3U7Zv83OGo0OKn5ygXFj28Pvqvty47R9FbhB4ZPP3Y++l2r0+ngy0ywnsJG8f7/toLS3Mu05G4LlJKT8mK2lv7QCftpyzpwODelFb3eqXKUse0FWKqq7nKeTuuXBxKfmtYR93H7axQ/BR1nGVSVd7pK/2jQXVp3T1sO6ufb2D2Jit9IrPqSKk2dQWrADbV2m45FuN0ST7VkffWuxqVyOCI0VprHAZ/8Ahim0nVl3cBSmQlodzaAD7zk0G1RqJ/OImnG+HJyfPP2oQD99LHVtyiN7z8vT1ox2ojBR961j7q0bInzZSiXpj7mfnOE0wcbPHPEntoN3ztpyQCh/W0oDGNy3MoZHsUhGftqvytfabUrMqXfbuv8An5bpB9eXB91asLeKwUnFBsZ7ahZI5xE0nFWocnZKkqV+yT9tIq20XFv+C2y3xe7dQTj7RWvsCsSMUF2k7Y9UP5CJrccHsaYR95BNQcvWt/nEl68zlg/J6dQT7gcVC0UCz06TJ/OyHXfrrJ++kc0UUBRRRQFFFfQnJrMRsfKKXbjFZ5U5FsWRy4Vt04mXJ3rCE3rHmUfiiny7ctAzg02XHUkcRUcnGy4/zQRes+JJUV9KcV8rW0mKKKKwCiiigKKKKDduyW9sat0fO0tcN56RCQt6IkcVLjq/PNp8QcLA55HDlVpfnTrjaItyYShzUFmeS08o/wAa4hPxaj3peaO6fHHcCOftK6ilaTv8G6w1APxXQsBXoqHak+BGQfXXQkmRFiXiJdWH9ywXlhDTigcbjazlpwnkFNO5TnsB49tAm+/Hj3iJcGHtyyXlpDSycAt7xyys9mW3MoPgoZ7ah3IKVwrlYn1KaejFcqKRkFtBV8YlP1HMKHgfXTv4PaCbtpyYlSiS5KjoA4gZxIbT7d1xIHPOezixlXN1cGFdy30k+2uFmYBzc3U4UfELaIV6wKBtLuTa3YV6cG50gMackckkkJcyPBQSseGT21FSo6225sBKt1+M551Hz2ZOTjw3uJ+sKk5DaG50qDupchXBvpWV9hWE8B+kj9g1DrlFDMKa5kPRHPNnyeZTy3vURuqNA9gQ/hyeqIgbqbxEUWvB5IyB6zw/+RW79D6mTaoke+IB6OTH0/q3e57ku3XFMKQketLzme8AVpK2FyzIkvtDL1kmM3Nkd7KlDeHqOfdW/IujkRrHeLYyCr4Ok6jtyPFmTahdIPsK4jpHifGg6L8hrT8i7+VjZmpCApGktGr62MhJKm4zI8FdEAPUg91endcL/g0bYbxqHbNrJ1tJXKucSztL+aIzay5u+BU6D44HdXdFAUUUUBRRRQcW7Udm6bF5UWorzglu+RolwSccApLYjqT72N79KsNqN4EGwuJ4DCTjjgVvfb3p0OfBF+Q3vKjFUV1Q7EK6ySfDeBH6Vch7cb+Gra+nfBBBwKDiXbdePOLg+nJ5nt4865yuzm8+ojvrcG064F+U8okkEk8a0wp1anVO44K5Z7qDNAw0gK7uRpq/a25By2ejWfDhUgi4rI3VqJGMAKAUPca+pdSle8W+He0eI9h/vqzUI91efhSYCgVoUjPJQ5H21Z9L7UL/AKacjJTMXOhR97o4E1anWE5GCUoJ6px2jBGTU1YZkF9SW3XG1DkW3kjiPUedSc/Zdb7mjpoa1wXVDKQOu2T6ufu91QlI+i6o0ftMu1vg3XoNCsLQtUu5FK5CVKGAlCAlOUZ45UoHAHPvmv8AA65BtKrrph5d8grWoMyyAhDmCRkJBJI4c143vmgYKtTXvZ/e9PpLj0Uvx0834/xiB68cR7QKbaZ1fedIT0S7PcpFueSd49CshKj3KT6Kh4KBBrAsdyucyyTlMXJlbcoDO5gZx/d66kLaPhJhT02UYcf5KIwClq/TPAewH1ipjSW2u1xbN8F3/SkCbKkzPOZeoUt9NMXvKyoltw7iyBgJHBIxkpVxzMah05pTVsRNw0xqB6fPcdRHYtCUKM111RwlCGTxWSe0ZHjQVkMQWRuwIiWhji8+ouuqPrJ4e/2VE3BKS50IcW/IXyaaTvrPqSOX2VLXXZvq7TMgs6gguW1vBJbW6EFWOYyOJx2lPAZGTxFEPVLUdrzS3JbgNDgS00ErV4knj78nxoK1L01MR1n0Iho/nlArPs/+NMHLW1H4kqUr1YP28vdVuE2M+4pDIVJeAJWvezuDvW4ogJH1iKrh1JbBd2Uz+lXBCsO/BxBWE+CljBPhj20EQ+vcJCWwDyyriT/d7KDZ7i82Flh1CDyLgKc+ztro3Z7bdn9+hlOnFx1S8ZW3LP5Xnv6/HH1OrUrd9nKHN4hvJoOVVRHmD10kEdtCHN08cn11u6+bOCkq+Kx7Kod30M4yVYQR6hQVMOk4zSqVg19l2iREJyk8PCmgUpvgoYNA7IzWKkZpJD/fxpVLoUPGgSWzSC2sjvp/WJbB7KCNUzwxjFIqaKeypRbOeykFNHkPdQRqkViUd9P3GeOaRWyc8KBpuV8KfGl1INYFHGgSxiilCnurDdoPlFfd018oADNPYUUvLFNmUbyhVqsFv31J4V3+kcG3NzxSGryMvyqTKS01o+dfJbUSBBkXCW6cIjxGVOuLPcEpBJ9ldC7NPIN2s7SrnKt8LSrlolRG2nZDd+WILjTbu90ay2v4zdO6rBCcZSRzBFdy/gpdgStK6Lu20y5xktzL4DAtmR1kxEK+MX4b7icepoHkasflneVUPJ7216Uf03EiXPUDVrdReI0hZCHYbjiVMtKKeKVhTa1pPHdCjwIXx+jce979Qv0bpeGt8kRP4pnt6qxuY9oj/DuZ/Nr2ce8VjFHJ5FpiJ9vu819tvkh7RNg8jd1Xpx5mAo4bu0P4+E54B1Iwk/RVunwrR9xsJQD1a91djvl27J9ubTVkukhvTN5mI6Ndpv270DyjwKEPHqLyeQVuqPzarG3T8Gfsx2smXdNLqVoS9yfjN+3NhyA4s9pjkgJB/mygduCc50s3PxYr/wAJ1zjThyf4oifTP66+n61m0J1wzaPmca/qh4WzIKmSeBpgpOK3Ptn2SXXZPr6+6SvTaE3S0SVR3i1ncXyKVpyAd1SSlQz2KFapmQFIUcA15fq3R7cafXjjdZ1MTHvE+G/x+TF/w28oyinPmiu6k1MKA5V5acGSPNW96oklRX0oIr5VMxMeUhRRRWAcq25srvDGoNM3DTM0KdWwlcmMkc1NEYebT48lgDmRnmK1HUnpq/SNM3yHcop+NjuBYSeSh2pPgRke2g3a/Nly7XEuTSQ5ebS6GnuOOlWgdU+IdaOCe/HhWD6kNXdC46h8GXdpG4e1K8FTJ+1SPHq04eeZj3iNLZdAtF4aQ2Tw6u9xZWezKFko9RGfCFdiByFPtDjnROxVl+OoHihClZVj6jgz6iO+gaupe+DHY6CBLtjqVsZ7WySUA+ohSPVSDm5KnFIAEW5s5Gfkrxke8E59VLSJqXpEG6EbvnCTGkp5AKJ3VA92Fgewk1HONOMxpjCMl2A6JLPfuk5I9vH3Cgumza1ov9909HlHdbuwkabk73Y6tJDWfWvGK3no7U651qsz6UBEqVZLRPmBY/jbW7NtLxV4qZeBPeFCtJWVK40TULsRRS8xGiargLT8lTLqQ4R4gKz+ia2ltBeOjk6pVDTuRy/qGLHCRwTHkuW2XGCfZL3h7aD0e/Bk6cctPkr227vIKH9RXSfdDvDrFPTqaQT60shQ8FV1fVA2AaTb0LsN0Bp9tsNfB1ihMLSBjKwynfJ8SrJPiav9AUUUUBRRRQRmpbG1qSwzrY6d1MlooC8Z3VdivYcH2V5feUM7LtM2fbJqS1LirU06gdigePs7R4EV6qVxT+ES2JyZ+l3Noljj9I5BaDd4abGFFocESMdu7kJV27uDyTQeSm0qUSZPWyrdUa+XHZ26xCjrDSt1TSVDhzBSKi9bSg9IcAPAkium9ljFu2j7MrTLQUOSYzQhy0Y6yHWwBx9ad1X6VByNO06/GUQUH1Co1SHWFcRyrrHVWx1KwpbKN3wxWn9SbOn4S1pUyRjtxQRGw7Zq9tq2saZ0c24iMi5SkpkzFkBMaOnK3niTwAQ2lasnurYN72RXCzz7lcdD3NS7AHXnosK7uDpTE3iWlKUQE76kbpIwkjexV98m7Q8PQOy7WuubrGKpN6zpi2pX1QY5CHJ6ge3eSWWMjjh13uVhnqnXDzUizRbclL82Rc47z6MYT0LawtST3bxAHq3qjvulrs1XD1+qBJ80v1ukWuWk8VBB3T445+7NO7hpLTms2vOUoaKj/vmEoJV+kBwz9YZrelw0npnXcZ5rcbVnO82EjeR9Lojjh4pIHjmonW3k27PYezVu8aO1NqK0a5gMIMi0SoS349wcyAtTLzf5lPEqwsngOXbUbXikxExPf9N/zYiJnw5pvmyG6QlKVbnE3FjmEDCHfVgnB9h9lUpbcq1yd1aXoklpWRnLa0H7wa22nWN80zISxf7cpxonHToSEE+II6p9XCp9u46d11HMZ5LEpWPzT6dx1P1TwPtSat0woGlduOpbAp8TpDeoo74SHE3kF9wpSMJSHSd8ADknJAyeFOr5qnRmsmLtcZzcnTr8dtHmNnhN9N546R11LfO7uJB5J3eRzkkYLvUGxRCgXLNMKFczFlnI9ix9xHtrXF805ctOvhq4xHI5PBK1DKFepQ4H2GsCybKNLQNpmubZYL9qiLpSyOEqXKlLCG+HJCc4Tvq5AqIH3HonaT5ApYi+eaRuSnE7uUNyFBxDgxz3k8Rn1EVyCncUQFIA4808D/8AGtibMdu2u9ksje03fnjCPp2yV8dHWP6JXAH6SMHxoKzrDZlqvZxMCbtbJMPdPUktglsnwWOR9eDVk0Z5ROqdLNtRZjiL7BRybnElwDuDnperOQO6untFeWpobX0MW3aPp/4DmL6ip0NsyIqx3qR6aPVhQ8RT/WHka6F2pW5V+0JdYqmn076H7U8lxknxQDgHvHVPfxoKHpXbVojXPRR3pIss9wYLFwKUI3u4OeifDO7nuqzXbQDMpoqbSkpUMgjkRXNm0TyZ9cbOlurkW1VwhoJ/KIaSvA7ynGR9oHfVd0Vtb1Xs7fKLdcXfNhwXBlfGMH9A+ifFOD40G9b/ALMjhRDX2Vrq+bO3GSrDfD1VsvRnlR6bv7aI+p4C7LKPAyGAXY6vEj0k+rCvXW0Tpy1apgJm2yTGuERwZS/FcS4g+0dvhzFBxdcNMyIijhJAHZUW424wrC0mur9QbMAoLIazntArWeoNmi2yoho476DTqHsduT3GlUuA86nrrot+MpRSk8KgH4T0VWFg8KBXmK+FINNkulPfnuNKpeB58KALQ7AaSWxw5cfAU5CgrlQUgigYLaAH/wAKRUxgdo9dSam888UkpneHCgjOiJ486T3MVIqZ9hpFTOE4xQMikivm6TxxThbRFfWmCpWMVKtZtOoYnsVt8YuLGK3dsC2VzdrW0vTekLeS2/dpSWVPYz0LQBU44fqoSpXsrWNjtvSLGE16XeQd5E9u2pbFNX6i1Q2uGq/I8wsMxsfHROiXvKlI4gjLiQjGRvJQsHgqvrHSMePo/Dnn559PiInW+8+J123rzr3iHBz2nk5YxV7vRRDmmNh2yr4sot2ltL2vgEneLbDLf9ZRCfWSe814P7a9sk3artI1Dq24fFSrtKW/0O9vdCjk23nt3UBKfZUntu07rTY5q686K1NMmMzIatx1tMhwsSWzxQ4nJ6yFDBGfUeIIrQd1nrW6eNdXi4MXwrXJycWb518sRq2tfhnv9Z8z3n7QoyXtz5jHavpivsukC89OsAnezXcnkB7RNrmpNocbRGm9WzI+nHGHJU8TG0zG4DCABvspdyEKKlISAOqSrJScV57WBxalgk17PfgwNizmhdjL+tLi2E3PVbgdYGMFuE2SlsHxWrfX6iiutzviCkdAzZOXSt7W/DSLREx6p99Tv8sbn7xDWwcS0cusY5mIjvOu37NN/hLvJek2rT9t2mpvc/Uc4Opt95l3HoEL3FfwdSUNIbSAFZQQAT109gOPNqZp4qUer7a9M/woG1xu+assWzqFJDke0IFxuLaTwElxJDSFfSS2Sr1Oirh5APkjaSuWzZGvdb6Yt9+uV1kKXa2rkyHm48VHVC+iVlBUtYWoEg9XcwRk0xUxdP8AhTB1PrEbm06pWIiJmJmfTHtHiJn6RXXZm8zn6hbBx+2vMvKizbML5qIPG0WO43YMNl10wYbj4bQBkqVuJOEgcyeFQMvTJRvAoIKTg8OVe30TyiNnnkz7XtRbMr5d2bfZHHW7nb3GIvxNrVIytyG8UDgAr41JIwlD4ScBIqybW/JC2N+U7bUXsQobM+QjeZ1Jpp1tCnQeOVFGW3vWsEjsIryvJ5vEwWp/G8O1MOSIml/O4mN+8RE/rqe36+XQrivaJ+VkibR5h+f+bZy0TwqIdjltRFegPlHfg19oOyCDdL5aFMay0rDbVIcmQx0UphlIypTrBPyRxJQVcBnA5DiC72noiogcK43P6Tx82L+J4N4vT6x7fePMfu2MPIvS3ozRqVWIxRSzzW4oikt014K+OaWmJdWJ33h8ooxRVTLaOz+4s6g0pNscpZL0UKeZ7+iUeuB9VWFf/Q1LzLlvswL2tJL8dRZmBPPI6rvryAFj1Vq7Sd8Xp2/RJqQVIQvDiB8pB4KHuJraTzaGbo/FTurh3BsLbX2b6RlPsUjgfqUDCTHT5zPthG8iUnpmSORIGDjxI3fbmsbY+HZlqmuElDijBk58eHH25A8PVTV6QsW1pxQJftrm4tPapsDgf1T7zTpu3rmO3WAyc+dR/Po2ORUjiceIwR76DcGw/Trc296WgXEjoH7pO0TK3uWJsdaYxP8AnFDHqq5JjyNqX+DawoQN/VsrTdtcPyulZZRb5Sj3D8hBV6vCqjZbmYFmvlzi8VSLXZtaRF9iJUOY2y7jxw64T9St9eSbYTf/ACxNn9kDe9B0zM1FPaSofxYmSw2SPBbmR6xQeuDbaWW0NoSEIQAlKQMAAchWVFFAUUUUBRRRQFJSYzM2O7HkNIfYdSUONOpCkrSRggg8CCOylaKDxW/CF+Q9c9gl+k6z0pGdnbOJ72SltBUqzuqJ+KXxPxRPoL4AZCDxAKudfJ22sjZtqpUW4LSixXQpbkrUcBhY4Id9Qzg+HHsr9El9sVu1PZ5lqu0KPcrbMaUzIiSmw408hQwUqSeBBHZXjj5bv4NC+bGHLjrPZyy/qDQgy9It6QVy7Unt4cS60PnekkekCAVVLfbTDYqmGZjeeqtKhkKByCPCqTtCsdutenbhdZbJcZjNFzcbTlbiuSUJHapSiEjxNaE2BeUWNLRmNO6odcXaUdWLcMbyooz6CxzKO48Snly5dYusRL/agkuCRDkBK0PRnSArBCkLQtJ7CEqBB5gVGWWrPJx8mDWO17QN7vNq1ZaJV+E5f/kJKuO48w2ACXAjOG1qJI4p4hPPjVSv+yeVYNbN2XVsKdpG7pXhAuALGezLbvoq8CDVy1BsGehutT9LXORDmskFs9Opl5Hi28jBSfd66vWn/Kl19ZoTWk9rOm4G0/TmA0uJqFhKJwb49ZmSAQ4QO0gn6Yqq/jynEoCd5POqItuam295F4bSgKG8dxwjvChzPiQSap6dW3PT05NuuSFOPt8mZh6N9Q+i5x3j694j1V0NoqyaS1S681sK2kSdIXxY3lbPdfLJYdz2R3FE+9tSseFaf252TUlsvqIO1DST+lZCzuJuBQXIDvHmh9I3fYTmtDHbkY7T65i1fr7rZikx27SjX3NOa0SYkptIfWDhEhIbdVnszxSs9wO8e4DjSOqfJ62T3XZa/wDBUPUVg2hwI6y2pl5EqHdHskpKkrKSznIBCMBITwCz6VqtXkwSrtphM2w3tEtlad9KH1B5s/VVnOPAEVry53C/7NJpt11SqMne9CTl1j9FfAoHhwHfnganXkYuTb01vMTH7f8AaE0tWNzDRiZWs9DvohyYr0xAVhLLqFOEH5ufTT6j7qn7TtIsl6bTGnpERS+C2pYC2SeXpcsfWAroLSG1hm23m2XaO6i03eE6HIsp9tt9tpWCMoWpJABBIO8AMHmedRvlB6LRt3vEK/CFYrFdW2C0+5ZoAiCconIecKVKDi8YGTgY5Hjgbvqv69a/D9f1+yvUaaEvmxuyXpCpFtdNteWcpLPxjJP1c8B6jjwrWWo9nN+0ykuvxPOYoP8ACIuXEDxPan2gVfVaD17oa+twLbDnTZLyilqLCZU8X8AnKWgDv8ATlGeR40+su11Dbqo17huQ5DZ3FONJJAPbvIPFJ99WMNIB7fTuuAOAdquY9vOpzSesr9oW6NXHTN7mWWahQVvR3ijex2K+SseChg9tbouOi9K6/a88jpaDqhxlW8hKv008ifrDNa51FsWvdn6R237t3ip4joU7roH1Dz9hNB0Bs88vmU4pu3bS9PNXaMrqm5W1tLb4+kpo4Qv9Epx2A8q2TN2R7HPKdty5+lbnDcuQBKm2VdBNaP02zhRHiQR3GvP09NHWptaChSThTTqeXrB5VnBlOW6S1KhynoEts7zbzDiklJ7woHeFBu3aj5FmsdDvPPWpHwzCTkhI6joHq5H2H2Vpi133Uuzq8FyFJnWK4NK6yOs2SR2KSeCh4EEGuh9mvlza60axGgapYZ1tZkAIK5igmVu+D4B3j4rBJ763vC1BsM8qON5gl5i2XpxPVt92SI75Pc2vOFHwQrPhQc76G8r9alojaztSZLZ4GfbUhDgPepo9U/olOO48q3dYLjpTabBMiwXOLPPy2Arceb+s2cKA8cY8a1rtY8ge82AuS9LyTLYHHzWRzx9FY+4j21zNetOaj2eXgNzos2zTmjlDoyg570rHP1g0HZGoNl6HAopbA9lau1FsuU3v4a5eFV7Qflc6n08liJqBlrU0BACS48ejlBP9IAd4+KgSe+ug9H7U9BbVcMW65IiXFQ4W+4gMuk9ycndWfBJJ8KDlW9aDdjlRDZ4eFVWVaJERRyhRA8K7d1FsxbdSopbAPdWq9S7K1IKyGvsoObAooJ4YPcazS7x41sK/bO3GCohop9lUudYZENRG6SBQNgoEV9IzTYhTSsEYNZpexzoFFIBpNTWc99LIdB4DBrPqqPOgYLbPHApWJHK1pB+ynCmvbS0RO66OFbvDiJz1iVWXtWdNpbENmk/altA09pK1j8uu8tEZCwM9GknK1kdyUBSj4JNe/wBpywWDYxs0h2uKU23TenLeEdI6c9Gy0jKlrPacAqJ7SSe2vGX8H7tds+xvyhrLdL83FRaZ7DtsfnyQAYPSAFLySeXWQlKj8xavVXePlr7c7nrXYdc7Vs8sGorra5zqWbrfU2aU1GaiDKlBta0J3wpQSkrSCkJKuPEV9R6nwOV1bk8LpuOPThnW7f8AruZ1MzPjcRHaPMzPby4vHyUwY8mae9u/b37eHmR5UW1mXtu2uam1jIDqGp8kiIy6eLMZA3WUY7CEAEgcN4q760G8ypx8jGa2hf7cXskDtqvx9PFbud3ma9Z134ey25NOPgrqldRH2jtDl8Xm1is3vPeSGn4O4lJUMeuvVryKPLts8TZyrR20CUzBmactq12yagBImxWWyegwOHTJSnCR8sY7Qcwn4LDyc4L1j1FtC1DZ48xiV/iq1onMJdSpCVBT7qQoEemEIB70LHrtv4SrV1k0NoezaIsVqtkG5X53zqY7GitocREaVkJBABG+5u8e0NqHaa59acHqnNr8LXwTa+4/HFoj0TEbtPid6jcTHv47TqW1vJgxTzvXqNeNefo4qiMXryltuzaHFdFeNX3fK1JG+I6VqyojvDbYPsRXs64uwbHNmylqIt2m9N2wknn0Udlv7Tup9ZPrry38kzZ5tCt+mNW7X9AQoNwu+mh5nFhz4inzJCkb0noAFA9KlBRjnkLWkcTVQ20/hCtpu1TZ3d9H3dqzRbfc0oRIegxltvbiVhRSCVkAEpAPDlmu98b9Oy9d5WLicO9Y43F1W0ervWZiN9te1NRX9dx9Wp0zNXiYpy5Yn15O8NKbWNq0vaPr/UGqZ/UlXeY5KU2VZ6MKPVRnt3U7qfZUhsf8oXW2x29ouGj9Ry7Sc/GRArfivjtDjKsoV6yMjsIrRFzu61PKG9wqQ09LWpwHPbVlfiDFzc0dPtSJxRqvpmNxqO0RqVc8S2Ks5onVp77exvk0eXJrLb5Gnadb2cR71qiJGD7klm4CJbltEhJLxWlamySoYSkOb3WOABXnL5Yfk93rYPtNk2262+FBi3RBuMBFteW9GQ0tRyyha0pUejVlHFI4BJwMivSb8F/sod0fsOk6unNBE7VUnpmOHWERrKG8/WX0qh9FSa5w/C37SYt/2maa0ZFU06vT8JcmWpKRvIekbpDZVz4NoQrHLrg14rHbiR1/kdO6XhiuDU+rvae9Y7z3mYiItuI1Hu61ov8AwlMue27/AOv+zzNnwSHDwPOmggEjlxq3u27pneHHJrvHYT5CTm1XyE9S6iatoc1pcbiq66fwAHXWYqVNFnJ7HSXwAeBIbV3VwOf0vHx5+dm7Vm0R+8/822sGe149NfMQ82Xoxb501UMGrZd7YWFLSpBQoHBSoYIPcRVXkJ3V4ry3VOnzwr6lvYM0ZYJAZNbJs05656WbKFZm21adwntHNGfcU+qtcsp3nAKu+nFGBJZcPFh8ebOjPzvRPvGM+NcBtJpbqHLiy6OES4tAKz8lWMg+4q4eqn2mHzbnLPcXgEi13FMOVn+RWcZPs41CrYWIUyKjrPQnOnZJ54znHqzn3CrRZLab9LuUBlPVvNoXKY7fj2Rv49oSfsoNw6Q0n0WnE2x3IXGXqrSZPzS7b1y4gI8XUrIrrf8ABuWE6u8onaXrd1IAtNmiWxvhw6WWsvuEeI6AA/X8a5z09fGWJUSa1h5u6uaQ1juEcPi1O26cPfIIV6q7T/BT2EtbGNX6lWjCr7qWQpCyPSbaQhsY8Ad8e+g7ZooooCiiigKKKKAooooCvikhaSlQCkkYIIyDX2ig8/fLG/Bb2Tae/O1fsqTG01qt1RflWZXxcGertKMcGHDz4DdJ5gElVedNuv8AtI8mrVEzTV5hS7RJjL3ZFkvDJ6M4Ppo8DzC2zhQwcmv0MVQNsOwfQu3nTjll1vp6LeY5HxT6k7kmMr5zTycLbPqPHkcjIoPKXQflKaW1WWI1yUdPXJeBuylZjqV9F3gB+kBW1ZNviXeEWpDTM2I6M7q0hxCgRz7vbVf8oH8E5qzSjsi6bLbknV1pwV/A09aWJ7X0ULOG3R69w9mDzrkixa615sSvcm0uonWd9hW7Ist4jrSEkd7S8FB8U4zQdIaw2IwbtBWm3vLZdRlSGZKy62fALOVpPcrKsd1PdGbc9r2xS2psN8XG1xo5fV+CNUp8+jKRy3ESTlbfgleccMJxUBoHyn9O6kSzFviPxfuCyElbit+Mo/X+T+lw8a28ppidGC21tvsOp4KQQpC0nx5EVXNI9uyUToy05J2TauuiXdEaluPk+a2mdY2a7uecWCW4eaUqJ3Bk8s7h+jUXrbSutdnt7albW9KKfsCz1dR2BBm29Y7FKKcqRnxqI1Jsns14adS218HlzJV0DYU1n+iJA9iSmmmz/Wm1Hye47407e1vWFZw9Z5KTcLbjPayvC2UntUjdHYSTWnk49b97x3+seVtckx7rhqHYNs+1zp9N90beWGytGQ7BeCmlHHELTyz9YZHhXO8prUuzy5SWkB11htZT0kVO+04PpMnPHxGT3YrfTevthu1ee3Lv0ebsH13IISq+aeWXLNJWflOoAASD276R9Y0+uOx/Xmydz8Yrvao+0fRbvWTqPSCxK+L7FrYGTy7U5FU4qZuPE6t6oStNbz37NSaM23LtU+LPbkP2m5wnQ61OgEno1D5yDlSeHApIUFAkEYyC826Wtryln4V/nyrcbtGjlkTLfGbaEjJzl5TY3t8cB1s45BKcnO47hoPZNtx06bha5kUzUDrORVFmVHUOxaeC0+3gfGuWtd6buWza/qEGcqbHSrqyGldE8keO7wUPDHvqzBnxZ8nqmurx9Y7oWpasfo1PqLZFqnRN1aEMPKW7vdA8wvcK8DJAWDgnA4jIPhxrO0bXbpaZXm1/hLdKOClbnRPI8SkgA/ZV20fFmzbxPvV5nvTpC0lSpEhRPRMpG8rdB9EYHogADGBWPlWzjpuNpfQ7/QOXeBGN2u6kIG+1MmJbcRHKueGIyYzZTnG+pw+rpervpU+dJpLabG3HAxLfA4BQ6KS34g8Dj3pqj6l2DSmFF2wykymzx81lEIWPUr0T7ce2taNyFNrSpOUqByFA4I9VXjT21+9Wfo2pJF0jI4bshRDgHcF8/fmpa+iKjT7ZcLDMVHmxX4L4PFDyCkn+8ePEU2BQ4rJSWlfOb7PZ/dXR1s11pfXbHmMoM7yx/BLkgDJ+io8M+o5qu6l2DQpKC7YpSoj3MR5JKm1epXpJ9uaiyR2V+VhtG2UR0RI10TqGxoPG3XbL6UjuQonpGx4A7vhXS+nPKQ2M7eYbVr1ZCa0ldZA3FNXMJchqWe5/ASB4rCcVwxqLR960lICbjCdjj5EhPWbV6lDh7OdRJeS6cuoCjy30nCvb30HZu1LyAYz8dy5aLnJbbWOkbb3+mYWD3HJIHjkjwrk3XGybVWziSUXm1vsIB6sltJU0f0hyPgcGrPsu26662Qy9/S2oH0wj+ctck9LGc9bKsgH6SMK8a6n0V5a+gto0JNs2k2AafnK6i58RsvxF+Kk4K2/VhQ8eyg5X2eeUtrTZ+03EEwXq1pI/IrnlwJHchfppHgDjwrpHRHlH6C2i9BFnuDTN1dASWLgodAVdyXsBP6wTU7r/AMiXR20i3Kv+hLpFLUgb7b9rdQ9HXn6KTj1gYNcjbR/J31rszddVcLWuTDQSPOogK0gd5GMj14x40HZd82cMTGi42lLiFjKVJ4gjvB7a1ZqfZQQFlLWfUK532e7bdYbMnsWi6ueZngu3yvjY6v0D6J8U4PjXSehPK10lqxluLquGrTs84SZDYL0VZ7+GVI9RCh40GntQ7OFsFXxR7eyqJcdMyISlYSSB2Gu65+i7dqGCiZbn40+G8MtyIjiXW1jvCkkg1rPU+yjgspa4UHJS21tKwoFJrNL3fzrbGo9mrjJX8Ua19c9LSIajupOB2GgjUuZwc0uy5hY4cKYONuMq3VpI7q+tv7nPtq3HeaXi0I2jcaXWzXFTDja23FNrSQUrQrCkkciD2GvaXyVPLs0Ntc0rYLHqTUDFo14iK2zMaueI7U15I3Stpw9RRWeO5kK4nAwK8N4kzcI7DVggXfdA63vr6Rgy8PrXGpxebaazX8to1uN+fvH1jt48uLauXi3m+ONxPmHujtv8h3ZdtxU7cXbb+Lt/cT/ttZAlouHsLjeNxz1kb3ZvYrgLbD+D92hbIX1SmVQdQacMhtgXlhYZDAWsISuQ2s5bSCobxSVBI4k4rX2wjy6Npmw9DcO3Xs3uxAg/A96Kn2UDubUTvtDwSd3t3a601P8AhVdBap2aSrdcdnt0n3K5xXIk20Lltpibq07qh5xgqIIJwejz4CvTdM5HxF8P5qU42SOTg3rU6nUf/UxNZ/ea/VqZq8LmRM5I9Fv5f9u49l+grfsm2c2HS0FY8ys8NEcvKwnfIGVuHu3lbyj668ePKV2pyNum3S/36Gp24RH5KYFoZayoqjoO40lA+mSV47S4e+pXU34RTahqPZ63o1uVCt9s+D/g1+WhouzZLW5uEuOqON8p4FSUpJOTwpHyEINj1V5TmjIt9koYZZcclRWlpymRKbbKmm88k8Rv5PMoCeahXofhHg/+NzzutdQtGTN6bTER3mY72tM9vNpiPHiN7aXUcv8AG/K4uHtWZjft9nq75POyxGxrY3pjSZQgSocULmKb4hUlZK3jnt66lAHuArxR8s3UFiv/AJRO0CdpqIxCsyrmttpEc9RxaAEOuDs67iVr4cOtXsl5XG1o7G9gmpb3HlCLd32fg+2qBwsyXcpSU+KRvL9SCa8HtTQCrexk1474Y4fL5nG5vW8szM5Jmv3mZ9Vp/nMa/d0edlx4rY+NHt3/AG8Q11Jy7IODxqz6fjKKcDCSRgE0xZsylPgkdtdleQn5GkPyl7hqN6+XKfZ7FZ2Wkh+3hHSOyHCSE5WlQwEpUTwzlSfGrOl8eOn2v1Dm9qU8z++oYz3nNrDi8y9NfJm226B1f5PltvGnZKLVZNOW1Me4QpLg6W2hhoFQdOBkbqSoLxhQ494Hipto2jyNqm03U2rJW+HbxPdlhKzkoQThtH6KAlPsrtfysPJ00x5GGyebJ0trbUzt31dmyLtsh5nzeTFI33lOIS2CQkJABBBBcHYSD52SFlTvhmt/ovE4fF+fzuFeb0yzqs2jUxEd5jv57+/vr6q+VkyXimLJGpjzpP6P01O1ZfrbaLXHMq53CS3Dix083HnFBCE+1RAr9CWzvR0HZfs5sGmoy0NwrJb2onSHqpw2gBSz3ZIJ9teSH4MnZS7r/wAomFeXWiq2aWjqubyyMp6Y/FsJ9e8pSx/RGvQ/y+dpo2YeTBqx9uQY868NiyxVJVhRU+Cle74hoOn2VxPiq087m8TpGLz2mfvadRv7RG/3bXArGLFfPb/kQ8U9vmooOsdp+rr/AG2M1FgXO6ypcdllO6hLa3VKTgdmQQfbWlJeOkNXPUc3JUAeFUmSreXmuL8V3xRm+Vi8V1H8mxwPVNfVb3K29rpHh6+2tjWeyfCdvejDqrcQQgnsVzSffiqNYmOkdB8a3Bo2Gd9Bx76+fOsqsSWHJlrnuA7rwMSQk8OPIg93dmr7s0WLBNsVxk7vRae1C1FlKI/3pIO6s+rd3qqup7Cq3Xq/WpPBLyE3OMMe1WPUreHuq62CA7fol/ZYA6K+6VXckDvkwyHD7d1DufrUF1ddOhbK3HeGXLPE1Hp8FR45jXJiUj+tI4euvWnyGtCjZ55JuzS1lOH3rWm5vZ59JKUqSoHxBe3fZXk/tkhJurc2PDbU7N1DdIU2ElP8YLrb7a+4B63GwPaa9w9N2ZrTunrXaWAAzAitRUYGBuoQEj7qCSooooCiiigKKKKAooooCiiigKKKKArX+17YJoLbtYl2rW2mod6axhqStG5JjnvaeThaD6jg8jkcK2BRQeVm338EvqOwOPXPZRd06jgYKvgS7OpZmIPc29wbcH1twjvNceQNSa/2D6hftMpm4afmsK3ZFnuzCkpOO0tqHL6SeYxxr9C1UnapsW0RtrsDln1rpyFfYahhCn0YeZPzmnU4W2rxSQaDyS0N5UNhv6GYuoWfgKcohJeBK4yj355o9vAd9bcSlicwiRFeQ8yoBSHmVhST4hQpxt8/BLXO3rdumyW9C5x+KlWG9rSh9PcGnwAlXdhYSfpGuL3JG0XyeNUPWm5w7npe4tKIdttzZUlpzHaEq6q09y0Eg9hoOm9T7PrNqEZm29PTcjJi4ZeUM8d4gFKz4rSo+OKr+hImu9iF1duOgNTzmCDlUOETuSE5/jIS95Dh8Ebyu0Y44htE+U5Z70hqNqSP8DyycectZcjq8T2p9uR41tUsxbtETJiPsy47gyh1lYUlXqIqE1iWYkwlbc9le1eQBtf0e5o/U6MIRrjQoUyrJ5KfjjrA9/pj1VX9pPku6ud07K1ho3VFp2saHZaMhd2tclCJUdoDeUX2ieBSMk8cjByBUhqLTsW9RTHucJm4IByhxwYeR4JdHXA+iSU547ta4kbIJFtkyXNKagfg+etFmTbZckxQ+gjrNqdSQ26k45OBGc4weZjFNM+pVNguutGagukiTeumbt9kbXeblEkbqRJjx8LRHQc9dT7/AJu1u49FS899aT1q7cdWalu19urhkXS5S3Zsp0/KecWVuezeJx4AVs2Zsv3NWsTJdoegXGAFOuhxktoCxgNZB4KUVFSx3hrtBpvdNKAFXUqcRphpB+3KRxwc91NFtKQeVbNuOmcKUd3lVdm2BSD6Jqe2FTB4ccGrTpraTfNMJS0xK84ig583k5WkeCTzT6gcVFSLUpBxhXupi7EW2ckU2N76e2yWK+tJjXJAtrq+qtEkdIwvw3sYwfpAAd9Y6i2KWDUTapVsV8FPudZK42Fx1foZ4A/RIHhVHsmw3Ul40RC1YpnzayTpD0SK/u7/AEjrQSVpIB6hwtJG96QyRkA0zTH1hsvKJLanWIrgBIB6RlQPLeQfRyORwOBGDVfrrM+nfdL0zraJ1Psu1BpNHTSInncMH+ExOugeKu1PtAqriQVoCVpDg7CT1h7edb00vt4hyQlu9xlQXc4L8cFbR9afSH21P3nZ3pPX7Pn8dLTbrif4bbFp6x71JHVJ78gHxqxFpLQ20XUuza8NXLSl9mWaWCCUNubqHPorQcocHgoca6r2feXvAvDYtW1HTiVlQ3fha0t8fWtgn7UH9GuatUbE7/YEOPxUi7wk8ekjD4wDxbPH3ZqidItolpacgcC24OX91YHoFqPyZtl3lCWlWoNEXWJIdcTlT1uWEOIPc60RlJ8FJB9lcpbT/JM1ts5cedRDVeIKOIdjIPSAeKOfuzWurDqK46YubNxsd0l2a5NEFEiK+ppQ9S04OPA11Ps28vy8w1NW3aTZWdSW8gINyhIQzKR9IoGG3PUNz1mg5a0btF1RszunnFjukm2PJPxjHNtfgttXVV7RXSGgvLItN3bTD1tavMnjwFyt6Sto/XaPFPrST9UVuyXsw2M+VVbXJ2l7jDcugBKmEnzecyfpNnCiPHBT3GuZNq3kV6w0K8+/akKvMFOVBIG68B6uSvZj1UHSTVmsOurUm42OfFusJwZS7GWFAeChzSfBQBHdWvtU7KQoL3WjnvxXINovmotnl7EiBKn2K5sqwdwqaWMdik9o8CMV0LoDyzFuFMPXVrTLbPD4StqAhwHvW1wSf0d3HcaCu6l2ZuMFQDR91a5u2kn4i1YSoeyu2LS5pfabazP07c4tyaIytDasOteC2z1k+0cezNUzVGywKCyGgfZQceuMvRThYPDvpVicU8Qe3lW4tS7NFsqV8VjnzFa3u+j3oiiQgjFWUyWxzussTET2k2ZupIzvU5F4OPSNQDsZ6IohSTWKXvH312MfV+TijUWa08bHM70sTd0JXjNXDQ+sbjpS/W69WmUqJdLfIRKiyE8S26hQUk4PPiBwPA8jWs2nsGpa3zi2Rxr1HRev5MWb+1ncT9WhyeJWa7q9xtF7ENn3lb7H7Fq/Ulz1HqZ+8RUvJfm3l3FvkDKXUsst7rCClYWnIa4gcedcr7d/wYOstMOSbhoOYjWVpAKxCd3WJ7Y+bgncd9YKSeW738p7C/Kf19sJuHnGkdRPwYzhy/bXvjob571NK4b3D0k4V416L7CvwpWj9XMxrftFgK0ldCQhVxihT8Bw/OIxvteohQHPe7vT483xB0v1ZumZPn8eZ38ue+o+np8xrx+CfvDUtHE5Oq549N/r/v8A6vMmdoqZp65vQrpAk22awrddizGVMutkcwpCgCD6xXs35C+yRnZJ5O+nmVMdDdb2PhmeojiVugdGPDdaS0nHeCe01Ydruy7Zv5SOzqS5NcslwYfjqNv1KwWnjFWU9RxDoOCkHBKd7dUBggitaXD8IJsw0Bs+gO6jvUaTrBqMtqVYrGkyMSWlKbWkLSNxCFLQSkqIyhSSAQa1uu9ev8TdLx8PgcWaXrf+0iO/t+HXaO35t78TEb9k+Jw44Wa2TJfcTHb+v9HFH4UHa83rvbwdOQ3N+3aTjCCTnKVSl4ceI9QLaPWhVcVst9K+OGRmpnWer5us9SXO83J0O3C5SnZchY5FxxZWrHhkmnmgNH3DW+qLTYLS0HrpdJbUKKg8AXXFhKcnsGSMnsGa9pwuPhx48XCpP4cdY3Pt272n+e5crLe172ye9p7f0dveT/5Hes755JS9daL1Fe9O66uMt2bChWy5uxEXCC38WlpwJUkb5Ul1aFHhhQB4KyOOdpu0zXGpY/wTqzVOo701CeUoQr5cZEgMOjKVHcdUd1Y4pPDPMV796J0rB2e6IsunoRDdvtEFqI2pXDqNoCd4+vGT668BPKZ1+1tM2w601SwGxGulyeeY6NISnogd1s4HehKST2kknia8t0brubqEc22SkTSs7rbUequ51Fd/TUftr9XS5XGrijHETO/Ex7T+rRt5llbihnNQqjvKp9PXlwmmbaCpxKe+vk/Uc9s2e0y7uGsVpGlm0zG3ik4rdWi4Wdzh3VqvSsXJRw4VvPRUPBb4Vyl5ltTsnwbctH6g3R5sZJtconlhwZRnw4OZqx7DLUmBftGCUB5vb9XuaXl7/wAmNcmy0CfDKlmpra7ppV42LX/o05ehtInI8OjUFKI9Sd6q8bm/Dsmp5kXCU3Kw2TWUd35siLKaaUR4/HuZ+rQbC8nixJ2h7ffJysru84uIpEucFcd02px9poEd2IqB7a9pa8svwfGk03zy1dVXFhIXa9L2eYUOJ4hL0uWVIA7spcfPsr1NoCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAqrbQ9l+k9rGn37Jq/T8DUFsdSQWZrIUUH5yFekhQ7FJII7DVpooPNrbv+CVaKXLnskvxZWCSbBfllSSO5qSOI+qsKz88Y48P37T+0zyaNVuW29W256UnpVgsykExZI+cg8W3R9JJOOWQa/QLULq3Rdh17ZH7RqSzQL7a30lLkS4R0PNqB+ioEZ8edB4u6N8pi3XRCY2p4ht8jl55GBWyrxKfST9tbSaTBvsIS4EpibFWMpdjqC0n3VuTbr+Cb0/eWX7jsrvK9OzgSsWW7LW/Dc+ih3i434Z3x2cOdcIa+2U7VPJf1H0N/tNy027n4qa38bClD6Lqctrz809YdoFBvC6WQrQEqyUpHVB4geqqhc9NDjhA9VQWk/KQS+gR9TQcKxwmQk/tN/wDZPsraECdadUwxKtU1mcyoZJaVkp8CnmD6xQafuemMEnc76qdy01gqwnI9Vb7uFiBCsJ9VVe46eHHq48KDQk/TxTnqdvYKr8uwkb3U5VufU0Bq0RelcTxWvo2xyysg4z4cCT6quMXY1Kt+ye4m+WRhvXF2dKrcxMQprzFnewhSd3BVlOVDOQrq5yCa1s2euCaxMeZ0spSb70pfk4bT7bpORctH6zkPNaC1AkKlPt5Wq2TW/wAxMQnnwKt1wJHWbWRhW4BXQ2pdi1n1Za4VxvLkWJb3Hg9EvEZ8XGxyFAYQkymODYAxhLyAByKTXKuo9n6rFCtyCuUby4txqZEkxUstM9chCg6VYUFJIyFJTukHmKz01rPW+w3VMhNju03TV2jObkiM04FNuDnuutHebdQQQRvBSSCCM8DUZrXJMWrOpZiZjtKb2l+SrLsMeQ81HWytCklmRCZUtiSgkZVvb5QpWMkBsgnHBviANMTNPap2fyUTo6ZjDO6HEzYzbiGynuWFJBT9VaRnmMggnsbZ95W9jlrfZ1Ta3dJzJad166aWZS5bpBP/ABq2OHo+PHK2lIUfm9tXK87M9NbQtMp1BaUQZ8RhfC8aYW9LjNpPFSZMXIlwgc4KCFNgcwQalGS9O147fViYifDjjS23xxpYav0TfT2SoYAUPrI5H2Y9VXWVadH7VYYkISxLdA/Px/i5KPrdvfwUCKk9pfkseb+c3CGmCmDIQX41xs2X46154tFQUGxz4BQaV9E8a0DcdFX7S1xBjJkqdQkOIejIdacGSQOqoJWDlJ4Y8Rkca2ItW0bhCYmPKwao2A3W2qW9ZHk3aMOIZXht8DuweCvYcnurWb7cq3PrYktOMOA4Wy+2UketJraemNu10tq22L1HFzYT1S6kBt9Pr7Fe3B8a2OzcdH7VoRYdEecsD80+OilNeKflY5eiSKyw5phT3IMpqTCkPW+U0rebeYWpJSrvChxT7DXSmy/y7tZ6QbjW7WUZrW1mSA2p6SrcmBPeHsELI+mMntV21Q9V+T6+04p/T0sSUnJMOWQhwHwXwB9uPbWqLla7hp+WuPNivQn0ZSW3kFOceB5jxoPQmO1sP8rCAuNbZEeNe8BXwdcEiNMQe9B+V47ileNc/bW/IS1LpJ12Tp1z4SiDJEd7CXB6lcj7cVzgl0JWFoKmXUnKVtnkfZy9Yrf+yry1NoOzWNGt90db1np9vq+bXNZU6lHzUSMFQ8AsKA7BQaDcZ1BoG9jIn2K6R1ZCklbLiSO0EYPtFbz0F5Yl2hraiaygovkTASZscBqUj6RHor9XVJ766WtGvNh/lSxPgyT0Fkvbqci23gJZWVdzLud1Rzy3SFHnitM7XvIHu+ny5M0rI85Z4nzWQrPD6K/3H30GxtPX/R+1eEt7T90Ylup4rhufFyG/W2eOPEZHjVa1PsvSrf3Ws+yuPbzp+/6Bu/Qz4suzz2VZSviggjtSoc/WDW3dBeVrqGyBiHqZkalt6cJLzhCJaU9/SclkfTBJ7xzoHepdmq2lLPRfZWubvo96IpRCCPZXWmmtaaL2sNK+Bbijz3GVW+UOikD1JJ63rSTiojU+zNKt/db5eFByC7GdjEhSSAO2vjUgpPPB781ubUmzhTSlDoyPZWubvpB2MokJIxU62ms7hjUSYxbmpGOtUzEve7jKse2qm7EdiqIKTwoRJUnhXoeF1zk8P8tmnl4mPJ5hsJvWExuCuEiY+mEtW+uMl1QbUrvKc4J8cVEyrwV5AVw9dVlMs4xk+qsunKjjJruZfizk5aemZaten0rO0yxJLrvE13F+C32WK13t/GoX2t62aUiKmqURwMlzLbKfcXV/5vxrg2K6UqyTwFdIbAfLP1d5OGh7xYtFQLXGnXaX5zKvE1ovvBKUBLbaEEhCQnrnJCslfZitzidRzZeHlw4p1e8enczrUT5/y2rvgrTJFreI7vWvy7tpg2YeTDrCW1IMWddGRZ4q0qwrfkZQrdPMEN9IrI5bueyvBnUU0L3gDkVf9qvlBa82yS/OtZ6suV/WlfSNsSXiI7KsEZbZThtBwSMpSDxrUdykl0kg0plx9G6bbh1vFrWnczH2iIj9v6k1nk54vrUQhZR3nDWUFG88PXWLoyo0+srBU8OXOvm+S3rtNpdqI1GmwNIRN4o4H1VvnRMLijhjlWotGw+KPurfeioWej4d1VstoWbT7N8s022SE5YnRnYrnDPVWgoP2KrnbZ1FkXzZvpWCpO9I+B9V6Zd3jgb7TImsg57is4zy3K6v0lF3A0QOI41zHb//ACRsG1hgJLb2ldcrfa7D0Ey3XNlePA9Cz+sKDuP8EjYel0ptU1epOVXi/tw0OY9JqO2SkezpzXflcxfg2tCr0N5HuiOnRuTLyl+9PHGN4PuqU0f9CGq6doCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKZXey2/UFuft90gxrlAfSUOxZbKXWnEnmFJUCCPXT2ig4f25/gr9Ba1bl3DZ7Mc0JeFkuJhEF+2uKPHd6MneaB7Nw7qexBHCvP7a55Mu1jyZ7kiXfLLLhxASWr9aFqehqx2KdSOoT81wJJ7AcV7w0nIjtS2FsvtIeZcG6ttxIUlQ7iDzoPBzS3lBzGChm/xhPZIA86jgIdA7ynkr7K2hZdRWTWMbpbZNafV8plXVdT60njXcO3P8Grss2ruTLlYGF6A1A/lXT2hsGGtfeuLkJ49vRlBPMnNeeu2vyHtrmwAuXORaF3yyMr4XvTpU8lsdinGwOkaHDiojdHLeoJbVejm77b1R1/FuJUHWl4yAscsjuPEHwJPZV30b5SsnT7Fq01tQ0wNWWK2oDcG47/R3OGjklLMjk8gDh0auI4ZIwBXOumNuF3twQzdEpu8VPVKlHceH6WOPtHtrZ9k1lp7WbRZjSEdOodaHLASojuweCh6s1VfHF/KVbadOQtD6A29W2U5oe/Q9QyVDPwHdymHdGPBIJAWPpIOOytF618mWdpSbLatcZuLMlx1xn7fdYLailKuPVDicBQIBSpO6pJ4g1Sbls+aadS/bH3LdJbV0jeFKKUq58DneT4YOB2JPKtnaQ8rHaBoWFGtGt7fH2hacbG6lN2UVSG09zcwArQru6QEnHAY5c63Htj/ALudfp5hsRki35nNmp9l4scS1wVtXCJqBUox5q7gUIhIbKh0bqXB104z1t4EYBIV2VXQq/7LNYSDa7su13u2uhHn1lnAhJ7C28yrdUk5x1VYPEHjkV6F2u57KNvsRUDTl5Zs16fG8dPat3WlLPdHkegs9wB3u2tV7TPJZuuk58yHbjNsDs2OqPJYcUUsymjzT0ieq4k8OefXwpXkWrOska/zj+ft9mJxxP5P92ttGeWO6q6Ika9s7js5Sejc1JpcIgXA+L7IT5vKHPKXEJPH0uyrjZdSbI75LfvFy13puHF3VebOJtcyPJ315Cg7CaZcCFJBJC0LKCSCnlWhdWbMJWn2oFvdti4Ell5SJNxeeceadbUobp3AkkbgJyUFWQB1QRk0e9accgXa8QYj7d0atjqW37hbQp2Id7O4Q7ugYO6oDOM7pxyrZmuLNGvr/wA9v+0Im1J23Vtrsvk/3W0qnRdbvTLs2coTbtPSmVvJwcp6R0IGeWCtJHDGRnNcgoWUL3kKUkpOUqBwR4+FW6fa3XPzilr8FKzUFItqkcMGtnFSMVfTXwha03ncrfpbbTfLGGmJxTeIiDjEhWHgPBzmf0s1tG2a10ltHhm3yUMrcWn+BXBIC8/QUe3xSc1zi4wpFYAlJ5Vb2Qbj1X5PzLhL2npZaVzMKWcp/Rc7PUoe2tR3vTd00nOMa4xHoTwOAVcULHelQyFDxBNWrS+1W+aZS20mR59EQeEeUSrA7kq5j1cR4VtWy7UtNayjC33JlEdTqcGNOAW0rwCj1c93I9wpoc3hba1ArG6o8QpA4Z9X/wBK3Zsm8rbaFsmYahNXBOorCg/7W3Yl5KE9oQv02x4Z3fCnGqNglsubSpGnpfmLpG8Iz6i4yr1K9JPtz7K1DqTR950dL6K5QXYwPoPp4tL+qscD6udYHeWn9tuxbykYyLRfI7OmbzJTjzO77pZWvubfwEk92d1R7BmtYbXfIElW9Lk/SErfaxvCM8orQR9FfMe3PrrkXfS4MOJ62OKkjHvHI1tnZN5T+0DY+2mNabt8KWUHJtVyBfYA+iCd5v8ARIHfmg1lqbRmoNA3Mx7tb5NtkoPVcUCEnxSocD7DWxtA+VDqfSyGYd43dSWxGE7spWJCU+DvM+G8Fd3CurdMeUjsg2+xGrRq6C1pO8Sk9GW7kA5DcX9F/G6kH6YT3ZJxmjbWvIGSGVXLRkxKWljpEMKV0jKwfmqBJH2igV0vtE0XtSQW7bORFuBGfg+fhp4/V44X6kknwplqTZylRXhrBHZiuVNY7O9R7PbgY95tr8JST1XsEtq+qscP31b9C+UZqjSLbMOY4m/WtvgI81RLiU9yHfSHgDkDuoLTqHZ6W1Lw2R7K17ddIuxlEpSR7K6L0ttQ0ZtK3Y8eSLbclDPmU8hClHuQv0VHwHE91Kai2epWFFLYPsoOTn4jsckKSeHhSaXONbm1Bs/KCv4v7K1xfNLuRN5SUcBQRDb+DTkSlAZqIW4WVbqgR7KzbfBxWxTPfH+WUJrFvKRclEjnTN5W8qjpB3GkyrOTWL5r5PzSzFYr4JOpz66m9PxwXE451Ck7yxVq01H3lp7ONUJNraKhklvhzrfui4OA3w7q07oiJkNjsrfej4+6lHdw5UG1tLxeDY7eGK4K1ftCXqnUm2Z6Jgxr7dIkdkNjgsNvOJaPiShJ9eT311ltx2ljZRsevN2Ze6G5yUeYQDnCg+4kgKHihIWv1pHfXMfkgbP0632x7HtOqa3kXbUTd0mpPy2Iqy5unwKEOAfW8aD3n2a6YTonZ1pfTyEBtNqtcaCEjs6NpKMfZVkoooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCvhSCCCAQedfaKDnjbl5COyfbm+9cJtl/F3ULgObxYt2O64e91GChw+KklXZmvPXbf+Db2qbJW5dysLSNfWKPlYfs7RTNSjvVFyVEj+bKz24FeyNFB+fWybUNRaVdMOYFSW2FbjkWckhxvHZk9ZJ8DmtmWDaVYdSlDJe+D5SgPipJACvAK5H1c69ZdtXks7NNvsXGrNNR3rikYau8MebzW/wDOp4qH0VbyfCvP3bd+Cr1rpORKuGzi5taxtIBWi3TFojT2x80KOG3fXlB+j2kNTXbQkCcpbrIMN1Q3gtgDcz2K3OXid3dJ7TnjVv0J5Q+1HY1bTbFvs6u0qDhVqvDRmMIT9HPxjQx3HdT9tc8M6g1hsuuztouMada5TBw7arxHW2pH6CwFJ9lbA09tgs146Nu4oNqkK4FazvNE/W5j2++qrY62SiZh0PcdpeyPbbp74Ii3BvZdqSb1Uw9Qq85tLjnzUygPih3KcAHZVL2w7BLhss2WXOOw9bHEXRhkPXBu6sOodUhaVDCt7eI9LGe/xql3jQdn1KESS024v0kyYqwN7xJHBXtBqDnbLYUlTfTvSX0tneSglCQfXhP3Y51qzxY7RXtHnstjJPu1ZM0+26y2toKUhSAd5Q9I45jwPMeGKr07T5TkFPjnFb2m6dyD1eXYBVduGm8g9St9Q0bLsW7nq/ZURKtKk54VuW4abwCQiq1N06QT1TQauchLQRwpezWeZe7pFt8OO5IlSXUstMtDKnFqISlKR3kkAeJFWyXYFg5Ke2tp+Tpp1rT8u86/lIWl2y7sGxZT1V3d9Ci274iMyl2Qe5SWc+kM4mdQIjV+zvVuxG93KFar7H1FDtjqmJXQn4tDzeEvJbBV1kJcC0BaSN/czujOKzsG2G13kCDe46YjjnUWiQgLZWe5WRj9YCnd9v7UO+6ftzDANnalsh9pxPSDoEqHVUOO9w4nxGauWrNiOntX2wyLQ620/uksr3+kaVw4DpAd5PtKu7ArMTuGWutSbD7Hf2VSrDIFskKG+lsEuML9nNPrGR4Vp/VOg75o57/GENaGTxRJZ67R/SHI+BwfCun9sewNOwm0WrU+zbaLH1ppy5vBgWqSyWp8RYQVKD7B9HGMZPRqypI3SONU6wbXbdcgIV7jm1SVdRxL6SplXrz6I+sMDvqvHkrlr6qeCY12lzoXt4jfGT2rHM/31svZR5RGvNjrhGnb0t62KOXLVNBejK9Taj1D4oINXjVOxSw6jbXKtS02yQ51kKY68dZ+r2D6pwM8q09qvZzfdGK3p0QrjH0Zcc9I17SPRPgcVYw7T0f5WOy7bNCatOvLYzpa6PgNLdfAdgOKPb0hGUA9yxgdqjzqvbVPIPt12iLu2h5zTbbo6RtLSw9GcH0SCcDxBI8K4qLgc/OJB8RwP/z66v2y7blrbY9MW9pe9utRFHLtuf8AjIzvraVwz9JOFeNBXNc7LdTbOZxYvVsejpB6shCSppXqUPuODU3obbzqjRbTcQyBdrak8Ik8lYQO5CvSSPAHHhXXGh/LA2c7W4bVo2h2lrTVzew0uXu9NBdJ4ZJIy2D3KyB2qqI2q+Qrar7CXetDTmW23QXG/N1h6K6PolJOB4pJHhQU3TO13R20EojLc+Brk4OEacoBCj3Jc9E+Gd0nupPV+iEllakoByOYFc7652Y6k2cTzGvdtdjDOEPpG80v1KHD2HB8Ke6Q2vX/AEowIfnBuFsB/gcolQSPoK5p9nDwoFNXaaMVxZSnGKpCypolOSK23O1jZtXNZZUYkkjJjv4B9QVyP3+Fa2v0MR3zjHOgj0yFJ7azMjPb9tNqKB2y5vLH99X3Sid5aMjtrX8RPXB7K2DpdYbUk0G8tG4Qls8K3Lp65NRWd9a0ttoG8payAEgcSSTyFc/WW+s2+P0rzyGWkjKluKCUp9ZNa92pbcJGpITljs7i2bUrg+9jdVI+j4I8O3t7qBbyhtrru2TXEeJbd9VlgExYCM/nlqI33cfSIGPohPbmuv8A8GVo1N78r1haGukh6Q0y64XcZSl5ZbZSM95S6s/onurhnZXZ0i4P32WAiDbUFzeV2rwcY78DJ9eO+vV/8DlodTOznaDr6Q0Q/qK7oiNrUP4uOlSjjw35Cgcc90d1B6G0UUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUFK2obF9EbZ7Iq1az03BvsY+gt9vDzJ+c26nC2z4pIrgzbh+CdkMl247KtQh5vBJsV+VhQ/o5I/ZWnx369KKKDwA1PpbaJ5PWpHbZqC03PS85Ct0sy28x5HihQy26PpIJ9dWvTW3SHISGL/DMZwcPO4qSpB9aOY9ma9vdU6RseuLM/adQ2iDe7Y+kpdiXCOh5pY8UqBFcR7b/wAFNpPUbL8/Zpd3dJ3HJWLXcFKkwXPohRPSN+vKwPm0HMsMQL/EEm3yWJjKhnfaUFY9Y5g+BpnK0+FAnd+ytbbU/J62reTReEvagsk61xwSWr1blF6E4O4uo4JP0HAk+GKz0v5QchndZ1BCTNa5CVGAQ4PEp5H2YoLRO04FZ6gAqu3DSwOSEfZWzbFqGw6xY6W1z2nj2sqO46n1pPGnEuwJV8mg0FerC3b4cqY+2VR4zZdWE8yBwCR4qJSkeKhUNA8oFd1slg0imxuWqJDjO5cSsfGTHnOklSVDdTgLCGG0jJ3EMhIzvGt26l0Eq+RUstS2YTrbgdR5w2VNKVuqT1iOKSN7IOCMgHsBqH0Lq+d5Out35up9n1o1larhEVb5Ee4lK2nmFLSpRjvp3kFWUjjx5dlRnuy19p7SknVs9KI8lxh0nIUjiD94q53TZ1rvZj/jDzV56LjeMm3pKt5PctniFezPeAK3VpXZ5sX2z3ETNjOtXtl2tPT/ABQ1ZxivK+a0tRwofVUo+Aq4al2g6q2PRE2Ha5oiTZ1eg3fregyrbIHfvjJR7fsrn58mfHMWx13HuupWs9pnTnewbV40tgouTQT8lb8dPSNqHcts5I8R1s/NFP5OzXRWrp1umzoXnVtbktvPtW9Y3X2d4FbSVZBbJTkcCN3lujsbai0Zatoeply9Puhpx5QKZUVXUI8ccCPA01vmy/WuzZXn5addjjj53B4KI7lt8ljw5H5tXRycdvw2nUyjNLR3R23HZnYNm93gXLY1c78/Z5ba1zrRfWMtwnArAQHfRWSMnhkgD01Z4UqybV4jwRHvsRyzyFKLKnFJJjrV2jPyeY4HIAI44NbJsG05LrZE5ve7POYg5d4W2eI9nq3a2hp7W9u/wbXrSP4vaZ1Hpe7dNI6KbBC1RJTjYQJDZTgtrTupO4QDwGCnts/HipEV3f7zG/6Qh2me/ZzDqXY/YNTtql28otkl3rJeiELYWfFA4Y8Uke2tPar2b3zSCi5Ji9PGycSox6Rv28Mp9uK3VcNkupdAEy9PXAriK9NlZ32VY7+HVPdvAE9hpeHraZb4UF3VFjnWFqbkR7g7GX5lKwopJbWRggKSpJwVAFJyeFbCLmcr3/SAPZkc/fV82XbcNabHZyntL3p1mKo/HW58dLGd+s0eGfpJwfGtlak2S6e1W2uXCKLfJcG8iREwplZ7ykdU/o47+Nad1bszvukgXX43nMPP8KjZWgfW7U+2g7O0T5WOzbbRCZsuv7Yxpi7PjolSHgF291R4ZKz+bB7l8B2qqo7XfIbiyI6rvomY2GnAXENJX0jDg+ioZx7MiuNg+M4cG8PnA9ath7MdtWttljjh0tfFqhKOXbVK+MZc8eiUcZ8UYPjQU3VmiL3oe5LhXq3vQnkngpacoX4pVyPsqHVIcWjcUsqT3E5rrceVRovaPa/g7X2mjbJSxuuustF+Oo/O3cb6PUN4jvrVO0vZPpdu3u3vR2o4MqEE76oS5SSsD6OTvA/RUM0GmqKMGigXjupbIKs1MR9UmEjDLe8vvXy91QGM1kEKPZQP7pf514IEl9SmxybHBI9n76X0zpmVqa4ojR04HNbivRQntJ/+eNSulNnlx1GpLu4qNDzxfdTwP1U81fd41br1qq2bP4CrRYQl64H848cKCFd6jyKvDkPsoHd0tr82bZNnelYa591uMhtgMMjecddWoBCfWpRBPcAOyv0AeT/sit+wnY5pXQ1tQkNWiGlt5xP8c+rK3nD4qcUtXtrg38FT5FU/Tak7a9ewXWbtMaP4vQpY67bawQuW4k8QpY4IzjqlSvlJI9NKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKBKVFZmx3GJDLb7Dg3VtOpCkqHcQeBrlDbZ+DW2V7UlTLhYGHNAX57Kw/Z0Aw1Od64pwnHeGyjPPNdaUUHidtp8g7a9sLC7n8FK1NZWV/7b6c331NDsUtkDpUDHNWCkdqq1tpjbffrE4lmaoXNhB3Vpd4OJ7xnvHjxr35IzWj9tnkY7Kdu61y77p1u33tQx8NWfEWWe7fIG65js6QKx2YoPNPTG1nTmrAGi8Ics8Oif6pJ8DyPsq3+YNuMuIQW347owth1KXGnARjrJOQefaKNtP4LbaNoZcufoeZH13aGwXERxuxrilI44KFHccI70qBPYkcBXMdv1vrLZjcnLZNbmwJDBw5a7xHcbcb8ChYC00G4tQ7HrVPbK4Taba7vFRYcCnoyx9EcVtnPaCsdyRjNTmmvKM2sbAIrVoecRrDRy0jes+pQZ0Nxs8ClqQcqbP0FE7ueKBmqzpXygrJdVNx7w2q1SFcN8nfZJ+sOXtrZ8IxbkwH4b7UhhwYJQUuIWO4jiFDwPA1XNImdwltjYv8Au3C6JlaSvE7yfdobx30QrirftEl3tSFnDfE9h3Sfm1ZdoV52obF9PuQto+j0XmxrRhjVWmk+cxHE9hcQMlHr4Vq+/7HbPc0uqhNotbyzvdEhsKjK7wWz6OfokAfNNNNK7UNrfk3qVH0/dVK046SVWm4pM60uDtSEq4s5xy6hODwIrTzcbHm/vK717ra3mvgaE2S6d2volXS03FtqSsk78VzCk+Ck8/YRVL17pG8bIrrvSlrKEn4ubE4LA7lJHMer1YrdUXV+wrbDcY0y7QZ/k/bQpGAi/WJRVaHnj8/dACEk9iwkD5xqM217GNrukLW3dbzEjbR9Kc29S6Xw+FI+c42nJHrGR41r0x8jFk3S26fSU5mlo7x3az0/tJ6dCVyd2QhQymXCwhSfBSOA9g3cdxraDe066X/AGUXPQqbhEn6UnMqaEd2G04YW8sKVuJwlSCTngrlvEpI4GoDZzsy0VtNsTjtquTbF5byVtpV0byD3KQcED2YrX2u9PXHZjcCqYXFMpV8XNidVxHiQCPeMeo1bHIwci/yrx3ifeP84QnHakeqFTuuyW76PdMzTc9bQUeswrLrDh7AQeKT2Akcc8DSTus5Wl5pt2q7c5aJSVbnnTR6SK94pUM8PUT447JfTWrJ2r7+qbLnrNog481jNp6JL738q6kAb27zAIGCQcZBzbdqV7gbNtkVyu1yt7Um/wCq2nbJY0TEJcDMYKSZ84JOcHIRGQrGQpLxHLj0d99Kde7T+qtmundUtuTIXRw5DnWEiEQWlnvKB1eP0cffWntRaCuunSpSkplMA8Ho53veOYp3arzMs7pcgTFsqPNGcpV6xyNTDutHJqN2Ujon+W+k9U/3VNhR2b3IaaDLyW5TQ4BEhO9j1HmPfTlp6yS0/HtSYDnzmVBxHuOCPeaXvK2JDit5pBdPygMEeuogwsnqqx66T2Ewxp62TFfEahjJV82U2trHtPD7aftbPEu8RqCzbvf50k/vquM2eRIVhvdUfXip627MtQ3ZQEaKhee0upH76wJBnQdmidefquAEDmmKtK1fYSfsp/Fu2hdNEOxWXrvKT6K3UHGe/rAAevFSFp8mLWNzIK/MYjZ+U6+T9iQasP8A9nK16WZXK1HfjJShOfNoKOjGfFxWeH6PtoNc3/abeNRBUWG2YUZQx0UfKlqHcVc/divQD8HR+Dac1S7bdqW1e3KbsqSmTZtOy2+Mwg5S/ISeTXDKUEdfIJ6uAq6+QX+D7t96XB2i64sKYOncpkWfT0tvecnYVlMiVvEno+AKWiMKzvEYwFenaEJbSEpSEpAwABgAUA22lpCUISEJSAAlIwAO6sqKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKAooooCiiigKo21PYhoXbXZjbNaaZgXxgfm3Xm919g97bqcLQfFJHjwq80UHmztt/BLrQt247KtRgoIJNj1AriD/ADchI5churT47/ZXFGrdDbTfJv1G5Dv9ouulJSFYCnk70WR4tuDLTo+qT3HBr39phfLBbNT2x+23i3RLrb30lDsSawl5pxJ5hSVAgj10HiLo3ynShKWNTW/fA/35BGDjvKD+4+yt0ab1XY9ZxvOLNcmJiSMltKsOJ+sg9Ye0V0Ttq/BY7OdcNSpuhpcjQV4WStDCAZNvUe4tKO8gfUUAPmnlXBm2LyLdsXk/vfCE2wybjamjlN904tclpGO1e4A40OXFaQOzPZQbI1PshtV5Q+YxXanneP5OnLG94tcgD27u7VM0Ve9rPk0XV2dpG+yYFteV8aw3+VW57+kjq/N/WwntAVzqjaP8pPUliU2zdkt36Gk7qi6dx8epYGD7QfXW6tJbZdJ61Ulpif8AB08jhFnYbUT9FXJXsOfCoTSPZmJ0nXNsOxrbcqM/tW0m9s01irAb1xozf83Ws/xjjaRvoHfvBQ+kKa7VvJd2mOae+G7BeIG2PRpG+1d7G6hcsIx8tsE757ynJqO1Psps97LrqEKt0p0lZei+iVY9It+ifHGCeec1rrTkXad5PV9Vf9FXyXbyDl42xZUw8P56OrqqHbxB5881V8vc7mEvUrmgLdaWNeWiy3m8RdKMyZJQ89eAWUx90FSi4lWOQHonG8cAcSK195QmsJO1faDKuzCJLNihtpt9lhyT1o0JvIbSR89WVOL71uLPbW6Ncas1N5WG1Kx6n1fEtUdux2lKVC1R+iTIeU6vdWtOT11bhUck4SlAAGQTHX7ZU06VqbSRnsq6I90Znbk923vNc0n3Un0q0nChkduRW873syeY3yGt7uIFUK76JWwVANkc8cKnuWFJ6Nl0AElBHInsrFmIpbu7jeI4cKfT7Q5D3lK4JHPNWTROlnrg63vIO8o55cqzvYf6K0c5Pfb+LJz4V01oPZyiIw244gDhniKU2U7NEsNNOut47TV31vqqBou0uFTiEbqSeJxURW9Z6jg6StzhUtCSlJPPFb/8jPyK5Wvp9v2n7UYCk2pKkyrJpuWj8+QcpkSUH5PAFLZHHgVcMAvPI48jaXry5wNqW1CApFvSpMmxaclJHxnHKZMlB7OAKGz4KUOQr0NSkJAAGAOAFAJSEJCUgJSOAA7K+0UUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAV8KQoYIBHjX2ig0Dtr8hrZFtzfen3bTqbNfXQd68WIiLIWfnLABQ4fFaVHxrgLbP+Cw2maEEqdo2ZF1/aWsrQw0BFnhHcWlK3FkD5qsnsT2V690UH58bZtB13sjuCrRMTOguMnC7RfI60KR4biwFo9mK2vpryk9O3cNt3lt2wyjgFwgusZ+sBvJHrHDvr2J2i7I9F7XLOu16y0zbdRQz6KZ0dK1tn5za/SQr6SSD41x9tR/BFbN9Usuu6N1HedFzVHKG3sXCKPDcWUuf9J7DQc82+6Wq5MBVrnQZjSyV5huoUFE8zhJ50o7GKgQpB91VzWv4H7bHYy69p6/ac1GEnKAh9yG8r2LSUg/p+2ufNc+S15RWzGUqPeNEazaSnnItnSzo+P6WOpaPYTmg6PuVri9Cpb6kNIHNThCQPfWntoGpNGWNCkruTE6Wc7saAQ8v2kdVPtIrnm4ad1OmQpq52+8Idz1kTGHgr2hQqb0poO5XaQGo1tlSHM4KGmFKOfUBQKBmRqy6pcUwGI4XlphPEJ8Se010Hsp2egFtxbY7ycVJ7IvJg1zqCVHbhaKvjxcxhxyA400PW4sJQn2kV2ns88h3VrjLIvM6Fpxg46RLZEl/HaAEkIB8d447jyoOf7zfmNK29EeK0t+Y7hDLDCCtxxR5JSkcSfACt8+TF5EM+73+FtB2txRvsqRJtWlnsKDS/SS7LHIqHAhvkDxVk8B1Bsx8nLQ+ymWbharX53fFI6NV4uBD0nd7QlRGGwe0ICc4Gc4FbNAxQAASAAMAdgr7RRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFAUUUUBRRRQFFFFBVdSfw72U20r/D3fWf3UUUFzooooCiiigKKKKAooooCiiigKKKKAooooCiiigKKKKD/2Q==
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCALlAfQDAREAAhEBAxEB/8QAHwAAAQMEAwEAAAAAAAAAAAAAAAYHCAMEBQkBAgoL/8QAURAAAQMDAwMCAwQHBwEGAwMNAQIDBAUGEQAHIQgSMUFREyJhCRRxgRUykaGxwdEKFiNCUuHwYhckM3KSolPi8RglQ4KywtImNNMZJ0Rjo5P/xAAdAQEAAQUBAQEAAAAAAAAAAAAABAECAwUGBwgJ/8QAPxEBAAIBAgUBBAgEBgIDAAIDAAECAwQRBQYSITFBBxMiUTJhcYGRobHwCBTB0RUjQlLh8TNyFiSCNENiY7L/2gAMAwEAAhEDEQA/APfxoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAxO/HU9089LtpqvnqK3m252XtQuJYjVfcS7KPbTdUmrC1N0qhRahLbnXBWXQhRZo1Eiz6nIAJjxHe1WA0n7w/2mToCsiozqNtNafUL1FusM9ka5bJ24bsKwX6mS4hVOdre8dZ2/ulSYzqECZPolj12MlpwOwVVBSVNgNYV9f2m/rJuREwbT9H3T3tm04pX6Lm7h7s3pvLIW0HssrnxbVpOyMeG842Mvxo1QqLMd5SmPvU5KVPuhHSufb0/a93gcUe5Ol+xCpaD2WTsxKqb5bSpSlIUq+dx72ySFdvxRCIIQngKC1KDFo+2O+2n7kBzeiwWAruOT087aoX2pSVHCX6YyTkDlPDg89vaCQF2x9s39s/EkMyRu9tLXGG1guw6v0+WUYS1KQrDbzlGk0acAnIWlUeQ13OJSPiKa7wQeK2ft+vtY6E6E3Vtp0kXxACOxYO1u6Vt1d0/KnDcylb3qp8dHClBSqU8UrUs47ChCAkjZX9pT6mqPUIzG6f2fVrXHRzKbE+t7Y76Va36uzBwA+/FtO6dsrjp8+SgHvaiyb+pqXiCkzmgoqSE4rK/tKnRDVKnCgbmbSdWmysd8hE25Lp2noF4WxT3SypRU5/2TX5uBdzsZx4BmM61aBcdDrLrjDLZdLQbQNhvtLOgfqbq8O2dkOrHZa9LyqDBkwtvnbvh2ruXIYSwqS44jbW9Bbt9hLDCVLlFdvJETtUmT8JSSAE3UvJV2cEd4yk/KQU+h7kqKSCCCCkkYPnQVdAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNB1WtKBlRwPfBOB6k4BwkeVKOEpHKiBzoIzdUnWP01dGG3crc7qR3ZtjbW3Epcbo0KoPvz7uvOot/DKqJt9Y9HYqN337XkNupkyKRaVFq82BT0v1apNQ6REmT44eTPrE/tDfVFvm/PsXocs09NO38p2pQX949wKTRL330rcRK4jkao2vZ8557bzamJJiNzQ3JuBrcup1GmSVT6bJtK46UafJDRTdlqP3JebW6O/18XvuPule7z8uPcN51ap7v7xX/HodIuSo1H+7EKrOVKvybbtJqza7Kq9bjP2ntTttBghq/L4syiuGQ/ZeZjbadt9/wCjBlzVwTFsk9OKYnqt/tmO++/jxPy7z8/CzpO4vTXa02em7792Tt56HKLDEifuVvld8t1+PJqdNnuPv7O9EO7Voyls1ehyHo0i07+vW16hTHKbPod23TBqUWuSLaXiLfFMTE9tpnbv+5/D7nPzzlweNfPD8d63yxE1i+TvS0zMRE7xMV8xP2fJIbYerWdv5+k3Nm29u79plBksQ59SY3gtHbFK5S4wlCLGi9UFL6b6rU5CypLLxplvrQuSlSR8Jlz7wrL10mZiNt+3rO8f0/Lt8t/Gv437RuSeXc+PQ8xccpwzU5Y68OXHS2Slt5n4bUrEzeNu20d4mY7+Uwqbs/cFMVTotVsB6hsz35iBUqZuRsDuJQ0qpqGEvsSJG0O8d9yG5T65dMZgl+mMTJzUp+eruplLlzoSY2mY+XbtMTH4x2n7Y7Oj4LxrhPHsMZ+C62eIYbR2z3xWwYrfXX3np8p32nt817U9k9uaVT11+66JY9HhNSo0RNeq9GosR2TVJzMp+mUunTUxEzq1X6uiHIaodCp7sus1qSEw6FBqdXdp9OmG0ZfbDY645lw3Xdc5m7KTYVcpVmQLHsa9nq8/cESXTWqvKuC93rfuhuZc+2MG8WqzQKRG2srtRi1mgybJlVyt2Xt3VLjkWhTQkdC2Jhvocecp7C0x2HHnh2pUURmEfFddUlCCv4Tbag44rtIQ2pK1YSpJIRmr9/bPTKnU7a2Us2s9RF0UNbiK/WtuRSYOx1puRR3S4159S92VGkbK0eYynKpkC27kvS44SmHYjlrfpBAjuBrF3q6s9vreqdWpF27ybRwZqfv5/wCzfpX24qfUPfMBtl91kUq4t2dwzSNu25rAQA9NoO3TjOGFux5gaUSoIMXJu/a1/RlOWxsXvLdlJeJbRU783FsGU6V9vaA7Z23O1UxqnhKVfEEeWyjCSqOp5Y40E/8ApR+2I+0S6SZ1t0vbG86jI29oUBUFGy2/e6sa7bNlx0tuNU+BTjvc1ZNbtqNT3HUvxaFtZddliYlhqKqSWlNwnQ9kP2dn28fT/wBZlw2nstvJblc6UOqG5Iyk0HbTchDsWz91ltsl9FT2cv6U3HpdzImoYlGFQlOKlzFLRGodRuV1guqDfOFpVntUDjGccj5gCOfByCDxnQdtAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoLKo1CJS4Muoz5cWDAgRJM2ZNmvtRocSLFZU+/KlSX3GmGIzDSFOPPPOttNtpUtbiEgqAeXnr7/tDNv0KfO2Y+z0odK3mvuS5UKFL6iqvT6jWNk7WrjcRSXGduKVSn26jvdX6TJcZE+dFFP23okd+FXv05fdP/AEnbzQeY6sRtzOpK7pu/e+m59w7y3vXqZJuiZuHf9Ww1R7YfiprryYTVaj0u3ts7DplOdTW1UCNAtq0rZiL/AEm1SrYVGlurLclujJXBbfFmtEW2vG9bVmImJi0RERvE7xvv9f1qXae2rn3nV946cmKHTNtYNeepVz9YO5FDm1XaKmyqNUaK5VYuwe3U8xql1KbgQosx9+oSrojUDZukVBhuk7jVe4LerNAutu3esTN758OPFXbri2/X3+UxO2/rHbv4+cvN/aR7VeUvZtobaji3EMeXiEx0abguktXU6/V55rvSKUrNPd1ta1Ynq6tq/FHVPwyzm5HQ1vp1T7rQtkOhvcS6dwrYkTqVH6m9z75DzEd+fSoVIbhS969+WJMmbe1Np0miwY1m7E2lRqfYlkii0aZY+3q7hduG6qnK4Zw/Xcb1MYdDpr3wb721d9qYcNNu/vJn6UztMx07bRtv23l4dpv4ktDk4BxfiHOXDK8vYfc3ycG0/vurX8R2iNsNMF6193eazMTe1pr1dUR1T01h8eor7FvYfbaiW1tJA6zbnuXe64kVesUqEvb+yGrZerFtU/7vfb9Ht9e41OuxygSFU6mw51QpSbsRbcu30QqnVxWfvdvzKca0fDeH5/5LBxPDrNfS2+fDjr1UxxETF5iYt3mJisRta0xvvv3mHl/JHti5z51meNcueyvV8W5f/wAYtw2dZh1NsWqxRbqtjy5tXOPLivOOKZJvTHgrW85qzbptirEZToZ+yqd2Kcqdd3lvw7jXJUql3U7b2xl1uDt/HVTnQyxJq9RkR6XcF11OYCfi0pqnUmhUpbwZnt3ESQmFiwViJyTExf4bTEW3jfx8vG23jb8Zl9hX9nnAuZcHCOL8f4HvrNJ05ceLVxjyXwzMTPRlisTW0Vm9tuqb+kxMRtEbVoCJ1wSHKHtZRqXX3qbVZFFrF4VKPNgbSWdLotUNMuKlRHaE7HqO5V3W88h5M7bLbiZTqBFqVNqtr7j7r7RXAmmuzczvdJoNLodNTR6TFTBp6RtXHhpTFWIjxEdFaz6fM/8AYex1OoFSj3ZW5c+77+DAjovi6GYhqNLaQ3PhPx7GolNp8K3tsaPUoMtMCp0qzaTTZd3R4lMd3Nrm4NyQV3K+TCZ3K36szbm4KptTtxbdX3z37o9ObflbQ7fzqXFbsGFNaDdLuHfzce41JsDYez5LnwgatelRk3pUEuMrtqwbskyojMoNG3WZ9oFtlSahIs7c+8o/WHuQHvhp6W9ipleszozsCtOutCDC3Lu0vI3K6pZ/w40SUuBf8inWLIqEqYKVtFDiNsISCJtjou+0e+0GZpFW6j7oj9NewsVEZq1tl6DSl2XQqTQvhhynU+2toLXkW43ApsWOWRE/vbOthAUpEhmhz0OPBQbKdlvssuknp5o7YVZsfcO4mo8ePJuDcb7ncTfxYzjSjIh2stpFpUiQXmziVAoYqim1fDmVOarveWDiXmzYNtwnadCp9Gp0BvuaZgwYsaBFZbT+q03GjNNMhlGCEt9hbSlSgEYJADXNvY5t3W0yo0qLT3EvMuBfw2m+5STkFtS0oSsI+QDtBx2lQ5SSnQa2qtcA2yXLh2yql3DYM+bGn1Tam71TqhY5mxpbb665azNPq1Hrm1l3xltpkQdwdqq5Zd8w5DER1VYntRG4Doeyv7DD7bm3d/3bc6Nuoe+nUbuJiN03Y659xKvDl31fMelU5M9/a+9blYapVM3CvmgUhKnLS3Kp1IoVS3GoNKmM31a1C3AgR6tuWHqyBz+wH8znQc6A0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0EIOtv7QPpn6CtvVXn1AXeuFUay1LjWLtpbbUSu7obm1VH+A3S7Js4zI0iawX1ts1O46o9SrPtr48V66bgo0WZFefDxC9dn2l/Vx9ozWZlpVqRM2z6bKs683Runnby42qpDqCYVQoikyN9bhp0+l1DdWqQpCnVv2+Bam2Vppbhyptvv3RAg3JVCk77domZ9IjzP1Ivy6BYOzkSnQbliV25bqvusSYe3G0Ni0aq3xuNutV0sy/uts7e7a/p+oSq9TItTpLkY1aoLiWjaQacpsKrR7hq7NIrRZq9RpNDp51er1eDBp6RM5suS9a48MR5nJa0xWNvXvt5OnXdoKVFp0S/+vyoUKlWbEqUap2P0X2JdSa9a79Yh1Fcqiz+oS/aAqPJ6hr7lxZ800+zLEmUXbWh1aY1PiykRH7zsFeLHe2WZx0x2vm65rXBXva8RMxE9Udvi7bVjzMxG877Pj72n/wASNoyZ+V/ZxpMnGdTk99iz8wx0ZdHpZxWmuW+HNFZrfFgmtveZYydGOsTNumadTYHYHS/ux1AUSg331UVeqdLnSxTadBp1q7L2xFjWfvNuZQ6dTUU+36Au36WyGdoLTTFjRadTtuLXobV4pt1MmiwbesyKKbWGei0XLt8eDUcV4/kxaDR4axfHos1JnVamK1ptWJ3iuPeNo26bZIrtMxWI7/C3M/P/AA7l7Xavi3FOJ0505tjal+JTn99wrg+fLPusODBF7WrxDPW1sfTGG9tPXpienUYrb1eqn7y2nXLdq2y/SnRoW0uwNgV2vWQW7Lo86l0y5q3RK5UKVcaabd64kSJflKTUoc2NXK/ZNXueLcVVTLk1LcOvsIW45G1HMluIYKYOEY8nB9Hii2G2PDasTqK9XV13mkREz22333n1tbs9T4N/Cr7XfaBrOEcU5t41odBwTmLR4eL49bn12HJrMGmtfHamDBgi/ViiMe1a1iNq/DXeYisVwU2DZO3j0i+7ijR2atWY9JtJqqUugz69uFfH93hIl0iybQo9tQ6tdF3TKOiXUa5R7WtSDU2qZBerV5hmHRoNRuOHoJ0eCt/eY8VIy23nJntE2zXmd94m2/0Z8zG3mPvfo77M/Z3y17MeUdNyny3GstotLmnNmyajVRknV6vJTbPqL1ptvMzWPdzttWJtE+Y2WVG2muXcdD7e5cFFr2fKP6Of2gptWjTZtxRXIdTpVWjbxXla896PXaVWKZLiJTtTtxU5NgRIsSq0++tx98aBUBSKLLr2rt84j8p3/f4u9neZja96xH+iLTNbR42tEz9+/wA4+uT+3JWNtdmLFql/bkXRau3e3loU6H+k63WH4dFo1Fp6Kc8miUem0yDGbceqEuJTDSLStGgU2RVq/Pjt25ZtGqMwRKUCrXJ1S9baLVs1F67k3dd3Rn0/zoSpVBocZmHC69+oiKsSWaY3ZdoSHqrJ6SbRqr7cxldQuyk1nfOrUtTcqmUvatiqIlrDURt7S+tT7TKAnabpZ29gdFvQpAqj7tUl0VVVpsS6pk1XfVq5d13mWq7t473qq8P1phqr1GrOPKfVdl5w3lKfUG83pF+zL6Xui2nQavblui8Ny40YibunfMeFUK6iVJCDURacAtmmWfTXpKFqQ1SUPVaQS6muXBXX3HJJCVN77r0S3IkgB9tJabXnlKfQYPk+B+Hj2Gg1q7z9W9MpiZKWqi1/hocTw8RkhzA9cckc/u0GojejrHlSHHks1I9iQtZSlxZBbUSkjIOMkZJOPAx66DXdfHU5PnrfSmcsJ7VJ+Zxwd+VZBT82OM4P9NBHmqbxVOpqX3SFqCicEZUEjnCfJJI58/jxoMXQtxbntq5bbvG2axW7bui0rhot12zclBmu0yt0G5LfqLNUolbpVSaT8enT6NUI0eoUqXEWxLg1RlmoMSm/hOR5IfUQ+wv+2gtT7TnaWZY25KaPavWPtFbtHXufbEIJgUvdC2g3Hp7O9G31O+GlLFFqVTRIj3TasP70/ZNakQWfiSbduO0atVw3+Nr70hWCnPoSCR+OCR+wkexOg76A0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgprdQghKlYJClDhRGE47iSAQAMgkkjAyfAJAebz7S37e+wtgqtWdhOi9ds757/xJVVoV3X9JkibspstNpqpzFbaqU+FOh/8AaPftrKjvrqdo0GpU+2rakU6pJv69KTUqHOs6oD749O0zG87/ACj1+vb5w8rjVG3P3/3Fq+8e917Xvu1u/f8AUDIrN43PKfcuGrS6gt4Umi21Ao7VOhWzbCJs+dBt60LXgWzbECYwinWnaDNBUxMmiItNb26LxTHMRe9qWikTado+OY6Z3nxtJyLCoF3Xy9UbU6fIVDrSaPUZ1IvvqA3GqlXuHYjbGstQFyJ1uUOU/Nl1fqC3ggwZlNlUva+w6mrbazxKtepbkXvTaA9dNFZvilpjf4Yj5zatY9PWZiO2/f5RE77PPefvabyj7O+GZNfzHr6UtOK9tNoMM2yavW5IrM1wYqYt7Utknatb36axvvM7RJ3tp7OiULcK6dtOjW07j6kup68IkaDvR1I7gy4Tsim0l6VUonwb5vGKtdr7PbbQItQfhUfZLa9uLRptJh0W0nIu49ZtqnT5MjQ6LV8S1H8toMNsubbpmZn3eLvExM2zX6ccVnvG2/eO0RaZ7/AvtH9qvMftFxarUca1uXkjkfFecem4bjy2xcR4vS0TPRHTals+S9NqRWsxSZtFLXr1RNp/bU7F7H9Kd2M3xuvczPU/1ehCkSbom081HbzZR9chmRUaVY9uy5C00ioQVSFIiVEoe3DqcjsgyX7HpVSVHHRXz8I5Qi8aWa8W4/bHtOKK26NPljeLRXJaPdxFbeZi3VbxNojpfL2r5xy8a4jo+ROSuFanhnDtXrcWHp0dcmfW6y1skUy6jiGqx0tXeOmL102TJTHS2/Vjpk673x9Dr+8W9FZkbgb0UpFry5lRkCyrLbuGVcteta2VOmG1DuuZTFt2jTblnPyo8qZTLDW9DgR6lSolVrlw3DAk1us8bTiXF+K6nJquN9VsWS29dJ1VmuOImaxHbtM7RE+PM77w/Q7lf+DLkXS8R5d5g43xfV8ZxaThWn1GTg2bTe6w5OJ5YjP1Z5tFZvXFe9d6WicdprMxvEzLMmqSG6nLsXbKiUm7bvo6I8C4E1JyTTdudsnTT6bUqazuLWqdmYxX5VCajSaDtZaKJ99V6ny4M6429tbHrsXdmkXVw48V8k4vhpktFop3+Db0j0/B9m00+nw6XS6TSTj0+HRabDp8dL6bFaYripFenBNYmMeOdo+H4e8b7dt4fHbTaCm2xJVclVqc287+qVOYp1Wv65IFPiVZNJCg+ugWzTYbr9J27s1Smor1RtG2nRGrU+mQrmvyuX7eqJ961G9fOPTbRkrTJXPt02tM1ik18z8NZ87+v2+Fpuz1AW9thXI211i2tI3o6gJVFbuOk7SW9V4dGgWTbkqM83E3J34vea1Jt/Zjadr4zhfrdfj1G6bkS+xEsOxrtkuuPUwo0CdT32h8a193qLQts5VO64OuyLKTbdiVK3KHV5nTN0u1uolDD9H6btrHf0rMurcmnvNR483ey6W6zvPcTUeMtyv2XT0sUSIDx9Jv2Nl57k3jF6nvtKruqW6O5lYfTW2NpJlXcn0qnrXIEtqPe86GtuI6iKW47a7Btt6NQGm0IgVqtV5DMynNhvzn1y1bBokaj0WJSqHS6VGTDpFLpMKHSqdTYLXaGIdOp0JpmDT4jASkMxYzTDDCUoDTSEpQEhBrenqhpNDamIRUmx28lHxUpBKU9vzJCsHBRjJHP7DoNKu/vWspx2oMx6llLiVoAQ8UgEjgD5k+fmzxwPbjQag91upipVqRLCZ7igtC/hp71KBCnAQRlePHOcj+eghzcG4FXrLz4DzqwoqA+Zf6h57cJUR2dxOE8DJJ9eQTtOpdWqy8kOqUVZCMKVkL/MpHCQfIwNA+Fl7R1GputLdZWkOKaIThSsZAKh2H5QfQjwBjHjQTYs3pKkXHFR8KM64spSSpKCkIHckEqT+qlJ7glOcBa8pT3LyAFxa9M6jPs+N7dt+pzZKpVSg3rtldMG5aVMjvVGPTqswzIaVX7UupFOlwZdSs68qSqTb940luVHNboMyZTi+wt9EqOH1W+grrO2t6/Olbafqf2nfDVG3AoWLhtp1ZXU7Bv6iufoq+7AreWIx/SVqXGxMpyZQYZjVmnJp9fpgepFVgSHgmJoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgCQOScD3OgaTfDfLanpx21uTd/eu/bc2223tCJ98r91XPMEWDHCldkeDEZbDk6rVmpPFEOjUGkRZ1arVQeYp9KgTJr7MdYeJv7Rj7aDfbrperWzXTnHvDYTpUqinbeqtRjMSaZvvv1SZbb8CuQao6ioQkWBYVZo1ZgKnWjTZcCqwKWuYveW9beoM24rLt4Nb+2ey1KosWE6YMeBGiJYltQY8epS40NVOjwZ0edIdiUxyfW36Z+is0qDDt4S4ktq26daFBdr1PeYrJdXp7zOKt/FYvNoice+/eI82329J7bR80k7bsm1rltmoXLuYbutfbRilKclbH2rTLjiblbl0uoUW3KjFhbz3DZLz0ui2NVbYqtSt6tdN2y1Sn3U+7Jrdp7tb6/Hpdx7R0a6uSuLqvaOqsVntG8zMzG3ynaY8xMeu3f0eE+132h828t+74FyXyvxPivF9XjmKcTilr8M0/VPxTfpiaTkiv0K3mKxPr4mHV6e7Gv3rwuWpWSXa90ydLG0sak2Uqg0O2aZYm4t50lqHNXT7B29oblMpNP27sClRVRXaq9TKDNjQI9TYo8Kit1CfUZtq5+DYsHEdRadbedPosdurP2iuS+LabWrii3TvPTttaItG89ER1b2r+fXPVOYuVcuTmHnfh/GOaeZOKWvkw6aNFr9TwjhPVkiK6rXzTDMdGHbJ/9etsM1itc1slsPTTPMC89ynNotra5sB0NbTWvtfEolRjUqlxa9Kqsb77UH6vRol3XlfVXoc527pb6LfYqUtSxWJ943pV4tIgP1jAkWfVdtxnj1sWn/wzljFGn08V6Y1Mx0ZZjv5tMRaZt3id5mbd952mYc/7COUuPe3D2qaH/wCZ8G4xxblT3t/5/Ji6tJg0tNPXfBiwResY8WLrjHSterqjHvWIim8Rh7HtJFp25Hk35cNBen0GksyrwvmoN0mxbaSmH8RNUr0p6pSTbdr0gqcckyKm9Mh0mKhH3hIgUpb7THM6as6bT/zWa1s+svPTabb2nqnebT43iJnefs+3v+mvs89gfs69mOv1ut5e4Xi1dtTqc9sX+JY65c+ktfNe846ZLVmNo/3RPTaIieqNykt+k3Zu4iC7RRce3W2b8eNJcugtTbO3i3EjPR2VtP2bErMKLcuytpGrR1IXcldhDfWuUd92RYNv7MJatPeOvZom9o6r7Ra3eYr4jf0/e32PZrTeZ+OsVt2jprMTWsR2itdpmIiIiIiN52jtvPlJ207Itbb62YdLo1Ootn2XacCpy2oNNYapVBt2ktTZlx1ypKWptTNNiiXU67cdwXBUXPvkip1ap3BXKtJqNVmuVGq1BTfHrUprth167dvNy6XsX02UioTYV19ZdwU6HVKtuAuCWzPtbo2sGro7NwqnJH+DT+pS54M3aOiTFhdiUjcyrwQpsNG1HvLqY+0Xn13ps+z6sWs9PPSg7ck2vbx7z3fVKzLvXdW5pqkt1i/d6t0qnKVdF6X3X2JL8hNEEuTc81p12BCiWrb3ZTYoegXon+zy6dOgu1UJsWmG5dzZkFcK7d4bljRnrwqwfbQmbTKattcmFbturkfFkfomkLUKgJLhrs+uLcU8sH43G3mplvsy3PvrLakNKWSXVjK1JAAPIKiAMJzlQ57cFSshqZ6g+sWLAQ62xOypCVpKQ8cEhYGcHntHJBJPIx6nIaMt++rGdVnpoTMXla1Yw8vGC45j34OeB65GDjQazL43bqVdluBp51fcon9fuyoeAcEn1PHH7cZBpER6nV3y46D2qUQe7OcZJHGeDwM8Ae2NA6FsWNIkupV2d3ckcFJIycfN48c/h7eCNBKHb7alUpxhx5tIIP8AlQCkkd2ARkfsBOfoDyE4duNqI7fwHVtN94CFdpbVjuUQPHoO3nAJ984xkNqGwlh09hyCgoZT/iICnEoT8vclSV9uVkFSm1qQQpKgO1JSAtPcQ2F3p0fWrvPtnU6ZIgx5LztMJZUqMhayt5HaQ3hCfmUE5JKiEkAj1Ggij9hx1JXV9mH9o9V+hrdR+bB6ees6vxKXZz051pun2b1DNx1RbFrIXJfZDEbcaBGa2rqzLDMyXUbnG2iYz8Sl0t2O6H0AmFOLbSp1KUOZWFoQSpCVJWpOELUlCloGPlcKGy4nCy233diQq6A0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0Gr37RT7VDp3+z7tUxLxde3F32rtO+97b9Plo1OCLzuNb65LFOrl1Ovl1iwNvhU4LjMy8qvHlPTGY0+HZNDva5WU2tMDxIdSPU11QfaE7os7h9R9wU+TEtyZIdsDZygLkQNodmospEF8Q6dSEzFyaneEyl1N5yvXTcD8/cG5GJrFNm1qzLIuGy6fTAVVgbY0+kRUlLIekyG4qZM5SGTJfbiMIZjxkORUsRYdOYUHltUmmsxabGlyKhMYYFSqdYn1IJFUG2ENtttpa+U4x8vgjP158nPt9fQHbo1DcbShtKDwlISU5QRgAf5TkDA5AUDjjOisY75J6aRWbd5jr8fDEz+PyORS7fClMvORy+4jHZ8bud7Mq5DQ/8AGQVHntbc+Yn5g4onJrtVw7S62Lxn4Zo9VkxxMxTLhpmx3msTtF8d46MlbeJrb4bRv6TJO1PfvpxsG942224W9e3Ng3645EU7QL3rbFlNOOVRiHIitU64LpRRLVrNScRMivyqZTa9KqkFuo0pupRYkuYIyBwjh/DuDxmpo+H6LhmPUxvmjh2h02i2v9mCtfr+v8tpOMbUW1ddbtm6qzJm3DT6JHh1q0re+/sPbdt1dS0TIF+ijU+MxGuS52mTTZVuVyt1a4KXasyEzdW28K1buqFx3RcBsNojtEzMR2iZ7zMekzPrM+pd7mbn7Y7D2gq/Nz62qjU6pVlugW1RabBn128dwr0qiu+kWFttaVM+PXbzvmvyHC1TbcoTGY4cblz3qLRAZ0UNLPXt1wWxYNLZm9WMZtQceh1/ar7OG0rjh1B+uzqY797tm7+ui77clswbnw+6zU09O1uVSRs9bgFORdE7cmuNLXBCOOxXQH1Ufac3xRepH7QCv16wdkWfu0nbrY+kOy7clTaA0pKYFPolDXGSiyrUcgIQyzcfwItzS0odFuQ6VGfYr4D0f2jbm2uxFj0uwdt7at+x7MtqI1BpFuUGEzBgxWUo7C72BIckT5BbQ7PqsxT1Vqb4Ls+c/wB/boIrbydRkGgw5ganthQV2hPfjBC1DIKVgZ4/VwT7nnGg0kdRHWCp0z22Kksd5ICfiqOChRTkHIHPnxx40Gl/d7qGn12RLV99eUVFaMfEX2j4iirPCjgYGAMYPuMaCFVcuap3BJdKXXSFKAKStSs9vr83PIx6j93IdqLbsqU6ha2O8rX3Hg5SOMZGeRx7+nOBwAfq09v3ZK0qUwlKQVZyFEnKFcngDPd6ZIz4J8aCV1j7csNBh1bCVKQlrgI4POcEqOBz5Hack40Eq7Qs1LAZUGyEpUFJQG20/rEkjJB8YGCRj25I0Ek7VozbDrZ7e3Kmz+qOMAfLjgH6nAH/AE+wTU2mlMwJMTOT2KR3JwAkkq7ErKuQOzIVyk5xjI5IDeH0z1uFUIkSG8sfDXGY/W7VgpWVgFTak8EckpB44yeeA1rfbd9E8y7tuYu+O3zU2m3vYDsa66TW6E2uJV4UqjyUVCLUKZJgn7y3UqY/FbmRXEIcLa2/jpAWygkPTz9kz1wx/tCOhLZTqInP0wbkP0uRYG+dJpUZNPjULe+wVN0PcKO1SkvyhSKZXag2zetsU9UuS61Z1026686l95xloNkGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQUHZLLBAeX8MHHzrCkt/N3YBdUA0CSkjtKwrJQMZcQFB5ivtPft7KRtXUbo6feg6oW/uNu7T0zKXem/76Wbh2f2klNMNSKlGtcJcTSN071pNNNRdfmxZsvbqyazTZkK63bjrNIrFoQA8u1Bsy8Nxbtqu6e4103Rel83vORcV23/edXqtV3DuqqyVkLlTJ1WZYqlEjN06PGocSRJYi16JFjtR7aploU2k2pXngldatmRoTUWHFgx47DTLLbEdtpiO00HloZz2KUhtpDrpHxFqKUqyl51fYtDiwfakWs4x8qo7jakdwcYLRbfbIDaytbBSlwNr+KCl7sLThS4W3F9pOgdGkUEBtBAVkAeBzjzznkfh9PGgdGg0Av5WlK1txmJUmQont+ExTmmXpjjmSkhtCHW0pISsvrWWoqJD6FtAIUbudX9VgVTbJjYO2dz5sY3JVZW5lR3G6KOs1NnSLeRbVUk27ZUSuUfbaFfFBvG7rkahQqFW7X2z3EokGEzMuGtLgwKRJt29xHw79Pbfzt23+r7PqTZoHTBbu7TUTcHcyh7n2Pcd/JhzNzdrrkveiXA/UbRpdTfqtG6frguShxhKgdP1Iq/3+9XNu9tJm2zt+ybh7t7XZdQiVe3I5ZOOkxtNazG+/iPPz+36zmbm740DaSowdlNpLJpO5e9MK1qfJp21lEqkCztudmbCg09VOoF277XhT40mg7KbU0uBGpMO1aLDhyb8vKnwoVv7X2VIYkR10MvaBd+evC8F7xytuej+ZUusHr5vCLWLHrPUVRLbc/7PdmrerSHG7g216VNto0qdH252/hx3ZLd3XQ/Wp1x3DHcYuDdi9ZzanKQ+E5uhb7IO1tna0jqI6wquzv11N1iYzcklm4VsXLaNi1Qlh9oJTOIj3bddLkspxV6g2igUd9LabdorMuEmuTA2zXruRS6I04t+Q33JypSnHUqUXSlXaslwHKsdwKv1gCr5sEjQa0t9+qSJSG5Educ2O34gX/3hBT8oynOBhePTOcemg0YdQHVi9MkzGmqspLSnFrwh3IIStzJ7QceMceuPrwGpLcjeOp1yVKSZSnVrcIBWsED5TkpUDkHPP0PPPBAR6W5PrD3zBZcKu5ZSojPPnOeSASBjPB9uADj21Z6nnUKU24pShyVAkd2Bxk/l9dBJO0NvCfglbCycpwcpGPfPv6Z8aCUlqWT8NtpsMKTlKBwkcgIGcqHuB78n6E6CQ1AtlmP8IrBBASSCkEEDBCTgeB7c4zjHsDxUWnYU0EpOFZ7EpSAMpSpRAA8cDgeVKwBk8AHmoNPS2pPDbnaCMBtKu5aVFXcFYwo9nhQ/W4APjISEs9sxlqeSlHYfhr7cJ7A2kgrwnGCCASU4IVk++g2PdPF/uUuqU7En/uznwkLYAx24UQVFSh2qKiR24/VA/DAbiKva9G3r2hrVrz2Wpjc6jSmFNvFLnxGno7hUySoHKSpKSEn5O75gnKc6DSD9iVuRXuhX7UTqF+zzvCoVSLtL1Sx6lursvTKlOeYpVJ3r2+pEytXIaPGfdTFM2/tqKe6uvTIqUPPDaK3KdMcdK4MUh7VE5wM+f99BzoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGg4JA8kDPjJxnQNjvHvNtdsDtvdG7e8d927tzt3Z0A1C4LsuaaiJTYLZcbYjsNpAXJqNRqEt1iBS6PTWJVWrFQkxqbS4kqfKjsLDw4/aV/bZ7q9cNRrexvT1Va7sP00TmkIkoFWj2rv11CUD7zTyx/eVMJcytba7aVirxKlQm7TilKb2pc1yj3/WJDFdre2VGCAG1Oz8mk0aG0/b1JgRw1EcZp8GgyC/F+BIjvxV1Opm7K5SJb7UuKwGW6ZT/ALtGkR2G4NbRCYS0gJF1WoWdtpaFSvS/LgpFnWhQ/gt1O5q0XVRIciWHkUinsJgxJlWrlVrEuPJjUe27dpdduKsPl8UmlSvurqUBCvqB39qrNRb2orp34srce+oTMfbTov6e5tuUPrBupdTkQ51Eu/qb3bn0W+o3SHSK1RZrNco2yG3Ft3tuvOtdNTO6VRtGlVG2rlmA6PQdtdu1db81W6fS/SdkrFsqoORqDuDbXWR1YXre963xTpSZTFSptvudR187EXxbdJqUX9HX/XXrRh2pUqlDqNvUWmVKuU2pUamhtpvS/tr9m6NTbj3Wv60tu6BVqw3RIlXu6u0+3abKrEqLLmswWqpVFIp0Z8xYEyQlc5+JBQhhfxpSV/BYkBHS9KHuHubuva0i2d7Ony87cuKnz7p6ZrEsar0+7bxj1fb6itz63uVQaJV4tw7GXbuPIqspmJZ+9G/9blbR9OUuXDrG3O1F1bm1eSmQE6eknp0ubY236/Ju+/b5vC7L6qP94K1R6zu3u5urYO3qWHJYFBsap71V247ilSDGVKn3luBJatRu8ay0/UqdZVmU+E1QtAzm9vWDS51k3LV9qNy6VtP0/wBtipUzcnrgrNJo9dociVB+HDk2F0eUSpyFU3encVuShdGnbo1mK/s9t7N/71QHtyrvjphww0ZUW5OoT7Sio1Tpj6ErTuPYDo6pNzuz94d87xq1w1O8d0qzVCRVb33p3HqD6rv3Gvy64anZ8agypk+4axTnjTvjWtaMWI/Tw9CHSB0SdPXQdt+i2NqaGmfdVRixEXvupcTMOVfN7SIfc4EypgS61SKGmStyTEtejLRSmpCvvs1dWrK5damAs9zt6qfQockCYhrtTgpKkIAySVdqG+1KR3HOMDB5xoNRvUH1YtJbmoZngpACgkSDgENukEKB5OccZ5z9NBpD3w6m5tTkSk/fHBhQKgHVkgLGScK8gjBGeDn3xoNbN5bjT67Oe7ZDi0KCgCpaRwtS+7BHnggfjoEJDp0me828vuUFuAqCkHOfGeBgefHv65zoHqtqynXXW3EMEFWPm+GvtAKT5BGB6AHySc4B0EobRsQIDaSyFFQCiQhRGSlPHjjxyPT8yNBJm17LYjoaWGwjt7e4JSok88ZBzgDnHHPOfXQPjTKM2022pDRT8qeSFDkpAzg+Cc4+hyMecAuqbTUoCQfU8FRJPOOAVHx7DQOJS46myhPblJ9Up5R8qk5CgMpOFkpOcggEcgaBzqPy622AAPiIylIAKRwoEYGUjPAxgYyPfQPdbKwlCGylQJCkLHgdqlnyn4Z7QArn5hx6jQSy2zkIjS4yG1/DCXP8JSF9qUpSQoFRB5BP6pPGQecZGg3WdL17MvxmIDzvd8RIYV3KC8EqQjuKSSQk9ysK48jQaX/t29nL22fvDZnru2ajsM7ldPm5Fj7n0F1xEpMKRUrKrdOuKDGrH3N1p39CVCTSkQKy0Ftfe6XJkRlufDWlID2J9O+99ndSmxu0G/u3swTbJ3k23tDcq3HPiNPOsU28KJDrbFPmLZShDdRpJlrpVUjFCHoVThTIUptuVHeaQD06A0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoNdnXz9pd08fZ/WREq+5s+Tde5lyR3l7cbHWdMpkncK93w1KDVRXHkSUR7YseLLiuR6zfdcLVGiuNOUijIuG8ZFHtKrh4aeqjq66mftHtyo927y3bAl0O1bqQ5txsHY7bt27a7NyTAnJhtJtamSWXLh3Fi0qbMpF57nbjVq23I1ZnVG0Uz7TpS17b28DQ7cToW38CnUmbI3LrNSvGZEpEJ2k25u7uftRU7zj0kVCe1tZdKos+t3nt6GHn665WUXxOt2bbsKTdFtTqXZ7dWrLoKWi7T2NtDe9v1GuWtbu+HUtcFduK+9trM22sW09qq7WYcmu0yrXDurft3VqvXXbu2e3dkRzO/SXUFetzWns1ZlKpdxXVLtC7r9oF5Xs8EbK/vdufu3uOKX05XTaO428lgzS/cHV4xGuJnpI6I2a4qhQf0H0VWzcLVVrd176VSr01FGY6na7Tq/v7uvXYFq0npotigvWzb173EGwrpO6C7G2fodRlz4Fem1S72H2dx7mvtaXt2d4ptdDlTuBG51RTKlosvbmuSKmqe/sBR6xLqFXdWwjqJu6u1NV0bQ28E0bo6g9hNqK+zau4u5VDteow4tMbqqv7v3O/bllB6mNP0SmbgXPQrenWXtS/VKNHTNtejbiV+1Js+gpiSqVTkUb7qpAS924qdvXjRKfdFiXTbl42jX4klNPuSyrkpF12jccFE16FJbbrNDlVCi1WG3JhPRJ0ZiXJQh9Eumze1xqVGIJC0Nsumjoh2+3F3Fmu2xt/S6vLFwbsbr1+Db7F7bjVyVUa5UqLT7gk2ZatGN3XA5UqpVqXtrt5aVuR1F15q3bGswT31pq4a5+uDrJte2LNXcPVLEru2uztfghW23QxSqkIG+3U2ZBg1Gm3F1bzaJJl1HbXaibGagx5vTTSKhEmTqomnyd47tnKiRLCdCF+yHRv1T/awXbae+/WK7P2W6S7eZpidntirUjMWsmXatIxGpNNsK1kJbj2laTVKYhRIl6S6J2S6ay/H2/p8uKmNVKeHo9tS3Nt9ibBoO222lsUGxrFtSCYlBt2gMNw6ZBQooMt/4anXHZU2e+DLnVSa7Jq9ReV8aq1CoScSAEWN4t/odFad7JjZCC8hWFpSf8NKgfmCz5AyPlATkDkjOg0vdQfVSVfpBDU4HLq0pT8dP+o85zjzx6Z9wPIaX94d+p9YclBMtzsC0JHzE9xIUkchZIx3eMEHHJB8BCivXPU6zLfWXVlLnYhKConPYMEjjjPJwM+OPPAc0O335b7anG/iAp5BHrnPPJHqB/H20D/2pYpdLfxIwSk4GCnJ7u9J9xwefIwPIOgk3alk5UlIZAAIA+T0AJyfmHt+A9ePISLty2I7BbBSlRCQCO0DBx/5j+Pp/PQO/TaQlAaQlA5PKu38/Gc5/DHH10Dj0+AkBCewLQhPatWMYKU4AI5OCrHqBz9OQUDbKAoJQzhKAFd3cDyOTx2j299ApacSO3Hb6eVdv7ODnQLamOYcQrPYUrypQPd3AcpSMYxgcA5V74AOADsUCd2KKgsq7hwnIHOfGeePTkY8+fQJDWPXHESmRgo7OzwsHuCs+6OCkDzznJzoNkXTzuH9xqsVIdW2fvDTZQV9qD8yFEqX2ntGUYPynOR7gaDYJ1abR0XqP6YbvtqbFROcqFAmRQl9hMxJekQXgwEs8FSEqWElRPzH5wkpIToIL/2YrqGq8bZ7qL+zw3CnRGr56Nd1KpWtuaY+kwKjN2I3hq9XuWOppmWr77W/7r7qi/GKlVWmwxTaPddkUt1tlRiKmB6k9AaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNB0cWltCnFZ7UJUtRAyQlKSonA5PAwAkEkkYGg88n2mn249ndPVQr3T/0gpt/eTqNY+90e6LvdX+ldodkaizIVEnw69UKZU4yb03LpZQ84zYVIkJpVGmQ3ot+16kTPuts1kPI7cFK3Z3o3Fqm6m71euO/d173rL9yXzf24jlFqwrja6nTpkampftm8qTW7foFFMqsJsuyratalWoYHxLWNMs20okKmshJaFtZRa9RqjbdWoaalRay0mDNorsmWuPWokgxor9PnpbksiXFqMdLkSXSZbj1LqEZ9+DPC4j7qdAzd03xt3tHBvyobYVe0LVpu30+Ta+8vVXuvOuLczbbZ2ry0y57+1Fmxq1W6pcnUT1J1J2hR6nb/TTYLjm30OqGDcm9dSiUei3vIt0If2NY+4/WaxULftanbo7PdLG6FckXbctXq9VpdR6z/tAahb9Uj09d07k3e+w1RLX2Wt6cuDBo1rGXbnTTsun+7dv27E3r3uMS5b5DeB0+dNNnbR0e3KXQrZt2lotSFLFuWzbjU0WdYBkU+C3ck+226ow3VK3ds6PDmi6d9bwW1uTcNGl3RCpEbbuybgVttHBG9RPVVYW3FHrtjWLuNbtt78Rq81a0GwN19td6LRjXS44ZsCdAou4Nw3b07WhZFCp778epSt/ndzJVnUGk25Ll0ByqzZtprqASR2m2N3nlbdf9jt2N2TsBZDTkY1u5eljd++Lrru9tt1hqc7f1JqF1bk7U2luLY9XutTcWTeu7Sbuv/d28Ic6eI18WhIku3QoH4v7czbnpmpNnbZWXY8u6twbho1TTsx057YNwafc10wqPLW3Or7z9YKqPtttxR5cmTPvbdy/6pHtajurqcifVLvvR9mjTg0d9XfXxM273WotKoTlE6ruvozHKPtfZ23LdXr/Tt0fVivBEOPStnLcXTTWL+3dfKI6KvvZdcL/tGrYjCHQIVh2VFNLlg9HRV9kvWHLwR1Z/aGVVW8O/FXnC5KNttX3o9WtOzZjjYXTJV6RlCTAuGuU9D7zLNnMfHs2gFDZmi66kyxIgBudvC/YNCjSEGUGi00EIKSptASlpDaQG1LcS12/MkhBwpJBOAQ22GuXe7qVhUlMppuekKLawVfFSoZCV5wSPJUMj+p0Gk3f3qldeMlpmphSlB8gB/AyWvwwASf3k5HnQajt0N5Z1YkSj95CworUe53uPzpPaU4wBjgkH15GdBGeTOqFWfy4pShjuIycEhQA/HyeOefHI0C2oFruTFpKmwVKKST2kjx/l+XOSPPjn89BIO1rJQot4QkYTghQOSQAc/qHIxz6eDoJL2jZgT8IrBIBBAKMc5HjA5I9vqfQnQSFoVuNtp7Ut4ISBkJxnjAPABHGfJyecaBzqNQUhxJKe3xyrgemecY4458AeM8aBfQIaY/d3IT8rihyEq4GMFPnA9fQHPHsAzTSklWEeOe7GEjICTyDgq5VgEAjKVc4AJC5BPgEjP1I88aDM09wJIB5UMD5sEdqs9xGfUYGOB+OgVUCQGVFvCz85IKgClKCT2FWSSO4Y7QM/UjQLqlVBTTqP8QgKwUpSAeEnnk48nP15x6Z0DwWtWez4Su9Ywo8g8+eMHuz7j9oOPOgmVtNdLqJTCkntLa0krQ4Av9ZOCO4EZI4JIPbk4GSNBvx6brlj3pZf6MkPNqbkRn4q0vK7/iLCHIyW1Y7i4gdvaSUgkc9g8aDzwXbcL/2Y3233Tv1BqmmhbM9SlYX0274PvQ4n6JZtXdibSYFArVTqM/tboDFo7qwNvrxn12EuNPFAodVpqpTkSoSIMkPcYlQUlKsEdyQrCsZTkA4VgkAjIzgkfU6DtoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaBF3/uBZm2NpVy+7/u227Is22KdIrNyXVddYp9Bt6h0iJhMipVWr1ORGgwYbLq2GnH33kp7322UBT7zKFB42/tGPtv8AcjqmRcexPRjLvLarYla5FHurfb7hV7c3Q3bQ6UvNUOxKGmNEuvbyz6rCpVfgyWEAbs3k1UI8aFAstilVKm3UGpLbbZ2NRIsAiEIDcR5RixGFsoexHS9Haeq70N9xYkthinhmmU+U9QYrsdwOSrqQ1b1StsJQUK1kRloWlpKVnscLiUYV3oKiF94AIWFrUtS896lYUolQBAOHLsiNcNDqdtzZ1fo1Kr8M0et1Cz6wLXu1u3ZzzLVxwbbuRMWY5QapXaCajbqK3HgzZ9Gj1aRVaYymqQochgIh1T7OmRufvxau4e8W5Nr3lsftY1W6bsf0i2ttC5YHT9stQJ9X/TaKJZFATujVafKgomlVWuKpV+h125N0bl7rv3MnX1cn3tirBs0t6y6VY9Fr9Vp1Kq9SlOxxVbrqkOl1e6r0u6RbFLkw6RHLFEZlVSszINMhSKDYlo0CmpoVKbMO3bBtaj0NbVLSEKrj3NqHV9/ejYDbS6tirJol9/3hseZY3UPt91F2pvjdbNpRn3NzLRt62twNkYe17d2U+VAlQ6y/Qf8Atme2ep8KqXLJpl3V2jwWYgbLOmvY+7NtNv6lYW4l0U266TWpFLl0DbGmVq5Nwdtdu6RT5T5YtG0K5udb1Lvy4qEhtyhPwqLe0WZSrQk0dmLYUW37XkIpkAMBu91QykTr6276fajaUq77MCmd5N/r+adkdP8A00BXwVri3i6ifEd3Z3mTFdXLpXT7b1WjO0iQuJL3YrVo2+w5FqYaCLr6lt4eqXcW8+l37MuLe93V/ch6M91O9bW4U4OX/ui1ChqgIrFzX0IcGkWJtfRI5ehWJaVFgwreoMD7jbthW5UawqfPrYbmuhX7OHY/oVtz9P8Axmdzd/6w2+u896620tNQVIlqDtUp9kU6a7Letyhy3lBUyoLkO3Hcq1PPV6oux0RadFCT24u68CisyUMyUttNucJQB2pSE+e5OB293gjgeOMY0Gq3f7qeaitVJtmee5JdSolw4IT2BPaO444JzgDHufIDSJvp1KS6hJnFM51SfnSlKVAYz3hRyoEYAUcn0BHjQayb83Kl1iQ5/jrX3OOjl4FRbJIPyjzx64II5yc50DRoiv1WUArvCVp4Kk5+UfXt58+5/dnQOlblnuLU2ktrUknBwlZyO5J8j9/ORoJKWlZYSlJDRCsDGErPk48Ek/lzn92gkja9oNNobKk9i855QSeQnJPdnHOeMce3nQPjRaChptAQEJI9Dz59sk+OPOc+gxoHNpsEMpScAkgZGBlXGCQPT34AAGdArY4HYEgDPqBjP/0/d66C+ScE9oSnACcBKQcDOAVIHYrHuOeeTyNBdNZUUkfMU+D+t2nCxx57f11DAx5x6DAXiScZPkHjjHtoLyOrBUspUvs7cJTnJzn/AE8nx/8ATQZaPJc4WvuSjuylCspISSe1JJHcrtGAO7OMeh50Cqp85Pe2r6hIOfQnBT9fJGOfoR6A6lCnBBZQ3570dyUnuODnPHJ/PPH8AkbYNcVElIy6UN/EQrtCSrICk+iR34/PtGeeSBoNzXR1uSmNUGIAfKGpCy4jKVBbakqCCUBRwElQUtS8HtUScjnQMZ9vN0rxt9el2vXfRoy01+2Iv94KVPiIcTOYlxWM5jSWMPBxvtDpbSspCkIdKO9tCkhuL+yM6wZPXJ9nr01b+12tsVrcibYzNi71vNRqbT30b1bbu/3N3IkTKLTGmI1BNwV+kyLupVLaiU+Om3rjpEyDCbpcun4DZUkkgE/850HOgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaCJHWL1s9P/Q3thJ3O36vBFFiyGqhHtCz6Swqq7gbk3BChOTW7WsG3G3GFVKqSENhMyqVGZSbWtaK6a/eVwW9bkSdVY4eG3rY67uo/wC0ivaI5uI2/Ymx9NqEidt907W5XJibeiMRKi4mmXhujWG2Pj3jdqXG3Gl1mZSRSrSep7tJ27tJNefr8W4gb+xNtmaf8KW8yh6W22uMpbbPwoMJDqlIegU2J/isxo0ltGJcpx96t1ZKULqEwMw6JFowSOotutgBIbShSUtpAQ2lIKkpA7u1ICUqXjvUEJSnuJ7EpGEgHKp9HDYQlTSeBkfhj19R/D1550DgU6ioygqTkDnkDA8D2J9cZAOM+NBjt2L3RszYa75n2ReV4sSJL1KptLtOg16YyxNNLqFTbr923JColTh2NtvRYtNqFVvncGXT6omzKHTnqjFoF1V6fa1pXOECa5b26/UJuhQ6ExVo+4V5TlIiM2TDg9TnSnG2r2juqmNP1zdCHe21fUR/fS3NpbjrNPZo22T3U7sJE3i3pek066LA2vj7dSYiaOG3TZ3p22X6X6HXK5Q6rWoNCt6z3KWq69yr4+PSts9orbcm1SLa1ADxoVi7bWJR2pEypV2XFo1MrV6VtUq6t3rwva5Hf7wxghp1LdYtDqG21Rvmvbh3J059H6TPYRuPTTVbc6jOrqPNS82KF08UCfFh1/aXZ24kqefj721mmp3Ru2M8Htr6Zb9Jnzb1qAakdvNuupn7W6pUKy7Ktdno/wDs3dtKj+jaDblv096n0+txo8mKuRGiNTnPvW4d8z3ZEZ6t1StT6lCjVCQusXTW6peJhQa8HpG2J2L2Q6P9tIW1+ytrw7UtuA2l+pyE9kyvXTWEMpbdr923A6j9K1+rPErU2qbKciU1kNU6jRKbTY0WG0Dfbq73waK1JV94S2ktrUkJcSBzntAC1KX2+BhSlKA/WJPOg099QPVK001NS3NVklaSQ4g57Ulaee4eSAk8DA9MeA0tb09Qk2qPSS3OUPjF1WFKCgruGcDtV6do59QfONBr8uS9p1decy64fiuLyorXj5+CEjPjjjxj9xBPU6jyJkhPxAVZKUhJ+blRHnIyc938gdA9ds2cXHGipkcYA48//XjwfTjOgknalmIV8IJQkkK/zJwMdw8EeuceQeCc58aCRFDtVmKhKigFwgE4A7RjOO0+eQAfpkfTQOtRqagKQPgpOE4zzz/zP5+DkaBx6fTu0A9vIGfH4f19NAo2mQjtPggfqjwMgjH5aDIRv1z+H9dBeBeQSR+qAB6fLzgcDkj3PPvoL2Oez693PtjPOgvUqzz4wfx8YOgvYylHvypAx24yO3/V/pzn89BkhntGCM4HOMjx6A+n46DLwCT2Z8tq7s4AzhRUBgcD20DiUJ8F5ClK7O3swAf1sgnyfb9/440D7WzNShxog8gj3yfmTkH15P049tBPvp7vV6k16A8h3sDDrXcAogBtT6StJx7jKj6HJ0G9a4qRT95ti6xQJDbU5qp0GQlbLqCsrbVEdLiUqAOO45BPnGTk84DRx/Z9d0Kj0uddHW39mjeVTdiW/fT7nU7sRSnfuv6MZr9urptlby0yBIU+iZ9+rduydsqxTKW3FVFch2ReVTKoUiM+moh7DgMAD20HOgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgpPOpZSFqStQzg9iSopASpRUoDwkBJyfTjQacvtK/tedoeh1mXthZcGPvF1V1imx5Fv7UwpqmaDYrdRU21R7s3lrcNL7luUV4vx6pRLUhg3lekYxpFNZotsuVC9qGHjTvy6N7+q3d+tb39QV6v7hbkVZ2RT5NbqUYSLasS3o0yZVoVh2RbpkTKRRKFbcyozkQLbpbX6Pt+ZKl126pdZvj71HuQTvETMeY8faUM+t2ntlNt+gP0qv1mv12Zaaq1GpC6CzItKmXJSnEW9eW6d2X5ctj2Pt3T6tRKK/wD3Jbva66FWLvplHCrEgT7ZtuozqMRcmq02L/z3rWd4r9Lv379o87/Z47bz3g/9JqtTMZU6Hs/1A1yktd5er9ibLXpvFbx7CPitM3FsHSd0bTlKb70Kcdh12Q2hBCirtX3C/wB/t23jeO0ee3j9zv28+u6+1tFntGb+cxxEbduqPl6/F8o+yO/2M3A3v2ViyWqXV9waHZlVcV2ig7jffttrkbIUErD1uX5Et2ttnvJSGzALqgA4lBaUharZnqnft3+XhkmdNf8AzcWfBltbzWMsdXbttMRM/Lf7+3rtKC22qdWabT6tTZcap0yoxIs2m1KA83Kgz4ExpD0WZCkt5bkRXmVpdQ82pSFNrSU93I1RWtrW36scY9u0RExO8fPt+H3FpULauWfblVh2nWqfa9zuxkpodw1a2JF5U+jynFsrVUpNpt161RWktwlPOU6HPrlOgyJio0p5qqwIs2C8XIc3J9njULg3gpV+06oQIkqXKXHkb2S7r3Bh7+0m3odRoU+oXNcu4ll1Dbe5NwN6L3Zp0i0LMpVGq+13Tp027dRJLFE2r3WqdUtel0MNlN67g7cdOVgMXDuHcdWbhJk25aFIQz97vjdTdS74tHiW9QKVTKNAafuvdndy5oNPhvKixo8mpVpf32py/wBE27HXOoQaZOufrPom1rbdc6raTTq5Xu6mV7YP7Oeh1inXRb9s1SnKblUTc3rDu2kOpoO524lOmoj1Kh7bpjo2r2plRokIRdwL7cqFXig1XTX9nh1Bdee49P6wvtKKzXI1sz31Vnb7Yhx2q0SfPpMl1cyEisQkSY1Rs62HkqIegJRHu67orcl12Ta0D4b1TD0FLmWpt5a1Mti16PSLatu26XDpFBt+iU+LS6NRKRT2vgwqVSadCajRIcCEwhLESMwy2hplKUjJBWoIN709QMGkMTgmUlBQHsBK+0/L257sEj1GOePwOg0x9QHVL8ZyaGakrCUvAhLv6vzqHaO4geDjz6ZycaDTruxvhIqrs1KZa1EqcCcuZUVdmASASMdx98ke3OAhxWa7UaxKOVKcDiyrJxxg847c+Qc+McY8caDJ0WgOyHUOONlRJwMZ4+YHJ+UEfl4/boH6tmzlOFolrkFJJIVgjvzxhHtjPAGfPvoJH2xZ6VBtHwyCMDKu4Jzgf9J8+nHnODjnQPrRqC1EaSEJJXnBIzjtJBPOAe7hPpjzn0BBwqbTv1flPH0P5/t/foHAp0JLbYKvGfHqOE+hH88/X2BSNqCEISQcpV3EjHjn6j30FyhQU6FDODkjPn9U6DJR1AOEHPj+ugyWB7/sStX/AOaknQVh4H4D0I/cQCPwIB9xoLhjhQJ8efrwcY/E5yMnxk50GQStJz8iVeP1uMefGM+fX8BoLttanEkAAJb8jJ8JHhIxj8PGgzUZaQoHBwspwBjjwOefp6Z0C1ozyEOIUrIA7c+MnAI9/fH7tA89AmZSAFoT3JwCokDGUkZwCf2Dzzj3CTG2dcVAqsR0PEhKuxYQ8pPPajkJKO3GD6q88kckaD0EdId+Rqxb6KM+v4gLC2HEqdSpRS4pOAn5gcDPPAx5APJ0GhL7WBNW6BuvLpN+0btVmrMUraTc6hu7kmgU/wC+T6ntXXC/bO6FCgx3XYzDkyv7ZV27KNAL0hlLdVlRVhxjsTLZD27UGtUm46LSK9QZ0Sp0St0yBWKNU6e8mRAqNJqcVmdTp0F9ICXokyHIYkRnEgIWy4hSflI0GX0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaCi/IZjoU4+620lLbjhLjiGwEMoLjqipakpCW0JK1qJCUJBUogDOg8tf2m/26r0B64enn7PetUy6rshyZdO3E6nI7FKrNiWQzSn25Ndpe1EycuTbd23BDpyH/wBNbhziqxrMi/8AfaW9cFT+8ybRLLzMbbT8/wCjzb2BtpUa1PfqtRrFcuKtXLUlz6/XKjMrdRvm8a5V3ZTdUqdTqFQeFwPvz6ipyU9WJ0gX1cVViSQl22qfGnJuotrM2mK9fTvPb65+Xj1LCoXjdVVplzxunK113NA2zqTVH3L3dolIt6uWJt7PjTaGJu1+z0aszafZO92/VHpD78+TbLz8fZba6JIokrcSu1iRcsC2LdpMxG/1RvP7+f1fj5jfmOZ+eOVeU/5fHxri2LR59TeuLHji0XtE22iL2pWJt0xM7b+tt4rvtMRpksSH1o9Y95XRO2H6dd1L0sfamsOTKjZ9rUi5tz0xbgrE2Q3Ua1u9ddQaXVt3t4dwloq0a+Lxr4XXLgoj9ctmz7eszaei2tt1aWXTaXW6m2+LTTanaeq1bbRvvEeJ7dW0+e/fZxfOnN3LnCseizcS5g4XwydbSb4NPrM9KTq8U9Exkx1m8X71tjtFd5iJms7TNZmY6bnWruRttuS9TXbA3M2tvAVtTdt29cdt3Hbm4cOTJmJRb9LbhrgUyvTq6l2ZEpIkQI6n51Q7VQ0dimYo1mK3VlvS894mfgmZie09PesxvtvERv3j5Tu1fL2q0/F73/kuJ04jp81bTpo4ZqqZ7xfa29bzF5rjx7Ta/TM1vFdpnfeZeqToS206uqXYVt1/ql3o3hEmUytVO2HqG6l6XDbkOEGnGY8nc62nq/VLUk1d5uM2xIsVEKox6f8AfHot6uGopqdpUidWNo2332dFy/yNquFcVz63ifF9dqceW8ZKaK94muDeImKb1rT4Y3nb6tvNp3tOaoV2c1V/7hWDSaZde4zUOhzKnDnSJ8KzttqFVor36PuDc2qU5qTJhQqlBpM1y0rBt341737Kjx2adNtGyHLg3Zs6r1KPdxERi6uiI2iLeY+r7Pw+w+m2W3f93IlRkVOuV27bpuKczUbjuevPvOSavOjNSIEf9D23FdXbVjW1EpoiR6VaNsQ40OCgKqFZmXNe1Tu29LlDFbsb7UbaqdS9u7KtqTupv3dFJXWrP2lodVg0R+nUFX/d2Nzt1brkNSIW0mztKqKc1C+LgiKn1t6K9QdvLevu5JTtMYDQn1KdbFxWju4ux9hayvq/+0HvSNKsRW5lv2445tX05U+tFLlT2h6ZLC+POat+mwC24msXxU3ntzdyWac7cm5twwY8p6g0wJhdB/2U1I2fuFHUr1dVVG8vVJWJIuBuNXpLddtbbme/94kRnUuTXZka6bwgLlNIFUU89RLXejFm1GlzYEa7qoG1W8txYdFhOI+P8NSQVKd70l1fw0FtPxXipLzwIPzB1xXepLbjgUttCkhrL3x6k2IDM1pqeEgLeCAXeVJQMcD4h/zZGTzknPGg0ldQHU29LkTENT+FLdCklxSgsEADGF5ABSRwRkkeeNBqm3B3en1iQ8PjlaFlzIOSFErUoclR9SCcD0HtoI7yX5dZkLK+4hwrK1ADBzxjwCMe4xzn8wWlv2qt1xk9pwQCThRz4wMk5A885B5OeNBIe1bHThCvhfPgY/W90+mcH0GPPvoJE2vaAR2FaQ2BghRScOdqiSkEZx7HGP3Z0Dz0+mNMpbbbjjAHzEdxyfHqokcHBAx66BeU6l95SO3Prjx6+Rk/Xx9dAtocBphPc4AntySCVHjP0P58+B+3QZtCUDvQO3LYClAKyEoJ7e8kEjsBCu5ee1ISpSiEpJANHX9+9raDNXS2bgduyuMlwLt2wKfKvWsqWnw04zQ0SYsJaxlxKpsyMwltK1vSG0pUQDGXB1pUqDUVwKRa9BpKmlLadkX7uJSI0mKtsHvEu19v4d/16K8FANmK+4l9ClFC0tdqnEAh53VZvHW1/wD7LxLccgkdqarYG1G5l2MpwpRKXpm4Eyyad8QIUjuWzlCklCkNgqUAGPG/3UAtalO3ddNLBwEoHT7tqlCs+crqu6Lam+04wCO5eQMjAOgy1J3+6kWHVqauGj1iOHPmdvPY+8GmUJCsDK9ml3yzHbWMAh6QgIUoJbKgEkgvYPVzujTapDg12xtqLqaedQFt2fuBUtuayFjADUag7002jVWryHwrDcGkxnJCyCPioX2hQPRSusnaePU26HuLTL92arjyO5qDufZ1Sp8GWlSUlp+nVikKqEaVDcKyWZkgU+G+0A/95bbT/iBK23qvR7jpUWsW5VaRX6TOaS6xVqJUYtVpElJSkqcYqMJ6REcaBWkd6XilPe2FEFachnUOKBCQcKScYwcAg5xlSRz7g6DOUyUtLuH1ZR8uPAx5z+oATnjj6ftB26BUUp+VJHf25SM5/wA6MHnPp78449dA/dsVVxtTa2iAQUlZARnJwFehIyB6YxjI9yG2vpA3EbpNapyFuKaQ+GW1EkLBUtQys96uOcjtAx/MJA/au9OlO6lukS9aeqM3LmsUCbIjlaFA/eGIsx6OA20tCsyFAs/rdpS4QsdncCCo/s7HVVN6hfs5bG25vCpz5+63SBcNV6XL+dqzDEaTKpdhR4MzaqoxQwhlU2Evaaq2hQnKrJaRLqFft24VS3Zk6LOkOBvi86A0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgQe425FlbTWdcG4O5F3WvYljWpENTuS77urEah29QqY2psOyqpUpi2osRKi4lmOXXkqkSnWGGkKcdSkh4l/tP/ALZi+utVuubLdPQvXa7pKmyk2ncdV/Qlab3M6j4dZkO0h5mtUmlUes1nb/Z+oR3ZUuTbj1OlV+vW/AqS9wWaTLUdrpIa1NtdtH6D9xrs6qzLbtm3aLIqlYarJtKgW6pmHEpBNx1F9iJ97sq3LYYTUH4Eyr3qqprdmtG5KdSotu/dKwYc02isTWtrz1RHTXztM97fLasd532+0oLehv8AUbbkquGuVraDoqjs1WDe27ay3bO5XVJSIbTdFuSz9nzV4pk7XbJTku1m17t3VqdJmVy8GodV2/o0CPPYvrbynoibT2mIiPitv61jzFdv9Xy37f08b9q3td4JyDjpw3RVnjPMOsp0aXh+nvFr481qztfN0d60pPaYj4tt5np2ibP3shsTffXoabYe2NLT04dBu1aH6BXrzplCNDZrlLptWqFcuSz9t4twuLMiZOqc2vVC7LgqNUq0KiV6q1K9Nx6pdl+1E23Xd3w7gGp4nNc1d9Pw2tv/ALGbJtGX3cTvf3XVNazaKxb4rfDW23VvMTWfgrm7m/LwzV6jmnm/V4tfzJrt83BuX5t73BocsxacGbUY5tM1w479F7RM0i2KsxFqVvTJM/7x3F2+2O2cd6deheyKDb9vwAigUecw9Mp7V73dc06LTbhuq4rkosdu66jRC0xWLiva5zMgXTf/ANwgUykV217blUyrydZzXzHrOH8OycO5Zx4rWx1jHGfJF/e2t07WiZpesfFPV7yfNt5jtWZrPIey7Q6r20+2fg2n561PEuL8G68tNRm0lonBo9NiwzGLT465KZK4cURWuOa1mPh+CkUx/CRti2C5T4FHgz5YuSvw5NOqjLkSkfoumuXXHblRE3LbtoOyXIdBrcpiYYEJxK/vlMYJZpvwEPOR3tJwic1tFGo4nWMWrvtHRj3ik2nzPx9VvO/aPu+v9K/Z57DuTvZlxjjXF+XcnEsmfis9FK63Uzlx6HT1mdsOkpWKxWtomOqb9Vu3aYXlOnVrceTJt7bWpCDacCoyqXeG8UVmkVWLEdoshij1O0dlotRiVi2bzvCAJlQoFR3GqFMr+2O3FUok+251C3Iv2Dce21pbKO8b/P8AT0/Ly9gpTo/1Wt8pvtaY++Y3n7/7bSVsPbyjWlRYtBt6mGFTi7Up0pS6jXKxUqzWazIYcuC47grVXqNXua8rmuaWp6Zc9y3VU67clyzH5LterdYL7rj1VYiY33tNt57b+kfKPq8o/wC8HUq+X77292IrtpU6qbfocib3dR9404VzYnpsw0xIm0SQ0JUeHvDvy3Bd+JTNnaJUmKZasqXBqe7Nw25HhLtmuFzQbde+u6vVzfF09Jn2cdOvMW5fNXVcPUV1R31VlSt095agy25Spt9bm7mJhRPuNEYiGXSbciwqfEo8CGp22NrbPhsokU5Qbxuh/wCz62U6E7M+PRY8a6t365SUsXxurU4iRU5zkwiTUKTbEV12Su27QdnhMxFJMiVNqq2osm46hWHG2igH+3G3Wh0RiXiS3htC+D2p7QRycq7iT7ePQ/XQaoN/+p5uKiU0xMScIcQE/ERz2vAehTnjJ9c/uAaQN9+oyRUVSy3MX8ge/VdR4KlKJx8yiePQg+gOcEhrLvfcKVW31qQ68s9xHr83cTwrkeO4+vt49QbWJEfnP4X3ElZPKucZJ7c8jjPOB6E4HoDtW9ainVNqDQIUUgn5efmAx4PH/PpoJE2xZraUsqW1ggJAx2gHz5yg/t9s55I0D+UG1UMJQ4tBAIGOU8E4IGO3gAJP7+fOgdWm04oSlKQQkeny48k48ZwcH1GPGeNAtqdTyrtykDHsAP5cfX30CsQI8OM5JdWllphJddedWlphllsJcedkPKT8OOwhoLLkl1SI8YYkSFpYacOgjtuR1S2fZ0dTVvOw65LUoMs3BMfkx7WddfUpDLtAZo6ajcV9pZcQ4xKdtiKi3GXglufeVJlLEIBEW6dxdz9xUvRq7JltU2O9K/TMG6w3TqLCaBSqmVNzZah1NUCjxoinErRX95rsrVpVxT+JFRbigoZBvmmYtfpbdGXWLivs25IU2uhUxip3FaVPeKFBt6NaNny7EsG3oCWzl2XB3FuWChspVJjONlt8goKUusMpTHsiCzRWe0fpKFQK9V7m+M82kdzz1M6eLcpEiCvKR2x67ek2azgJkVSUlKnngsJsBNVklbk+1KfJaWf0gzdVr7c02ZKmYAcfFT6jN1KpcTalJLae5ykvJPYexPxPjEh2TS6Gj4aH5G1zzoJ/xjcfRAylXH6qgzbtYWnOMArJSeQVAZ0FeRT6WtbEVVp0KutvJT8Nq1bf2q3CeLKUgBBTsfuHtxIaAWlISkwFLDYP3cKKUoIZaHLoFmoeptXq9/bVu1ttTdMpS6lujtJTnlucNGo2zuBQt6rXr0RTg7nzUL1tGl9qUpNSjq7nmwX1Fj3pSKQ/RaDXLBv+znFMz7vpDzVq2Hb0uI4v4oE2v2lWdwelCo1FxxCEMSt0PvdeW64Uf3aj1KQVRwr0I2TTrpDtr3DfHSXupcL6axSA4Y1As2uWqwzNfZlSaZcFQY2m3Lp1VdZdRHuu3bq2wo0tKnYdm7NXjUJdOpk8JW2z1UXjtkI1G6nbQbplPdkw6dS977Fg1N2w5MubARPptFvG1pUSFXLGuk0zNZnW3OptHuaJTAZUuw6JTB+kdBO2i12j1+mwq7btUpdbo1Ra+8U+rUepRavTJzHcpIeh1CCVRZLOQUlbLiilxLjLyWX2nWUAuKVU1NONl7vbSohtKgcZWSCBzkYISTxg8Z0D92nVikoQVZRlOVHPd2kk8qyAeDxxkevjkJ0bHXYqm1SnFp4ghSXU94CyChQwP8uEkjkDn1zoPQvt7Mjbm7YTqHMdblInwH4wb7f1ylpaUglwLHIWQo4zg8Y0Hnv+zGu5voM+273X6ZLgeqVJ2067bMfFpwkw2JNITvvtfArd9WpMemSFMLpMWZt87u5bYnQUSRUq7PtOgSmnHFsSoYe00cAD20BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgjP1V9WuyHRvtDWd599Luatm1ac/+jKTBjoTNui9rpcEhdOsixbf7kSrlu2sfdJSodMjANRoEWo1+rSqbblHq9YgB4WeuT7Qben7RXcN6o3tPYsPpxs296TTtvNgzWnYtLplcqbtBjWvce7tRoMStS7g3Tr8a9LUnxqfNTJpFjwKzBesSjtqmzL8vYIz0W27R2ntCs7jbsXBBoVuUM02U9NuSPaM6owJT0czKVEZNp2vbs65rwq8yI6xQrXpEN5xhtpMCkU8UShVa46aLRaK9fTvWN+q28RFYj1tMz2j65+5fMWqjciiUze/q0pE7bPpfprQuDaPparch2m3pvK+YrU2y9zepGRTZTL8anzYU+FWrE2epdSylxtiu1dil2zWGLz3urWK2na14pO/wxb/AFTHy+/b5fN81e1H23/4Plty3yZX/EuP55tps2bBbHfFoevtOS1+rtNNpm1o6orMR/qn4ZsbHdMl6dbj8TqA6mpMzZjolsxiPOsyzDIdtar7m0OjIj0qjfdYESPT02ptkiCw9TKaujsU51il02l2/tNTf0WaVcEXp+FcBjJvrOJ2jTaPHEzWLzal81/9MViP9NtrRvvFp2mKxPaZ+E+b+bMPLOp1WTPrMXGeetZa1rZNRljUabh3vZva1veza1Yy06KzGOkXja00tMXi+FK/fff2XdSNvenrYHbyPb2z1OgNrqVPhy6dYlpWxYNCqMGLARNptKj1qqya1W3GpKbSsQUmhUJhmFMrNw3BXqpU0M2NzXMHNvEdZrq8H4ZivptBpr1pF4iKVmsbRveKWttExEbxG+0/Pbed17BPYrj9ueg5p4zzJzHl0nEsFdRi4VmvGbLXVZ7U65i016+nHN5iLT1TtMb957xiKVRKNbUOfUZ0qDSqfT4Muq124axNYplIpNKhNIfqFXqU+W+1EptJgQkuv1CqSVtxI7UN+XOlMB5ttMXTYK4qZPex7zLaZtW28zWLTO+89Xfb5REfk/Qv2V+x/lr2VcB/w/g+j0+TiuprSNfxfJTq1FrTt72cFrRNq799t+nftvG6jSaPVt40KRKRV7a2XeLS/undV7avveWC6iQpD9Vbgv0O5Nu9mawRTqhTqLJk0vcPd2lMTaPdlLsraWbOt/d2RtW+GtMlYm9Z3i1O1fvjz29J/Lzv63EbREbzO0RG8+Z29Z+uUp6LSIVLpTSvu9OpVIoVLLMaGyumUOkUig0OFHaRCiCVIhUOg0ikUxCW4yEpptFo9Miu97cGmx2kFO2/btHbz9n91Wvjf7qytyvWHXb0p+5EzZzo4pTTsOu9QFFfct7dXqUebckxqpY/SxGmspqttbd1MNPU2u9RbjArtfY+NSdmYDbqpG4woNQtp2h1B/ar16i7XbXWyz0zfZ9bUzxRYFIo8M0qgs06ItsrL8RLyZN7X/V1OLq0+AatKXMqcr+8u4FWkVKs91WD0h7B7A7PdJO2cHbnaC2olv0iClpyo1R8Nyrkuirtx0RH61ctXbRHcqc95lPY0FNIg02MBBpFOpsP/CSCO3S3fj0OLKSJSAVIcHcpakAFalADA9AEZz6kjjQadeojqgEdmoNIqJISSoJS4s/q+R5AB5GPHseMaDSTvV1AS6w9NbE5xRV8UAfFVhIW9wPPcMeo9PHnQa/bpuiXV5LwL7ivjLUoJJKj6DknBAJyOMgZ+o0GGplEdlPNLW0pSlH0zxn34yCfTGfB0D329Z7jzbf+EQkFGf1ucAHgBJxjz+fPGgkNalpowhHwSF4CRnIAJJxzjOMn+mge+iW6IpR8VvGQMY88e3jxkev0xoHFhQUgJ+RX7Mfv9Tz5Hj6aBYQYCDjOBkDOc5Gc/u49+fzOgs7svi2tvqeZ1XmsuylU+fKi0aHLjIqMuNFUy1LlvLkyIUGm0OMp5n9J3FWKhAoVF4E2UqpuU6j1QIHX1vNfW6zD5pgptNtCO47I+8yo5etgCkSGWZkilUe4o9MbvH7sJLJRcu5rkGxotQc7E25YtWS1OqgN5TqcIs1+VRGJ9crU5UmBKv26l1lT015DSJLaYUmIlm65EqG0kMKi2lEo8ejQlGPXJt/2IpmtrC1SYNRCfvSZ12zmo8mb+i4LNFRb9CqUMg/f3IFDELbS2EuKU6zIr6aldrcoNJeu+x6a6oh0Lt+ZORHgVKpuUqn0stf4YMamV+jl1Xc0SiRfsyjbVfGDYQpNS20tpS0vNhyBDZeD/wB4upXrnaO3nz9U9xizEhVxwxnYt1XlTkoStNWkIvW96aypGHfh/EuCt7Q21T1tKQGFNQ6PUKWoLUcLaZA1lnT2iZjqjt9oqImxYK/uEePbdDhBeESo1a2et2W24AO5D7Fnbcbk1aMUAAqRLrsh7Kj3tqBQrT3FvnX8/wCwyjs0pbVncOQlIIBMHc2+UNNpP6x7IGwsWJgjBwslIwflVkjT3Fv90fmK0Gq0FkuIXuBBqYcC0mPVLg2+vp1YIUDin7r7T2LD+VXzEO1xCGQkNF/4SSpSNPaZ23r9Xn+3YLu0It3MQKrV7Ul21X7WiR1OOU9ynVizac/hovBqQzsTcd+7GIWgKBXM3JRApspzt+9xy3lGsV6TS01nvMC0acs9pUK5r0tet7N1Cp1FNMp+8th1Gk0226cD2qlMjc/p3oMmxUTm1YTULcc2On3HKZWVS7sozbqFt2hx2G7rlU74KKXb/UZtTWaiqAYNHpdIgXi9T6b3SahWabalpVau7UX3djsZqXKqcqyrkHUu/EiLnTrhsRptypRAzFlSZqaFLqvTvd8PdKyY0As3T0+bhPL/AE1alNn1qZRafaNDm1+n1Z2l01l6fCqCNs906XeGwU+5ptCojNz7934kR9BV23mVu01VS+ukpyouMwag23uz0i319/iSaVVXZaKUuJQGaxVZ9Vol0O1WOuPTYrr5TXJsqiU+2Lpuy7Lhk7MWQGw3ZDfext9becrloyZMap01Qj3PaNY+DCuO1agla0ORKnAccbWtjvQlEepw23ac8pz7uXmZrMmHHCVFrVcsSEs5V2oV+qQpBwleVDCwlSTnPPb55GRgkJf7b19caVFebWEkhCQFKKj857Qcnxj1/wCYDfl0UbkIeZZor74C0q+KGnR2d6SpsFSSTjhKikjzlXAx3YDU79v1tPee11S2b61toU/ctxenjcey91bcqLCi0pFWs+vUm5aaZS0pe+9Uz75T22avBdYWzUKW9Mp77a48lwEPW305b22d1KbE7SdQe3y5arH3r28s7dG1m6igNVOJRr3t2m3DEp9WZC1mNV6ameYFVhKUr7hUI0mChS2oza1A9WgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGg4JABJ4A86CBnXl9oTsb0C7as3rubUXq7d9wmo07bTaG3XGf787kXBEpz077vTkyEqj0S2aWG2V3XeVTbFIt+PMhMhU64Knb1vV4eHhU6huobfzrz3qG9G/VViVqsMx6tH2527gGQ5t/tDaNV+4xDCtWny1vqhU+fJiQ5Ncq0pf8AfPdGp02RERJiUygVObt6WXyUxxE3tERbxPz/AH/2T9x1LbfZChw7+uSBKTOrtxNU2yLdoUSq1+9dytx6zR6Laka2NsLZE2R9+vS46I3RLXrNRokUJptJkUn+8NRfcqlHptRtpaMnV09+mZi28bbTHnz5+7dkvtjxWz3tSuGtJyWyWvSKVpETM2tabRFYiImd7bdu/h3l2lR9tZNu9QnWjTKLWd1osePJ2A6WafUIVy2DsKqe2T99uWEUyYe4m/cuLHtWPVKhWGzbG3NWgTaZLt+qXZAsqy9gLsce+yRix/HftHRHznvG8/7vG0RPae0xMzER8c+1r22avWa/X8nez/JXPMYqU45xiMsV01MF8Mzmx6ebTTfJgpM+9mvVtNP9PxxOxXY3o4nXK5F6wvtIHplLtxxSartd03VluTKW9UK08ZsWduNQn0PVCs1ysiQFSrFloTIdlIfqm6KkQDNtWn9Pw/g+LSxOv4vX3HutsmkwXjqnPFYmbzNa9Xi3TEUnv564mJ2j4c5q520vAser4FyzbNbi+ectOJcz5LTkjFF++TBpb36eq+S3VEZo6oiYj3c1isZczmb3747m78bh2vQLapFGou1VutOVytv1GbU5qoDrolxabbFHo8CdRYMu8JLTLdwVa9Ki/UKVSYVThWxa1Apsek1+6bx4zjvMHGOP8Sx49NjvpuG6fJFJpSa1rMV3jrn4t/TfbbfvPeIjZ7V/Dj7AOSPa3ydzFxTnDNxLBxaNXTDoZrjzdVoibWtqM2ovSMeSMm3jHe23Vttt45kO2tt9QahWa5LiW9Q6cA/UqhKadffkzp0mPBgQqdBjR/0xX7kr9RMOiWraFGi1WuXRXnaFaNtUCq3BVadTzPmMWGY6KVyWvTpveI26ZmO89437d/Hb6/Ev0K5F9n/LHs+4DouFcs6Kmgrp8UafPE1i2XUbTNb57WiIjfJWIt5mY3jfvK6tux69uBNg3JuLSXKPb9OqcCrWTs7UVtvt0x+j1BNTo16bvfcZ0mFdt7MVilUi5LPsZEudZe0dTaZlSV3ju7Qrc3D22sdokDWLls7bq1K5f24t2Uq07Js6C/Wbjui5JgjUijwlttJdkOzHUvZl1RUGHChtRIlSqNcqKKVTKdS6zU5FNp8gNU3WF1S2pCsZq+upKmVu0tjam03K2g6OKglcLdXqZqLcyJVKHePUrRI5dlWttP8AGiQqpb3TzITIlS3WaPce8kyZMhwbDaCGuwHSn1A/akbiUzqX6s6hUrG6faW7GVt7t5R/j0VquUSmKWmDQrMhslximW2w01GgS74DT7b0VDsGyGXJKWLroQejSh0iytqLJodk2VQKVaVqWzT26dQbfokZinUmnRmVuqU1GhtpPY4p51yVIkuvPSJs6VNnSFqkSHHHAirvDvnTaLEeSieltWDhIIISoOJCs4IPqR+fPGSQ0wdQvU78RElKagf1lIQAsnuIcdOf1vPOPTkaDTLu7vZNrLsoJk97jjhz8ykj4YODzkhQz/l4P4+QENarWJ9akKytR7lEKI7snCiocnAJ7h5BPGfPJ0GQo9uOSZCS633LIHKuw4BPkEHGeTnk48Y9QD3WzZeO1SkY7ew9xCeM9/jnPp7/AF0EgLctgBDSUtjPajPCQVYSMk93qfJ9cHx6aB5aRSGYqULDaVOY5+TBSB4OfXA8Ae2PxBaRYwX8PA7cccDPJAz+8HQKuHCUhsOBKnACEhKUlayfIShtOVuKOMJSlKlKUQlKSogEGw3d3nt/a2mSUhcSZXVxkJab7F1CLBfmx23qeh2HEktv1qqTorzUiBblPejvGJLg1+rz6Jby0z6mEFatUq/d1aFb3KkVSqzqxMj1GmbfxH3ptQlyqe6W6bIvB+Mhcmt1qlU6ZV6HGpEOPSrXtapOuUql0xuoUK4doJQVZyFrYporL661IjPxpNHtigPNKpEVFMpMRtM+NHgmZBV20CR8SlVmQ3Ubaj0VtyHbNPvO04sq0rMpMxHn1nb7xZT/AIkpIj1lSHVTYkemRbYpEd5aKkIjiKnbIkNQ32pNz0FlsurgxGZVGsRMlQfsC4qLISqhHJXHe0b1rMxH2R+oozp7ymUzH3mrSprUmPWKWl6RT6tPj1CMlImLYrJaodp02vJktuLU9ZNtyNy6Igx2pzdbmt/e3a+6yf7fzj+4zNu2HW7j++V63LLmzYU2QxJd3BuhdMt2nuTHuG5k2+7+RUHq46pbiEOy6PQbCqyHlpYLRdeTIVdgx3pMTau3aY8x8/qlb11+f5T/AGTx2p+yz6vt/JlNfplhXdWV1JoPNVuibO1Cp2tUIoSH21xt8OoKqW/t+4uOylToapl5PxkN5cZjMvLjhyXO0zO3z/f7/Q66/P8AKf7Nhlp/YDdXb4ixa03OoaEMIS7EvvqzjUOA04FrwuLC2Atfcuksxi0UfCjtVaohpfxkj4aPhqXQ66/P8p/scWV/Z+d/qclclteydXeawWml9ZPVHDlZ/wBTTh6eywFA+qpDGOCFKJ4HXX5/lP8AY1F0/YxdZtO++RxtVel30SFHU4qNtt1o2NcjdRQgdqYjNB6kYthffUKSEpZjohS1Smf8JxBcX2mtZiJiZ8HXX5/lP9mr3cfpUs62KyuDc1Bqu2iqFUVwl17cXaupWjTafVYwYkSUU3e7YSXb+zMWZGyw0JtSp12LblIcWXEuMqQI2alrXm1Y3jbzvH6du/3fYdVZ9fyn+zEyLE3ntJyfe1l3Y1elHr1PVbkCo3XWapuQzUKG+GmJVLY3/wBs6dQNwV0btQ62qk7gWpZO1iYrqRXZdwMNS2pWP3WT/b+df7rjf02nWfPud6lBR6YdzLhoiKbQqqhywpuz25trww8qpxKtOp8akdPO61j1Ks0+KhDEWDtxQYkGPGbLm818OtU12lsd6xvau0fPeP6SFhdAcrl328N8Kc5snvFLqEdiyOo+x6nNplJk3ZMjUVNDp101a4hR69adTjUJVSk1vbve+VSJcGi1mhSoF1bB7a0ZFHu2wV7jZecrtpULdNlOxW/9MpzlF213+29gO0zbXc+kLt+0qdTrVqlMlUqkRqJE/wCz2qSqPcO1VxxabAj2jetv0+2rWsK26LStnd3wqswbzuO9J12Wp+itm+tPayluzL5t6dVWaTYG+9oQqkYkqp09NbkRYFSgiEltq4WJNTeTaEGgVWsVFmHZFOrc/YgNh/Ttv3Rd6KJPksUmZZ192jUzbm5O3Ffbcg3HZVwQyWJkabDnNQqgYj86NPZhvyIMWW1IhzKVUmDUosgEJ8WXcKWy2A4SpBSASHPlxg4HGDyfIyPUY0G17pM3HVS61RnXHVOLDzDC0r4ALhBGVJUoY+UDPjBBJHqG1rrG2qpfUb0s3TbsqO3Kdk29OjtNqYS6FSFxllkpPw1lRbWGyFHtGUDCkpAUAgh/Zjd+agOnrqB6EL6lVQXz0Ubuzk26iqOMqiq2W3iqVxXNaMWnSVLTJfet+9qRuRT5zDrJapdHkWnFiyXIjkePED07pUFDIOR+Y/joOdAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGg1jfaS/ac7R/Z62JHTVUQb/AN+L2ps1/abZSHURCqVc+7OJiO3bd09tuY9a23NDnON/pm4PuE2ozXkpotr0auVl5bMQPC3uZuLvD1U70VrerfG4F39uzdyoCZUqa2sWpYVpyH3o9Bt2h0B2py49AtmjNtSXrVsej9tUrVVXVblrldlXFVrkvOYNontPie0/ZPktZM+FtnSqTSKFQKruFuJez09jbXbii1OEu/dz7xgwHHZzwqFWYdotl2pbtKW3Wb63Iq8SNthtJYlMRTxAh0GlWtZshPZF1PEOF8J0Gr13GslcGg01LW97mtGKtYrvvO9+0+kfDvNpmIiJmaxN07BhdOl5IvC6J0Pf3rm3BRS7JsijWI1WqjYmztMrcyY1D2y6fqJW1SbngUyrz5kG2rm3Hr6Hdz9yZYqDaGrVgVrdC4N0bsNq5MnuK1mJvaI36du8/XO28zP1xvv3jzEfCvtK9suv55vxDl7lLXZeDcrafJnpxXj3VNbTiw3mtseC8R096/R2md/ETNpiJ2fdO3SNavTJLpfUt1n1Smbl9UVaDUvbTbJL8adQtsFNNIVFXDSlcyFMuKksSWY1avWXGNAtOcExrRbqdwuJuW4et02m4Zy9pZ4hqbUzamK3vXHWa2mJmJ6ZisT2npnffp7Ttt3iZn4w5v8AaHpKaKeA8q4sun4fh1OPS6vjt7zbV6/JqL7Z8t4mbWjHW8zav0tpiLzMTFaY05dG6t+9Qd+3Zcd20KoUW0qbVHqHts/VqiWjWqdDlVGFcFft+xo9LjJtm059So7sa1KnWLhrlc3Dj9lTqSKKpiZaFt8FTm3XczcSz4b4r4dNpJ6MUWx2pW1cnnadtp+hG+3neZn6/rzlj+DHhPFuA8m8zf8Ay+3FdNxnHTiHE9JERHTTF7q/uuqP903tvG+8zvvvLJVWvUOxaRHqNWZllqZNiUG3aBRordTue87tqrcqZSrRs+ifHjyrou2vpgSzFYDrJTTolRr1y1CiWhQLguSjTMdMeKMmOsfHN4tNtvq79/Xv+9ph92cu8u8K5a4Xh4VwjS4OG6HRUxYNNpsVKxfVRWu2TUZb1iJma2jtE/OfMwVFi2DXqlW6duHuOuN/eqA3LVZFnUqo/pK09o4tSirjz5FOqjTEZm89z7gpqRS7y3ReQliNT2pu3u28Ci2ZWbnq+6NzdnSvzcmw9lLImXvuDV3adRo8mHT6bFptOk1u47quirvpjUSzLNtenJVWLuva5JRYp1vW9R2X5098Nqkri05ibU4YahesbrJa2lftzcre+h02ub7U2Sbg6cOjdqqUy4bU2DkvpSYG7O99QjPPUq+N/YzBUlFQlmRt7tI394jbWJkXG1Nv0giujL7OzcfqNvwdYnX7KqVy1itPirWVtXXlvJEqAX0TKXJuamygh2mWklhTMqk2i+yxVK4wozLqiw4wTAcDfHWbnhW7TxEjJhwI0dhMZiMw2iM0wxEYbZjMsMspS02y0y2hhpCEhKGm0IQEpQnAQW3n6g2qTGloTOZCmkLKAHFclQUs57ic8gAduCBxnnJDSbv/ANTDspUltuelSgpzuy4QSQ4CMegGfpgj66DUlubu1UazIeAkrXkOuYSoKTkLWAkk+ODkpOCeMK0EaXkzKrIbWsK7VFWclR7gpXcccnP7x4H10CwotqOOqSewYBGMY9R5JIIJAxknjzjwcA+lu2YUKbWW+4lKck9vgY8Dsz7+c/UDQPbQLXKz2BtISOzPABOe7/pwPXH7sHGgc+nUdMUfDShOUEIyQDntwDjAAxwfx8gedAs4cEn/ACp5Ht+H4/t9P4Apo0RtlIUvtBAB8gDylJJ48dykjjAyQOSRoGZ3l3rgbZU92nU1lVVu6ahuJTqZGQ1JfjzqghP6OZagLiVKNOrUtqTCqFPp82M5Cg0uRGuCuMLfmWvZ95BByPGq0i4Hp9efbq19vIL0NtEl+qUayoVREaZNfaedlS5NUqj6Kg09LumTU6vWLqlqjS49adiVGg3JfAV45LQnM0uT94mFDJqdfqZiOMIEalzGH4UFDjgivQWEw5UD7rObNvOhbUqVSm6bR4k/akAPtBiY7T3FtU4mYZtx1Bpt5yZh1L8mUxIqQbbkLEeoRyqfU5aKfT5jVIlN/ou4Bb193JbaJ2idp+lHz+v5Be7YbU31uhUo1HsGgTX01+sIpZr8uBVqpMuGuffylUCkUmNTZtw3dUpncYyaRDpEiM+w2I9W2/jPsouJqfg+hO8ek7fjHeP343HoO6T/ALCaoVFFOvDqHrrlhuy4xS1Elopt5bsuEPq+EhNBku1ravbqKQ4HKKipu7r1mlJkph1+1rWDEOI5ePQpsz0ldL2wjiKhYW1FvyroQqM4m/b2C9w78YkRmvhmRSLmuo1F+zQ+fmXStv2bTt1gEtQaNEjhLKW0z4hHnt3ntHznslY7c7shS1OKUtbg5cWo5wSFfrhYdyCB2KKipHISoAqyFMV9wBKe9OEjH6ys4yT/AK8Z59AMn5jlRUSFlLrZcUoJcVz5Jyrz4xz9PXPjjVdp+U/hKm8fOPxg1W8N5m2dnt37lW6ptNqbSbo3OHAVJINu2JcNYbUtXxAQhDkEE9pbUACErQcKFNp+X78fr2V3j5/vz+nd8rWK0uE2EBakyUMsIlOIUe5alsMuvNfG/wDGVHkd4VIZU6pt4rWlYKAlCSseY+2P1K6yr+vfbmrM1qwrquC0ZzLzb6l0Oa81CkOIUop/SlMcW5TqshTalMFupxZjbjGW3UqGNGdNa0uq+w9xoj1p9SVpQmm61Lp6ajuJblGYlUepviWh6TWtwtvUPQEzqw82yGnb0sybQr9hwUuUq2bns2HKlzW6Z95x1+70+z99v03kPFMsSvbZW596tKHH6kuma8ITkNdhorTtdqtIoH/3pVZT2zt1KeVJrdHoUJNVkydtLmcN1UR5646zZTdTrVoTN+rXgBGLesumbaJlxKvVd8eje42VU2bCcihzdHp9lBikvQXGVTHHpUih2vWbobZaokupznNu65MuH+79Sm23ftOvvqDDKXDAW5Csnbzce9XqlT0z0zekHrEt+bCanxZSqi9Ltm27xvGLUaQKe+8qLIjW3cFUqPxxFgqsa74FozrZpVT2FCyfq+4ke9arujb1Ag2L1Y7Iw49M3x2lhQaXbdu7sWQRCpyK7b9twGqJGiipQl05KKNRLfZplIlyqJTbYapDp25stwNs+xG9dr7sWXQL+tOapdLq7PwpkNxxsz6FXGHi1UqDVmUEqam05XYnvwludGcjVKP2MTUMMhs+2LvD7hVIznx8IcBJ7HSpSVN4KFIGAEkAHJPdyQAOdB6Wumy64d9beqpEhxTqX4Coqg8onudLICVJwcpyDlROfmHGBxoPO7HrMn7Nn7evZPc+UisU3Z7q9dk9Mm4rcIITRzUd0a1S4W3lZmx3u6OtdO3Zpu3xnTldsmBbM25X4SnHliDMD25s/qD8ToKugNAaA0BoDQGgNAaA0BoDQGgNAaA0BoNSn2pf2p+232fNgNUKmxaduF1LX5Tn3drdqUzFBqnx1SRTWNx9xXorbr1AselVb4ggsrVGqV71WnPW/b0uAhmvXNaoeGG6rv3E3j3Dr+9+891zb33i3TuanRP713DENQTIr64tWmQo8ZiNKbcpVo2VZ1DuOr27alFmwotOoNnVK0bcdpa5CZlOCQVtUOHSWktwXJTiVOyJL0qoqblVebPlPOLmVOqTvhNKlVScpEOROktsxG3ZERpESLApbVPpdPE+J332+qdp+6fSflPpJyrcgN0itVC5aW4aTc1XpFGtiq3JR48SFXZtl0CqyLho1mqqbrEyYzbUG6Hm7tcoLD6Lfqt5QaPeteo1Xu62rWrVDrvMb7TMbxtP1xvE7T843iJ+2In0aDm7lPhHOvBsnDOMX1uXSZKzS2nnPMxMbxMxP1RMRPeJjeIn0hT2i2gs/bHe2lb+QZl23Ze9OcqUwM3vW6XVqa7Wq1Fcp1Rr3xYVt0uempppcqdBhKkSZbMRyW3PaS2/TYSE5YjeKz8tp7TPymO+22/afE7xvtPmIl4Jzh/DbytxnlS/K/L/ABTW8Gx58dcWS2GemtL9VLxW0zHaeusdd6TW0/HXea3vFprbw34neWdR6wmlrtWqNUlqhVebFnsVVyZTY0+RNj/d0IpsNpielEuXDRLmsT2YwVGmpguvRXo86Pmw+8vM9/ER2jeJ2/f9XhvJX8CWTlzmTFq+P826LjPAtJNNRn4fOkzX1OorP+ZGO2prm91eYj4axFImIjad53k3tQuC2duLajAQHvgioCgWtalrxmqnXbruqrOvSI1q2lSUyI7s64ayqHMq9RqdUq8Wh06nU64tw77ueiWhb123tCpTH7vfvM7/ADjbxv8A3/R988H0fDeGcO0/C+EaT+R4boKRh02l2293EREWnp2iY6+ms9/O33yvtvrFnNVobhX99wm7lToE2mw41HclyLX2qtesyYcqqWBZEt9uJNmS6uml0X/tBv8AqjMWr7o1CgUlTVNtzbq3LL28te9sy93K3ds3ZSz27pvBVWkGpVqDa1m2jbdOdrd57kXzVXAxb23m39uxmvvNyXVXHVlLbSQ3Cp8BNSuK4p1NoVHq9SjBps6r+sm4dmrihVi40W/ffW7U2KpR9r9srbmSru286PbYudqPAXRLXejB5V17xV+IqJC3G3RaSmXcs95NnWCwxZ0eLGr4O/0EfZw1ChV49UnWCXL230uWVHuakWvdSY06PaswOJlxbhuqMgqak3iw+WXqLQ0PKgWK/HL6na1WHYk+mht+uu+IdGjKUH0JCQ6vhRKldylKz3qWVFWVc4KUg5ShKEBKEhro3y6iWICZDbUwpUlIAHxVDH+K6MY7ucYHr+/yGlHfXqRenOzMTitJT8uVuJ57FgY+Y58+vkHPPjQawL53FnXC++fvbh+Irt7QokD/ABAscnk+PofbQNM1TJMt9QdQt1Dqu/JGck8Y9R6emPPtxoHQoNoKdbaWpg47gACk+uBnOefwxjGge+gWgiP2BTCiFAZISePlz4zyCcDz65HjQPBTLZQA2UNkIHar9Ujxgngn2x7+vnOgcCDR0spCkoJ8ZwPbkeD7/tz+OgzbUUFaUqbKR4yfGcfhoM00yGWwEnITlWOBnkqxlSgkZ9yQAfJA0DZ7vbuUjaG3JNXlSEOVR5iUmjQEfHU8uS7GmxI0iQw2haHW3lOPQ4tPxJYrkhmtUyU5ColKuatUkICpFam1mfWq+pypbiXKzVAxESy9Oi2LT6xN76gmfJepExqVcleVKcTWZYMNdanVp+nSWawJ0+1bhCo9K+9MzEJky10r72s1u53HnX5lw1CRGeacZjVENSalUlLFUrDDk9ypXJKV/eFMCmxaxPumYjfICU6HYsKW/wB8amNhP6IojLsj77UnktN1SPVO2PKSEwiv7jVcuyoSmmKhTZprE6dWLduu5LJ+nX5bf3/f17fUNjvRv9npuH1IVqLXatBZtSyqPPYW9MrTT8OhWwIkT4lIiVlinGhz69dlOpktSkWRQm6E7SaZVobdRqe0lv1hNJl7HH/44/8Az+kj1X9OewezHTLR48bbahsG5FUFi3ajf1YahOXdOorbkR5duwZNOh06DbNmMuwo5p9pWvBpdHQmLT5VSTWKrDFVeuUt4n7JSgavBhJ7kuJSAO0JDhPoSSVLKlEkqPPn9+jAyzd3NuEj4oTgZz3g+w8j+f5akfv9/v8ARTVfQj7V0i7GyQn4wP8A5VZPA9Bx/HxogKwudsgn43afZXyk/v8AH10FL+9X/Wn/AP6f/LoIl9e+4ZoHRD1fVRmUlqR/9mbfCmRj3j5ZNc2vuq34yAcc90yrNOdvBUsBIwVZ0ZMP/kr9/wCkvnJOlsOrDIyypavgnPPwQtSGsnHzEISkEjAOPA1S3ifsn9E2vmPtj9XRSe7HOMawM6l4PnGDzwDkDyMHI5HGgerZbfm9tkKnKVb/AMGuWjW1pRd+3FcDUy07sin5VpdgvxZLdNq4bS0iLWYrLklCmkIkty4SnYTkPN/5J+79I8fvzuNi8ZyLe9OrvUV0uKbqFx1tuVH3/wBjrokIq7F6R5lMfMylXdT6gqbWZN3PyVXu9ZW50h6qvXkqoRqLctUkbnCo3bv3jDQ02Pt9BtyXcjNOqczow3Jux6i7o2o9RZn99emC/ak9SYpqEBtiRUZdNZjVOLb8OpSY0SXTKzT6XbVQNo/pViyrZpQKSdSb2ptTt7btcylr6m9jqFU6hsLuvR6rQXrT6idgBRxIRYFWmUAVWl16WbXm1tqQiRdNds+/bEuCHOjOs0VdevLeIKu1e71N2fvSg7zUdBhdP3UBVRRNxbTcdLh2W3dppbcrMd2E9WJc6MzFlqlVIfeWoMmfZtXbqkijUqKi2GXw39bTXO41KgpckNFLbrLqVh4droWUkKbW2ooW0pJCmnUqKHUKC0cEaD0GdD+56WpSae46nslhHwkKfXhSw5jyPfJ9sH94R8/tA/Su7vX0zVe+7ciS2rltKJ/eOkTqSkt1OBLpaVSFSoU2OtqQxMhFJlQnmHG32ZKUPNKDjacBvN+zH6s09bvQl01dSMhtxq47425hU7cRl5CWVRN2bEmzbA3WiNMDlMNrcC2bhXTnFdqnaa7CdW2hbikJCeegNAaA0BoDQGgNAaA0BoDQGgNAaA0GsD7UL7Szbz7PHZFFyJcoV477X+3VaTsdtNKqiY7ly1mEhmLUbtuZER39K07bOxZtRpS70rUVkumdUqFaVPWLjuejsuB4EKzeW42++51271bz3bVL/wBzr6rKa3c911VTKHqnL+GUR2YkCOiPAodHozWKfQKFSosWl0SlNx6bTIsaFEYZQDosWxTa1S4sKS7Op7tPqcK4KRMpb7cWdSK/T4lTpsGrQH1NPxFzGYFXqcZ2PUqdUKRNp9WqVNqcGpRZD0eQCjpNt3/TpaZjO71RrXHeYV4WBYNQgrU4fnDsOwKdtO8op4UUsVmOlKipLC22ktoI8llGqO9TFQj/AAYmztwQQjDizNvzas9yCSk/dVQeoVTzy0KI7vvEWMpSUhUdvIdaLemvyj+v3z6/eWcbdC5YE1qHVtmNzGkp7Qa3aC7D3BtxxfwAe2OzSLzhbkPNocA7Hpm1lKU4Cl19tsl1Ddd5+c/jJNazXomImu8z0z43nvMz8/vLCi7kbh3AifCtbZ+5KRLbJcYuPeutW9ZdrrQ12KCYNtWnWb43RqEh8tKSxSqpY9hUuSgvCdfVD+Ky7pvPzn8ZXbdor6RttHpG3jY9Vh2mxSqwLsuOtSb2vpcOXTP7zzoKKRTaDQJy1vP2zYFnpm1qLY1DmOdhqqxWrkvW5VwaMjcHcS/TQqHLpSZmfMzP2nmZt628z6zt43n129PkcXcHdy0NnLNk3tdi5aoyZsCjUGg0CCKvdt73jWXSxbthWVRI62TXLxuWcgxKZTPisR0BEufVH4lKp9QlR6DTz1R9Xt17T11VZlGl3H1s37RJVsWjaFDqAuCy+knbq6JKPiWNZkynpSK7uHca3kU/cvcVgKrG4VaEOx6W1F23pFJh3CEivs+OgYbTPsdRvUWp26N/rjL1Yp9PreambBXNytyrTZLvxo8y/ZDBSwgoXOiWOw89SqW8KuKjVHA2hXhuPEpMV9QkoQA2V9ynAQrCCkcLPnAAH+bCQMEaDWvvj1GsxRIQ3UQkoSQkIWEj5kJxjtAHJBzyefbIyGmbe7f+VUpE1tE9Qz3EfOCSEuOFSgc+BnI5yfA8nQa8bsvGoVmWopUlSHcp9cEkHkJOPcnkcDjOgSsCjSpbpW40cd2eCgpOfXtCvAOD44IyPGgeK3LTUpTanWlAFIAHalXBAPjkZ8/UeBjxoH2otqoaS12tgpyCR2pAAHjj1x6Y59vOdA6lMt8IKHRk4Gew+MFJGMHj5cjAwcYGBoFixDCQkAEcgHAI9uMc/wAcaDLoYbTkFZSOMDJ+vjGdBU7UjxggeDjzjwffnzoMHctyUizaHU7nrz4RTaVGMlxj763FcmONocU1CYclKTFafmNtyUkuuMtQ4rEqtv8AfGpkpbIa0bhu2r3xcTW59ajKcl1ComLtjbKoTsYJTHfjQoleeiTX5jcGLF7YlHoEFVdl1GK3EMuVUYVxu0i7a0FlHHY3UaUzKWiIw+XLxucx45cK0x1IVTabMLkxLcYv/fYa21KSt2VFlMtUlUSMuzKbXD8Vo37x1eu3jb5eBfI7pJpTxo4U08tDVp2sqE+5KlurSz8GoVBjuqcqay6KlGEdlyoV558vSiqJVHa7KVu/OmlP9lfEf6Y9Yj6hts6IOhWRd06LuhuwXIlLiSo4aS0tTVRdeaemvv0e2wpxxpFQgSn3Wbrux6VNdpVVS5Ett+tXk/Xb7pFvu6TMT0V3jx2gehe1alQrRodNtq2oFOoduUWKiDSaRSoojQIUdv5yGG+XCX33ZD8iQ+p2ZOluSKjUX350x5xV/iNo7R8vTt4WXmYjtO3f+5WxrzPd/wCN8qlEpHeoDk5Ue30JUSo8DJJUSSeb6RE3rE94mWDJa3RbvPj5yzMe8sHKnsp/8yiM/v8A3jGpXu6f7YQ+u/8Aut+M/wB143eKwSQ8Rxj9dfv+P01n9xb/AG1/Ite9u1rTMfKZZJu8VdiT8VOcD/OCr9mSrPvrJGm7RvSPHyn+kMFrWiZjfb8HDu4EeC2XZc1thtOVqU658NASCkcrVhCSrJx3EZSlauUtrKdxwzhGXid6aHBpMmpzZ8nRhx6bHM5pyTtt12ptljH49enf690TW8U0ugwT/M3tXr3nqrWkTWI//wBltpiN47xv9e25Eo6ibSM1cNNUaU4ZQiHElp1DUhYKkxytBW38coyv4IUXEoHepKU8j0nT+xfmfFg1FNTo/wCX1M4IyYsVqRlyWiYmaxEZvi6u/wAXu46vnG0RE8NPtJ4DGqrp/fV+HJOPac9oyWiZiItPVPu9++/nt8oRh+0ovqFP+zz6sJ8ec2e/begU9l1pbbY//andrbqzXkJUgpW6tUW4JCSGwoLZLpUTHLij5fxHhGo4TOPQarTVrrKZL11fe9smLaJ6JvF43xxa3TERER5228w9A0HE9Frb4o0mS1oms2ibTp79UzWZ268c2v8AD9sb7fJ4XglIAIAAxgJAwGw3/hhKR4APZ3kJwO5aifmJ1rv5b517eu8dvv8AhblzqPqKUrO1aVjx4iI9JV3n5z+MuigME4GffH11AnzP2z+rNHiPshSIBBBGQeCD4I9jpalJxzaaxNtvMx37SqcfafdS8Nmb5pt+2VNZYqcJP3eoU+f3O0S5qM6+yqoW5cUIMPifSqlHDzLja0KLCnC7HLMktSo+uGx2q3HbMqiTeqbZK349y2DuBRJVmdUmxbrFNmSVRIiag/MlPieupR4d72rSjGrNAvWBToZrNrrfYvBmrNztxHN4QRtLtYVEWttnb11rhCpxmt5OgXdl2T8FEOsUuQufU9nJ1amzH1QpaaqxIYptKVWXZdNuyFLoFaoNUueVR6DRQsajclp1p/8AvpVKeLT2y6hawnbHqeshj9Lxqfsh1C0mVKRBvyJAiwKRHhU81ds3S/HTCuWmQaDWJ9MjTq/uHR/0jbITs6Gtzbjp9NubYLcdT8Xc7YSqJtuQxKW8h2qWe2/IiUGZGYqDbcp0UxaEQPjSCZppMu2XJTTb0sp0Ho46UdxzBqFFd+KttTTzBVhISO1ZSUnubySlWe/uTweF5OckPQhd9t0vfLp8r9AqDbc5M6iykoaU22+pwuRVIIJfSUfOp0pUlahkKJUO0qOg0k/2dTcaqdPPVH14fZqXUxUI0OLXV9VuzqpDylxDT5cygbb7uU+O3JeDsOOZLu1FUpFPhsrZLsi55UpEJ5TAmB67UqStIUkhSVAKSoHIUkjIIPggjkEcEcjjQc6A0BoDQGgNAaA0BoDQGgNAaA0EZOrvqm2z6M9gtyeofd6oORrJ29oKZiqbT47siv3TcVSlt0q1rKtxgBTUmv3fXZVPoNKbd+FFhuzHavV5lPolOqE1gPm177dRm7vW9v3e3UlvRUzMuu7ZzUOi24zPnTLc23sqi/ek2nt3ZjcpEZmJb9rRKpVPiOwIkVm5bjrV0XrVESriuaqT3gy9vQG2AlXaU5IAAwAOefp+XjQOrTyptASMpBCTk8E8A8Hj93poFZEk9qhlRPA+YHjPtnxkf00Chi1FaFAZ4GBnBPn0Jxxn39PPvoFTTauwlfdjtcwpKlNqLZOSSvv+GUB3u5SQ78QY4x66BeU+vR0hJLgCkgFKCpRSFApx8hWUZIRwCkpaUouNBt0JcSCnqe5ltWNbVZvC7KrGo1uW7S5NZrlUlPhlqDToIIedHyOuPyFuqRFhQI7L06q1B2PSKZHlVWbBhyA1a9RXVlXLFVE3buak9++9y0Op0Xpt2pqSorr3T1tzccdMGfeNyRFh5qLu5uJTBGkXfVI63KjZ9rGDtbT5TNNVWVygd37Pro9k2ZUD1P8AUMuVce8V1uivUGlVmMXJ1sOSA6IVzVr70v7ybtWiRLXTYUkrXaVNlvvIxWpb/wAINnl47pQ6PFmK+MkEJK+FgOKUtRWpS1JHctSifCjgAcJ7iskNc+93UShmPKbamICkoICmnVEdpQ4McEjOSMeo9NBqD3j3zk1N6S23N7khGRh49ylJCSQAoDJC8gj2GDjQQXr1ySq1NJccccUoqTnJWAhROclPAOSfOOcDkaDmi0CRMLaslWSCAeV58cjz4J8jBzx7aB+LYs5SkoLiQDxwoYGT+IH7TnnxjzoH1oVs9gQPhoOEjkJzjABx4xkeT+OfwBzafRiylKexJwf9Iyn1z44+h9MHHroFSxFSjASgnjkhORnHOODjn+ONBddgQMFGM+qgQeeOPH8NBTUgDHy934jOP2Y0HCcBbYLanCtxtpDTfYHHXXXEssstBx1lJddecbabQXElxxaGkkLWkgNe+/O4TO4V2v2qxPkObbbd/CqV2zICqhGjVl2Q+yul0tlLDkxMly4JLaDFfQgrm0anRqrRfuE1qqU6bSfE/YGhYlTVyo0+JGiouS7YMdmjx6d8FEe07KbS5AYlJFuhLUVp2mxnWWF02kNwnoDk2PSqU9T1Vm1k5cNYv9Lfxv27fr3/AH5+ZUCKS9DSoLD9r0Ke6ywJS6dGdu64JLYbddU22pwNRFRk01959qXV2kUWJ8ZUmRbTEOqWHnrhpSd437TvHft90beBsy6NemNdwz426e6TIaWUsurprrT7D8FtTXe1QorEsvTIddeRJXIrk16OupWzEmS4RqpvG4KvWLRyz3/L8o2G6WnXFGgw4UOntx4UGnx48OnQo6EMxoMGG0iNDhRWW+1DESJGaajxYyAlphhptttKUjnNipW8Tvv2n0lZa0122277+fuKmPdpKO0SGyrOcd/OPfAVn21ljT1t2jq3+qY7/jH6KRPVO0xG3n1/v9bKM3cttKVKdGEnJwT7nx8w859fy1lx6ba1fht9s7/L128fkhZ8lq9VYiNtvlO+0z9vpH5+d2Xi3mhfC3SB3HyQPQeqlH6/s8alRg+r8Orx+5Quu3z/ACj+zIt3pySHFHg/5hj08kHW7xaK2bDOWmStNvS/ee31dt+3ePX+mOMmW3atqxP1x4+vvMRt6f8AbIt3ocDhRASTlJUVHCTjwT6+w+njxScG+Oa4oictKRve20Vm0z5iJ9PTbefHbdi31FMs+9it6bTO9Y23+qO+/ptv+S6tCTbV83zUV37UJ0HaPanb+69694HqRLVGuKVYVhNRWnbctpaMui4L5uiuW1YUIx1IfY/vMubFdbqEGFn6Y9nHKmq0XL2n1PB8en1HNXNfEtDy1wSmXDF4xa3X2te+rpk7700mkw6jU5MURv04Z26rWrWfCvaHx7HqNZfh17TXHpdJbWazHNZ//jVv0V6bxaOi977037z6zG3ZkJn2g/U5ZW2u1F9zoe0tM6Y907m3o2/tnosb2qsWm7O1XanaQWDEuSIxc8ylm5agapWb3rdoLrL09IjXNbDlflx3kVF+3HPqXR/w++zrinMPNXJHCrcZy8+8ocs8K41xDn/HzHemunmXiE6/bT4+G3w0xYNJjwafDkvpsNOi2m1VcUxWKTePCf8A5PzLw2cGoyY9LTlrUarJXHinRREzoa+7rSLajq6rZbX6pm8T1WmItPfZrz+2Pq1ubYbC9Qe2Nlzam7t1f1f2GuXbH9KOumezYO6Dm3u/1s0Wat1S3HpNApfdQi+64tySxRhJdP3iQsI+RvaTwvU8Q5Z4bx7imLBTjmDUcS5d4vfFSIvrOLcB1+bh+r1GSaV6K1yW0t71xxaYrM7dVtomfpT2ca+n85n02O3we6/m9J5mZ0+bacUXmfpWil477R3jfaInZ5LVHJORg5OR4wSoqPHp58a+ccUTbHlnLWImu8RtG3bvtv8Ah+e73LDa143tt4me0beIn5/XH27ONafU/S/D9JZHBGRjWut5n7Z/Vnr4j7I/RRUMEj/njSZmazX0n8VXGoeWladO2/ffff6tv7iQHTjvzVtir9bq77cis2FcbMag7l2oZKS3X7ZYekGPKitv9war1tTCivUCbG+HNYkNyEsSI5lqlMYhMu5rEg0aYdkqVcUZ7bDeCpU7d/pAvWjyp0WRYO6dSSw5TbeoM2ns1S44VC3AEeLEt+nuJfmQqzAZotKmQZki9bsYBLwqtbNeaTfu4SI1OsPqARO6buqqC1Fkx2dp+oW1/jv2Juk3Ccfdh/BeXAp9yplRmGqJGoz241mUaLMqNJXIAWtIvG7dpq9au6NxU+bC3P6ZbqgdP/UVRm2KkzKuHb+aJcG0bndU6+Y8ufUqHBettTjwdqT9eoVq1apPuKmQUpD0s9Pt8xUyaXPgTVzabUGoE2FObWlMeVDlMsvxZbGCQqK/GeZkRXiQp6O4zIWEl3tAeo/ou3AjVq2IlMlSFugtrjuNE9/e2sN9ygnJ47O3BAPOVY50GhH7TqNK+z0+0q6R/tF6XBdj2tt5ulTaRuuIC3GXXdqr9ptSsTcxwYLUaZMRYl1V2pUaJPeRBNdp9NkOrC4ra0B7dYbrT0SM8y4y6y4w0tpyOtDrDjakJKFsuoQ2hxpSSC24htCFoIUlCUkJAXGgNAaA0BoDQGgNAaA0BoDQGgpuuBptbh7e1CStRUoISEp5UoqIwkJTk5VhIx8ykpyoB4Fft+OuSf1e9Xh6WNvauuRsd0k3BPo9woiKeEW7uoVLEykXxWJIamOMzYG2EdT+2dCTPp0GXT7nlbpvNfpCkVKhVB0Nalj7dvMxWUojqcSg9pPw+3JKUL4AxjAUOOc4znnAB6YlmuNNIH3YjtJ/ynkD04PGM/n6jQZIUV1ryw4Eo+XPYcDHyjnH4aDuIq2hgJKQOeRyPrj18aDhTymUlSnPPgdpGcZ+p9x6aCzFdbjKIU52qJJHIzz+R4I/qDzoLti8BHPeg/HWk9yWu5QLihyG8IbcWe8jtwhtajnhCzhJCGO8vURR5MmbfNfkN1DabZeuursqjEIkN7w76Uoy2Y9adirXKiVCzdoqlEQLaUWlQrg3DbqE96RUIFrUlhkEH0bbR1Pdu95vVVvu65W35Fdek2ZRJq/vsZ2qU2e+ETXlSVvNv0S2ZrCm4UJ5l9iq3JFFSkKVFodMRLDbBce7UeJGdLc1pst9mQp1XfgYRz3OH5j29xPcQc8dv6oCEO7XUAEtyUNTR3JbUClTik93w05JSUqUMEeuOD750Gr/AHM3olVB19pp/C14yPiK5SMk4KhzyE8ADGc/QhEKr1mdVpaiXC4Vd6u3IOApRI5AHgEfQ+w0GaoFvOP9iy13k5Ge0+wOPP19PPvg40D92zaKElt1KMEnAHZn1HAPd6cZGD648DQPvQ7dSSEqa7RxzjPgccAg/Tk/t50Do06kpaCEJTx5zjycAeM4+h8/T10CiMZDYJRgeAeBzkgfuzoLhtHwwoZz3fTGPH1PtoLeV4H4fzGgpaCP/UbuNIsWyBTKLiZeN7yGLatumIXBWp5FRcTAlj4EkzipUr433NIdp7TEuMauxDqcWqU9xMcIAfdIMFp+lTJBqVv2U8azelXbZW8m8b+qykdlOZkKkqefaRJ74qXXZ1KYfgQErVGpVachSDS3ifsn9BkQZ782ZFlyRCuO7YhuO8Zsh94uWpawSP8A7rdl1NhiU3NnpLMU/pOoIUqWulsVp6kVaMxX28+l877+kfV6/wBNvl/ySc6atpDuVc8C86jEVBsm2nXYVmUp5He3KXEloE24ZUOSw1Ekqh1dv5Y77LJqV2uvTJDEgUi43arKnzPp9XyG4ikVaDRoUGnU1Pw4MJhLEdsPOOJU2AfhyFOugOvyXO4PSZjpWqoPlU17vkPuPuZaYpvG8TEefKyb7TMbePr/AOCwYutQbGFe3+Yn0457Ofx/prPjxzSJjzvMeIn7FJ+OJnxEb/Xv+n1MpHuta/mSvtI9O8EY4OOED6cef3ZmaaN8kxtv8M/rH7/FFjUdNp+HePHn6/33/JlheDqkAFY5GCO72Pv25/d9DnW0wYqWy0jJb3dJt8WTpm0V2377b9+8bbb+ZRstpv1W8b/3/rHZl2brwwFqdSnBI7S7gngHOe3kZPoD4xqVh0+pzav+Wx4bXi204b17zl9dopt237bd5/og482O2SaZLRjiN/imY2mfSPTb6/LJWnLvjcy8qJtltRblc3A3HumSIVvWlbUVEyoznUlCpr7rzrkeBSqbSmXGplWrdXlwaNToS1SZU9ppp1SPb+UPZvWOH6jmPm3VYOAcA0uG2ovn129Iv0964IiPivqck/BjxYoyTa8xSszaYhwnH+aJwa2vDOH4LZ9deemmLDbtO+0R8UV2r9fbt5nbvtOPdv7Onra2UrFnUAW/ZG7l1XbtzeG5z9n7TXPMm3VQqBYE60qbd7kqLeFHtGBWlQZ1/wBpw6bHt2bUKvXJMuoog0RKKYXZU7hd/ZDzNpuIWxTxDgmLS8S03BcfEuIYaY9BqdZq6aq2m2yYsuW+GMk6PJN/e46UxUtW17zvtGj1HFebOH6vFg1uCsZcuiya62kw5ZzZsGlpEd8m9McdXxeKzb6t9oQNt3eNym27vnaFPtusXVcu+m19D2dteHRPvDlWhXE9vVtbeLA/RJhmpT01FdovW83TIkT73Ua9UaHSsIEme7TPqX2bcgabhfGeQtdq+N4eD8N5M49PM2t1GTJW2kzaCOGa/SVy4dXfppiyzbJFpnJWaY8FMmSbd4ifJucuIW12i1+fFjnJbX6f+UrkmkY88bZceScUxvM7RNZrFfnbeI8QnHI3V3p3s+zz2W6Dbf2i24lb13BvtRNotq5Vh0JuoO0HaG29tdod/bv3Yue7XqvcqrcF3VfdSxH71q1OjW25Gp71yx6tBg3JFVQGNtj4TyNyz7feavbNqubOPxyzp+WOLcz8XtxHVWw24pzHreL8c5b4TwThWhxafSTrdPpMfCNT7jHmyZ4vhzaPJg2xWplvpZ1ut45yZoOUp4fp7Za62uXT5IivvMGlxTTJki1oje83ma7bdG81tFon4oaWPtt73s66KPVYm3VW/T23Vs7p7JbMWTW2mEx49x25sDsFXdqzcMbsfeQ7Sq7W7Mfr1BmNhIqdGqFOmJbabUCfnD2h6vWcP5J4Zg4ri6OI8e4vxrmXiGjvSOrRanmHiOq4t/J5LTWL4dTp66qKZ8XTaKWpelbTWIs9p9l3DpvrdTqb22jFpsOi0sxWZjJj0mOmGckTvvFbzSbxvG09XmO0PN44ntVjOTgEnxknycZOPw18sanDETkiJ2i8zbtHjvO//fd73jp7uOmJ389/tjbx9UfXLprQavDtO/V8t/6f8+F41r74No6urz38fP8A5n5r4vtERt4jbz/wor/WP5fwGozJE7xE/N11ZfFOSN+rbp39N99/vj5KuDnBwSnIIyMHyCAcEEHtVhQBBBKQCCMgw5jaZj5TsJ39PVbRvZtJdvSrX6gYlfobVQ3M6fqxImyo/wCi7gpbL8y4bYjvth8REPJZbrUUU+IKq601Jh02TBVFiq1QKp+5qff9WjVu5mYtuUfqhR/2D9RVHkt1CNTrH6m7PLDVq7kBoTDAhvViptx7mmyvgTbdodJuq/KTTob8+kq+4hjobn3yLZldvtxFMnXKbi6I+pREyRKYqdtXZRVwZO0O51xIqjCHYa1PxKDLfq9SC6hV6ttle7z6WF1Bxt0Nnn2d25VYkbf1DbC6y/CvrYyvv2JU4cx5P3pdFbkum33I7Pw0h6JT22KlbkV0vKQ7Et9iUl5TcllID1XdD+6qoU+ktKmLDL7aWFAFOEq+VPxQVEFQKUpIQUoOOcjkaCTH2ufTdTOpvpAu6IzCRKqbFAVMjKQQ461LiEPMOIWU/EWTHbeY7ApBKXy4hxK20Eg5X9nw6pJvUn9mjtHQbmfL+5HS7U6v0m7ifFlOy5KpezsKlxrDqUlyRJmTXZtZ2jqm3lSrUqYphDtySq22wCGgjQbvdAaA0BoDQGgNAaA0BoDQGgNBBv7Sfqne6L+h3qP6jKU5Rxdlg2A/F2/RXlrFFXuZedRp9jbcCrssqRJlUpm87kok2rxIqkSn6RFnfBdYUPvDQfPc6Z9nKpVqe1cFxmZUa1VZDlartRqzz9QqNRrdWfl1CqzapOkOvO1GoPzag67MnyHnpMuW4/IefdW6tSg2UW9s4y0wyVRPLZOW2sjBPy57hnIAH0AAGNAoDtIEIURFcc4GAWknt88jIGPGOOfA0CdqG2ZbSQmOsY4I7FjwQMHyjI98YyMgDjQN3WrJEVor+Eru+YELQM9o9B5z68DGNA0dfowjIOEqSpKVEI7e0YIT7e2Dn144+oR+uipLp61lQAUgLKfYJBOfwwPAznPHoDoIn7s7r1OFTY1rW9XHKRct5rlU6HU2nT94tmhxGw9c14NoUQO6hUxxTdP57Xq9MpDIx2uqQENqfBj747jW3Z9JSqjbTbXoYplFQD3iHAo3wo8yYiQQW3K2Q4I1OmLbJFbqL1RkLdRFkpIbOWtyaTbFJgUWjIj06k0qnRqZS4MQJbjQYMRrsiw44UpbvwGWxhCllK1HuW4n4i1Egwd9b1d7LqGpaiO1wOYXgKCQo84IQrHoCCAeeToILX9upMmuPNpfWE47SVL7iDyFdpSRgH/N7j8dBHWfV36q8h0laypYQSoknBzkjPjx/PQKGhUVyTJ70t9yVJAKj5zn3POAeP6aCRNr2wlIaLiVJGOUpHB4HzEDgkjAJ+ntoH1t+htgIwkpA5x2447gCAPx9PX0OgdKFT0NJSAkgHHISASAPJA9/XJ0CkjoAAQ3nuxySMH9vt+fnOguEo89yQfHnB8ft+mg5UB2ngfs+ugolKVcFIV6cgH+OgsewBa1OPIjtt9y3XXihEVmO2hbkh+U8oj7uxGZQuS48CkJQ0oKUQrsWGrbcC+ZN93lcW4qI06ZTabMXtztRRpf6IqSV3K8pDZfZQtX3SU/RYjzBkOxlgVK5akLmo70B8mM3SZ2/fgI52PEgtuRJbSKhbm2xjza/J+PTHI12bi1tWEMOylgploYfeSyqQ6h1mJChtRbgp8lx1S9ZK47Xien039dp8b/AL7hS2dZ1Zuy549iPSZkerVkx7r3UrraJ6TQaXEQHmqC1NFQqEZioMxpjEFpl2K4pur1COxMeuGjPQkRc2ClqTE27RtEed/Ex8vs/e42uWoinWtTIdIpUNinQoUJiCzCZUQ3FiQmUxoEFKS4vLMCItcVByFOvGZKdBcmuKVKrS152rH57fL+63qrHr+U/wBi6i3GpQQAscKyod6v9RJ9SMnP7TqZjxXrWKztv39Y27/r+/Rjt62/0/P8vHnyzLNyEKH+IQkcEd6semOPB9cjH56m6fHExbq+cbfh38x+jD/M4q1mJm3ffbt9UMrHudQyoPEJIx+uQM5HPBHsf362WkxV95baJ+j6RHzj1iO3n70Obxa0zHrvPjb9ft/6ZFq6FLGEu9xHoVqxyfqSPrrYxh3mI6bW3mI6YjeZ7+kRET9n5MM5aTPRv8U9o3jt+Pj0+2PtOzsft3uL1Ob0bcdPu1CKeu+9ya0ukU2TVnX2qNRoUGl1OvV24609HeL6aVb1u0er1l+NHj/fqmYSIcBUh3vjH33kPgfBuDcD4l7QuY6Wrwnl6tPeY7UrObLnyzFcGDDivakXyZss1xY4m9I6rxvMRPbz/mLiGS/EKcI0E3/nsvaN62rjjq3jf3neI6Y3nfbfbqntL2QbXbL9FX2KXTnWd0dwLniSrxqVNiQrx3Vr8WNI3U3WuJSROiWJtvbjbhnRaQ7UQuXQ7Ct9T0SBHalV66Ko9Ip1Xul/zPiHF/aL/ERzVouXuEcNzU4Viz+44fwjTe8w8I4HpJma5OIcU1FaTTalN+vV6iItvboxVm1vdWz4dJwbkfh8a7iuSus4veY9zaYjLqPeTMbVrSJm0TEzvtvvWPimYiLWiCv2bP2q1X6x/tKL9i7l2mxYdubl7MPWV03WsKiajKthnbW4Kze9zUutzQ4YU29Ny7dqa63c02lsxKciLtPRaRDdqbEFqYr3P25/w38M9lHsP5Z1PAOYc3MGv4dxvTavnHva+k9/rtNGDQ6rT1i9p91oc2OdJi395M/z2S9r72nq0HLvM2bjPPmWONY8da6vQZsGj6Mfu7+4vtNcGW/ibdrTa8bb9qxERHfVJ9p/svcnRh9oDua3ZUmZZ9rb00mubobdzKG+qMmJRt3KLX7R3Wo4fSzJbbfp90Tb3dpLTCY8u2YNUsmp019qr0emSInbezznvDzN7GOC6q+DHq9dyzqbcK4zg67Y5yZNBbDreE63NSJi2SMmk6ceSs/5ObLXNX3fu5tjc/xnk3TYuYdTwzPbJgwavLOs0mPq97WIzb0tWLR2pXqpbaNt4jaYmJmUILO3H3N29pu41EsTcu5LZo28FOkUncpqkzFRKhetKqMiVOq8GsVdYerEdq4ZEyR/etVHqlNeuZMuSxXX6zGLIaicw+23gXNUcGz8V5X0tr8BvTVcDm0bYdFqcW01zX0c748uauSJnDkvW04skTlrta0ym6P2ZV0+a+ow6q2K9/8AIvNb7T7iZj3le20zFqfDt2iY7fOGtH7SCrQ2Ntto7ajhpkPXncdTZYZQhKSzQbfgQWgQ2hCEoZRcymmklCcIQEoSlI7R4BzrzhxDmzW5sue3TS2oy5OjLtkm0RM9N63jaKZr/Svbb6MzTtMvUeXOCaXhEY6Yp3vFPd9O21YrWm83ifE2teI39ZiZ3ahFpSUqJAJ7TzgZ8H115nqcdurf4do39Y+39/e7BZa0Grx3n0jvtt3j0BrVZLxNenvvHaftjbf9BRX+sfy/gNQZiYnaWan0Y+/9ZddVrMRFt/WO35rhqDelq7zO20z27/PeQprQvK4bAui274tOa9Tbms+sQK9QJkZ11l5qfAkfGLa3W1JUIs1lbkOW22Qp2Ot1tXclwpOMbGb+tq2r2vWoxregoh7cddW3MK6rAWxNRAp9ldSNkpdqFuRXAotxRMq9aRXtt2Kat+E2Z18RZrim10lDbYN7IqU/eaXGmVp6o56vdvJNlX61V2VSHnesTYuK09TazJaaDEr+819zXoDzjTKHSj/tkqkUt/N2Qwd/pc3SlUjfvaDcKW6XIfU1tuuz71U2+lbVP3W2/wAW7Pm1jDaEor9fqVrUatqThLkhe5jriSv72446HqN6Yb7dgVKEC9l9lbS2SpaiHHBhfb3qI4ccGFjwAtYPBOg9Pm20ynbr7QzKJUEMyP0pQ3GC32oWouFghJPcDkjJxkchSh4Og8+P2VlxyehL7arfbpPqcNin7edcNjprdoPvkRno27eykW5rwpFPhhQZYWxV9uqnuQ1PKEqdW/RbYhMlRy26Hs4Hr+PH7B/POg50BoDQGgNAaA0BoDQGgNAaDya/2oveR963OiXpKhtlTW7m7N4by3K6HFp7KPsrTKHatLplRhgJS9CrM/d2pVmH96SUKlWIzIjFS4762w179PlmxI1DgJU00sJQ2FAklTgDPYFhRUVqSVISpKgcFIBGUnQTvplvwi0x2txwA0kYPaTxn1OT6+5H54BDLqt6IpCgWGW+OAR2d30GTyR/PQJapW1HCVH4beMHzynk8DnjHj6/TQM7dNqx1tLJZSfPholPrglQH7+OMHgeQiJuHbqGRIeDX6iFnCQrBTkBOADyBggHBGfcDIDXFvDLVCflJSpLaVJWlCFEJPetRQnBV8xIUoYSPJ+XHOg07bn7hyKpUa/NiOvvv1mQ/YtuIbQXEt0mkTHolVXEDaVF9NfuxJUX0fETIi0iM0y4SQ1oF9t1VIe39osIi9iJlWSmW9KSUh9URkupprSwslaCUvyauorAcEqsyU5KWmwgLeubpSiCEyFIAHC0rWVHgjCir5TkDn1JHr50DE3HfsqUXEmQ6QvuBBIyApIByQM+ST9B2+mBoGulTjOUoLWrBJGFKIKvwOckD6fnnjQZ2h0tx9YJzgOjCsEAj2BwAfx4Pocc6CSNn24n4baigDjIJ7ucKV6nPr7HjGMj0CQVDpJa+EnsB+UYISSACPoPzxkk5PvoHap0BDLacowo+U8hQ4OMjOeMY8ce+gUjTY+IlIRkBAwO3PODn3yQPT086C8S0Uq7ktkHGOEkcfhjH54zoODwcHgjyD5/ZoOqv1T/AM9dBR5HsD5HdwPoSSRge5yOPUaCN3U3fUm0rE/u/b5cfvPcSaxaVvxYzLjsppNTW7Clu947PuNQmPdkOlpaM9uYw1WYzgS6nsAQQnOxbcclv0hl6rUva1pO3VhpFLQU3PuLUi67XaxEiPIS668iXMqNTkUoLeqlKfk01+nEiNI1S1bTWdqzMdu8RO3mPUUWmItFWtErtn0XaxtiuV91LMB1u690q6nshQg98R9uQYCx8Fl1MR5EqDRPgVmntOTEByZgiYi3VExvvtvG3pPz+sTA2YtN6w7OYl1lKTe17uNXZdr7i1JkxkSlvSbat2RFJ+FHRT6bJNUkRgkOxqhV3YEsJTT4bEfPFLW8Vmfu+fhTePnH4we5qvKCE5UruyAcn0wRnnH05AOffGcycFbVt3iY7+sfYwz5n7Z/VmWa72lISspUrA5POT7hSh7+w1P6bbb9NtvntO34qXyUjHNZtWJ28TPzn+sMk1cC21BK3ThXJ5SAPTznz7c+njWy0GCctMk9HVFbREztM7dvHb8/k1V53227xG/4/wDUfqyrVdDeAX8pKSoAKQTykq7hjB7exC1Z8dqVK8AkbzQaPJkvaaYrXiKTG9azaNt4+qY7Tt9kb/WpjmJtaImJmtZtbv8ARrHmZ+UdvM/1ZBmuFGHA72oJUk5IHzJJSU+3cFDBGcg8HB8bjHw/LXJWb4smKlbVm+SaRtSsz9Kd4jb6p/DeULJeZtbLjj3nRPfo7/F5nx6/FE/e24fYl7M3zv8Ada9Rc293luDY66dsdlb0vegX3bluWNd8+DWptyWXZbVPl2/flErVLn0Su0O6Lip9YahIgVZyLkQKzSH0IlH6M5n41wPk72E6KvFeBY+adNzFzJptNm0+fXa3QV9xp8VdZGb3mlvj6LVtjmaZLRfHW1ImaWttWfN9ToeJa7nTDfTZ6Yfd4pmZtNeqtpjaItEzG02mYjaO+2+221kfPtINweqG5utHd6yusK/03zuDs7cM+xLfZp0MW3ZFPsxYZrdsVayrJYmSYNvwb0tWqW9ctWKnanUpUqVFi1mqyJtHDcf1/h3HeUOQ/YpwXmD2TcErwbScz6H+Y4vq9dqY1Ovy66m+PW6DLrckzkyVwZa3xVneI2pWKxFIrWNXpOGavifM2SePZb6jUYLW6MFJma1jttlmle0TET1Rv4iZ9ZmZjVtnu7cexG622e+Ni/E/vbtReds31Ro1PlCnu1Z23Z7cl+2ZExkJ+DTLopiqhbFWDn+Cqk1qoNvgtOOg8v7PucMXP/B+YeQ+PTOfHzHoNVwyuXLMdGHPmxWtpb1nJFq1tps1K5KzMTtMV7TExvK5n4TbTazS8U0m2HNw/LW3VXtGSlZifhn/AF17R3mdt49PT0sfb+bo7Kb69K3Q71H7eV23biql1biVCHb1ao1QhVCpxNu702mrN33VQ6uiE+8I8qJcVu2KKxAlfAfpVbiqgOfdpEqXHkeT/wAPHK3MfAOYvajypx/Qa3Dw7h/B9TbV01GlzYcVtdptXODhebFGSkVtXUYb6rLgy0mY1GnjHkra9IrMSua+M6LV/wDx7iuHU4L6u049PkpTLSckRWJtbrrE9UT32tG0RWYmPm807FdSEpSpQSpAACV94IGP9KcHOOT3eh4z6eRcXw6jDxLW12tXHi1ebT07bV2rfqiseIifimfXzH1PQtHb3mlxZomJpkrFovHeszNYmdrerW/9oJVhUKttRAS73Lh0i96l2hXCRUZdmR0q7CT5TT3QCocYVyCDqmDg+q1PTOPHlva9eqkVra9rRtG8xEekRMbzH4+JbDS3pF4vNqxWO03mY6Y3i0bb+O87R9ctdiwpCFBZ+Yo7hnAJSpAWkjGMhSFJWk45SpKhkEE6fX8Ny6aYjNE47Xi1sdbxNZvFY3maxMd9u++2/wCXbb1vW8b0tW0fOJif0WWuW1X+n9/NcNc7f6dv/a36yOqkjBOOcH39tR7/AEp+79IZqfRj7/1lR1auGsOf6Ef+0fpI4IyCASCQQCDgjIxkE8Aj0J1FEzdpps3cTpp3a27iznWL42Gq1L6g9pn4ym/vkGnQpiYF70+m/E+dbLExMavJShL0kSJzbx7KeqoBQK+4pMlbG49fsRCrdrNaom1XX5sM5bzjb9Jta5rflMU/eS06Aylbjbblt1CZVZNTdUwlxiJsxGdlqaZcbZfDBXlNjR5e7NS28EaLTbYvDbfrK2zdhOKiNUK2d1nLep92W0lChiR/dy7bi2xo09hpofdBZ1SlPKaTFfYWHpX2E3IhXDSrTvShvNinV6mUi4aan/FIEOsw2KrG7yruUgsx5bTCmnPnSGu50fFWskPTr0M7qtzYsSlPvoR8RHxWUIX3f4QQgdiVLyVdxIAIJUSeCRkANWf2+e1l4bQXHsn127RUeLI3E6a90bH3Yt8yvvLMWdPtKu0y5IFIqkmI8w8ii1qdSmqZVmvjth2FNfbJ+fBD1tbHbv2pv/s/tjvjYMz7/Yu7u3tm7lWfMyFKet+9rdp1x0v4uG0dkpuJUWmpkdeXY0pD0eQhiS09FYB2NAaA0BoDQGgNAaA0BoDQGg8L39pGvByZ9p700Wa8sfdrG6VqNdbL7pGESdwN0t5qTKjtNFOEqQxZVKcU82tK5AaZbkIUplp4A2uzd+xmIcUElCTHRx8VOEBLaQBjHcQSRxhJ45BGgmVRdwoimGyJCEjAHzLGSe1J/wBP4jnjPPjjQK1m94bie5MhBz6d4OPr4Hn8NB2fuqO6jJWntwBjgg5wAf5j+IyToG/uO4YymXUd7YwFjyATwSMDGc+QOTk8aCGu5tVYXHl9q+zsYWPcKwe7J8EfrHQabeqe9mqBQ7orHxy25T6TUlxsf4inJ62Vt02O2k4/xJdRejRGiCS26+lYSspCFBp2ZhJqN5QqCl10N0RiLTFuBRX2TENNxZs5sZT/AIq565lWB7srKs/E5LoBcXbXnETHoyXQyyylKGW0jCUJQ02yAPACA00ykJHhSScnu4BqahWpDmUB0qGR4OPGR3Y5+nr6j8gS0mQ64vClE4IJ88jg458ccevvoMhTWEPuDu9QCOM488Y4z4+mgfO0aOV/BT2d4JHBHHkc+f4jgEnPpoJO27R/hJbT2gdoHAHoSTgc8eeff0HkaB6KTAKA2rszgDxwc4Hr78+o49D50CzZj/P+v4ST+r+A/wBX10GSaHYtKs5wSMePII88++gyPoD7jP8AH+mgsXP/ABV/l/PQddB0LanVpaQkuOOFLaGglRU4tZ7UoThJBK1EJAyOT6aDWfvnfMaq7m3/AHrFcfl0naqmt7fWQ2mpMyG6luJWkKhuzGI7Kf8AFhxW0V2sriMv/faNW6hEUJiHjGU7bbzX7Z/sGjcREtF8sPriOM7LU0VCakvSZcWs7u3W3/3VLIYWXZsmlzkrci1JmX8RmFRYLbn3da0vHYYv/HH2fnvPb9fw28+BS7c2dGqt5UO2qzHjTaPtpBd3O3QaDC8V29KmoCnW5JeWA0ZLj9QptvustpRGktxarKbWtLSOy5S3ifsn9EqlXEqdMlSpbyXJkx92RKeSAEuvvOuOOqSlKikALUoISnCEtfCSgdoGJun/AKfLb5/vf1YGRFT7gkIc7SMHuyTkAe2BjPHqcePrqWMi3VvlSSoFQ/zFZByCcHGPTjW60GCM9KV87zMR48zMx+vy8RERs1uo/wDNf/8AP/8AzVcpryW23VuuAdiSvvW6hphKEoWSp591xCGkBYbStZBS2hannCltpZ16hyT7OOJ81cSro+HYsl8cbZNRasTGLFjjvbLlvt8MUjvP1d/G7S8V4tj4Vp5zZI6vlXfz9sbfONvL0dfZffYObk9XFFgb1dU1RvrYjZCsU92XZVs0FuHR949xS4wHaZcoauyhVaNYVmiZ8afDkVq2Z1yXfGRGdhsW1BU1Ol99zfz7yj7JMdODcqaHhXNnN+DJiw67W6nHGo4PoqWnpz6e8Vy4pz6vzEVplrXDv1Xm074rc7pqcc5jw5dRTr0GgvS8zqa71mdomY237fF2nzEW7x43mIxdWn2VG4mwHTjXOs/bS+ZO43TvC3l3B26RRrgoyKZuJau3tvbuXRtLYW5FVnUtSLduqg3nKoFBnPTKdRrVdpUO7KJNi0SXS1S5UTrcfEuT+fuZb8l6nl2nBedc/COG66mfS5qV0GbWajhWj4jn0eHDM1yxevv8t8dNssTix3ta8WrtPNaHUcb4Xps3Fs+acujnV30UVm0/+Ot5x1zz323t7uIiZiJmbR22mJNL9k91cf8A2RevjY3cisTHYu395VFWzO5YTKajRRZe58uDSP0xUpD6BHaplnXdHtG9aq8o/FapFvVBtkoU+Vo7LVcj4+dfY7zpyRfH7zmDgU5ON8Ep7ub5Ivwet+vS4Yia2jJxDDTLpaTE9pyRaa326Z2Wq1f8hxDQ8VtO3vq1jJMzNdsd5iOm3adrd/Xefl853U/2mvphXbt5bHdZ9rU1DNKvaKjZDdR6GypS3LipkauXRtdXqguMhTJEqif3xtx+oSS2lCabatJS6tb0VoeTfw+cbx81cjc4+y3ilpyajh/XzHy5hvvPRjp06fi2mpG21KRF/wCcmna3vcmS+894pN47jtwvj/DeOUjbT6zHGPPMTHebVitZ7+ZmO3b/AExM7RETM+W1isdyWlh4KbUlCm1gZHKQWnBk+UkpWnwQQMYOuD4XxPVcscw7VzXjPpdZF8VcNpi02rkjtePWe0b7+Pnu6rPoNNxbh022/wD69/HfvG/fz9/4b7N3v2Hf2f8A019dl4dV1M36i/pdu0rHsFq0KbQ7lq1r3XSK9eldu6RWNxKeaFPgplOUZq16PRS5VodUpjjlwriSYhTLQkfUftr9uXOvJ3JPs84ly3fBpJ4/l4jbj++gwZ66/FocOipj0Ws1GXHfLWMtdXmz4aYJx5erS5ZnLWkWxZfLOHcncP4pxfX4cueKW0+nplwYd5i0ZYvfbLjiJiN6/RvvExtbbbfpmurPf/bK7umbfXeLp9viU5Lr+z1+XBZ79Veit03+8NOpr5kUG7GYiB8KNCum1n6HX4TfeUNRqnEZQtbLb0hvjuYORNJzzTlrmzlfHTT6Hmvhem4le+fHNsenzXpGHiWK+Ou+OmfBqMeWs73jaY+Gbbbt9wzjd+H6fWcM1V4vbSWnHW3fptelppvSI/09Na/Led+2537P+ziqt8bydLG9O59y7OXlbW398bFXd1EdNFQqFQqV72Vsjf7Nd3rtCdudT5tEZtdyjbrWJZC6VW7WpVXrVdteLdNtsXdT6e/XEw2d5wzQ8l8A5d5j4dh4Hx/HxXWcM4nwHknmyuiwZeG8U5m0uvxcJy6XT6idTOSM2PW5ox1pmwYoyVxZ8mCcuPT5LVppuOZ722m0Rim8WvWZmPhmOuszG/yie8bzEzXfbfv51Ny9sNyrRiW5eF62Jc1pUvceBLui06nW7PqNp0a8KZJkvvVGvWW0uAzTqrb7EwoY+922ZlEhrlRmlPwGXWmG+e9uns3pw+ufivCuOaLW4OF6fDh4nptDq9Nqc+jz5cWO0Ys+DFe2TDa3XHXFoi0UvFpja0TPW8K4tN5pTvEWvWNpn/dO22/beZ2nbxO9Z7RMbSzuvjTVf6f383ZjXO3+nb/2t+sjhXg/gf4aj3+lP3fpDNT6Mff+sqGrVw1hz/Qj/wBo/SQaih/OmC9olg752HVas6U2zXqg7YV5Rz2liVad9R3bdqiZiVAp+6xHpkKpOKUCUiEotju+ZIPc1REbY3PSLXuyQaVC6cOpet7HXzdMZ9lEZnYnftq5GnIzEWUmWG6dH/Ru6FbjuMrQxEfupIMd2c6iSkMdQLanFG1Nm11LVJmUyu9RvRDeaAtIQ7VpC5l17aSayUob7W2773AQmI2rudfVY0h0yQI6URQ23/Zz7gruLp8sSO+3IbkWrMrNmSm5KkokRE02aqfS47yVYUHGaBVaSgoIBbwGgVBvJD0mdH+5X6Gr1FCnsp+O2z8MrACUEpR5OM44OPyHvoNwXWDtFSupbpSvO2XWGZrs6gTmWVoSlK2VuQUrjPlQLhCo8hCXkqBwACngZJCCn9mb3/q0jpm3v6GL6cp8e+Oh/eWs0K1aaj4sepytlt3qnXb3s6ZPTIcLMl2nX+zuzb7K6c3HjU616TacN6KZalS54emXQGgNAaA0BoDQGgNAaA0BoPn/AH9p1fkW79qxsvWHkq+5VTor2zZirSPkEim719RIkt9yglJWluTHWsAqUhLjRxhw6CA222633WNBJlduG0nuLgKf/BKQFJGV8nAA55wSeNBKmlbyZba7ZaFDtTkpUAkED1ClJPH0Hj68aBew94FoSlRlBI48uBWce3Z/Pj89BmBvKtQwmRnI+X5semQecAe/n8OdBg6tu04qM8VyG/mGP1092P8ApOcg48c6CM+4e5QXGkpTIUolCzkuJVwrGPCh7HPnjwRjQajuqa4v0rTYsFay43U7wthDyQtJR8Gm1iPX3QQBkBUelLQkfMFOhKFFLZU4kIMbeKRJuGv1R8kyG23ZbayMj4rMWXAeLhJ47hVkutYz3FDSldqkoADB3NJVInySe75VcEkHPdnOCPPjzgZ/HOgQjwUMkn/Njyc+ugoBJVzkc+5OfbQKy3I3xHGgoFRTnOPBzzyTjJxjHHHOglJZtOAUhWPA9iCMKR9D+/nPHjnQSMoMZHykhfgeRzx7nPOMfsx4zoHOp6AgAICiCM/hxj34HHgZ0CtYHa582DkFI9eSQfX8DoLxfalKiQOOOAPOcfT10Fu04EKUV5UCTgecA+BgkAfloKzmFMqWB5ScZHPGP+edBZp8D8B/DQIncy8f7gbeXld3Z8V2j0SUuAgyRF7KlMQqmxZEZ3Ce2pQlS/0tACl9qnaUoFBGQoNW0CP+g02qKsIiTYdvVTfu8G8rc/SN3XMiE7Z9PJUkJjzmGHLajzqe+GVKXFqJa7lJakm23mv2z+/32+YxtNaRDRbrNYddeZt+iTd+b8cYaTCTIrVWARa1EAktICUIIoqJ1OdaWhYflIjodBcDWwxf+OPsj9Z/Lz28+O20TsPfZ0SdbG3lJcqinf70br1Nzc66VOud8tqmvuLj2TSldwUsQXKYmoXA024v4wE9CXCktNNHLi/8lN/91fPf1Ut4n7J/RmEzj/lwMYHjHGMADA9AMfhxredNY8VrH3QwMlGqK0jBUc4znzxkYGVEfuz9NT61rtHw18R6R8hkE1EqR2KXgKykqKkowDkElRcQE4HPcVJCQMlQxkdHyvop4jxjTaPFEzed7WrHi1bT09o7xM9vO3bb08tZr/8ALmMniOmZn69u35fPb1l61/7Ov9mRsjvba9w9dPUZSod4QbB3Hn2ntFYNyL+JY8WsWnRaFcFb3Suph51yDcD1LqlZm0a3KXUml0GhyKHPrLtOk1JimLonuXti5u417N9Fwv2c8oYp4VxDi/BdJrOKcVxYb/4hqcWtnJhrw7T3x1i+OMvT1WyUtGWbdNaWpG/Vw/DNDpOMcR1mu4jqojQ8OybWwWvM9duiMkbRvtMbbxMT23jeYk7/ANrr/aFkRk3N00fZ93G0mS2lVEvzqapTsR6BE70/AqltbISkpfhzJLITJptS3JQw7SGFIUbCVNntMXXT/RP4fP4XuHaH/CvaF7bdJaOHX1mHNw3k7PkjHqeJ5J/zcWu4rF95tpI6YyTpbRWbR8Gom9cuTTUhcf5q4jxfT5+F8t4a4dJWPc+9rHRvFYmImsU26Z33jeZtMxM9O1em1pq/YxboWn9pV9kzuH0h7wyXqtWdr6DcvTjeTsx6KavLsevUKTP2jvSMIZLipVJpElFJptWlk1F67tuqhWH5EyY2qWvzf+Jzl/H7KPb5w3n3lXJ7nhPH8mm5k4ZXFExpqZYzxh4nwumW15i3RSmKb+76Pd4dbGKtK1itrSeXME8Y5d1XAdfaI1eOlsc+ItE1jrpbttMTExvEb7zMbzM9nhm3Z27u7Z/cjc7ZXcWNGj3vtneN17dXlHiCQxT3K3atYl29VHacp5tmYmmyH4UiXSnVtIL8B2JI7EF44+oM3M/CeXeP8u866G9NTwXmzhek11rY5/yrafU4KRTHaI+GbRSdskTE2m0zNvimWl4bhy6/hXEeGamu+o0+W+Ks3+K8Rj3iJ6pmZjbaI7Tv6emzfJun9pt1Efad9Btg9BG3/T/uJf3UJYn9z7v3auaxU0+8Yd+bS7LMGC5cLdEcTEu6nXdPuidtvUazDpFNrDD0h6qOwagTMRSXOb5W9kHI/s4514t7WtbzzwDhPKfMGi4tp+DcO1Hv65tHxPi9ve4OHe86/c3x9FtTSk70mlOjF05IjqrrOJcZ1uTBwfg+TS5c86G+OLWiszN6Vi0dVrd5+GIjvNp3728RMxoXU7MpsiZS6jDlUyfTZkunTqXOjSYU2nzoDzkObTpcKa1HmxJlPlNORpcWZHjyY7zbjUhhp9C20/OPtK5e1fCeZdbq/dY40esz31OjzYYj3WXBe0WpbFfzNLRG8bTP3R49H4VxTFqsEYMEe7r7uIis9piPG1vw+fy3+TZj9jx1bOdI3X/szeFVq0el7fboVBGxe6TktREVi1NyajT4dHrS3CA1D/uxf0Sz7gl1KUoNxqNBq7DeXJZQr2KvA6e1f2Dcwcv0xTl5g5aw5uY+AV2rOoyZeGYqzqtLjtbaf/taTJlwxWZ6J33naYi0ctrNTk4DzDotbNf8rUTXBln0itrzE2nxHaZiZ7T9GPRtb/tPHSsizd4NoOsKhxJiaHvBRmdl9yH2GYwhx74sqBMre39XeJyHarclmvXJTJCVAxjF21pSQy6rtcY1n8IvO9NdynzFyPxKcNNTwCmp45waNRetsldJrrRh1uDHin0xanfPMxNqxfVxvWs7ddec9JTTcRrxDT1i2LieKuPeKxFYyVjr37bxvPXPbaJ7TM+d2qnbrryf3XrW8Ei59ntqLVZ2M6V6bfvUxuDQmbgn3j1ONWjtjTuiPa+LcFIq8+bbVszLbtTqReqUWlWhBo7VfvKJEuGdJWzSqfAjeqa32c8Ow8E4Rw3gfH+OcZ45zDzPOD2ccKz+402h5SyxxS3NnHOJdVKzOo/mcfC9TEZtT7+2Kk1w6auKlssZebjT6mdNfbH02mazeYiI6orFaVtvv52v8cxWsRHxWtaZ2iMv2y/VhtLvBa9B2l286j3erb4XVb1K9Slu7kQqHdFvW1tBs7u7B29pe1/TXasW9aZRam0LGhWXLqd1W9QaVAsi1jUrfo9tmY6KmzTPP+K8E1HAeG8Z13MHLUch6vByZwTlu/AJ4hpuI6nj3F+FW1tuJczazLGTU0zTq5zYqUzWzZNTm3zXz2mZpNew4FTPN8Fpi0/5tbbzG9YpNqxERForNdu8xtE17xtO0bz55vVR91KUPwJ4/D9/46+IeKZ6ajV6iuOsViPERERHn6u0bdtv3t6iBkrS2AolWD8oKu1PBUshIKu1tOXHCEntQlSsEJ1zWeIiI/8AWfvFFYUFqCklJB4zj5kkAoWME/K4gpcQFYX2LT3pQvKRr6TMxO879/7M1Pox9/6y66vXDWHP9CP/AGj9JBqKOqu8AKZWpt5tRcaWlRT2vJbcDK+5OSC04sKSQDjJUB3JAIbDd4HHr6qFz1QKYZj9UXSBb+5xZQp1TA3P2UkQrrrsltQQ4v783Bsa+6VCHeXgi4Jb04dyQkg3d43NOuGDvTelILjBl2904dXrOJDiHv78QJ9G2/v+fTVMpU2uVUL13Jr8qsyklvtkU0s9oUwBoNg/RTcMKmbm9Uti0RbItej7t/32tdLSldv9370XVvuCmQtSyWEUSnW01HUHHErB7i6UlBUHoA2Iuh2nS6dID3YppxKypJSRkKSfnUoZTyOCEk5OPBJAenLpevKLfliuUWY4yBKp64bgdX3oBeYS384QVE8q7SQnIBORjQef63a8r7Nj7ePaC9nk02mbQ9bUaf007jzqkme1Ep9bvaqwZW19TgONOogRauvdii2JQnJtTZXDjW5c9fU4/GW6JcUPacgYSBkHgHIOeCOD+BwcH10HfQGgNAaA0BoDQGgNAaA0HhY/teNnTrf3y6Et3Y8B52m3Lt9vVt9VKo2w4pmDNsi5LCuGiw5coJLDLlRjbg192Aw6pDkhNLqDjIcEd9TYeZq0Nw1R2G0l1Xc2kJI70BQIHbjjBBBzn145HoQfalboktoy6okADBcTwMA49fQk5IP1wdAu4m6jgCAJKgFcHtV2ZPpkknP4DGgUDe672EpL+UBOAFPpPAT8uQc8+PJOD5zoMTUN0X3WnApwn9UJ7SjHB88DkjPP0848kGjuq/1vNSEqWpxSk4Ce4ZPbj0HPBPPqAec4GggpvNWHpwpa0uEpFfiuBo4UoqXTK20gcgqz8NakJGSCeeVJGAj9Y6lRqhXGQrsDrFTbUDjLjSHLe+FgqGQOwN4UkgqHzEnuUSFvV4y3X3j2qCQeFFJwfOcHjuxxnk4B99AipMdxK1AhSkgk4CTkHOMnAz+/18DGgscLDyEAHswe4Y4yTxzjOfpnQOTabbaZDWAO1QyrJJHcDg8knHHoMaCWFns9qUKUQpOAM4GP10HzgYxg55/2B/KKhIb5SASnjPBIz6e/rzoHFpicBHaOM88Z57U+pz76DNgkEEcEeNBdNkupX3/N4+nqPbGgovpShIKRg59yf4k6CukoU0lBIOcgpzzzj2OdBbdhDgQAB83ypUlagQk57SElK1AgYPaoKwcgg4OgiN1VTY9fG1O0qWJbsa8rpk3Xeg+L8FpqyLPCHJao6mVIktTYTCLhkOK5LoEdtsBStW7z1THptv8Ap++3b7xC1pRvQwGpHwoY3x3KqNzVFyIlUdDO2+3TVQSERy4G0RnA4zcCVFxpDT78dpacxw61qb7nHNaz09+/feflH17eoyMKmy9zpdHguvyWJW/u54qcxGfhMU/biyJ77bk5ptIStBS4isyJiCQ09+ioUkgJZU+ZGKkbxTbau09omfTv+9/mHPuW4E3BctZrMVluJBcfVEpMRlXczGolNbap1EjNj5glSKVDhh1AyoPl4LKllalSqYqRasxHeJj1+v8AD/r7VLeJ+yf0YhuY582UK9P8p+v/AEjW80+Ot+rqjfbwwMmxOyjJ4OMckjgAnPJHoDn2wT41t9Dw/U63NauHDbJStZnasTPeJ29I38xPbv8AJFnVREzFKRfafWdu8T3jtO0x+u/n0XjM1xRykLUlSULZKSodwWkKbU0tGFK7wpKm1oUcggpOCCPUfZZwvDj504VOrrNck29zkpeJrGOPezNKzHaJ6onfee/eNp27NLxrWXrgtN8U1j3d5jaZnp7Tt4nadvMbzPbf5Rt7Pemj7P2kbx/2eNzdLYKsbl2v1F13bXe677kY233M3Atu3d52LR3ivd2t7ZbkbcUCut2LfL9Use2TZtBlVm3JNwMS2qNFZnmK2/Df9s4n7aNTy1/E9w/hPNvDeCcS5Yw8X4HodJi4xy/wnWZeGTn4Pp9Ho+K6DX59FfWaTpy5qanNWM/8vkw2y9dd7zeeB/wiufg+p4tpM2T3uK3Xq4x5L9OSkW26L44v02mI2vExt8W1YiI7PHWiph1tDiHVLbkISttwOlSXUdiOxSVBRCkqaW0QU5SpHws5CW8dX/EVzpzDpOc7YNTq9RXT5NTjy45xXnHhxVxxtXHhpjmtMeGaZImceOK0mI+jMQ6Dl3h2HJw6MmKtaWptbJEbxaMkxPTvHad42tExM+fSJbmvsPftFrS+z36t59ybv1esUnYPd2yZth7mzKVTK7X3Lfn019dx7e3abat2n1esVlVJrker246in0916DS7/qtTc7WojrU2vN3K0e3f2OcN4FwTLh4hz5y3xGeI8M0+bPXD/NaXPjph1Ok7zWnfH/nY/o29/gxx7ykWs0cXvwXjc67HW0VyTNdVNZievHWJntFt617xEdo3mPETvtLNfa67/wCznUT9ot1Lbw7C1SnV7bS55u3r9KuaktvtU6410fanb+267cTceShqTERKuSDNhzTLYjSXKqzJXOaRPeeBu4j7Oea+VvYZyNwnjnD9Rj5j4VfX01+l97j1Go0NddxTVarSxqIpOToxabSZsOOnTacfRjrFZmI3mvCeJ8PzcZ118OSsU1VdseOsTG2SaxWZ+LfvN4m3eI3iYme07thH9mW3dsWwftEqlZ16ONRqzvZsFee3W30pxYS1Iuql1+3dxHqEVlaQ25WbUsmqOtNp7lPvURqM2j4joI4L2xcN1/G/4duF6zQVtfLyZx7Sa3jWGOqb3wZNNk4dOWKxW0dWHVaim/0IjHe9pttXpnaaLNgwcyVpqsdL4tRjvpsF7UrtTNWN6zv23jLFe2+8bzERsav7fzpTf6W/tCLzuyjU6VF266moTu+FtTXG3EQE3jWJggbr0CI4tAYS7Bu5tF2PxUqWuJEv+kQ22IsaMyqXF5TyX9rXsO4RfSVyZOZuTdTTgOqrixzeI4ZjpFtFnz9U2y2y3x5Zx2vN56sumy7R5hEveOA8YvGpp0YtZe2XBk26a7Wn0j0iZ32jp7Rtv52Qu6FugvqK+0L3UG2eyVCdiUOlLhu7kbr1oTI2322lGmJakNyK/NY+C1Ua7NikTbcs+E49XK+plMtqPEosKo1ym+mcp8a4H/D3wTLzHz5kpq9VrtDn0vCOV6ZenW8Wy5q1pe0463i+PDFb1rkyWiuKkTHvJjqhD47j13M+p0uh4TatLY8lbxqbRttaLbx6R6x2ntPadp3jad3/APaIL06ntsdsuj7pV383c2y3qj0+s3XuXFvqy7IrW2113Kmwbeoe3lDm7i2VOue86DFrbqLxvaVFuC2blp9LrUpU9tu0aM9S0ur4X2DZeSdVofah7RuDcvcT4HqM2G3D8Wj4hqMOs4doM+o1ObW6nT8H1X8tpdRfFGO2ni+LU47zSn8tbHkyV6bMPGqcSx6nhvA9Tnrqb6D/ADL5K12m0XrGP4o7xE/DO1q/Pp237PGffW7t82ddW8FpWrctRolu7mUKz7S3AgRAwlm6ret6ZY9+06jznXWnpDcCNfdn25cSo0ORHbfqlApxlfHRBabTzlPbHfh2TS5ssZs2o4Nl1k8Jz2yXnJob6vS6nQZsmmtM9WLJfR6rUaeL1mL1x5sla2iLzv3WDhODLpaUvj+O1aRPeYiY3i09URtExvET9U9++20xqdfW6j4AKu0cNtD9cqKSgduMrUtaVFsnKlOpUpCu4LUk+Uc8+0fjXNmTJkzZ82WvTt7zNacmWuOniIy3ickRG8zt1xExvvExMt3o+Fe5rvSIjbvMRHaIid9tt/0naPXfwtoEGbVJUaDTIcqpTZjqY8OFAjvTJct9TQeSxGjR0OPSHlMEPhppC1lk/GCfh/Nrx339ZyWyf67fSn8PTp+z9Wxb6eg/p2pGyOyvTJ1X2108zetHrS6ydw94dvOhLYybQGbl2T2tquyFcolnXdvrvHS3CY1+3TQboumkVXb6wayu3rJt2FS1bg3hdBiswnqLqs2S17X3ttXefl2jf0nbt433/wC2WKxtHbvt37z8u/q0/dTuyVW6dd8r+2cr157YX/WrKqUWBWbo2ZuKJdm2btbk0yHPrlCti4KdTaVS5ybOrMmoWbWG6XCaptPuGgVamQytiIhasMRER2+31/quiIjtBhdX1iJi2/pHb81RqBe9rbxM7xE9u0em8ekA1YDQT/23kx7o276L5VTlCLBt3qVvrYm5pgLXfDszeI0ByQH38AlmRS7puNlpTi0pjttSlx1Ntl/IN3QVuVO2NrLS+EmLMGx3Vb053SgRgky6/YFRu7fG2IS0BKS5MTWblshguJCXFLhlpYcQPhqCRnRZcDX/AG/UBmCUJgbj9KthVENlSUg1jb5m3bEmpdWnC3FFVmVxxxxSlKDr6nFZdKl6D0H7Q19CHYrTijwpsKV3Ak5A70hJ+U/NjuBSSPIxjQb9uh3cdMCrM0t19SWXQ0pDYWvvUrsKlltxRJIPaMgHsxkADQMl/aBumVe7nTQ/uZaLT0S7bI+73ZQqtAadXMg1KkOofYmxSy2stzIJaZlx5Dfa9HdjJfaU26gu6DeP9mz1ZNdbvRH039SgcpYr24O21Jb3HgUVt9um0Ld61nJFobtW/EYmLcnx4dH3CoNxRacJilPP0v7jIDr6HEypATq0BoDQGgNAaA0BoDQGgNB5uv7UrsLWN3Psxp24FvpQqpdNm9m2u79QbSh1cqTatYVVtn6+2whoEuM0le5tNu2opdIaRTbamSsF2OynQfORt+4C0OwulRACVFWTkpTySDye5QySfU586ByYl1kFI7gAEDhJUkeuDwcZxxn1HHpoFTCul9SQTJcPb49c/tIPvnjg6DLJu6QSB94cx+foP/NoOr11S14SH/lHJUoZUOeec8Y9PbQJeo191SnD8dbvcCD3Z+XPqkjk559uQCfXIMje7in2IUhSitEeuUZ1WfBSuf8AcVZHp2modo/foG1pbBi3TXIpQEqTw0kH9ZM6nU1wpP0R+i3lJ8c+fA0GffpbjiFkDu98kcZ8Yx7jP44HjQI2r0hxgKPbgEZJxnGRkDjnH0PORoEGsKQ4QocpUOPwwR+7QLq0X0l9CF/LycEfXk+fYnQS4tF5KooCTk8nn27k6B/aMe9pJPBS2kfjkf76BxaaogIHHp/+ajQZVKiTg48Z0Fw24UZAAPcQOfTnQV3Gw4lIJIyM8Y9z/TQW6R2vdvoCP5/00BKKg5lIyod/aCkqyrtHaO0eeccePfjOg1pdQd0qkbnb/wBbhyXZsqwLVtjZW3DGdK2nK9dD6abXKpS1DCy+/Ao1zNuPKIW4JTDfb3JSRb/q/wDz/WPuDW3Ix+gEbgIp7Dbbdl2TZuw1CbZUVPyLkudsSrsqMEqwTIkvU+tiSpgNrSmvxXEJCA+Tso+jX9x4j9z9wX1sRYtCrW61fgPmTE2qsm09j7QnFBQ09V6z8aHc9VhBICEyhAhVuY+8kAqMxSlZ41lw/wDkj7J/RS07RM/vySzL5CEhK/8ADBUBjntSFHCR79iflGRk4yedTa/Sr/7R+qzr37THnt5+f3LkS0jOHFfmPx+mt1pf9X7+TBmtOLbtE7/cn79mT0v0nrY64OnbpnuN6sRrS3LvCqJvWZQJbECrxrHtK1a9el0OwJz7Mn7nPfpdvvQYMluPILE+XGdWw/HS+2r6P5K0eDlf2d8z89cT0+LPk0HDoycJwWrOTTZ9fm1WPS4cWsmt8eSMMTlre8YsmO9o3rW0T0y4jit9RfiODRafNfDTPFpnJSdrRMTvatYtvWZiI7dUenpMnk+1r6Anfs1eruubGQa/cd37a1y16DuJtTe9xxoTVbq1p3C5UaW7T6y9SIFOo8uv2rdNDrFJqr1LgwY8uC5RammFAE9bbfoXJ9eEc9cl6D2i8O0WDh2v4Vrs+l47p9HvOLHqdPkjUY56sm9/c5dFl0+TFPVeeq9qWtNqTCBS2t0upy8P1+SdRHRatb5p+Ka22mbbRG0TEzMR327RPjbf0Sf2UTrFVOp++3Qrd9XdkIhKk79bUU6ZkxmqZNVTra3WtynpdWFCO1Wp9p3MzAQlCFzq3dlSW2VKWper/i25X0/F+B8je2LhGCmOmbTU5c47lwVma4tVpL2twzVZbxv7ufdVyaeclq7zPuK9W8ViKcu5sWDNrOB5Z20+qze8x5Jmeq8e7mk45id4mInaYiO8RX1eeb7X7pPh9Fn2gu/mzlCgRKPYdQriN2drINMaCYMPbTdD41aoVFi4WoRo9o1mLc1jx4ePliWtHmNFUSXHUqXzBxSPaX7IeUeetTlrPEOH1ngHGrZYpGTU8S0GGaX1sTWZ+HUU6M3T26K3x71iJ2inDa6jhuu1mhw3nJjjLO03mu8xbaa/R9KxMRvtPVPVtPadtarE1LislfCFJURkYUlBCuUlKu/IBy0lC1vZLTaFLWkHRexnj08M5y4V/nWrWt8eDLiplvSmXHfJv1WtWYmtqzttFdomPMd2z41optw/UTfFFr2xTPbeJjeYm0xt6xEfV67TvD3XW/0ObLdc39nU2WGztqUC4N8NnNkZV62bX49Cpkq/DvZtrVa9Ut49ulTmmXp0hi+7gVfVpx6S+8aW65XqNWkt/DZgPt4eN+0Dmfk/+J7jem5r12tycE5j4xXRa/Dl1OW+iycF4np9Pp+D6zHhz3jFE6XTZMF8makbxOPPTH1d630+LgvD9Ry5j1nD6VxajRWm2TJWf829q2m9q2vX4tt/FYj0jxs8WuyO712bEbr7Zb0bezFQrv2uvW2r+tiQQFj9MWrUY1TjxXUqUkuwaiIzsCqw+xwz6RNqNPDaxKKdfTfCOGabBxDnH2f8xYaU4RzNoNZoq2r3rP8APae1cGbDEz02v7y9MsWiYmto3raNt41mstl1XDsOqxRtnrlpmjJW3x193aJ3idp22jaJmd4nztPr9Cf7QDYjp1+2M2E+zprtGuur0Km727sUq5dvbxocaBIuuhbdXBszfm4+7tsz4jspximy3qJt/Dt+cJEWqRKPflNtiJUYFSjsuxpPxt7Ieaua/wCHnm32s4NTw3R6mvBeX8+l1vD+JRkppNRxWvFtJwvgmp08U6bZ7+94pk1lK3tWP5K2qz1iJxzFdpx2MXNGl4DbHmpi1ebLjxUwUtTppXHEW1EzNom1ZilJneN5m21N9p7qfqv61+hz7Crptt7YjZmy6DI3KTRJDm1+wlsS1uXJXp8x1bMncjde4nlvTYdHnVbL9x3fXJcy5LmmE0q24NYmpaiwNb7PvZj7Rf4lebdVzZzLrdRouW8ee+bjHMWvrWui0WDFanXw7hOHLPur5sdck+4xYonHjrMZNRecl4rn2ms1/D+A450nDtPj1GurjrStrWtFpmYvXe0442i03rfaImN4jb6MT0+Brqo6sd7Os/ea5N9d+LqN03vX0NxYUeM0IVu2hbUKRMepVm2jSErWmlW7RkzpCmG1KenzpciVUKrOnzJBdR777T+L8lcj8rYPZ1yH0aPheinUXzaqsV/neI6nLStMmr1eTe18ubJakTE3taIrFa12pERXX8E4Xl1OfJxDXzf+ayzXq6vi3rEzMUjq27V3nbaJ7bz5lqN3Dnrm33dcnAUhNdqcVJyckQZAhpBHPKS06jAOMJz55Pxj/NzNcvVb3sVvMdV/Nt5nvMR239YmO317Q9EpirbHXa01msR4239I8+nbb077/KIIR59PxAFqbBUEYb7u51YKlBfwmACt8hKeENgknjBJwNFrNVkmLRTJNI2tE1rttMTHj59/X1j6t90jH1UiK9UzEzt8p7/OYemjZLp+vTpGrO33Sv0S7Yw90/tPN8en6zd6N+urrcKFFp+z/QR0+7y7eUW7nv8AsnrlxwJFoUV+n2FeFLG73VXd6ZcWlSpy9vNqE1m6bjapsXnpy2nzPaJ8d+8xPr338x2iPPrvvtGTojzvP3dv+v32SB6ddnepHZ3pq6vPseqD1d9N+3W4d52RtF1u9IfUlQ9y2bP2c3r6W95o1CoXU9RLT39rdAauG19ta5Zdt29eUqlW3EpNUrMnbu+4s2FWLVXUvvmOZ3mLTG3ee0+k77R+e+09/O8du66I2iI+UbPPp1t0Hos20qtgbN9I913ZvRVNuYVdib59U1XLtv2XvxuBWnLccjxNm9tpMdEq2dotu1RKxSrauGrOKue/5dWqFbltIteiWvJcuVQc1ZfLOOIiIierffff028fiDUKe8zPzBoDQSQs2e7K6VOoaE28qPOsLcXY3cmiPNrUJEZ+bKuS0ajIaIJKZDKI1HwtParu71HkJwDyUykiJunHcISiHTOv1mhhkE9opm+lIVFaeQgjBTUaRbKXUg/IuO384PaAAx3RhUDB3e6VZpWpLUrbreKxXMnJVPp9f3QugxyeCpHZX6U4nJHalSAkfKCA9Cu39UEGoMNfEPel4HkHOMjjgjxn6eo9c6DbZ05Xw9SqrRZbT6my1JjFSgrtUUKI7klWeAASOfI8ckZDfpddv0bfbp/uC3JMduoJqtvvNBD4S+22Xo/wVhKUhSwoIcJPB/WHGQNBps/s726lQ2A6h+uH7MW85MSCzb9zL6ptiIMpuW1VJ1vXBLp1i7wUmM+86qGqm29UIm11dhU+OzHkGded0T0CUw1KMAPWXoDQGgNAaA0BoDQGgNAaBjOpzYm1eqDp23v6dL4Q4q1N7trb42xrTzBQmVAi3jb0+ioq0FxxDiWKlR5EtmqUyT8NwxqhEjSAklrID4zd22tdW2N53ntrfFGkW7eu39012xrxt+UhLUi37qtCrSrfuKiSUBDQDlLrFNm08lDfassdySpKgsgRKg6gApWgJ9R3YPdgE8HjHjH56DOxqu6lPaVJyP8ASrj93P8Aw6DJIrCvl7yCnAzg5Pjjzj1x66CumqoV498cgf10HdyaeMYPnx+Wgwdwx/v9BqwSlTjjcGTObSgZKZFOQZ8cqAwQPjx2z8uVFIPaCcDQIGshLN70SaFJMWt0unTWHBntdU1Ffp6cEjGVs1NS0jJ+RWVFJ+Ug7kWklxhYTjuyEkHuJGBnJwk8Kz8vJPByBjkEvcNBU2haggklOD+tzkZz44zjg+ffkaBhanEcivuFScJKhgDJI+UZJyB68+TgEZ0F1b0n4M5CsgAkJwfOT4/L8CDoJY2XLC28LUMKWCnxkYIxnH4nxkH6HOgkLRClTQQFDuJCvXx7ePP7vroHQpagUDz8ie4/UADx9ePXGgzgUCcDOg7aCsy4ltRKgSMemP5kaCko9y1KHg4xnz6/10Fczo8CNIqkkoESjwahWZRdGWVxqBBfq81p0DKvhLjQXkOnt/8ADUrGeNBqVtp1+vsbTiUlLTt2bl7l791iQ64W3ZVvWYw192iS1JC+xL7loVmM0s/Ih6oOSUuEultFv+uf/X+vp/x2+8Ya1pCHZG19WqaXJKZda3I6ibplFIBYjW0qVT7fYUCpKHmXX7bjmOXFthxdWR3qQl4KGyj6Nf36VGfaceouye3MSY80K3uHcl37tV1odyVfBmOJtq1HikoQpDT8Gn12VFSpTyCzLJSW1Zbby4fpx9krb/Rn7v1glm5DhCckFOecHPGeccYzj66m073pHztX9YYo7TE/KYXbb6OeFenoPr9dbzDX3e+/ff5f9/1Y81ZybdO0bfP/AIiUrujfqOr/AEndS2xvUTaiFyK3tJuJRbsEFD/whVKKyXYl20FSS6hh5u47Ql163XmnGx/h1ZbqVqcaQhf2Z7CNBw7nPk7mz2ecWyxkpxrg2tnTTeYicGsrWL6a+KfimLUvWLVmI3ratbV7xExwfMdc+n1vD9ThmtP5e03yxbeOqPSI27fKJnfeY3jaYnaPdR/aOun+1esr7N/a7rZ2afXew2LjUbdah1qjIdmC4+n/AHnpdtRLqq4U22FfdqYI23+4VSkOcsUa1Ko9IaQlhv4Hlv8ADdxbJynz1zJ7MeZsdtJpeZsWq4PnxzWtujjXB76m+hrvO0zS2+ek23nfqp0xaLzLJx6Z1eiwca00xatbRXJEbxaKxEVmemO0TMxG28/Rt36dt48LfS91N7r9I2+di9QOyFbZt/cvbioy5tDk1CGKlR5LdVpU6h1uh3DSVPR01ahVuh1OXAqUFqXFddakNvR50WXGYeb+kODavgvF54r7G+c4tqeXuMZPdYsdN/eafU4bx/L6rDe006MmPJWuWs1mJiKzPps1GtwRGkxa/S711GGIy0mZ6d42+OsztbeZ3mPExtM/LaNqXXRsp15ddexkz7a3dS29rP8AskvSLatjT6Jt9UrjgVuxqRY1yI2Ti1VNl3HCmhFm1y+o8uron029K7Jpr1wyTUIUSmRkyY8riml9kHAtJg/hs5c1HF9bx3h+s1HEsPEdVi03uNTqtVhz6zUaH3unvH+ZpsXRGOuXFjvbDSPiy3i1rQOE6jV2m3FdR8GPPmpiveYtERaYma22ntETETv0zMR6fDtDR8HEfF7ipSAB29xBSUqSrPKThScEYKVAKByFJzka+XcPDtRyjzvXFFcmP+Wy3jqyVmOqMeT3fTWPPXM96xtEbRM9tu/fzkrqcGO83pkw3iY6az8VomsxtXfaJjf0nbxPrs9nX9lI6zP0ZWN9uhy6qmwKfX0Hf3Z2H8MZRV4UenWvu3RGX3Xm20NO0WNYddpVNQ20hswrvqDXcpx9I9H/AIquVbcc5U5D9rGk0d63pw7Dy1x/L0zGbJbSzNuF6u/TFqdMzlvh3m9ctpvipatqxHRyPA9VHDuIazgOa8Ri1drZKTtHRHVvMxPVMb9o37RPidu8xE6BfteunGgdJv2i/U7s9akht60Gb8RuHa0NhxDn6Doe7lGpu48W2320nMU21IuGZb1NZdPxXKHSqW+r5lqSnrbc7a/i3sm9nnPGWuWvGsVf8O1ervW3/wBi3CtRfR31F8nTXr97ODrjp6prNunqtt1TTRae88Q4joKzWdPpomIrt26bRFo2jvH0Z2jfvvv1REzG8c9gOr7qO6Y7jt66dit5b527qdrSLomW9Gp1Sj1a3KXLvWjsUO7Jkeybph3BZbdTr9LhQIdSrH6AcqMhmBACne6E0s9Nf2rezfm7hH8tz7ylwrjmbUU01s2tx4aYNbqLaPJ7zS+/1UWx6ia0tbJaa9Xa8xMRvMzGOOWs+PURqtFqa4to6sNLb7Y7z9O0bVtt11+G3zjbeO0bNpf+5l87r3rcu5G5N41+/r+vKqO1m7bzuypPVS4riqzqG2TNqU+St155bcRiLCitd/3eDBixadAajU6HEiMc9zx7ddNTl3S8ocoaDTcB5e0mmimn0PDsGLS4ccR1UrW0YbRGSaUrSItMR2iI2jpbTh/AMdNbGt1tpzaiY+KYmbUiYnft1RE7TMzPfvvMz3mZ3TLUxa1BAUD3kNq5B+RwFtZOPHyLV+3wdfGvE9fn4jqs+bW58ua9pmfeXttaazM/DNZmYiIj13n5beHZRp+q0WxxWlYjaIneP0+qPP1x9iCNwutOXBXlrdZ7ZFWrbqip4BtDb9SkuZkLbVltsNuBUkggsMq73S0lbalcnqskaet+iY6N4jb13m3p5322j8O/hOx1mKxXtvtt67b9p/p+L2sdLXSxYGyfU9up9k5QOm/bep9MzOx0C1ftKPtGt6olsRqndlzdRG2dMquwdw7Dbg3U+xaW11oU7eCvWS/017aUGZWLw3BumBULtmSVVi3ptap+gy5veTNt527xWu8x4nvvt3taZ3337RHaI8zOWKTEx47TE/X9n6/b6/VDau9Ou4fVb0i7d29u71KW50fbtfZhL3C+zT+0tuHce/UQmqh0Y2XuNE3c6da9DtCgT6XUd4aBat4Uut7V7fbZU5dURuZeVPsmvU2ZTaTFFTXi+vzE7TH27T+Hb57d5mN++zI0rfaF9Te0XUHfO0NkdOtCven9NnSjsjROm/Yur7uVKPXN1r2tOiXpfF81K/r3XFh0+DQZN1XFfM+XRrEpLTVv2RQKfQqJT4UdURaGKjX2f+H3+uPTPnA4HgE+dVmJis29I/EGoeW8X6domNt/O3rt8pn5A1iBoDQSK2XaFS2v6s6E/wAol7J024w2ylawl6zdwbclPPJ+XOUNznSgqAQULy6to4BBWXleEhNYr1wwVOJkO330G7oQ1JSksonQ9ma8iW4SF9wLlQrnd2hJR2pUSsKCUrBwts2E2rvLsLRowCV2x1ddTloMKP8A4YjIgbcQmwonCsobluBeUggdpCSSdBvNoD6WJjSzkFr5/TBwRwDkc4z5wPc6DYDsxcgS/BSVgEKaJ/VIyGyQCe7OM48e/HBGg9F3RZuA3VKIqjynEE9gSOUjCA02nPnOMkkEDz3DnAyGjX7RybK+zp+0z6SvtB6WG6bYtuX1Csfe6ctqbPiyNkdwIosrciS9TYrX3iaaBaNwVC8IIaalhi4rZobn3OYoNxZAe1mnusSIceVFfYkxJTDMmLIjOJdjvxn20usPMup+Rxp1paVtuIJStCgpJIIOgvdAaA0BoDQGgNAaA0BoOqskHGPzzj93P4/TOg+Y5/adujx3pr+0kr+71Do1Qj7ddXtqwd4KbPISaSzuZSDHtPd2hQ1qWqQ4+3U4tt3/AFRb2SJu6TLTTiI0ZlhIeeCLL7ThQ+XORnjB49sn2+n00GYRKaGcEL/aMfw0F8zLQpSEgZJHjJ9Ek+CoDjGgvA5k4TlKsZCc8/Q+SDyPf08aDKsOLJSCrJOArgfX1x/DQKunx2sEnCkOdoeb5JW0cJcQBxz2FYSM/MvtCsoKhoGru2mqj2ba9QPamVaVw1KzZQSFEmMHJLFLkrJypK1ts0uYPCfhvJB57kAHztNxNSgRJKUBSJUePJbSDylDzXclBOQolAGD3ZIOeck6DN1uhKfjLPwsHt4I5we1WAORjjPnj3850EVrypDjDj/yHIKhzgFRCBgYBwDnj8vORnQN7T0hEoAjtWk55JyCP3cfXjOfXOgkbZE49jefQ++P8yfP4c/x9DoJOW/MT2JUBzgEHk55xxyRnz5GM6B3qS+pxA7DgqT2kcc8e5/YedApQSPGgrDkD8BoOdBcFCQx34+bCjnJ8gD0zj92gaTfK42ba2R3UqbnxGpz1ov0WiPJP+F+kriqlNojxeQDlSW6RIrjhQkZcQ24VBXaO0NcNfL1uQ7uXJ7I/wD2c9P1m2I3FaUFOQrw3CXAkVgqLfaVoW7PrzBwtP8AhKKy2ewrNv8Arn57f2/P7fqHN4NLpNO3TRCQGUWltXtXsewxjtL1ar7dMl3A+wMdgcL9t1REpKMFSZaHAMrKjso+hX7/ANKhSbztRKXebFpR1d8bb2zrIsGKSCF9tEoLMyW86AAEreqdWqPxEkdyHkuIwhsNp1kxTEXiZnaNp+/t4/r9y230Z/fqbFp7tQAlWE8+mfU55IOpuO9euk7xtF6zP3TH3sXTbbfb9/Z5VkylJzz3Z+gGMfkPfW8rkpf6Not9m6jKQJYJ7FK+HnOSR3A5ITyCCFdpIWAfVAx9fY/ZfzNm5U5n4dxLBqPhx3xRem8xGSkzXrraNu/rE+fX0331XHeGYtfppibRGSI2rG20xMR29JjvEes/XtD1OdHH21U4fZaX19ldL2Y3Y3c37vrbXc7YLpvrFhUykV2lVilbsRalSKBZ9fosmqx7i/SdmRrkryaYmhUesRZlt0y3KE2WJhUlX13rfYVw3nH2ocC/iE0nM3AeB8mcL1HDuZ+dNBrrXxTpb8Brim2bHOOlsdq6vLocPvMdow+7tObUTfLe8Y3ns8RycG0Gt4Vli2S+XL00m0TadssRMRO++8/HMxaN7TbtMRWOqfNHd1r3bYN01a0r4tmv2hdlAqj9MuC2Lno9Rt24qFPQ4SqnVqhVZiJUqXOQlaHHI0yM06G3G3kgx3GFq0HOGgjRe0HQc08I/l+Icv6/PGfh+s01oyUvivkjDGWmWs+K47Tljf4prETEeiZpslc3DcuOZ/zaVjFSnfqta1JtEbdo87R38TvEvoSfYDbi7c9eX2Qt89E24ManvyNsYu42wl+UuOoKqczb3dFFcr1m3v8Ady0ssVVJr9fpcKd3qlf3nsZ6oqcakOtyteC/xF8P4j7PvbBy/wC03g9sscP5htwzmThmonJbHS2s0U6fTcS0FctY6ox2p0RqKWiYvTUzExbHa1UzgVMGv4LrOF5sMV1GLJNopNYm9bxFumYr3i3m23fvt47PCTvD0/bl7Q9RW4XTNVberlY3Q2+3Oq+1KqBTaVNqNZuev0ituUOmu27Ro0dM+pNXalpisW1FgxlOzqRUIkiIlxgF1P0lzJ7NNP7RMnAfafodbh0fLXFtDoON8Q1dr102k0m2Kff4758kRSs9VcnXSJteLRNduzR6HmHDp/fcOy6fJGXR3vipSsTN7WrO09M7RWZr2iZ7R4mO09/ad9j9/Z+Kt0/UmD1WdX1931thvkLcmzNvrI2wvqTZNT2Tiz6cth+4b5vGj1B6m1693IC5Aq1pPpl7YU2mTXY1zsXWp5cOgeEe1L+JKmbhGP2UchaDh/GeUsXFcX85rOJaO3FZ43lrakdGkwTirmx6Ot4rSuata6i962tp4xxGHNl3Wj5fyazN/inFbzpa7WthpForliI3mneN/i87zM9O0xEzPeryE9fG7r+83WR1I7iPbl1reaPVd2rpo1B3WuJFsord9WbY8r+4li3DNTY1EtayVio2VbdvuR5Fv2xSokxhLdSS0p6oSn5XoXtRpw7gPs45B5c0Whx8GzaXhGl1nE+F6SdVbT6TiOq038zrsf8A9zVZ9RM11d8kdF97VntMzO++LluuXPOu1V4mfeXtWtvh6pp1zMTM17TO0zEzPeO1fFdkRW5RKh6//k8eD9R/t66+Q8muyTa2S0Ze9pnqmeiZ8/6a9q9vSO3ydpjpitWvRaJjaPET+PmI795ZBmUntPckZ7vcjjA9Mkn1/HxrWanimSLbRNujp+KbWmdt/t7+O39Yhnrp4i0TMTtMR6fX577+Pt+753tZ/SdBoK7kXTKjHprjFb/RdVk0uoIo9TnUBlDtShwak4y3T6i7THH4bVZiQ5a5NPRUYK5X3YSoxe0eq1nVFYx26r3m28V87bb9/wAvH3eifNKxWIpO8x57/r9f2N+++H2bXTL1ZVLqI6D+izp4m7Z9afQVtJtXvZYO4NEqFz3NS+ujaW9do9s733Bpm6FSqUxukWhvZPvPdD9KbRyyEUSrUdQ2+pZh0qCpcDnsmfNe1ovEzTq+Kf8AbPpXvO/ad95ned9/riFazExO3z38dvSPt/BBzrY6g90OpL7H7oDl17dGrW7P6RN17+6KN89gKnerdt1CoVy17RoFz9O281S27Uade1XrUPaCnVHauvXFX49YcptStNum0iPbKrkrAl448z27dp3+vvvH3bb9tvPz3mcjVF1gdVe4XWpvvXOovdOk27TNyLut7big3NItdie0m46rtrtta227d6VITJ9Sfcui8IloN3DXXY7rLaqpUH2o0WMz8BgVEYDlPcjASO45SlKUpBB8BKQEpA8AJASBwkAcasnJSJmJtG8dpHGrrZcfu5jqjfae3f5/YDUAGgNAaCQWwLryYnURGaUpKJHS3umlxIOPmarlkrdKvUgMIcSQcgBRUnCwlQCtXG46IlwArJLG2fRPVAfCQtqxbKiyUAAcdoqElCsDz34JPaSD9NOx2uo+ykNLSGmPtDupJlGMkfAmTNsG0pBwTh9EdbYycp7yQUkA6DdZAdKJCCQVZbQDzghRA7/bnu/foJPbX1t2LLY7nCkDCiCU47iQEHwf8uT58A6Ddr0jbjGjVynYexHdLLT3PylKkglJJBPCjnIwfmGDgcA//wBrj03wuqHo6vCOxGEmdHtaVKgpCu1wTYkNySz2OIClfOmOlCgB86SEngnQPR9gt1bTOqX7OLaCJdFbVWd2+m+XVuljeFLkWYzPi3DtAzBhWZVqs/O7TUpt07STdvbjqlYYD0efcVaqzCXETYNSjxQ3TjkD8BoOdAaA0BoDQGgNAaA0BoPPP/aW+ilfVf8AZx3ruJa9ANa3W6RpT2+9pfd50Smy3bDp0YRd8qWt+aFNTYTO3CJV9N0GP8Cp12v7f29TaW4/OfYhSQ+YET2EpGcgI7goYIUpCVeAeAoELSFALShaUrSFpUNBfxlkuhGBhQOfOeMeOfr7aC/SopIUngjOPzGP56DKwVqWoqUckHA/IZ/noM5HWe8cDyPf6/XQLekrJ+YgfIcjjxgfrcnyPI9M+RjOgq1Khxqui+bdQ42TdlsM3LSEAfOzXbaYbhVZKCQpKZCuy15jpCfmbqD/AGlPe38EMLshVvvtGjMvuD4kdaGVtAHvaBSpZ5JUPhodW9DQMZ+JDdySCNBKBURMqMQygKT24+YDJ+UjyMHJ9z+OgjTuFQigOr+GkZU4SceySD2gAYIx6/jg6CL9RYMecpQJSpPcAARgjPqMZyPGc/jnQOTZ9TLRQ2kjHxQnKsng8+4B5GPY+x0EqbXmBxtAUtQwn0I9VE59SMZ5xn6e+geehzQCgdyuOBk/QeSfXxoHIZ/xEkq4OfT/AHzoLkcAD20BoKyVlQDRx2nIyM92D9ckentoI19XLbT2z1KtZBSufe27Fk0SmtrJDmIkWuolgKQUYZUa6wXgpKwoOMqHapHcQh/cUaNcdfuqbw5Sd0urW3rJWwAA3+g7QIjxUNAglLK4N1OMq+MXu4wUEBCkEqt/1/8A5/qMdRWXr6uO2Yc0qdb3J6sqtMmlWEtu0ezG6K0z3oA7Ay1GqdYJSpKsoSg57kqK9lH0K/f+lQmtwbgRdN/X1dLKipq4rwueqtKV5VFl1uW9E7hkgFMVTDeE4SEtISkJSCDdX6Ufv0CYjuqUewgYAPgHPOT74/drPXzH2x+qlvE/ZP6LvW30kxG287efP1+GBVS4AcqJSByCngk+3PGP6DW+0WoyzOPLhtFbY77R328Wj17TtP8Azv8ALDqfir6d9vu+Hv8Advt9n3tsX2J2923+xn2nXSHuDujTRU7Nj7kvWe88p1tDVBq+6ltV3a2g3bIS+PgmJa9au2m1WoJPc4qntSZbCmJlOgpk/YPAMfMPOHsO5/5f4PrtTp+J4+E/4n/L473meI6PS5oyanS44pekzGbDgyYJ7zG+Tea2iZrbhOM48VNZpcupw1nBbPSt5mN9/FYmY8ztM19Y7RMdo2mN/v8Aaz+i9m2r22T657QoseNC3CjI2O3YmQ4/e/IvOhwJlw7YVeelr4fxHJ9pQrnoD01XcpDdr0CCUp++x1I5D+Gnj+n5n5P5q5G1eqtXivAcV+P8ve+jfJFMeS2PiOlrfebTFNRmjUTWYrvOebV6trdGDmHQ/wCGa3T6zR5bTpNXfHbo3mIrk6aV3ivj6MRvt4pTfxVqg/s/3XvROh3roocnc27Ito7Gb3WzK2p3XrFWk/d7ft2QHl1vb28ay+68hqJEtq6G5NMlVWQpTVLt69LqekqRGcW9F9h9oHKub2wexTNwDTab/FedeR9XTiPDdNp6RbV6rSTPudTocW0+8mNTgm2StIma2z6fBe1ZnHWYw4suo4RxnDr8czbRb9WqpWd4t11nee0xETHmdvimI27RMzPtH2itHodk9VfW59qrdLezsGi2RVbB27s3qRm3HR6vZblGtnZHbioXvubbNdVUJ9tCr3BUb3ibTrr1suisTFbePWyxIXJmzYFR+VuOcW9rWb2f+z32D6G3G8mk199dxmeVMOHU4OI21Gq4vxDRafQ6uZpTP7nTfyOo1vRliuGK5/5nJPRWmSknQ5uB5tdxPmDLWnRfJPuKfDtGSOmd6zO897Tado37zMViLWmJ8rH2xv2/F/8AWzJuXYDpslVra/pHPfTKrPeak0LcHfRDb0tif/ehBfTOtvbSWyIaIthrYiTqrHjPLvlUhmem0aB9S+zv2M8lfw+cExc3+0DWaXjPtKz6adRoeDZujPpOAxlx79OSlt65tXHXat81q16Im2PFEVnLfNG1up4jzDrsemwZLabQRHw2pvXxPbvvt4rH1RvE9rRHR5sHZoeUVuOKUokkkqUckkklWVEKV3KUe9WVjuKQrsCUj5n9oXOms5t41qOIZckUx5LWnTYrTMWpG/0orvtWJjfaNtoiY2dhwrh1dDgnBWI2mPO349/z89tvlDqJAWAhCwk8clOeE4KgcrQEhSQUlwkhsEudjgT8NflGq1Ntrde9bd+qLd5j59v69/Tz22n4qe7ydO3i20RHaJiN9tvTvv8AcmDsZ0dbmb42fv8A3TTRUbUlbI9KVU6yqDbFxWnX01TevZS09x7fsa/bn29nKbg01y3bXps25rj/AL2Q1XHSKy9asqgUNupyk12VbXM6zVTExE7zv27bee8xG/z2jt528b92wmPH2f1n9/q2nXz0n7vVr7FZ2195KZQ6L1BdIVy3X1obJ7AVi6VtdQtI6Dd8HbVtTfi47+2kkMP1Dbjb2Puobe3hok2vtsXDMo1OudEmg0CGmM/UNPXUTGoi0fXE+e22+0R6xt33/wC19N+/y8fv/v1+sw32pf2hHUVau3H2clC2LvYbK2hu90N9FXVVuFcu0sd+z7+3f6j9rKbUtm017d+8oM1dZu5vZ27en2MzttbdQeRb9ClUpmqzaZVa41EqUbHTLNr54mJ3me0+m3VvMd++8zG9p8zPn6sny+r992kXe/ebdHrX6nLs3q3Bj2Yrdrf+/o0uvi16RaW19rSLmuJ+BRW3GypVKt6goqk2QiZcNxXBUR+kqpKqV1XjW5lSnVaryMnjwNwnS79m5tNZG325N1dWG920W1Vrbtbe7w9EFYrO5Fs0i9b06ZvtG7E6rdvbfe2zt/b2h16qXZXqxA2vtWJuBW906HHotEsXa3dCvN1Wpulqnm7KTO379Pv/AH4323GiTdLbG9dkdzdwtmNyaKq29w9p72ujbm+bfXOgVQ0e6rMrc+3q5T26pTHnaZVozFQpzwh1mlOyaTWYvZUqU+/T32H1wr/St/7T+shDatBoDQGgNBIHp9fZYb6g33/1D0tbxIAHj40io2dGYHrx8Z9GR59jnQY2vImCBVkuhIVKsHpBoaiArHdVLRtysQiPmOHERaOkBRyntW4OzJQUBIS34v3jqF2zfWVlFQ64+o2sq5GCihDb151QBT/ncYc+ITkqHjtPOg3XsqIdaQolLoV8wHAxzj3PnxyQfbjQPDZs51l9B7gB3ITk5yABkYPcPJxn6eMaDZRsNeL0WXEBeLam3mFJ7O4cdiRzlZ545AAGg9FG1lTibpbRTLaloblmXSVR+10HsUpMf4agskqJSpDqkqCSnjOD40Gif7Ky+n+hr7Y3qA6M7oqy6Ltl1sWnJvbaumzGJUpqdvttMzULldptFkshcOkt1zaSVuDMqy5imW571hWjT23k1KTTKZUw9igGBj20HOgNAaA0BoDQGgNAaA0GPq9JplepNTodap8OrUes06bSatSqgw1KgVOmVGM7Dn0+dGeStmTDmxXnY0lh1C2nmXFtuJUlRBD4+32ofRlU+gfro3+6bXYTsW0bcu1y5do5im55i1TZm+Wk3Nto83MmBwzJFGoc4WPcM5t15hd6WlcjZeWlv7y4EA2x84V/p9Px/wDpoMs26FdicH9UDP4D/bQXrKwheSCc8caBSxnQfhcHnPt6HH89Ar6Y6kOJzwO4jJ+oz/PQLKbIRT00O68lCLRrUafPdx/hG3KohFFr7MgIy67GbRKh1Z1tIPaKMFIyVrBBs2ojW3289x218NLNOrLi63THj/4So1TQZDKW3PCkxJTVSaQE9x+I4MZCxkJjWz2vw0pyElAHckn1AAKARkZBPBHBA/EaBD7gUJDzLgS0rCiV8+P1B9Py9s+uedBCG8aUuO+/2I7R+sQRg85I/YPP18aBP27LEWU2k5z24zxjHcjPrn0zoJR2bVAUNgK85HJH+tXpkj6ePxx40EgqLPK0IQFAev08D0x+ePAPHjQONTpOSkLUkg5AxnyfGf3/AMzoFYnwMHPA5Gg50BoI1dQBbdvbpnpL7vDW5tRvZtKjltUWmIoYkFeOU/dV2nIJJHalqQ93KClJACG23ql1FvZNt4KDEy8N9N3QlRwgOW9RXlU5931CY1TssAlI7R8MYVnIFv8Ar/8Az/UKLZz4ZunpkkFKUi3LP3p3Qn94Ia+8N1i90w5DvkpSkUGKlknA+GuOSclWNlH0K/f+lRG2KstRo7S8rW2wy2tX+pSG0pUrnn5iCeeeedW3+jP3fqL5p9K8pAIKQSfH48flrY6fx939lLeJ+yf0XLTgCwrBwk8jj1BGpLAvRKQSB2q5/D+uthpPpf8A5j9BmqVOcjSkKSt5spKAhyO78CQ2ch1tbDwILLzb/Y626D3NqT3pyUgH6w/hy59wcv8AMuh4Zq520Orrk0OurO21tNrLWpaZ39K9czP5eJczx/h86vFkv/pxxF7R8rViJifl3iI7+u+3bvv9IJW+m2/2o/8AZyt2b23WrNJN5bddNF5o3GqDrqJtUt/ffpmoz1wUS45LCkvTI0+9Ztp0K5FsJEd9+g3s7SW1rYnuIRymp5X1/sc/ii4douDfzeTgnGOYdPbQ5MO86XU8B5lyVx6nHlvG0WposGqyYppbqmcmjpN+q/RadTbXaXXcDtj1Nqxl0kxirFpjfriJmsRvM7TO0THy327TE7fOPL/3V1CgtJIPzpClpygg5TkYVjPacHyPI16Rzrzhr/Zzz1rJ4BGK2mtktEXpaPjwY8kWrF9p873ttv52n5dp2j4bi1WhxRl747V3mZnt1zEREd/Pbftt6FPHvGtIoyrfbrFTatp+WKi9b7MyU1RHam0hbLNScpTchMF+ottLWw3OeaW+00ohBJWQOqr/ABU6/PpsfRotJTienwziwaz3eL3mHfbea32661mYmZrE957zvMRKDblDSznrlraPhtFojftvtMRvHrMRvG89/LCuTVLWVd+M5wDxx6fiecYGvm/nj2k8W5n4jl1fEs05ZyWned947+nmJiIn+0ekuh0fDMGkrG/baJjeNo+c+e329u/2OPvDv+r/AJ+3Xlur1O8b7z58/b5/Xx48efETtN9L7rbevr6/n4+ps1+z52x2kdsPrD6vt3dqZPUVD6JLC2gvK2em+VNeptlblXNvDuFO25pl4buOUx5Nw1PZnZeYmJdm4tsUBBXdMWvUCl16RCtiVcLVU5nPqZ97Mbx8VpiZ37RER4jt2tMR237drT5jaZ9vNp+X2b/9fntt9sZDYn7TzfW0ftGdn+vzea86ld1xWTe9ux7no9PbapFtQtkqhT5tjXjtBYFkUlcag29a1F2/uW5IliWjTKW9RmblDNxyk1KtzJdafh5YrbH0x2jxvvPmImd5nzvv33X08T9v9i+6rN3N0/s+/tMutC6qXedJ6jH6s91BWHULn3UuJzc+i757GdSu2TjNss7iVe37gpkm5nYdj3hZFUlU+BOt2FAvKyqfRDDTalOh2+xrad723jbtE+PG0z6eny9Z7dp2XtL2wuxu4/U5upaOzm39Rt1+6q5Sqq8zVL+veh2NZtoWfYdr1e8bpua7r0uyZAtyzrMsq0aLctxVmZVJ8Wn06m02cIaX6hKpdNnZb/Rn7v1gbiejfZbZva7aD7RDpY68emX4O6m0t0bW1beCpw6M1dXUbszszU6rI2ounenYSq2zLqNNqD/TZuff2zW6txUGg1auWF1AbJ7gXjFrn3yh0e2Lrt+PbvG8eJie/p49Y/Hv532+yTj7T7qD2up1r3TsSdyNuOqi5d77A6XN+Lm3Y2O3Ah1iwbJ6s9j49/8ATnXty4c5mgF6U31Y9I0Gx9z94Ntao7Guyyd6LtojtcmwHrNqNnTcI0a3/ft57pXpcm4u4l0V+978vOsSa/eF5XXWarcFy3NW5YJk1WsViszajUp8x91Tji3Js2U6kuLw+Qrt0CR0BoDQGgNA/G0hRE2/6m60hQAgbHrpvfgjC7n3AsmAyjJAH+ImEoAZ57CEg4OgV9ZZiy7kdpKmx93e3R6GrZAUFFeKJtDX6TOY4ykpDiWXXMchtaAod/ygF50yTV3DvP07uvp75L98dTN9yEoxyKtRWIjckAHIQmZRpLPzDBDI/W50G7SG6ApDZBzknPGPfQOdQHnErQQeB2JA/wDLg/y/56hMDamufdpcfuUEJUtCOfOSlJz+xOPP5Y8Bv66JNyVB9miuyR8JRBSnuQELQtopWhRJBz248DwfI0Gsr7d3b68dir02I6+9noDidwumzc2z906c5COUz6fb1fhVOrUeoqBSpdHr9ObqFGuCJ3pTModVnQicPkAPWzs1urZe+21O229u29Xar23u7VjWtuNY1ZaZfj/pS0ryokO4LfnOxpSG5ESRJpVRivSoT6EvwZKnYb3c6wtagc3QGgNAaA0BoDQGgNAaA8+dB4+/7Wt0KK3L6edseumxqFJlXd07VKPtpuwqmNw21ydkb/rRTb9bqC1BM2QiwtzqnGp9NYjfeGaZA3UuyvSohj09+SwHz7OQM8jP4gnkjxwfII0F5FXgn4hPhXbnJ9D24xnHp/PQZdhTamsnBWkfMcHIOPfHPPtnQZqI4ChACiVY48+5Jx6D00CqgLUEpP6yu5JIJHsMk5I9fH1x6aBzKSY8uO7EmRkyochl1qTGJR2SI77X3aRGcCjhQejOyUIyClK3CVYGCQbPc2BJkWLaV3F1civ7W1l2wrsmjOJkSK6n9DVhRPz9r6E0quPPZcSpqe4wFFwdugkZt5WmqrDiS2lhKH2UL+Gk9yQe8pcSFJBSsoWOwqSSFYCklSSFEHTuCnCXACilKipt3khJIA7wkjPPAx45A9NBCHcygKadfOCjHcMhIBAGT4B9Eg/vHnwEcMqhzEhSe0pGceQB3D5sjIPGPGTz440D32NVklKCXOCT25J9FqB4IyOfQ49/bISgt6e2pDRwk5A55OeB544/HkemfXQObAfcCkHsGAR/mSePyOfbOM/s40DgRXy82kpUcJSO8cjtJHA588+2R+GgvkqAHJ5z9T7aDsoKOMfnzjQRK6kJrKd2NhmEqDZgbP791R1KArBmJou4b8Z89owVo/QzY7uVJWvuPbjOgi9RWTTKXto0ystu03py3zqJcQexTS65Iv0BAUP/AIj1QU1lJIPxOT2nOgUNmFNKlLX8NKHKP0RXFVIxxnscrtCcqSFjtyUfFkVlQXjCgt4uLCB3qFbZMm9Yi07bz232+X2CL6VBCuzvUQnKcqySQngEnkZOMkj19dTsfxY957ztE9/tkVkudp+VRBPHGef3avre9fo2mPskV0OqGcrPp/P6anae1rT8UzPaPMzPnbdb01+UL9C0qwAckDJ8jxj1OPX66lVvev0bWj7JlintM/bK5ZeUl3lwgkoCeSecYHIBHnt+mPz11HBOI5OE6jS8Tx570zVmItNbbW6a3nas9+0TPfx67+uzFqKRkwXxRWJi8fHG0z1bRtG/z3+rx2+XdybZ3KvqzqfctKtO8bptam3lQZNsXhT7duKq0WBeFuzARKoF0QqbMjxq7RJCSA9Tam1KirKUktHtTr6g0/8AEJiy8Hw6PW6XHxDWafJjy6XVaqlcubTZsUf5eTDe1ZtTJSYi1Zid6zFZiY2cXk5fx2z1j3VaY7W95avTtF7RPa0xPmdurxPrPbeZIwyErPn4p84IPA9/mAHn9ufx18881cf1fHuIZtflm0e+md5m28zWd/h/9Y3/AHDssGkxYdJTFEVmtZjesbbb7bb7RP17+PP2dqiXSe1IPZ3KCQkHtSCpWBk8JSMnKlEhKRkqIAJHKY593MzWZrE/S2mY3/f9F8Y6R4rEFNaFqXbf1zW5ZVkW3X7wvK8a1S7bs61LZpU+u3JdVy1x1DFJt6hUOmsSalVavPeUlmNT4cZ2Ut8rZDYdQ4hMLV6ue/xztHnee0ffPf0/Tf0gnHSe81iZ+fr+LZ11zdCFtfZ5bVbW7W771S7p3X9uebX3fuCzqAyyNj9kun+otX/b8W1ahd7jSmt3N4byuukw6jOm2O47Ym3TdoVa05daqs91U25tVh12XLaIvkm1d5j4p6ptMT6T8o+uN537dojqrFKV+jWI+yIie/n8/r+75ID7MXqQsTp06sbek71x5Erpv3zsrcHpV6o4UOdLp5e6feoOjqs286tJlU9t51cWw6k5be5UplumPvvRbOlM09cGpOxJzEXUT1Zb/KLzaI39YneP0+6e8Lp39fzPPvnVujboj253M6dunW5Ntuu/qD3Vpdfs7cjrHq1tsVHZjafauvokMt2R0oW5Ok1GmVPdy46N+jxfXUm/JqQsOS7Wrd2xjvVl+qVaj4+q0+s7R6bz+M7dvn53nwy08ff/AEhAvp52EZ6jtx07VG7Im3lvos7crcrcG7xQH7nn2ntpsrYNybz7n1ik2PTlxqveF1QrGtC4ZFtWVHk0hFx3FJp9PrFctyizKncFPw3+HvHaZ3377bz6b/ivbgNtOhLZ/bfqW+z33EsLafqK226Zuu/YXrF6d9zLH3YvK1q5vLbl03zsF1CbfUNysVOBa0Kg2FX98tmrp2f392ood0WrUaHAkuv1y3UXna1ITIdxXtbbzPnbz5/6mBr134+1SRuvb9mv7YbCUPYm/duNstweliwL8pF3zb/qNa6BtwNlZ+0lJ6b99YG4VFrjm7t6WhDq9TrlF3terlvv0416bApG38GNSLQ/u3h3n5jUcDhPYMJR3rd7EgJR8VztDrvYkBJdd7EfFcx3ulKStSiAdBxoDQGgNAaA0D1WkuSz069QrsZC1S7sr+yViwEtoUDJQ7XrpuSZCTxn4/xaRSAEL7AoPtrT3BtZQDnpdp7+4DpdUlcRnqi3PryFpWnsTQunixo9UpocB5UyKdUkoZQkFTTTDjaEkjt0C66KaNLRvVtQ44FOqtnpzuWvOuAd/wAKTel+XKpt5xXPY85Sbnjr+IQFKaaQ2shaSkBuaYPa4k5x/wA+mgcahOkgYWe7uHuOcfXjxoH+s6ethxgqWcofQ5nuOQlKAMf+Xu9BknPAxzoNqnTBuAukVijyQ6ptSHG0LCcnu7lJBKj4OElJHJ86Da/1cbW0rqa6ULwtibHRNMu1ZrTYUEBRSWGVtKbB8lD6EdncoEEBSsI7iAiJ/Zq+omoV/pc3c6KL8q0qRuX0Kbq1CzIlOmRJ5eRsnuXUK/d+101mpv8AdHmQKZXIm4tiU2mx1uO0CgWXQGXzHhVGkQ2Q9IwIIBHIPjQc6A0BoDQGgNAaA0BoDQNZvds/YXUBtFuRshulQmLk273asm59vLzor6nGxNty7aNMotVRHkMuNSIU1EWWt2BUYjzE2nTEMzYUiPKZaeQHxu+q/pwvrpA6lt7umDch1qVd+yF/1ix5tSYjyIkev02KtE22bxgsSgl5uk37ac6g3tRGD8SRFpNeiNz1IkLQlQMCHFJxgA4wOQfHg+D7aDLxlEdiRjDpIX7gDGCPbk+oOgzLCy0pCU4xn/N+I9iPTOgUUNfJKlEAkE9pxyeccggDP09PfQODQpqWVowVKCUlfarjuKSVBPgD5jxx5znPOgVSYFPqFWqdtznG1UXc+3ZltSWlJKY0a5KDCkTqHVCDz8epUVTsJCiV5etqOopwoodButjatNpDlUs+rhTdYt2oyoLzS1EhP3V1MeQpsBWQhxaWZjackhqWgEqKFK0E5KZ2zYRUo93yEIGRg5SrzkHPPgjAx440Eed0aAHEynUo+YZGMAglScHgpJ8eMep/zDjQQfuinLhy+4jgntBP63IJ5x6YTycefXQVbXnfd3OVqAQr0Ixyc8fmefT3I0Ep7TqiVx2ilalZ5PcckHtScDAHHg+CR740D30mYHkpKiof+XjBz4Oc+x9/T3Ogc+kSEdgbT/nAyT6FIz6AAePbQZ3Qd+8+w/f/AF0EKd+Yzzm81lSiSpFJ2B3oqZCie0R6mxurQcfimRIWpABHb2pKu4BQIMJN7moEJhvIVT+kV+a0TySqs3miMe4jAJW3JKXO0JOHF5PPAKdlpLNRvhIziP0JW+MEjKUS7GtV1XZwD8qXFqPkBWSrODq2fpV+8RQOEqPYSUgkJKuSU8gE4A5I5OABn0Gtji/8X3V/WRWQc9p+v89VFxrLTNfH9Hp9PMTPj7x3+L28kkDxlIyT/H+GpEZ7zET2jfv4WTSJmZ79/s/sumVhSUK7vJ8q4PCiORx+Wslcl5iJmd4/2z9GO/pEfj5877eZY5iItO35+vaP322Xff8A9f8A7v8AfUrDqJpE+K9/Tf8AHvb9GPJSMsxa28TWNo6Z2/urNuqSoYCecJOc+CRn11Jrq7Wmeq8zERMxE7benjbv+/UrSKeJme23eYn+kT+J+unrp53i6p91aBsvsXZlRvfcG4m5c9mDFXHp9Kotu0dn75ct23bcVQkxKValn23Tkuza5c1VlxYFObSyyXhOmwWXoWfiFq71+Dafq77fj+H4skRvMQmVvBW9u+hq/bMT9n51Cbl7gbxbV2Tf1idSPWPthKbZ2Tq1xbzW8qxF2p011Jy3U1miWbblK/vnaVK3qnz4NW3Tq06Fdm3LFutUO2pTOtvm99H+ZEd53iI2+cT89pmJjft27bd9t2Toj5z+X9jy1VD/AFm/ZDUW6F//AHlvd9lbuq5aVyzH7gkza7dHRZ1SXJKm2rcdQZqJkSapM2s6hGalbUSFTC1CtyybndcmpBU7OawUrGP6O/z7/uPMT8vQ6I+c/l/Zp07y0SlZadChglfcGXT257kqStKkNk/4iXO5QaT2urStKVJVfl+Gk39e09/Hf8/qjudEfOfy/slPafTrWjs/G6j9063A222XmXjR7dtGPWFToW5PUMiHedKo+7UPYK3GYVVlVePtXaU+tV+7dyq6xQtqqPXKVH24buSRuRPhWq/E9/f5V/Cf7roiIjaHpH3eu+idOt5bl7LWRujsw9uH0ZbjRPtAegLp+2gtxumbK7edKuwMG4bmu7aa7eoCqOwK1uHu/wBe3RVuFP3bvqiTZm5ybqpdoUZW5F2puK9aFQaDbbJa3naPrjz+/s2VefHrP609rb9oF7bX9Lknf6ZZ25PUg/1abi719RdypVvzc+54t28bRsm0aRDta6Lgo1rWJtLZe4Nw2w1XZtdr99bnXA69cNeqFvW7SLUsC2bJmZ239PHgatVq71FXalGTwlAIQkf5UISSe1CE4Q2gYS22lKEAJSAKDroDQGgNAaA0BoJXWg1Dp+0eytOkJfSu+uqGbeVUDXYVNWptVblrwptRwptQU02tdwye1wOIbXHkEo8gg2jT8oWxTLjylMiNtPvjuRWAgrUEzN2blqmz8f4nzhxD0iO9TZCVKcWsNhkqKwAkBOzohpLy9xt2Jr8UJk2ZtrsntqsdxCItRYtSMqvoRgpBX+lbcnrVklv4rpUpsqWkANm0dwrcAOBjnjP8ydAu6PICQpGFDChlQHOR7enOMf09Adu26gQ82CSAcgg5yMJBGMng8+3IGgmxs1dLkOUw0V4AW2pCwVfECkhJ89+D6AYSOeNB6L+lm8o142I7QpjiVBcFUE95AKviRcKz3lwEKWMDCOQQM550GjOwrgd+zo+3f2wrk6ZNoWy3XLFqfTtfEZpMj9Bt3vdVQYqWzNckwmFiO7VhuVCpNlwKpKjuKotGvu5lGZGjzXWXw9nKQEgAeB76DnQGgNAaA0BoDQGgNAaA0Hhe/tc/Qn92qGz/ANoZYtGnLTURTdgN90wY8YwGJbH6Tqm0F9VJDTTUmOua2uvbfVyvy35bb6o+2FBYZjrba+OHiHbXkIXjHckKxkHHcM4ykqScZ8pJB9CRzorEbzEfMSq3BocRyoT1ltlDzDICcKW6498RQbZQD3rcS0w+8rKUsIaaUt19sY1WI3mI+c7LpptEzvvtEz4+Uff+/wAGRplyUetKZ+4yVB0uPNOwJTYi1Vp2OQJbaqe4v4oMUtSPjKcU022ltLjq20KWWc/uJ/3d/s/rv/Rg959X5/8ABaR3FpSkYAWpIyQSQklPIGUpKh7EhJPkpB41GmZraYms9p27d99p/fz+S+J3iJ+cblbTpJSGwpYGAnKTnkA88k4GRzgZxnOkd47xt9SpxX4rlYpCmoBWmsRlwqtbqkYyzc9Ckt1WgFxw4DcWTUorNMqCzlJps+Y2pKkOqGqhvdwJcSi35ZW7FGZci27uVSoblTBSWm4dbjtMipMSEHuU3NEYkqYcCXFvwZEc9rie4BMK1agFRo6EK+IUtISeQOBx7qyCnBBHBBB9QAF1etNZlwlLDZ7lJBJ8+gPjjJHPv7nPJIQO3GoXwHlufDI5x+r6diyOTj25P7caBj47y4kjs5CUkpxnxlXcT+HPoAfGgf2yqulPwW1LwT83J9O1I8Aecj1IHP46CSVCqOQkdwGePw5Ht6fw0Dp0iV2rBKgvuzhP6vlJxzzk+vjwOMjQL9r/ABG0K8ZSOPP1+nvoDQQ132kuneCz4ywQ3L2B3epxST/4rENO6NdKkn/S38F0KHIBOcjASQZSZFCv0aojiZ0j1SMEDy4aNdD9RdUD7ITTXVduD2gEk4BGgzsZpcqZdriUkuPdBUFGAMla6ft9QmnCPBPxFx5CwOSnHaSo8m2Y3mJ38Tv+n9hD1B7kIVjGUpOPbIBx+WpNdRFKTWa77bRvv8p+wdgcEH2OdZ8dveRM7bbb/X4jf6hU+J9P3/7auFcOcDj0Hr/trJ7z6vz/AOBUByAffV8ZtoiOnx//AJf8LJpvMzv5+r/l3SrtGMZ5z5/21d73f5V+qZifv3mIU939f5f8pddIHSRuX1pbqT9rtsrg2ysdFtWLcG6G4u6G9l5N7e7ObV7bWzUaTSKreu4F8/cKyij0dFbr1Bt+N90ptRmSa7XaPDbifdZMifDpObaJnff0iI2jvPr47xtv9R7v6/y/5T+6WHaT9l51ndS3Sp9pPZ132btfvX077qdJvUBV9rZS6ledAsvcymUy+LH3i2TqcFSGbxplTrtm2fNpJXEfg3BaFXnLr9qz5VDlWu/EyRbJ3i0befXeZj5fL+5FNpid/wB9/wB/W2J9LHUvC3D2f6xNvtvNh6F03fYc7fdNnUTt3f1b3Fi2jUtydzuoG6LDS/shuDcm7Fbdcd3d61qzuhbG3ztlbe7dSP0FtdQahHjU1bRFl1qsYvc23+n6/XP5TO329/xZHlvol3XTRKLclJgXFXaTSrzoUai3rSqZWZtKpl00SFVaZdMOj3XDYktN3FRqPX6HTrmhU+srlQYVWo1OrTLbFTpsWoR5AnH0idLlSuncjoy3Y3etWNdHSlu31tbZ9MW5a6JdsuJUqRUahdlmKuy0b5coTsO4NvZVx2Ddcq5LLkVGRTRedBtu9JdKlPwbelqk4cubeJx9Pj139fPjbx9//JtJtSPKvLo8saRadZ2d2D3V6T426X2e/XR1cbl3KJl3bLbGWpc94VyyhsHtZIqqq5HuLf6ibobp7SV6TszQJu725l1beVPbumSrJoF9XpeEmKNE/VlvRN3if27pCX2axbOx+3VG6dttbym2qLMuu/totsro3BlbR3FuZbFIvS8LapV80zby7aJYUqm2pcFRpMO0rRtulKrlz9sm4qwEPQMADgYAGBkD8gSo49sqUceSTzoOdAaA0BoDQGgNB1UrtGT+qApSjn9VKB3KV+Q59Px0EpLyniy6Pt7TVk/GsDpIrNySGVJKVNXV1CyJ8SU6vJJZnw4e48Z4NLBc7qYlWWknLQYCt0OMZdatemSj/wB9uTp/2JDKEYbUxb9uN1fcVbjQWUrjIvKlU2qyV94S29KWta1Z7iGxnoeR+kdub73Eci/Df3M3bvSvoJT2qfpERUSJAZSo/wD4MKeKu00O0BK/iEJSSU6Ca7alJWCk4P8AHQLmjSigoy4CVckeMYST/q/f+3QOVSpnKV/E/wCnH5DnOePPsfGdBIzbquCO/CUFglDiQsZAwB4J8kZzk/gc6Ddn0YbmmBWqfCVJQG5IabwpwBJBQrtBBT6EDHI50DOfb9dN87dPpsTuzYrs2g39tvIh33bN10d8xKrbVcoUluq0utUuc0pl6LPpdQgx6hEltutKjSI7TqXEqQFgN9/2ePVPT+tbot6dOpyGlLE/dLbajz7tp6G1toou41BdlWnufQG+5tpDzFB3FoN0UiNLabQ3MjQ2ZKEBtxBUEz9AaA0BoDQGgNAaA0BoDQRY62ulyyetPpT3z6X7+jw1UTd+wazbsGrTI65abRvBhsVewL9jRmpEV2RULDvqnW7d1OjoeSiTNo7EeSh6I7IZcD43u4e3917R7g31tPftNXRL62wvW6tuLzo7iVIXTLuseuTrauSnp70NlxEOrUyWy28hPwXmQ0+ypTLzK1laztMTLK7U7Rxt9NzdnNrJVSco8a+d+9lNvarU4SELn0q3d071i7dVa4ktPAx5CaFLuGjtxm3R/wDvlVbSB8FUlbdY8x9sfqyTasxPfvtO3af7PW11+3t0o9M3VXffTw5TLQ2y2v2tgW7t7Zm0US34FaWu2LRsC2KTFcbtWnUual+TdXwKhXJ1yXV91XXp1ySJtcqEmRLeluzo8QidNvl+cf3ea3qHTstV7zm3RsVblbsK0J8luMbMuGXTn0rqwYWufUrNj02oV1+l22UpiLeodXqSWoT8+HItl1FLnPW9QLZx0mZmY3mZ3nvMefsmIXxaIiIme8RtPafMGPgrUAMISsEZCiUKz7YPdkj0HPpj01GyRFbzFe0bR233/VdExPeDnW9L5SlYSQAk9qgFALT+qQOQCkjIV/lPOdY1XW4LZF0Wxf237TBanpbVupt4yCCtdQjqZbu6lxVE+GKt3VENd7alRrrhB5Kldugymw94is27CUtxa5sH/uE1C1ErStjISh1sZw4kgsOLOfmbcUtQ7VkBK5xpqowySEL7mh2oKQU5xjwrAGPqR9DoIobl253h5fw+5KRklQTgfIvnBJ5GcDHkZAOghjcVOchS1rQlRB8gkAeBjgn2xz75HA0CjtWqJbcQlS+1STjkKyB2p4BGeM5459caCU9tT+5tr5gSPJJBVyfGfPrwcf7A8tMkrKELbCcggdwUAQfbOQcEcfuyedA51LfcWyQ4tQJbAQkryAR5IwSAcevGR+Ggy2gi31BUhCN4dhpCED/722R6goCwlAJefcoG6vw2yAMrUtUlppIIPet5LYJUSnQMRb8dusQ9tksuGS/Wem7eyiRwru73HaQd1VNhKngntdcXEa7itSeG2lK4DZ0GX2/xVaxbDah2rvnpbvmy4Lfbj7y9QIN927/hnw2l5y0x8JL5bQA52pOCnIQnSQhCUqIylKUnB7hkAA4UnIUM+CCQRyDjVtomYmI/fcVP+ft1Kw5K0iYtO3efSZ8129PrBrJ73H/u/K39h3SrB5Jxj6/TSuWl52ie+8xttPp3n02HcupSCSvtSASSSQABySScAAeSTwPJ1lmJiOqY7bb7/UNj3R10P0fdewrw6qeqHcZPTz0ObVVw2zeW5QhRKrudvFuCaS1X4GwXTFZU0uOXvu7XqWtica1JiosOwaM5JuS9Ki/TortKfi5MveOid427+Y7/AJT+/tEjfsbrRt7ebd3rR6VKldVt2rbfUt9nz1L2pRr23TP6KtW07g26qNhb67e7gX2uhJuEU+DZbO1E24qy3R41YjMR2qnMZjViA3TgulMs7/FM7bem/n8xI7q+6ofs4epfpPl9Kju4+8dc3i+z72pFG6P+ufcaiSKzW+rqBCvB9m5On2r2tRKPKrVgbTyo9QpFS6YKjuDWq5Osa0beWu8K1absyr2rduX3tIn6XafMRFu3nv3j19do9ftkam+pnrS3V6mqNtfZVeRa23GyeyVr0u0dpNgtr6dKs/ZuwPulHZhVa7IFqy59VfqO4F/yxLrl67h3Fctw3VclSqbMJdWhRIzUCRX3uPv8Xnz2t/YTM6aeirp9rUvYPaLfa+r8idUnXjtw7c3SiLFrFNt/anYmfc3966Z0z3VvbcFQolUql+XFvpu3ZVPsaNZW3qkQNtLbu2Lcdw3U7f8AGi2dTae9p8/yn+372n6hLPb7rF6Z63YvUh1Vb+Vi3I28W6G1dJ2V63OhGoybg2pvjfzqDoe6210varra6dJtNsytWlam9VsRIm4V0boO1JENzaLeO27vu6j0iv21u+m267GtMTaZjxM7x+/q8DRdv3ue3vj1Ab6b4sWxAtFW9G8+6+7qLTpy2H6bZ6Nzr6uC8lWpR5ojQ3JNLt9uumixpT0OAuU1FU6IEOO41FbtDDXQ+VNwk5xlclQA4Ci2hkqUe0kEpDowTz86gnPzYBH6A0BoDQGgNAaA0Cjs62pN6Xfa1nxVKS9ctwUmhJ+GMrDNVmtR5zpOQkIiwUyJjilkJbZjvLUQkHQSFvGpU/cS+rorj0FtNu7kb2fohhLSWXE0/aHYmhprdxNIaYJCoP6KqNLeWWwplSaEtiO245HLbQN2KhKjxYN3CR2zUWzurvbXY7jnb91rN/VWRt9acdhRSlxp1kNW3V4R+K8WmpS3oi0B9wgNzXTpayrH2M2utt5pUeZFtOFUai2tIQ6ip3It65Kkl5CM9r6JVXdZe7vnUpsqXnuyQfFDiCoAK9/Q+34aBSQHEJIUTjHbyAc84HoM+v7z9dA4VLfIT8oCsnIUrHGUpBxkggggfgfbOgdO06iYr7fxVlsrwBgk5XkYJ7CeeTycYPrk6DZD09X0KTVqU8HQlTEpjtOVjuQlJx3KAGB4VgkenHdxoN+Nao9I346fa/bdTQzNZqFtPMrZCQ8VB5goLZSQVqQvK8pSckFWME8hqZ/s6m5dV2Q3n66fs171nVZL9j3svqe2YhVSTMkRWbGvGXSLM3SolBaeQWKPSKBd6LGuMwGHmmJ1e3LuWpRIjbgqEqWHq7BBAIOQQCD7gjIPp50HOgNAaA0BoDQGgNAaA0HVSe4FOSnPqnGfrgkHGRxkcj0IPOg+dl/axehc7N9WNjda1nUeemxeqakRrW3FmsR2BR6FvjtvQI1OiIlPthgRpO422lPptTpUL4MiXUajt1f9ZkS1o7m4weVuzbxrdgXVRLytucafXrYqkKtUqa3EalyabVqTLjT6XVYjamnCmp0KpswbhpHxApDdXpMCQlpa2ADWvmPtj9R6SeoKl7ZfardX9v8AVlbljokTd5thdqKluVa1Bk1eA/I3ttSuNbc3bBpLceoN1Sqf3F28RtlaNcpNXQDWJ1ftK+6TS41o3jY8+vTt4+cfjA0a7CNbFbj0PcZe61bvm27iVZcWr2FV6DT1uwadcbsStpTHrLb4mpqsiDKNt1SHUJVwUuiVyBNrFNkSKbVIkUpqwzE7z2nzPpPzNpNjuU6olhS0PNun4rUiPHdhsSWyVNvux4rz8t6MymcxLaaaclSlhDfzSHVJUoxM3/kn7I/RkrG0eNu8/b9/1/02KyjSUtuox3jPb5z9fcf8/jiXF3JqL1NjUu7YiXX5ln1AVpcdhouSKhbwYTCuyldqVBalLoCF1VlpruMubQKa24lQGQDfBhvbPe2pU+KWkWpuG0zc9tSoriVxVt1Fx6Q4hl1AS0thEpRbbUkALjS0uKACwSE2ramNSI7TZyStI7lA8JAyME8gEnOeeCCAOM6BHbg0YvRHFNthSl/FCiEZHYlJ7ccevnI849xoIG33RHkvOEJAJPPynjtSkDzjBIA98eNA1MB77rMUleQUkjPKUn9/J/8Ap7jQSLs+rHLYCwQRzyDj5k/Xjx7cHx9AkRQ5xUlKT3FPcDxn2558cc8+NA61LlhS20juKewE85wc454/Djz6+NAtELCh3ZHafCgeD+Bzg/loGQ3pUwu/+lqpycp779rO2MZXb8mbicgyZq3FkdqWzHvOMhHcQlTjb5GfhLGgjPYVNVSkbHufOpTV+bnbLpBSpZjOXNEo0NlbnHzJ+8bhVBbjpASfu61kYaVoMntq83BrvTBVgA5Ht24L8sSqsj5viP1Wux6xHgPqHHcYN6vgMrwsImB3tKcFQQdnUibb8+dQKkkpn0KfOos0YIxNpEx6nykc89yHoy0qB+YEEK58BTLisHxnHHHsOPXQVQQQnBBUQcgEZ/Z50Bq7DO1957R1W7z28xMQODnBx3Zxx2qKFZ9O1YIKDnwoEYPOdT75Ke6mOusz0+ItG+8R47TuPSH9n9U+lvqW+zO3Ntvqtte+9z6j9kbf94dXFgbLbY1hq07j352H6g3bYtrcXbquXMl9yfRrLtbfGgWjf+6N9Uqn1C6resOoxYFroE96IljXCBG3/wBqDfND686H1sXftHtpPpttbXbk7G23087cU2DtLtLbGzt5bH7m7N2ttbb0KjxbklU60bNY3BYqU2bVHLouKtN0uQHK6qe5T1QQ1cgJUoOAufFQrsaecU8XkKQ4sNuAqWySQVKKnMtokJUXHlrStThDfZ9l1Srp272Hn9VnTbK2MofUFtF1QUeh9Qu9XUjUabO286Vel+dYtBuyxrwolAq9JnxUq38uq3t8NodwLktalXlvLcEak2NtDstR7euncRus14E3XOrL7Pe7qYxWb1om8spPRb1O9QtwdCuz9n0hm1IG8PSludu3Wd3dldp939z4kx6rbURditzalXr0lTLet+4rtq9n35WrFtCLT6oKZc9qBqc3i3WuvfXd7dneu/XKQ7fG826F87tXu7QoQptEdu2/7rrN414UenGTNNOo6a3Xag5TIJmzXIsRbMdyfNDKX1g3ra/hElKhk93kg47jkgfTPjQJm4AP+48kkJlqIJyR8RbbeceQFIZTj0PJHnQJ3QGgNAaA0BoDQcpGVAYzkgYHk5OMfnoHv2PWxb0q/d1n1hLW11g1iVTDkYevK948qzbXipxkqeTDqFwVZttHa720tTqFBKFEBiWYtRo1Kk0Om/GTVre28o227cJanGpbe4G8tWlVK52iklKk1Bm2pVctmWFAFJiRo0jsUUpILCn2+xfd+Uq1KY6tmFeG5tnbdQWgkpblbdbL0eDGrMkJGe2JOcTFqKyFOxlVGjOtAl9pWg3mIfKu5ag233qBSlICQEpSlAT2gjhBQUJOOUJSR8pGguUOpC09q0E5weQeCD7H6aBSQ5OAe0fMOMkZTn14PBGAeff8tAsqXJSAcqKj3KPyq4HCfTn8Tg+o450C9pcztdaUe5PaoEZ8AjnyR/H8NBLbaa5/gS4avi4KXUqUQoZBLSvHPAKuBxjng50Hoj6K9xWKpS26NKeKlKjNoU26AtRSodhCkkjKAkkqGAABkqA50Gm3r/qD32dX2ovR/wBf8VU6l7dQr+Z2932mU6Q7Ahv7N7lsvWdfE6uIaP3eq061KfWY+4MSmzD8B+4LOoLyFsSWI0pgPahHUlTafhpCWgAlpKU9oSgDCUhIwB2gdvaB8uO3jGNBX0BoDQGgNAaA0BoDQGgNBri+1e6HqZ9oL0L759PJjUhd9zbf/vvspVqwwtTFubz2K2/WrDlmW04iRTYFdmIlWXck+GkzG7Suq4WWkSPipjrD5BUmn1CkzJtNqkabBqMCVJgTadUozsObTJ0F1yHOp0yG8xDlQ5UKczIjy4clhmVFktvR3kocbIASJ6a+qve7pRvim33snd/936zTapBrqafV6XAua16lPpL63ac5WLcqLC4cgU4upcgyobcepxX2UPGVJQ9UY9QkB5LxvXpbuqC9u1B6IepfbquVJ2ea8z029TNHndM36XdU88TSxuV05b139ty0+qZJcdsav3xUJ9OgOqbptQYYfiJgWfzG3b4e3bxb7I+X3+PuEOo93VS4F/8Af7eXa9MpLz0K2qVLdnSalHpsmTKqc1yoS6kG50+VUKvNl1F6ZIQ0FrfSI8WLGCI6cdrdc9Xbv8vHbt+/7BZUuX3Otj4mMc+POR6eg/f9OfFA7lBnpbQe4hwtFLqUrSFtrLf+IUuNHIcb+GF/EZKkpeR3NqUkLJ0CKv2guTtsJcKlpkP3HsZUYVToKw2p+bO21qpWqm9jiltuzFUqPHnU1509pTOtqoLUwA7HDgPxtPdzFfoFLqEd0OJkMj4qkud4TJYUuNJH6qcBb7K3mRgBUZ1h0cPAJB558NMunrQ5/iKCVJyR6dqjnGT7cgec6CHe5Fv9qX3EN9w+bB7fQAJJzkk5IPAHnxoIg1VhUWc6pSO0pOOz1I7sdxV7+mMHx50C7tOpqQtCUuYKVdpOfOCnnHGD/LQSitaqfEQ2kq5CUjuz9PbAI/DnHpxoHkpMrsKVfFzkeO3HkDzgn8zj+GgceBJQ/GSlIx2HnnOcjHsMeNAznU9HEbaa1b4iLKJ+2O8tm11lwfrtuV6m1FHc2nOVqEm1qaoH/KlpfHy8gwtzOOWHI3AgfdnVRtluoWlXVSy2v45mouNdbhRgXewd7aWbStlapQ7gmRVmFqaJQPjBZ12nItyFuGxS31iRtpv9TrlppbQR2wLwiVeNHS0AoqdaQm1rSQiUkFCQpohCfvQCAYLqSpblF3z3IPwkiPW6+bwjLawI7rd606n3WtUYZIEduTWZEdC0dyHFsuEJRjtAMkHskDt8kD9b3OPbQXCT2qCvOM8fjj1/LQdy7z+r5J9fxPt9NBVIwSPbQSY6TerDdPo33HuPcfatu2KpIvXaTdXZC/LRvmjLuKxb8233ctGoWxcNs3lbqJsBuv0mLMfpF1wKbMkKgKuO2aK9Njy4SJcKUEZ0nt9M8Y9v5aCoF5IGPP1/20EhdkeoSt7MWp1E2ELaoV72N1IbLTtqLyte5Xai1TadVoNx0S99tt1aQaVKhyDfm0N729AuOz1yHl05xqZcFv1eLOt+5q5TpoMElXccYxxnz/toK7bnwwRjOTnzj+R0Fdt3vUE9uM+uc/uwNBgK6rMhlGP1GRz79yj6emMe50GD0BoDQGgNAaA0HCiUpKgSCASCClJSQOFZXlIwecqBHHPGgkwzT4Fuba7VWdVw423f9aqm9e4zCWkokpsCyxIRa9KmttutNtrqdNpE2pQVOhQQu5IKW2pK5AS4CUbuB9uNFuOt4XUaRRbs32rsmIgIce3G3JqDFv7bRsMK7eykIXQLngw1JQYzD9WbbSpLii6En+j2x0y91JNSloRKibH2VHtuJIUAUObhXo5Jql1uOlTQMl6nGfX6X3lwOJbbp61qKm8OBs+C/jOAEdpI5I5HHsOMfhnQXTbXYoK7s49MY/fk6DOwpGcjs8H/AFe4P/ToFRAX2EH4nZk5x2584HnI9j+7QLiC9+r/AI/sP1PT1HKvx4PvkcaB67DrP3N9v5skrbSFZxgpGAcAKznGMcYzgnOg3E9IO5r1HuSmpclKbQ+40z3Fae0BRSCFZwSCMA8DzkeANBKj7WrpypnVB0bXYwmMmfUY1ty5LCmWviuKejxW5LZThQUlS0srb7glfYgukDvKFNhJ77CvqpqfVH9m9sjKu+TNl7q7Did0v7uuVOoPVSrSbw2ZZp1DpFw1eoSkImS6rfG3Uqxr8qLstKpBn3NLaXKnqYXOkBuG0BoDQGgNAaA0BoDQGgNBSfQHWXmykLDjTiCk4woLQUlJ7kOJwQcHuQsYPKFDgh8yT+0z9CMnpX6/6rvjadAmxNpOsiBXt4Yc1sMuUyn7zwqglvfOhNMMpMhpVTq1Voe6kyVOJKpe5VTTBdXGoMpuOHnJBT/mGeQoZAOFJzhQz4IycHyMnQZqgV6v2tWEV21azVrdrH3V2H+lqHUqhRKqIj4UXoqajSJkKZ92eK1lxgvfCcKlFxC+5QNNo+UfhAqMqLzr8l9Sn3nHHX33nVLeeefkOKcfecddKnHHXnFKcdcWtS3FqKlqUokmu0R4jYKeC4jKSgYI7fAwc8/hoHLoUtSe1ZIwFArGf1h+qQof5gQcEKzzgH6Au/0pFoFXpFyzSHqU8RaV2tqSFqeta8JaIUeRKDgcQGKFciorqXyk/CgVytKJQkd4BvdtWntttxrq2tfdc+6xZiqvbXeClEmlvqV8FtsZCT8Bhr7mEoBBENDI+RlAATbpMpUmMsHC+5BHznJGSBnBz45AOfB9c40DVbgW+lxl1XYntIOE8YyUZyB488nAHPONBAu9aN8KZIKEHCQlJPbz3BSsgYHjPII85J8k6BE0eY5GlIQshJHJCTwT3D14yePX9ugkpZtXU58PCk9oH+od+O0+mfPv6Y455Ggf+izFOIQEkE+5Vj0Tkc+nuDjnP4aB2aBIAADnaAAAQMHJOcZHAOOfPvoLDdi3G7w2Z3Zo/wAUCXFs9VzUOKntcVKuK2qtTZMZbAVwZkW25VyvpOCiLCdmuDBDhUES4iancjNTZcV+nmdwenSgXY0pJU85V7522iQl3ZUlyV5VNmF7aq6ZhaZUVF6uJbWl1KCNBlHWo1dly1Mun71utsJCVSFsheJF77WIgqrVRRjHaXZe11bYYWspffarIQwHkSytwGL6hYIrltbKbnR5SZ0asWXO2+lvtjtdcqm286MGKpLC8LCKrb100ZMFtSQsRoTQPyslKAi/48aCs25jPeVHOMZyffP8tBXS4lZwM5AzyPy/noK6F4K+8k5HGeecD38aDslQUoJGcnnn20HbQGg5yTjJPy5xz47gArHtkAA48gAHQVkryeMg/s/hoO4UQRkkj8dBUDmDkdwPuOD+0HQYCqFSppJUVAR2E8kn58EqPPvkZPk6Cw0BoDQGgNAaA0C423sw7gXrQLSLzseLVJinK3MZ7fiUq1qfHdqFy1lBWpKUmmUaJOkoUVJBfQy1kLdbCgcK4au1uHcdbrBcRSKbuNWBa9LS2Oxu29j9sY8aVWZjKlJ+EYsiNRaZDiKSE5/QMiKypS1KaIYNirtynodcqkFEOHVZx3fuWkFQREi2RZTDlI21thakp+7pZqrxepcVggJVFnUxfw0tLaSA2i9JdmSLP2bos6qMrauO/pc2/rk+Iex1cu4HG3qWVtkBQQiitxHkoUThc9aiAtKiQk6lR8pJBHqDg/uOguQ6VNhAUr4hPnJ9847s58aDKxl/DJ7lHlScYJ/PQKBmX2uthPI7E8nznJ/HgDH5k6BbQpeewAJPI8AH2PBHqP46BfUSpqZfZKflAPIHAJCM5I8cE5HHnBHPOgnpsfd64FSpcjvT3NPR1nuUcpAUjkKJzn6gD1I0HpF2brUHdXaOfQpoQ8JFGfjlGfi/OGQkZQsELS42HWlJIPclZBBTkaDTJ9krd0vom+136l+iOtqlQdvur+2J28O2sWRNeZpELd3adipVa4Y1Hpr60wzUrw21m16pXDUYaUyX4+2lvMPpejxW1xA9f6VBQyk5GSPwIJSQR6EEEEehBGg50BoDQGgNAaA0BoDQGgP+e38NBpk+3g6DE9en2eO69oWvRotQ3o2cZVvxsg7+jJ9XrEy79vKfUJ9asqixKW9HqMup7j2U5cdj0WEl5yAq561b9QqMOUzTEtEPk/oIUO5KytBCcdwwsEITnuHw2yCSe7lCSSSShkn7u0F22RlPI8e49tBkYyjlaQchSfAwcnnH18+2gUUNYQQCoJJI4JAPA+vtnQLGnSggJCUq5UAcZIPOeCc4yceMD6Y40DpU9TU+DIhTElyFPjvQJ7KEoDrsCYyuJMQlRAUlxyM66hDvclbZUFIWggKAIPceJUXbZtTcZClLuzaKuosW9nmnAX6hSmexqjVyQCSstVaG5BrTY7EpRHqzhWT2k6CVNiXCxU6bGqEV4OxZzCHo5V8MOBCyFFDiEgELAUlLiSO5CkDOO5WQWddiNzYGVt/Or9Uq7k9owodxAIBH4gjxx6aCEu5FAU0++tlOApLpKu0qT35V25JBAPHABGRgYOdBFqcwYUkK7VD5gMAKyn17jnJAJGOffHqMA51k1P4akhS+w54CiBnhXocDwSePHkaCUFuT0lKCVZynu/W+gz/t6e550Du0iWO5HaFYJAJGT3AZI554/A8H10DsW6xTatPiUmrKVHp1YRNt6dOKkpNMp11Uuba9VqaVOpdbT9xpNZmvqJSSG2sIKFpQpAQFsuQ3aFIslEmoOsv7Jbs3Tt3doMd6OqFtddUxVXbdLTvxnEOVttG6MRqK6j9IN/E7WlKDQcAKGKip2HTYsqUqNUZmwW8zVPqEJL8cLNm3HMeehURlTKGykzajZk0PJ7nHGI95OuS3ge9LYYC/bJW5YO922seHHmyNqrpibkWtJipKly7bp6ZdPr7sBlgfeBTo9gV2m3ZMT2rj/wDcGInxEzYzrbYQEB7ue0JBJIGckJJJR3HJHf2FPeBwFZA40HOg5SopOUnBxjwDx+egukLBSCpSe7nOSAfJxxx6aCqlQB7kkEjjIIOM/tGgrIUCgFRHdn1IBxgenHr9NByCDnBBx5xzj8dBzoOQSPGg7JUcjJ4/L20FTI9x+0aDA1BalS3cHPb8NIxg4AQOOB+HnnQWo8DPnAzoOdAaA0BoDQcgdxCfmHcQkFKe4gnxkYPk/KPdRSBkkAg/Vo06bbG2UmqUwMN3xvjLXYdoIfS61JpFkwprQum5HHAUhmFWpjPw0Sgtr4MO05rshb1PlttOAn3Eszm0waO87TqRcpj7b21MdCmRE2ytKQ5Wb9uwF0/+DWK1DcmvyGVJClipRA8oqfjkFfY1tt7tXta9tx4K4sLcqvIrdTpI+Mv9A7LbahEW3qQv4K1PBmqCBJYShuTmQ9EproU9IVEWkN0LCIzKWWmUMstMtoaaaaUkNtttIDbbaAkhAQ2lIQhDYDLYAQylLSUJAXwUQODx59NBXCsHKSMjn0OgyEdbiwVKyQMYPaAP2gAaDKxnFqcHccgDHgDA/IDQLKnvhvt7T3E4z2nuxj3GeM/t0Cyp8zBSe1QGeDgj0A/Z4/5nQSM22uJcac0FOlKkfC7DlKfmBBQAMjuXxkDknHrjQegToX3T71M0iTJK3FhsIbW4gYBCkqKkAgkLB4yCOMjGM6CAv24tn3T0+7j9Pn2g21VNckXp017oWhuy3AhOyaa/cNKtysQ6jcFpSalFjy3mKZelCRUrQqam40gvU+tymFtqZed0Hrx2r3GtXd7bfb/dWxas1XbH3Lsi09wLOrLDjDrNWti8aFAuGhVFp2O46y4ibTajGfSpp1xv/EwlRA0DgaA0BoDQGgNAaA0BoDQGgovIWtOWyA4gKLYUcJK8fKFK7V9o7sZUELwOexX6pD5U39oB6Df/ALDH2iO50S06VNgbMdQjrm/m0BkO/eYVPYvKW+dyrLp8lDEZiLEsjdBFwtUS3mmlKt3b6vWBGfkzXZBmSA0kI/WH5/wOgyUZz4aknGckDzjyfwOgzDLvc6n5cYz6/h9NAo4Tix2kKPBCgPbnAHvgf/QDQOZQZ+HG21qUMjuVg48Kxx7HHqQefQjQLVhmnpqqYdVCX7Y3GpKrAuJtwBbbNZ+DUJtk1F5skDsCE1e3mpBUhbTrtvwy4slrAI/Y6pT7ZqNxbZV58is2bVJLLSV96TJgreUIzkcOJC3EOJQl0HJwlS+T2DuCZlPdbnxu3/xCWwCOMJ49Dznk+cA/Qc5Bidx6CCh/tbBHznhPPyZVjGfrj3HtzoIKXjS3Izjh7f1SOcYz5OD59hk5OedBgqNOUy8j5ilXcBj/AEkAgj0J4GPTz66CTdn1ZTrTYUrkcdxOeAhBHGM+cn6HwMeQfmiTh/hD4hPI5PnOB7//AExoHVpTyZACFLCgshv4ZCe1feO0IV3KCe1RV2q7yE4JypKckAy+6dAqVW3x3Mpz1HpEmL1Cbbp3coaGgxDo1V3T29iG7qrFpbTjiFxWKO1SrztinU1SB95nVFuEpTkpaw6CWgFq66hQZiIX+BvntmzYCqgmoIU5B3HtH9AUijVSQ4WwiNWLsuO2NvpkSBISiREh3hLmvyHFPPR5IWFArcKntbV7gVejxXYLcObsnuVSXZqfuy4dKgtx6dHqSMPOMU2RZdWNMqdTceei1Ot2o4hpyOYzjLgQU3Pseftvf91WXUBIUqi1Z9uBLlAB2qUOUEzrerWQT3NVuhSadVWCcK+BLbStKXEqSAQegNAaCo252AjGcnPnH8joK6He8kduMDPnPqB7D30FdCu3u4z3Y+mMY/H20HdCu9YTjGRnOc+hPjA9vfQd9AaA0GEf5feX471+PbtSkefXPnwMaCloDQGgNAaA0CzsGzzfF10+hGaqnU1sOVO462Ar4VAt2nJdfrFVcUMZVHjJZjwWgpKp1WnQYDKgp0uAHHuOuvXpX5lSoEduhwa5Fb2s2qiNS25cS1rDpMc0+5603JShoS6dFpUZdJVV2mULlNie4gtSZAW4GIBiVj/Bo6zTINzsKs+3XVo+ELf2itNn7zdl0vEHP324ZLLbLD6g2ZbzVSbbU+5NSAE5+kGykqi3Ru+/T3qYi8Axa1gwZSG0zKNtvbDiIUFgKShv5aq5DiolLaQlEh+kOSElIkKSQmskBOMZ85OT5JOVH6AqJIH+UYGTjOgyDL3xFBHbjGOc5/dgfx0Fyk9pzjPGNBdsvKbz5UlXPbnGPpnnxxjj0/YGVbUoKCkqwDxj8yM5/wBvTQKOM6pKkhPGCM8+eP8Ab6+dArIL68pClkDuzkemD4x658fTP5aB0bZqv3eWgheTlK+7OCnsSQMfkc+T/HQbR+lTcl2k3LSXvidoW9ESrLoz2qWUnGe30Tk4z55xjJDcp1X7W0zqY6Ub1t15DEh6balQYZV2FxTL64KhHcSUqCgtt4odQpJ7m1oSpsocShxAMT/ZsuoKfdPR9uD0hXopTW4fQtu5W9q2mJM12RPqe0t8VCqXvtdXDFk9jsGnU92VeO3dKjMoVFbp23TC0OLdU6lsPRloDQGgNAaA0BoDQGgNAaA0Hnl/tKXQU11h/Z73PuZa1GM3eTpBdrG+Fmu0ylGdcFa2+iUwN70WNAdjpXUEN1W0IEe9Y0OCh1+qXXt1acRLSgspIfL/AEpKEpQckpSEkn4eSUgDn4QDWeP/AMMBv/QAnGgu4xCFhSuUlQwBz4wPBwPI0GYZbUpAII8kjJPhQBA8H89BnYDwOEnuJBxzjHB59fpoFxTJCW3AcKz8uDgcEg4yc5xxzj09DoHJbiorlImUt+U5Camx0MonMFJkU+c281LpNSj5BT94pVWjQaowpzCEuQ0pPDyikEDuJMlQajt5voxHVCqMmW3Ym5VJjulaoNwUt9VLkJlLKSgB2Q3IjB4uJVJQYkkIbQtJUEwbXqqJMVl6OtC2X2GX2HEEdrrD6UusOoIJyHWVocP/AJsEA6C+u6mNy4TqiMrcQrAAHlIC1Z49QrAwecc4GDoIO7j0AtuuKDYwQogYVjCMpPGCM5xgZGRnwdBGtxKoko5SU4UvtyMcdpHP8vw40Dv2bWihbCATj4YJyRnOcEeceAMfTHtwEl7dnF1LSkqHkeTyPrxn/bzoHoo0wpCEkjKgnkKKTjHooDKVgfqL7VAKwSlQ4IYzfKmTnts7O3Jt+htVG7On6/addLDi1OrjV206ouFVJ1DnU2En7zEtS3azbkquXJIbkNxnE3W1ClvwxLS5UgZ2sWwyY+4dpUVuQ4whFE6hNmpaqjGkVd+3q9SY0+ZTqaiM3IZlXZULNqLUhuI4qNJpDdhzlvxX1LjPkMkun0m6rjn0xYoVLh9SFs0y4aTKpxKKdbu89EmThFoMFuD8erfos38u4LZpcJ+OW6w/eUaSl1yhuVSSAYPeqiyr72vou5aYIZunbKU3tfuRDabUqS3R0VGSi1blnfdkym1KptYem2XXJsxbC3ahVbdYaSGISH2QhtoDQGgNAZI8HGguEOpSkA9xIzzwfUn1OgrIWFDKcjBxzwfH0J99BWSsBASckg+eP45zoOyFBYURn5SAc/X2xnQcOOJbGVAkfTH8yNBhnSC4sf8AUT+R8fw0FPQGgNAaA0Bg4JAUrAOEoQ46tSsHsQltpK3FKdWEsthKCC842gkFYOgkTNopsO14e16Jaqbed8smv7tV1Pes2hZlOaMmLaiwx3RiYodVNqSJakxH7rkxqcZSHKGhbgJAKXVUx3ICf7vG7KL90pDReQVbebNUJSFyqk65KkFBqFwNpUlmdOP3p8KSiFKUaqvIKC1bXnbg1+i2xSAumr3LXBokQNNOqctfZy11JcfmuMqbZ+7qrLVKVUcdqmpLjUZtxSRVHUENxNIptPodOhUelw48ClUqDCplKgRe/wCDT6dT2Pu0WEz8T5i20ylALi1KcecCnXPnUSQyaSfiBefl7e3HrnPt48fXQXKVZ5GR+4/u0F4Hkk4AV+wf10F9HWEjuVkgg49SOCB5I8HQXUd0IUVK7iPmwByecH1IGgUUF0fIST59f/r/AMz+OgWENzCe5KgTnIBPorA8fgT+/wCo0CwprykvtvFSQUDkA4zjBGQMceM/TQS42bupyFUoykrKVB9laVBQSkJBzjOCc/Kr0xyOecAPS50i37Eu+xRRpslCmpcX7m826PiKKX0KbTwDg5OD3ZGAMjnGg1AbO3C79nl9u9Y8h6JFp20PXhRql073hLnTkU+FTb7qEpm49oa9EbW4yxOrErcCnUXbmDDc+JIEXc2qy28iMy2Q9miQQkA8kDnQdtAaA0BoDQGgNAaA0BoDQWk5pEiJIjuNpdbkNLYcaW18dpxt1JQtt5nCg6ytJKHW1DscQpSFlKVFQD5GH2xPQufs9OvrePYii0uRTtq6xKibsbDBUyVUEp2Y3Bfqj1t0hyZU3ZFVkuWRX6Tdm2sibU5syq1OTZIrMt19urolOBrHQQAORn/fQZRl5YQlKVjuKkggBJOPHjB9Af46DMxFfDOSQnKvXHIOT66BURJRCikAq8AEYOeOPA9Acfj9dA5FDlpIShYICkdqk9xAKecpUAocfT3wdAonKHDrUm4LEqTgFF3QpLqoikj4SYG4drQh8KotvuHvSK7Q4FOfaQp0lUy2qpKUlxM5atBj+n66p7tMk21WQWKzaEp2hVCM6Ox1Cobio6HA2sJcDQU0UpKgUhC2+wBBRgJeJUifGSFJysg4VzjCkhJ+UEDkAjIGefwyEcNybdCmnFhGTkhJAVjtJJcxzjAx8xzkY4xyNBBy7Kapl5XynKVqTwCnI7scYxkY549s6CytyoLiyUoWrtKcABXaMJzwMkZPPd9efPpoJS2rVkLQ0E4ByMfNknP8fxx+3QPlRZpUE5BJATg58cYJwPzB9c/s0Dz263RKytdv3NFYkW1dURdqV8zam/S4USnVmVAcZrEx6Ir7y5CtWs0+j3lMp2W4tdTbzVFkvxmpjinQiVTmq5YtHkUtcOhncLpVvCp0mqwJZU4qsbUXXV5L0mfPEVhLb0Vir1GrUi7qnPkUaZbNtXfAtuP8OfNf+CCiNtMzEV3bW1HqmabWoUnfXpyq0eBBt11Jao36Rq9swpIltO0qrP2tT0UqZAbqrzFjvWdTocfvuCqTSkKMy4aV+kqPunU4Bnbebu093b/fe2fjKQ3R7rapseLX5QhNxac9Qo9ajPwbutdcdipG0JMuJHFSTclUjU2IEAd2tuZ+1d81m0ZrypsWMtM+gVn7s5CbuG1p3xHqDcDcN1yQuCudDbWip08y5hotdh1mhSJSplImNsg22gNAaA0BoOyVqSMJOBnPgHn8xoKzbhKj3qGMHzgc5H4fXQXKVdoPaeFcnGDn8+f3aDq586SFcgAkenP5Y0GIJJJUfJ8nQGgNAaA0BhSshIBOUpGTgdyyQgE4VjuIIGAon0STwQffbqkQbKoY3huKKidLTITF2ktsMqkSq7dP3mZGhXQunLakOvQKVOjfdLbadjusVi5osqV8CVTLZqbUkMXLYWtFe/vBOU6ZCIlx7r1xpLjhlBxSZNBsmizFR33v8d5ba6q+JLK5bzinHZkl56NAkBQk/GmKqkStNvwXKuI9x7hNRytCKHaNKBNqbbwUERXYcuWtr4bjTiYshLYceXGXGgOPICffTPt3IpNEqG5NzxGYt038mOuHBS0pk2/ZbAEijUZpK20fBbmqZiVWU0z2tvxjRW3WfjsSHNBKpL3Yc57sjGM5+ufP00F608kpSSpIBzkEjI8/n50F0F4HChg8+mguArB4Iz+R0F806AlIUtIGOckD8Pr50F2FHHykY+mDoMtGcJSnuUO5PKRwCCfPAx7Dz+WgVNOkLHYOxRxxnBxnt848egP049MYBZRHlLUM5Se0AJOM55wR759CBoHjserKhS2O9wAZRySkdpyoHJ48lQx3Z8caDeJ0NboCBVafT3JBLboitdhWpI70YAwVK7SQR4GAT6aDB/bt9PtU3K6dqdvRYK107cPaedR9xbTrkFgqk0e5LVnpqVPqcZ1tlwolU+cxCqaA0QpBiIUnsPcdB6HugzqjgdaHR3059TsFmmwpe7u2FvXBddHpEpM2n21uFGZ/Qu5VoR5HctxYs+/qZcltOB4h9DlLWiQA+hwAJe6A0BoDQGgNAaA0BoDQGgNB5cv7VD0Kv9RvRTROqGyaJLqe53RxVqncVUj0uGJE2s7E3wqiUvc4yjGaElUTb2oU+29z5EmU5KYo1o21uCuLB+8VczIYfNxZWpaUqW38MlX6neHCkBWMKUkBJWMdqwjuQFhQbcdR2uKDIsLKHEkDPP8AI/10GZS6SUjA4/H0B0Chhu+ScAY5+gPkj8Af3aBYUaUnubPevnI9OMHk+M8jx+3QOTLjyavRnY9OdU1WYrkWqW+8gpT8OvUZUeVQ0urUQUw3JMZdOmqBIZo1VqiVBTJKQCEumqtW9uJZu7VIQti1d2KZFZrqEnKqfczTbbVQh1BGEhqY2orRKR2pLc2I6gBASUAJoW7PQ8wzlaFggqC0ElKknBbUnPPapvsVz6qPpxoMbedIblwlOtgrSG1keOe8HuOfYeB9OOToII7i0Is/EIQAO7Pfgdwy4kce+fGfHp7YBiENliYvPJwSM+wUfzBySPyGge2z6slIZKl4wU4+vn3Ppnn2GONBI2gVELCB3kBQB44/y9w/A+/vn6aB4aZMSEpBWSnAzykZTgZHzgpBx6kYHqMZyGN3jalW7UbH6iosCdVqBTG420u/NKpdLjQoVUtKuU5uFSZ8pfx0iXLq0UO1mnSq1TajJubdulXPdEtiHTLdpbD4Nmi06qyqpbXUOpsT762pkubxdP8AdkV81+Rd9jLSm75kKC8GH6Y+261DXuDQHKlR2KHKrzF5XVcE+LQYUVmphVNas5xTV5zozUDZHqBKrR3bo7cyTDRtluzTXm5TVcagU4szIzlNnVE3VRZ06BXKiLKr1crdWVI3GrsKhUgENd+2VZvOLP6c7vdhQt49tmHpuztdS2lmn3xbUh2QtdssTIkKT3Q7gj00i3HZEpyhWxXIciPUnbfjHcOrxw13yoz8KTJhTI8iHOhyZESXClR3o8mJJiyHo8iM+0+2260/Hda+E+06htxt0LQpHy9xC30BoDQGgNAaCsl4pAGAcfjoAvkgjtHIx66Cx0BoDQGgME5wMnBCfOO48JJwCSASCUpBWsDsQO5QIB2dvbFplQp8m/b6ddhbe0VagGCh2NIvqoxS44uhU1YU461RY4Dci5asy28qOz92pMFLlVqLJbDP1ev1u565Erz7LSLiqUNtFi20IrDcCzrcSkNouOo0hlmqJp7UOmIbZo1MaTJZgRkQKbTY1er7syRSgxENxiDDjriMOVilUutBi1oaw0p+9Nx50jseuaoragIE2l0hz72hl6TImsqdaiSUVmoswWoaAd3Zjav+/tyqgzyifaVs1Rmt31WFtIWm8LnXIW63QmXJbLaHqUl5kR3I5jwn6dTYUl1mFAn1qkPyw2XtAZ7eQPJ544SlICUjCUgJSAABx4GEhKUhepAJwfb+mgroSCUp5wTjProL/wBAPYY0Fy2o9gX6njHpjzoKw5Az9D/PQZCO4VkIIAGcZHngDQZFl0pWOAcke/10CgjPLQsEH9bJ/DjOPy8e/wDDQLOnyFkZIGcecnjjjQL2hyS24FqUcp7O0Z4OFEkH1/yjHOQCRnQbA+nG/wBVJq9KmIf+GW5LBcSVBIR2qClY7iRwTgZBOB750Hoik0yk769PdetiahqY3VLblMrZKUqKkyYEhlxXAUFKUlQT248pSUju50Gu7+zo7sT9pNyutz7Ni734cFW01+f/AGhtjqU8+UVKTt/f9RTb26FKp0Uulg0Sy7vi2ZW3VxkFf6S3SlLfdcD8dLQeqweB/Lx+WgNAaA0BoDQGgNAaA0BoDQYG6rat+87XuSz7to8C4bVuug1i2rmoFUYRJplct6u0+RS61R6jGdIakQanTZUmFLZcPw3Y77iF/Ko6D47/ANo50dXD0D9am/fS9W45/RFjXnJqO21X+8yJhufaK8VO3LtdcEmbLjQ3J1wSbQmwoV8PR2pECPuBS7vpsSo1JFOVNeCFDf6wPoDz+/QZqM8n4i1YVhSU44GeMeef66DLRXUlZODyR6D6fX6aBW06QUdoTkZ5P8vX9vt6eugdGgy1IV8NSxlSeO0/5gtCxk8FPKBhQBI8gccAVi3BdVJvXblhlpH94I0vcmwQXChMa6qUuILyp7bhGUvT6hMbrYZSlxxTFxzcANMvLQCn2AvlVx2jTHJZU3U6YoUepsOpS281KhoDPc4gqKhkNBKlHy4CAMDOgkpIaTMYKUkZwSAf/KR6A+M5/wCHARY3MtxXa84psnhSjjOT8wOBlOPyz5549AhZctMEOQ64EEK7hjIwMHKhngD1+nOR6aDKWxUfhuoBUMhQScH1Hr5Hn8M+49dBJi1Z3ehGHE5UEnGTkfLkg4z7c4IOfpoHyokpQWj504wk+vGPHpjP5AH9ugeG3ZFHqDVXtq5WIcm2Lyocu1rgVKpSawqnwKk/FcarUSM32VJp6i1KLAqUk0WZTatUaTHqlvQ6lDNbU8kI1f3TvmBIqOzKnnZ28uwkqpX3sXXHpLVfm3nt9AlOVys24yzQhdlt1WbbK6LJuSjikP1uhXAqj1loVVO3Ni0uRLDIs1y02osvctuJNl9PG+r7VB3ysimxpTkrbDcGFUAs3BCixam38Y06uVZyv2xWakpcmU3XChS6Jely0V+0wukWPUbnFB6e63Xo8fcu240e4Ok7d2FObk0W+7eeaiTbYsKM9S62YMlyoQzQmrNVTn51RnR5FAoNru3FT6Vtna13gxe4+2sjfxmsVSl0Jds9TNlyG2NxNv1xFxV7kR1Ib+FXKAhpv7vKviWzJpUiMqIhqFuVBlsv052bciaPP3FCApSE4CRhKkpcT6fK6kOA458hQI+h0HZKgBg58/00HcKBOBnQdtAaA0BoDQW+gNAaDgkJClKIShCSta1HtQhCcZUtZ+VIGRgE5Vn5QcHAPNYe2iJ8GJeV7ql06y5IQqkUqOh5m4L/AFofEdEejIaQuXCt92S/Fp8q5Qw5IlO1OHSLZj1OuTqdAfDPXlUH6rU4X6Ug01cRh2LT7I29pLEWLT+6LHd+Cl1lHx4sSj0iM6hxCZC24qwJdy1N2qOOQV3CCXeSs/pw1mqPJYAS/uXdjMh0LkKYLT7Vk28ZMv8Aw2Q/IbhyHEQXH2UTEIqJmVKfAtpkFHb1t166q3SqbSqW1DuWrtPU6j05tpLVNsO0hHkpkSn5LbT6YtXkxWAzUJUiSuVEip/QyHpK0x6FoNnNlWjR7DtqmWxQmj9xgJLjkl9oMyalNeIMqpyUd7zjT8pS3HQ0ZLzbDKIlPbCIrCPhgsAQRkaDsOCD7EaC9S4lfgEYA849AB6E6C7jrCDk5I7vTHt9SNBeIcSskAHj3x/InQVu8AAc8dvt7j66DIpcGBgHwP4fjoK7DylOAL55yMHP4+cfTQZ9hYLqPPk+3okn30Cvp8wDCAD2khJyB5I5Pk+nr+7QLSE/hTSkKTgdxVk4zzkY9PcHPv6+QEiNrLgXCqLKivHaG+0hRT/m7uVefBAwAckH00Ho96Ityk1OjxqJJdTlDQaAPctagvu7ilQGVHKiBkDHA9BoNYvWPWP/AOXd9qn0j9dLQhUvbSpX7/2Sb71Sb8WPSYm0u7SmbNuyv1iY0hCmI9nsVOFuKyfvDYXWLGpzbrEqL8csh7UYxBZbUkpUhSErQtCkrQtCgClSFJ+VSSnBSoAJKSCOPAV9AaA0BoDQGgNAaA0BoDQcKSFApUMgjBB9RoPH5/a1ugwbodP22nXfYtHky716c5kXbndluntRviVDY++q+waHcEzDZqM5W2+5MyGxEgRHFxolB3LvW4ahFMehioU0Pn0odSSpKFZICCrA4wsdyCCRg5HPBOPXGgyMZZAVk/MUYR+JUn8vHv40GYaDoKCngHtJ5T9M+fz/AJaBSxnVI7CVY+XyMflnA/joFzRZpKkcH4gPPPOAR9cH8BzoF3Melop8SrUthUmtWlUGLqo8RsFS57kFDzVYo/y9qj+mLfkVOE233YXUnqQ4o9kVSACKceg2HvRHqlIdSuyN3aZFuejyUJP3Y1GUl2QWkL7w0wl0hqSUHtV8OpNEJAW2EhNCjTUOJAP66wQk/NwflPI9D2qHGBwRkZ8Ak77o4lRnFEhYytK8jHCiAAcAE5z5T+XjQQTv6hdr7x9AcZ7eOFLA9yAAAPyHpoGZiuiBNCSPhpCgVDzgknnPPkZ55xoH9s2qIUpopVkY+vq2fUjyc44GPHvjQSOoE5BCSrBOBzzjHB4x49jgcaB0aVIz2qSe3xxnubcwoLCXGyS26gKAJQ6lSD6pI0Gcv+zK1ubaVDqVn1V2i70bOpXdG3NxOdz7dVt+jR2ahU7frCJFOmU1+LQYdJioTLripNLj2pEiN3XIoe2dg1dzQMhEuOjpiXBvlQbadm2FcVQlWT1cbFLjtiVaFwSnKhEk3PRIcunw5FPkNyUVada9Wq8hNejuS7hotxVyuVCpbpT4QX9YoFn0S36Ls/uFeL9Z2JupU24elzqZp8wzpVhT6i/Jnx6ZX59aptGkRKTVZonN1JVSpFlUk1VNzO3TT7VnRrsn7PBk6/blw7j3nStrN0axB2q6v7HjKa2x3YUr4dkdQ1BRMkGnwq5UIMKQudcD8ZVXgwVx6fKrNTcYqdv1qiv7lf3ltm9wYu/Nv6fvFctWtu/qfG2b6rKNHU9VoNzOIZsfeRxMaa8zU367TJLkVuv12QiMzBv6nTptCueXIjzrnqkmJLuTcugBBe7bQumxK7Ptm8qFPtuvUshMqm1Jgx3lMkq+BPjEuPM1GBUEhUimVemvv0qsU9UabTXHmHC+6CbSr1GR6cjB/YRn92gqpUDgE8/h/wAHjQd9AaA0BoLfQB49/wAgSf2DJ/E+g5PGgu6fTalValFpdHgyKtVJaw3FptPaVNkyVLHaEpYj9ymsKIUJDpRFQR2yFpHcCD8UqybV22bj1i/nqdd13IPw6XZVPWanRqZVSVfd266qnvsSbtuBp1tpKbXt91inRJciGm46lToEj70gM4urVCvuOVavKiJrMphicIchuHIVTIDMeXGiNobjpbpHxAtMD7nDhw4dEYeq1Pp9Np8WgrvpNrhj3GlKgy5DM1+mtPENT6wguifHiB0haYJhphtstMzISGIzT6J89NUqkJxEasVxx+JaAJylUmTVZNGYhUp5MZmRGRaFrt5cqE+pFaVNV25FokOFx91yQ9JpMIVZC2m3HJblTYenRKjJDYftVtvBsCluvy1tTrprTUdyvVVC1vdhZCVIpkOQod/3JDh+O6WCiJNlIDzEKlwY1LpFOB3G3cntQgFIOVKAAHzHuUojjJJJUokZUolRySSQuA4B4V+4/wBNBX70+/7j/TQXDK0jJJxnPofp9PodBcodBPalWSfTB/mNBcIdOSAns485zn6eT76C8bdRhIWrnHOQfI8cgfhoL5t5tXAWCR6YPjH4fjoKzLhS6nKsZ8cD6fTQZxh9XclST3FPnjHkYPkDnn9ugUUOV8ycpwgqAURjycBWec+PUfloFlEkIHw+35z64yMDHHt558exz6aB0bVqSoz7SyMIC0d3OBgYGTglWB+710G3jo73Ocolx0vMo/BfcbaCT3hABWlH+UhQAOckJyMZHPOgmj9q30/0rqn6LbuifckS6kxb0+W0lJKVFbMBTqUBwpzlxacHuyClSkK+RSkkJ6fYi9XEvq6+zt2OuG6KrGqO7m0UWpdO29zTKnVS4e42z/3GiR51bDqexutXxYUiytyJaGFfdUru9TcVLbbRYYDbknOOfPOfyJ0HOgNAaA0BoDQGgNAaA0BoG13j2lsTfnancfZbc6iR7k283Vsi59vr1oUkf4VUtm7aRKotXifESPix3lRJbi40qOtuTElIYlRnW5DLTiQ+N71fdNV6dHPVJvv0u7hSHpt27LbgVK1JtWciSYTVy0iQzGr9nXpGjSHnjHiX3ZNYtu8qfH71ut0qu09ch15x34igj42SCkj6fy0GdbcUexHACu1JIyCAo4JBz5GeONBmoo/yEkgDOT5/gB+7QKenyC0UrPHzYGOCTknGc+wPqP5EHSt+pntQ4lRQ4jKkLbKg4hYUMLQoKylaCgKQo8IUO5SVpHaQTd6Wyu4bGuq0afGQ3W9vZQ3HsBtvuaEe05r8o1igspBJH6EqkKsUuMgFIRCRQWBwltYB5tnb5j3bbNJqiV98lyO21PSoKyioRktsyARknBHwjjJOSo+CAkHtqbKahAWUIBUCruyPXPPv49PY4J9dBEDcihqaLhS2nKlKyFenK/A459f2fmEPK8wWJZOAO4+g9U84P7fHpoFValVXHU2lPb8xHdkEkHHphQ4HPBJIHn20EorbqHehpSlEEgeMgcge+ecnn3x5HjQPJSJSPht/MrGPQ8e/sfxx6edA5FCqUiDPp9Rprr8apQZlPmQZkR5ESdCmwJTMuJUIUz4jK40+BLZaqER/46EsyozLiAVtoQQx16WjXKfWZXUJsxbkG4KqaQxbO+2zEenNv0a9LIqyoVCnsRaSzKnOKpdVnPUtiiUlijxKYurTKFYVboi67SrZVvuDZwqpY1oWK7d1IjVPcnoo3KqkdO4NmJn1CXd+wN+zpMZh+p0mLOqLqKRUo8961pRlMVhH6eZes9mddLcpvbPcV8K900ilWtY1s7fdQMhW7vSlXmXEbB9S1pqkSbk2rXMjO29SaNWZsKBOdFDZFCYtGbT1RpbsFu3V2uaFUKvtvT9krSDN7jrj0+hUi1usM1jdnaRJjztieuPbp2VNueiprc2sIt9q+K7Rnrlfkoq9QgypD1VeVd02oS6fVGmGt2ZVHptVskEbuDt7edrWjT3tw6XS+r3piVDqMu197Nvktzb5s+hxHI0up1Wa5RXqtOt6LTp1SjC6JUSqVizkVWXFpu4LlQuGN/dOIERaj05Uy9Yz9w9P+4NE3KpSYTtQk2pWKjTrbv2hoQ44tcZ5NSXTaJWYzEf4aW6i4u2alVpIcRTbWKS0HAjjctrXHZNVTQrvt+v2xXPgsv8A6KuKjT6FNWw6jvTKYiVNqPJfhPIKHY8pDQYdZWhba3e8YDDaA0BoDQX9v29cF3TRTrUodXuOYHA081RadKqX3RZJCTKcZbEaM2SFd7kuRFQ2EKUFO4UEg7kPZluiOyVbmXTBobtPjtzp9p2m/GuG6o0FSkJ+NXaglZt6yoaytDSqxW3n6e08+1HU4h9SCQUqbsZiU1+lbTUGBblEqLE9p24Vvy1TK3GpSC7PkVq8ZLLNwXS3DjpedqNGtqJT6FSU90qVWZ1KccQ4CLYQ0pa36PKFRfSxKjzr0rLEBMCJS4E37nLj0KnOOopYjRWJxiTqHTpkOxqWJLibkuStW3UHJyAylCeZciOymFzXqWHWqlVLgnvyTUrllSI65fxmpEptiqKpy3aTXDHqdTiRINQhszIdMp5REupupAoGWHJUtmnMwHKlWZ81tin0lhht/wD7z95bpjkaE3KbS4lTDjNXittQGfh09Ds2hRJD0JN1VOphMza3a2PZyXa7WHxU7yqTSzKnfEceapLEv7yuTTac6vv71vKkvIqk9Mh1VQIW2nEN+U7VQeUnJJ9yT5J8/Ukk/iST7k6Duh1TYISAe7zkH+RGgvPRJ9xn950FVKiTg48f00FyjHaMkDzyRkDk/Ufx0FRC+xQUkpUR9CB+GM/z0F60slPccZzj1xjn6/T30FTvPsP3/wBdBWZdUglQCc+OQcfxHvoMm0sqCHDjuByAPHp9Sf36DLxXVBAUAnKlLB4OOCrxz9NAoYrmMA47cd5Pr659cYwPbQK+nSGuDk+n8Fe/jzz/AE8guqVKQkkBSvPcBkZGCCBwPH4enjQTK2Ru5VMqMF9L6m3IrjTmEqKUD/FSTnkkfKQrOcAkkjHGg9Kmx9ww909pZtuTFtyVT6M/FcZUUutq7o7gSMLCgMpCgrPd3Z4xjQawPsfrxldFv2r3U30S3ZU49G296vaBJ3l2XpkpJDMveXa9qbKuSiUNTKktpqV1bUvXNXauHo5beibPsONSojuIUoPX4OP3/vOdAaA0BoDQGgNAaA0BoDQGgPOg8P8A/a3OgwSoO0H2h9jUh9TtHEHYXqCltTGGWGKNJnTqjsteElla4aGnGbkq1ybf1aquuypFUkXHtpQm2WWIK0zg8NLQxgYxhOMdqkYxjjsWEqRj/SpKVJ8KAII0GUhrCVYweMH9nd/XQZdl4F1PB4BHp68aBTQ3UpSjPAyDk8DjnQLuiSwlYSFDtCkAjjJHcCoDzzjOPf8AfoF49VF0M0O8ED7wbUkuu1qOEhTUyzKwzEp94x5SAO55uFCjRroaQPnb/uy8tjK1OJUCHtSOdrt4q7Y4UhNtXWP71Wk+SSz8Kc38VLEd4f4aiFOPxSFErLKI2D+toJo0x9uUyELwk9qSoZBGUjJSnGfBGPYHHpzoG1v6jiWy4oNnnOD6YHdxkHPn8x9PUIG3zRDGkPAoIACvzHjj9/k8+nGgbSmSlxXw2f1QtWP+kJB4P1wMfjoJJWhU0utsfOEkdhwr1x24/bz7fs0EgaFPyhCQrk48+nB9s/s5BHpzoHDp8rtUCtYI7sYHn2B/L19f5g4tJrEykyY9Rp62w80zJjLbkoTIhTqfOZdj1Cm1GE6RDmU2ewsxpsaYzIL7Diwh+OlCUKDC12zbhtSvV3fPp0gUiu1CsxpkLejYOrGWzRtw6fUJj0VLiaZVn3Wpr9an1apC3X5lQD1ekpi2nXWJu5l7zKNv+CCshYg0O8r46TaQvcHbCqtzWt/+iS821zq5bT0xVXt6ZNs6kVpmeiZLiR2WnafUm4FYgVORMplGmUCezLuDYq1AzO2zc5FMuK5OiG5KXfti1CRV6huR0QbyKeE22F1l2owKyxaZuCp/foUenxjHfqM6TXJtDuWHSLdt687y3GqstzbRAYTbs2TOvCqvdKe7FU6R94ZtTjN3n0ub0w+6w5VUpsFiXJagQKrGVMZkT53x4cEWbRa1fSak8+9bNi7ZUN2EWwxO7LdiT607N6qunC4uny9J1cVKXv8AbAyam9ZjSkJdSqHLr1Fi3f8Ao0rcCJNTZu63d0dy3UfdWarU7VCm47AY6lUa56/Hqn/Y/wBRO2m+Vlttsqasvdm3JVcly2y2j52oVqxrtumWvClFc2+bSsuI2oqEdltoJSoGrqG3EImQ3eXSxZP3pUhfxZ2328lvW5IIIR/hQ7FpN521LZY7+94MS7dMrLpS6j5UpSDaztm9unCFL2q38oSgcqZp9TsaSyByCPjVH9IPkcZwXz48aDEO7e7S0EJel2NuPOVjKWL03Q2uskEHKVIaU3WbcnkpSSruabeOU4U52qUQFaPLsFmKqTae0FkR5cV4JH3hV87tVZKUBJ+9uvvOLsFtRKylEqXetPjFSFhtJHatwKM29LzryZdPXORFpzEJbb1KVNiRqPHb7FD4bdv7WygzSnAcJWm/dy6bQF4QmQl2MmQ+oGtCIkllLbLc29BHR/hId/QtLtWlVJJQljsb+7R9tIUwErSpaG9zHKm2oNR1tPvszWQuKkG5VRkRqw6qs1B1Ud5yxqCqfFpsKH8AIUmrvVZ41pEGmSAhwObg1Wjoob6S7Atas0h5oKC1qCyZCY1XaNcqqGosin2bTPhR6FQ46IMcQZdXcqaI8RMWI8ksMSq+01bECW+tFpW9VbUmUmrRAVNt2tcdy3EllmE9V7jDqSuM2ZcGg2jGdkNNSHCaghmoRXX2GnUu1GrvCvPS4LQlwqWafDj14JtbdbZ0qxon3hTiapcEyK01Pqqm0tIZShtpBhUlsNIVGp6QxHByA5JRHbY7Y9NbplNpIOYlJTnOOcfz0F2HwAB2ngY9NBXQoKCVYwM+PwOP5aC7QsYPB8/T6fXQd+8ZAweTj0+v1+mgr9wQADkkEDjxyf8AfQXAISMH1549j/8ATQVkkA5Pt/TQXCXQSEhJzjHkDwP9tBVGfUY/POgv2pCR8P5T/hnJ8c5x+zxoMq3JcUnvAQEggDOSrB4HrjPPP7tBnIbqkI7lYKiDjHgcccH6nnQKWnyFqCcqCce+T5z44PsByPXQLiA4AgYcSFHGSfHgZz9DjOgfLb6tqgz4y1KygqSjCcA/J8xJKuPmwcH6gccnQb7+hzdANy41LkSGvu76EpCFqBIIWO0eccgkcD38caCJv2zdr3T0/bkdOP2gu0FPlKvTpu3QtTcZlyCnLlXotMqqH7noM8pU2p2kXTaiLhtKtMd6AqlVmYQpKglQD2H7W7iWZvDtvYe7m3FciXNt7ulZ1sbh2NcUBEhuHXLRvCiwbgt2rR2pjMaW01UaTPiS0syo8eSz8b4b8dl1C2kgvtAaA0BoDQGgNAaA0BoDQGgj/wBVHTrYfVp05bz9Nm5EOPIs3efb65LFqch2mU+qvUKVWae61RbupkOpNrif3gsuvCmXdbUwhMinXDRaZUYjrMuKy8gPjdb5bM7hdOm826Gw+6tJfou4e0N8XLt/dkVyLLix5FVtuqSKeurUpUxCHZ1BrbDbFZt+qtqeiVai1Cn1GHJkRpbLzgNo0pQ7SCQScEgn3xoMu2sFKClR7wMKIyDn92fy0GfjPJUlA7icKBwQrx2/Ue+dAr6c8pByhIIx+tkDPvnJB85HI9Mj00DqUKY282WXkIfQpBbXGcwtqU0+0tmVHdC/kDTrBVHdyD8Rp91soLZWnQIm/qDMnbdpmw3pT11bEVuIY7rfet+q7dVgfeKC58RJ+I+qn0tDcB51KlJcqlDrZQCsAKCRm211tXDQqTWWS24KjDaeU2haVITI7EploTyQA08Vgf5e3HaSMEg41bhGXBC0pBHblSQU8A5zxkevGQD+znQQw3LoTYckHAGEqVwjkAjyeAfTGMEjk6CKFTiGC8VAFXesqGeOFKJ9cY4OCMD8PQg4dm1ZHe2kr5CgkDCsjBTgDjGMnx49vqEl7enYS2T4OCnnPjOfGSPI9hk+eNA7lOkhaEkNpV+rkkJBzgHODgk+ecfnxoF5TZS1dqQMFOCCFD5eRyDnyM5GPmBAxnQKKDPmUyT98gvll4tPxnhgrblwpkR2mVCnzGVLEedTqjSZEmk1Sm1BmZTKrR5Emk1KHLp8h2KsLO6tvaJuBV2txrCueRtD1A0hx2ZCumClqbTLukSqXVU1Cl1KPPnRWavHuOTUXKOu2LinTKy3bIXbNFrG4lGqFmbDWiDaXtW7RuW7YC+puhz+m/fmHcdTpVm9Xmz7E6BaVyXxRqjFbq6LlXGh02dRLktUVCGbkty4EwLktVU6n0eusbEW/TG4igV1/Q9xJ1AptO6qNh7R6pNt36LFXb3UDsKiI7fNOsa3S8wi4Rb9JFCrDlAiRwVy59jVi0dvJ8x52o1q6bvIWmqgndvanVJdMhN9JvVhSb5ptUY/RNF2W30cqlUuii0KNgCh2/XqA1TN32oLfctDkGzLJpdr08gF64Ko4pM5IJS97OVX6wmh7sdGSn63TgZFVufYGNHvyemQpOQ9PoO3Vb25vuC7IYUh1cncK5axU1HL33R0vBZBrbhr22Frtpt6HuLv1tgGUpYRb973Nf1tw2UglTbTlt1vb6/oTTCVKU2Y0663GyULC0OkFSwa+bXdu8qVE3etuaTxiZVtt21KTnP67+y7eeQAQT65IxyAt6ZLiznUm2Kq5XHyv4CXrSr0kFTqgUKQpvbTYVr4q8FRT8ashajgEechhbobfjq+Fc0l+nTW1qTHYvuG8uU4hJPNPc3ruepzGnC53oSu2NtXXFLwA0lxSkJBKPxoam6RIfpdTqEYuE0V26pFQ/u/lSgnNLqW4FNty1Ii/mAaZoW2FxyEEoTTHe5xGAoVUvxJTESvVhUSSiaqmsW/Q11Nq6GGZTDgbpsN+px6huCEyoC1A0aFRduLTqLKlqYlRW3AGws2jIiU9EZKYtmUZnLjMOA9DarE2rUeWGkFDrEWpwaDWIyJARLkwWL+3GtyRJEapy00qQ2poHpsXZiuVRmLJMJyy7eK/v7cuS2Grqr7zsgSm6nHadE6XCfktSJDC7grNTq0yRFccEH77QKnIoDASrti2KDZ9JYoVvwGYUGN29pDfdLkrQ20yl6bJWVOPPNssMstBJRHYZbQzEjxmUIaQCj71/61H8VEn8znnQVG1KUe3uUSfAJP19zgaC60HdCykp+YhIIyMnGM88f7aC8SsKB7VHA8+R/HGg7ZPuf2nQXSHApPzKypPKsgnHPHpzxjxnQXIWAE9xOVnCM5ORgYHrj88aC6+L3cFITj1AHP0+X+eg5Chng8/noKzS+1Y7lHt9c5I/ZzoLgOpJwlRyfoofy0F4l5SQE/EUBxkZVjg/T6+2gUMR/AAK1EDCu09xBGMnz740CphSk/JlCf/SPb8PbP46BaQnkuISEpQk5ScggH+WP2/l7A4Vvz/ujySpXaEkFByT8x847ckZzg+4PnB0Gyrpe3Ado9cor5cUhLL7IWA4sBz/ET3dwTkkjA5I5yQMjOg3TdSO29G6l+lS5bUlMtTf0jb1QaQFJ7khMiJJ+CoBaFdhTJX3glJKcKKUlwoCgR39m66h5d09IN9dHd51uRI3P6FN1a3tkul1Fie5VE7K3nPqV27O1Jc2Q23GfpcBaL823o8eGpTlOpm3VPTIjxITtPVOD0YAg8jQGgNAaA0BoDQGgNAaA0BoA8gj30HgF/tbnQn/cXebabr9sWhBm3N6IVN2V3yehPtJQd3bSpUqTtjdUyJIW9NEm8dsqPVbRkyYIbo8dO1dvJlsisVkyagHjl7igkJwQkkAkH0Pr49ePTQZKOo9iTx3LXgj6Y9B58/joMvEcUlwJIAHnJBHIwBznHjQKeK8Qs85TxkJ8j8POPr6n9mgXlEmhp1JSVZ48gnAIH4cH39OeNAvmpjNOq1Fr0oOLoz0d6yrsjuNhERVs3M78KDUJawVFSaPc0yKuOtQUluJcFZWGkiKAsETtWuRt3f157Tz1LLdIqLtVtp9zA+90SepSo/YhC1NIStsBSUIJ+EuK8lSnCtPaEzYDn3lpCclSVtpHg+oKgRkcggg55BHI0DK7iW8h4yD2FOWST+qBnHABKSBn19/TjQQYvOkvMvLSkJACj5HIAXkAYIHgcDGf2aBIUSYYkpKQcHuOTzgEYwRyB54JOfoNBJK0qn8RtjvXknGcK8eQMc8EjGfHt75B9aRMT2pSFKKTgnnxgZ9Bgfy9NA4dIkpDmQpRwAQVfqkjwDgD1HPIyPB0C0aWXEhRxyB48ev1PtoKpCVJWhaErSpAR8w/VASEZT29uF4AIWcqHIBCVKSQzy601V6VULeu+l0+66LUKbCozjdajUmbUhSosxEtmGxKr1KuClVmLTvgmJb1GviiXVQLTXMmVSyqPb9yLbrjYN9B2jkW1UX6n01boVfaOp12qFxyx0F+qbfNR40ZiUJFa27vuo3PM7xIQtmNVrWvPey/p0748m1tqrXpT0JyMCPvepQ70nVh/qD6SKReldbQuIu8tjjU591xnmO8qq9wWVHqtrb3UiSlKiozd4bngR0uoUyLUgErYSDbw5+2tNhoou3HUxuTary1FKbI3WRbV70ujPhXzxk0vdWhbd2nSC2Se6NBuytOglSC/OUPjqBU01O6lNjqSjdHbC6m+0uBxij3pb7qm1qPaQxsDc1Ttpvgd3w0ur4OHFKQGSQwlWqG4GFpXLtZTvr9yk9YqUDPGR8ZagfoAskkjwAdA0FzNVqYlxqsR2VqSSFvrg3tUO5KlAf4Q3d3ltXtHPhdDWCMrU12pOAQsOK5GccNvpbjKUP8AGTTEUmI3ICcIV98jbHW1U7haSfmy/UNx6TGbV3Bb5WlLiwwDjUV2dNT97luVGS0tTlFtVqG5PmrT2pVBmSrbqF87i1FuWVHMG5L2tuO+kKVMdjZUEA4Ft7MXjMbkttwKRYNHlJacLdVaYk1lSvioU443bdFlyWJRlNhSktbj1q6W2W1koeamttMKCQVrbXWjakhioMsSa5XmFL+JX7hfTU6gkKQUNxIjSkIg0uPBClCmqp8ZmowkrKEVJaEthAOKFEADAzj51nPc6sklTrnPaXXCcuKSlIWrK1AuKWpQcAkHPrz+/QVknIzoO6VFCgoYyPGfH7saCqHlkgYTyR6H+uguSUj1Hgeo9QDoO6HCgHGDnnnP8iNBeZB8EH89B2BKQoD/ADec/l4/ZoLgOKUEEgf4Z+XGecAeeT+7Ggufif8Al/5+egrJJ4Prj+I0FZJJGT7/ANNBcICQUKzyTzyPAH9dBcdxKyOCMq5Htzg5zjQZmHIRg9/CsEcZxjHHBzz+ZHroFRCeSrs7fTOSfqDjHP00Ctp7zYVytec8gEYByM448eeM5H1HOgWUKQlKwQV/L2nJ5GRg+g9T6jHk86CUu0dyKp9RhZdUlKlIcISfmBCgoJAHgeODk+mdB6QujvcJi5rNVbktxKy/CEIJcVyW1gnB71KHxO8pKThAwDxwchrU2Yuhz7PT7czb2o1CbIomynXdb8jp/vNhTryaOdyqhKhVnZivyYcdYjuVdO4MBuw6VNeQVQYG6NeelKMMJcjh7PU4xgehI/ef55H4g/joOdAaA0BoDQGgNAaA0BoDQGghr9oF0g2p12dH++/S9dbrEFO51ky4trXA7CjznbP3CojzFw7eXjGYkLaS45bl40uj1F+OmRE/SFPam0t6S1FnSCQ+OxetkXbtned2bc37bVSs++bAui4LKvK1KtHEWo23dNp1eZQrgoM1kOOBMujVaBLp00JWttEmM6lp2Q2EvOBg4z3a5ntzxnzjx+R0GcDvxF9vbjscAznOeFemBj9p0GehnABz24SOSM459uPy586BX058oWlXxgcDGMY/D/Mecen7NA6VO+6VOBMptQZMyn1CM9TZ0UFSRIhz0mHLbUpCgpClR3nQwsHvblmO40UOIQtsG43DNSjW7aG6PxzNuva2tIsG/Z0dgMu1imNphLo1wOxkE5jVWFJYqwUnvZZbnOMJcX2FWglpZVwMVWmwqjFeS7GmxWH2SlYUlCXI7R+GnAACW1ZSBgYwTgZOgz1ywE1CASsZUWVKJxkjgemRn6n0/E6CEe5FvYW4pDZGFdwJB8J+XB547gCc8/hxnQRikEw5jgU2UlKs4zjwT8w4PnGf56B1LMqmSwnI5VnOf9Wcen05/hoJMW9MCgEqXkBKSfqSB+zHvnB9tA5lPljKUpcABwkeD5Pn0yOfx59PQHApr3xkBvu7u0Zz7flk+ceh9NBlUqzxjwP4YGg7E4BPsM6Ci4e9JT4z6+f3caDJ/pyrPRYFMqclmvUOmPMyINvXJAhXPbsGQ13Yk0+3LlYq9v06UnuJYlQ6Uy+ysl0rddCFoDFV5ujXXMS/eNLk3AkpDbTM+t1G44MZKEBtluHbu5q9x7IpzDTSENtxaZaUKM0hIajtMsBLKQb2rbVWPUVLVFplHp7XAbS5t7tg4pnHohqzrU2+jdoBACURW/HzKWMBAIqTsZRHXPiM1WihCPmS0vaaJGXnx/8AvKNyQ34z8rkZ1s/521aDqnZGivLSJ1beSw2oFtqhWVtbQJCEp8BFTRZdWqbS+MF1ioh3tKgHiSVEMq9s/t++thNZp1auxlg/FbavC67huBlLuAhLiadInN0FBSEICUJo3wgE/KgEk6BVwIFNpEYQKNTqfSIaEp7Y1Lp1OprHeCQpws0+HFQtawAFuLCnVADuWfQO6s5OcZyc4GBnPoPQfT00HGgNAaABwQfY50FT4n0/f/toKmgNBdtu95SjtxgYznPr7YHv76C4QvsJOM5GPOPUH2PtoKyXu5QT24ycZz/toK+g5Se1QVjODnGgvmnAvuWflCTzzn9bPrx/DQXAUFDIOR40FX4n0/f/ALaC6ir7gsYxzjz7H8PpoMiwoIPcfHg/Qe/7/GgUUV/Pww2rH63djnyeM/tPHHjQKiFIAHCwFEgk5GQccjGfOR5PGgWMGYeB8Tzxn8SPTP7ifQY+oO3ZlXVFnMqSrKk9mMKwR549fT+pJ40G5vou3RdplcgR3ZIQiW5GQcuYCMKSc47D3ZCCn/LgnzxyCg+2u2HrO6fTk3u1YEuZRNwtr5VPv6y7loTqY1eoNwWotis06sU2oJbL8Co0yfGYqdPmtdy40iK0pCFFOQHpB6B+qGkdZ/R5089TlI+A05u7tnQq/ctOjF0sW/uBT0u25ubaqFPNsqdFqbi0a6bbEgMMIfRS0OtspbUnQS/0BoDQGgNAaA0BoDQGgNAaDqsEpOM5wcYODnBxj5k5OcYBUkZ57hjOg+cZ/aruglWwHVrZnWFZVHhxtuuraEYt8t0wTY7VI6g7EgRY9xTZqQwqnQo+5Nlrot1UyNHeVMr1z2puhVqo207ITOkh5YG/U+vHP7dBm4i0YUpRySc5IJOffOCc/XQZiMs8nuPYogDk4IBAIx6DIPkaBSRnuxaQlIIIHkD+eOPX08/sBwaFNUhbSXHFNjuyrCic49wgnuJ8+vgeugWrUalOVVMSrBC7f3Go7u31yfGWtmJEnsx3pVkVYLOEolK7qnQllnPxF/3bjrKX/go0CM2HqtRt2VcG2lxLW1VrKrMiIhLy1hblNCltR3QklXcy40Y0pOMgJkJJAKFdoTLaWJcVaCElJThJ48YOQM5UBj08HxoI77i0RpZdLYJQVqCcNnB7UlJGD4HeB6DkZ0EHrupqIkuQpSTlKiTlGchJUe04B4OMYyUnJ9NBjbbnqZdTglsBQxjKMAlWAACMeDxjx4APGgktalWCkNqU4VEhGSSokjtGMkk/s9PbxoHspcoKS2sJQQcYUQMnBHuM5yPTzjjPqDgUuYrICMAqAGAQM4zwcEcc+/1/EFeknAPgkDP/AAaCqFDtwTzg+/1xzoKegNB1KUq/WSlX4gH+OgsfHekcJ7j8vp4Hp40HbuUfKlH8z/XQdFKABKjx6nk+T+3QWjqgpQKTkdoHgjnJ99BjVoUkqUoYT75B9VegOf3aC2PJP4nQdFKCeVHH5E/w0FopaitRSpXbxjBIHr6enp6aAStWRlSsfifbQVCslJIUcDjOT5PjQXCVoUlCUnKxnPBHnGOSBnwfXQVEqwT3E+3qec6CoCDyNB2BIOQSD7g4P7RoLht1IRhaj3Z9QScc+uD9PXQVkrBypJ/V5JGRj+B/ZoLhp1Pae5RJ7j57jxgfQ6CulaVZ7TnH0I/iBoO4JHGT2kjIycHB9R640F4HWxgIPbkDICSPm9c4GM+Of36CslWM5J9MZyffQVm3O1Q7VEZznGRng+caC8ae89y1dvrkqI8HPHP09NBmoSyhYJWUpUElPzHBHPoDx+7QKSI4kk/Nkd3rnznk8/n/AB0CvgvEEEJSpIAPcSnJHlWQSDxz9ePXIwC+olQ+C+2vISABlScg8cj9Xn39iCD+QTx2AvV2l1SmOfFLYbeQv4qV/OEhScAknOADx5IPtzoPQpR003fDYatWtOW1NEyhymVNPDvW6j7qtpxsdvzLKmVr7EKP/iNjBSSDoIr/ANnZ3aqe1G4PWv8AZvXtV6qp7aC9W+ofY6kVaROktQNrNx5qKBuRb1tNvKkRqbQbY3Ih0i8psOO9GjvXFvRVJcOGfiS1NB6mkqCh3JOQfXBH8caDnQGgNAaA0BoDQGgNAaA0BoNaX2uXQ1T/ALQzoP3t6d24qV7gLoydxNkql/3Bpylb1beIkXBYbX36otPsU2m3dLbk7e3TOZSxMbs277jRGmRX3Wnkh8iKo06q0So1Oi1qmzqLWaNU6jSKvSKpGeh1WlVOmy3Yk2mVSFIbbdhVOnvtqi1GC6hD9PnNyae+lbsRUh8OWHClQTkBJIznHuPX9ugzrbvY2ntUnIGQMg8k5/H1zoM9DeKlIJUn9VPt7c6BX0x1vvRw5zzyVfTnn+uc486BxzBj1ykSKS46wwmY2GW5Z+It6nym5DU6m1NoD/8Au6VVY8Opwu3CvvURlIOD2kEBf9RlwKtt9vkxDLL7j0uwtzGUkJ+DcVKkSoMxxxYyhcdcpt9LDrvap1j7o9kfFbGgl/blTTLbYcadDjbiUONL+UpdZdQlbbqSCQpLiVA5BKQQQCcaDm7aQ3Kirc7R3ZWpBHA5USM8cnHr6kn8dBBvcOgKbckL7RyFq5TwVdx4HuSkn+Wgj2nvhzSHAUgrIHHaAEn1yOAcjBPscaB5LQqYUW094KR289w8EDtPB9R6nzxoJH0OU0pCE5OO3Iwo5OTzz58/sOgcanvNIU2Uhef/ADH6+Af5nGM+2gX8GQt9OVEEBPGAPTA9PpoL4qSnyQM+MkD+Og50HCjhKiPIBI/IaC1DzmM8YyecccEjQUiCCcjBJyc+/wCGgNBwpIUCD4P8jnQWjqQhQA8YB5/E/wBNBQcCS2vuOMDjnGTzoMWfJx4ycaCg9+r/AM9xoLXQGg5ycFPoSCfy0HKVlBynz+3QVUvKKh3EYJ5OANBed3JDagpIAPy4VjgE8jPg58+NB2SrI5Izn6D20HfQd0rUkEA8K88aC7SU4SEkEkZIBBOfw8+2gqJWUEkeugqodUVAKIA5yeB6HHP46C4BB5SQcHyCDzoK3xl/T9mguGnAUkqUkLzwMgH24HroLpCzjCj5PjjJBx49efAxoMwh5JLBUhacBQHlOQO3z59fx0CihPsuf4ZPafIyrByMe5z7/X0OgUUWT8MlHzEAHnnGMZ4P4H+f4ArIEpOUYCzwPBJJ9vz88nzz7aCRu2dxuQ5MPsfIHxAFAKBUE8HjkkfMEjPnJGeTjQegbom3RTJht0mXJC2VMfDDLi0grCiptYIB71ApyFBIJGceugh31FV49Bn2r3Rx1nxp8+ibbXTfB2K3vXAQpiJUttd4lizJzld7UqVPo1m1ypWpuxJhpS886rbiM7GjuSWmDoPaox/4Tf8A1ICj+JwR+WDx9NBW0BoDQGgNAaA0BoDQGgNAaAPg84+vt9dB8w/+0x9CUXpG6/6jvFZVEh0TZ/rLiVXdug0+mQHIVOoO7FKfp0DfShskKcirfrNx1Wj7syFBcJC5+59YiRoTEehvrAed1K8nx458+xH00GVZc+IknGO0D1znnHsMeNBnYDuTjt8ZT59gTnxoFNT3nB2nu8/8/l+J9/cHIokwgBJUVEFIKc4JGORnBwMZGeD7HOgy71Ei112v2TUi21St1aSGoUp5ZLcHcOgQwKY/jtCGpVbpLMaQ32FtMiRa1RkvufEkhtQWuwN2zHqJItqtqebuO0KhJolSjSApLrUeGr4cTJUMqIWmS0V4+YNoXg93akJZFAlwFBY+JlHenPqFYOD58DGT648eoCMG5VCC0OlLfnuwePOVemQTg+2P286CGN0U1UaWoq+TtKsDt/W/UB9eMH/zZz9NB3tipmMtAWPkUptGe4DGAMeU49PcYznk86CTVt1MKSwQvIISR5API8Ac5H4c40Dv05zvShXx+0ecdmfP4KHr9PGgcCjy0tfIpfeFDH+nBJHzYOcnA5985zoFK8AsgJVwMEHHnPacYzxgjHr76CohfcpLeMfL5znxk+Mfz0HK/wBRX/lV/A6CyCvl7cequf8A8onQCj3KKsYyc40HGgNBav8A64/8o/idBZv/APhK/wCe+gxugovfq/8APcaC10FMrwSMeDjz/toD4n0/f/toD4n0/f8A7aDlKu44xjjPn/bQXLTvwu75e7uBHnGMjHsdBWaX8RXbjt4znOf5DQXHxPp+/wD20HcHIB99BUbX2KCsZx6Zx+/B0FZL3coJ7cZOM5/20FcjBI9jjQVW3O0duM5VnOcecD2PtoLvQAOCD7HOgvUvJWUjParhIHKuc4B8AfloMk04rCQo93Ycj0znz748aDJMPgq70nCgrBT58nnk+31GPb00CjYkOJHcVcKAz9B4z9cfXn6jQKWBL7e3/EznB8Yx59B/AePPjwDrWfVvgS2h8TwQrPjOFo48E854JJ8YxyMBta6VdyF0at0xQk/CC3w329/gF5OScjn3wQODjPHITY+0/wBkad1M9GV3JbYRIrMW35EyE4hKFOolR2e8uoUW1kKMVMlCVJQFtOLbfSsljscDcz9kH1UVDrA+zt6ZN3blrc64txotkJ2t3iq9WWz+m5+7+z8+ZttuBWaw0wpxtuZddcth+9GSChEml3LTZzTaGpSW2w2XA5/aR+w40BoDQGgNAaA0BoDQGgNAaA0Gmv7d/oMPX19nbuxYtq0KRWd6dpEjfbYiNTyyidUr/sGk1UTLOaQ8tiPLO4dk1G6bGp8ebIYp8W4a5QK5KdZFEbfZD5PDLyFHCQSPhtuBQKVJKHkJcaWlSVKSpDqD3tLSopcQPiIUptSFqDJxl9ykpSSPJI8AgZPPvoMqw72kKyoJ88Z/gD68fs0CohPKSEFOT+J4wMc85/l/IguKbKUjtV8ozjkeefQ4GcnP8dAuX0y6lSVNwHmY9XjPRapb0x/5kQrhpRVKpT6gOSw88P0bU09wDtFqNTYIUt5opBDXJVmLa3MtDdaA27EtPeKBHi3BGcQW0Uq6G0uieiWnISxKaeXJTIQv52n4MoE96DkJlUaeXmUJ7iUpbQleeCSEAH5QSPPJ5x5xnGgTt5UxEmI4pTbZASVH5ATgg4I4PPBPpjj6aCDW4dGDMqUPhklYUpGUj5fU9pI+UnIzgYPBPAGgZGMVRnwkghLSsKCsdpxxnB4URj9vroH4tGqApaT3HGB2jyASoc+SAOc8AYPjOgf2hyFOoA7wCns/zYzkKPp+H7joHApzzncnBRgZ9R7gc8fu9DydAu2H/ipHJ7gBn29cYIPPA5PHOgr5Oc5OffJz+3QVw6n4RSclRzyRn/LjGfx50FEYCMf5u8nOP8pzxn8fTQddAaCm6SEKIJB45HB8jQWhJPkk/ic/x0FB/wD8JX/PfQWJA7M4GcDnH4aC1e/V/wCe40FroLYqHcoc8FX7s6Cn8VPaVc4GfT2zn1+mgqJUFDI8aDgLGeCR9fH89B3Cj5Bz+eQfx+nvoKiXVDk/Kf8AoOP6aC4bUorSCpRGfBJ/roL5ZIVgHAwngcD9UH+OgErwOcnn8f4nQVEryeMgjn2/hoLht0JCu8qJOMZ5x+08aCshYWrCc5xn28aCr3r/ANSv/Uf66C5Q4k9qckqwM59wOefy0FYEAE4BWMlJwOCPHPkc6C6alrSkBYyr1II/eSOdBkYr6VJJHcCTk44wfXkY9f66DPxX1LaS2CM/MMqPOCo+vPjPHPHHpoM5HeLakBJBxweRj0xj+fj00Cxo9Rcjuod7hhBGQFZOAoHjx6jIHgentoJpbL3iuPUIa0LKQl+OpOD2qH+KnPg5GfHnOB9dB6HNo7hZ3L2iqluzQy6ZdFkR20rJVy438BaCAo5Stlx1JyDgkn10DTf2fG/pO0fUb9oJ0GVmrRWqdS7stzql2goUzvRW10u6f/6b7wqhqekSHZFCok6hbOvFCPhNRqpdsuT8NbtVedIeqvQGgNAaA0BoDQGgNAaA0BoDQdVISvHcMgemSB+YBAOPIznCgFDCgCA+VF/aA+hBHQx9onuRDtO2lUXZXqDRI382idp9Gep9t0tq7atNTuJt9T5LTCKKiTY9+N1GREtujrbFt2RdFiuSocdFbgqeDSawtKSFJUkHKgTkHkEpI54yDwR5zx50GdZDJbTkpyeB8/k8HA+bk8/v0GWhPOcfN/l9k/X6aBVwpAJwUqUoEcgK5x9BxgDnAGOPbQOPQpfcgsuJUUOEpKVDt7h2AY7sZGMnkHGcKxkDAd6/bRu+k3vt6pSe+vMubj2TLWg97N2U+a43d1IYQRlLbyhHrTCUhTjjlyVFKk/AbYQ2Cm2HvZy5bTp65YKKjS0LpNXQtQUtE2EUNAr8Ky40pBdKwFJeGFYUo9wSHqTaJsBSG0c9gyoFSknjJ5BI4HnH56CKm41vOdzrhb5KXMK7FYx8pyRjt4znI5/HjQQ/r8P4E1WeASsKA47u1RwRjBIHBBBwfOgzlrVFTS0p7/1SAk5TgfNgAZByRxgeeOfYhI+2qllCMqz3dndnt5x3Y8cfXwPPjQOtAkcJIQv8QlRz65/E/wDMeoL6kvqUPmPangAKAT6qzyeTk5Pk+eOMaDPgg+CD+BB/hoOdAaA0HBIHkgficfx0Fq4tRKk92U59Mfj5xnz9dBS0FF//AMJX/PfQWR/U/JP8tBauc8Hxj8PX3/ZoLZQSMYx655z7aCzWkZUQOcn39Tzx+GgtflSpSVkJRg4Cj2jlOfJwTkk+v8NB3DgTx3JHg4JHj0PPPpoOrgBQo+oGU4J85A9PPBPGg7IcSAhKVpx8vHcDycE8kk+Sfw8aC4yPcftGgrIWQrOcY5HjzoK5ecVyVZ+uE+nHoPpoKzDncvDih28eSEj9vH8dBXBI5HjxnyNBWBBA5GcaDulakHuScHGM4B4/MHQXaVpKElSk93OckA+np6evpoO6Vc9ySDj1GDj0+o9f36Cql1fcMq4yM8JHGefTQXPej/Un/wBQ/roLlh1SDgLASQT/AJcH1HJH89Bkm33Ep70L5IPICTkgnGBgjjHt7+50GSalOf4Z+KO7nP6ufKccY49fbOgU9Pn5IQonGeQeOARk+fA4weB7aCQO3VwfdZjaUO9hDjXYe5GD848d2ckHgjnkH1yNBvZ6NtxFrchQFyCQUgFPejtKSoBeQOcY8+oAzlI0CPt27KZ0y/bi9GO7au+m29v/ACb36YrqnRo70lbqt17blM2BCeEV1tD8WRuxSdrG5DksuMxosV6UkJeR8TQe0lBykHJJOc93bkHJyk9oCfkOU8Z/V5KjkkO+gNAaA0BoDQGgNAaA0BoDQGg89/8AaR+hB7rJ+z8ua+bOoiKrvJ0kyKtvrY6Wl/BnVSw4NOaG+Nos/wDdpipxqVgU+TeFLokdlqZcN5WHZ9FZlNIlvtSw+XsjLgSpSu74oDyFgpUHG3QHmnUqQSlaHW1IcQtKilaFBYJBzoMtGV3FCcY7VlWffhIxj8tBnmF/BKQB3Z+Xzjjn8dAoYzxA7s9nzD5hzjnHH4+Pz0CxpEwB1H+IcJHd5xnIA8gnjjOfIHoOdAvHn5yYrFfpA7q5bEtu46YlsAPzfubT0eq0JK8lKxcdGlT6Sww4n4TlWlwHFcpSUAhfiw9v95I86mvd9jbxwo1x0F9havubVUmhLj6BlOCruk5Ce1srbeDikoLSUqCZlGkh+KlAHcFcEk85UlOUqGPQk+vIIOgQt80lLzTylp8trR4HHCf9uPbkn10EHb9oZYfWUpwB39qwnyAo4zzxkfXjkaBpqdJMaWlBUQe8qKfYJXkH8DjJHOOSM6CQVqVL4iG/mIwEcg5893geQePTzz9cg+dKnB1tJLhHbgccg4A/P8RyAfGgXlNmYWhPfn5k8e57hgHHj29eOfXQLeIvvbKsYyRxnPpoLrQGgNBRf/UH/mH8DoLXQGgtHHCsKRjA9859x/LQW6hhGPYAfsI0Fi8rntx6A5/H/wCmgoaC3Wcdx+p/joMbLPd2+mVJH7lDQUlHuV3eOAMfhn+ugql4kY7Rjj19tBRR8vb64Of350F024VqCSAM+uf5aC7SruOMY4z5/wBtBVC+1P6pOATgck+uAPU+gGeToKiFdwzxz6A5I4Bwr2UPCh6HjQXjTpUA32+5zn+WP56C4/VV74/LyPz99B2+J9P3/wC2gqaCq26UAjtzk5849vp9NBeEYx9QD+3QcaC+R+on/wAqf4DQVWnlBwI7iEJIJ54xwo8fXJ9dBlGnUkkp57cZ/Px/DQZyJJbCgvPn5MegzyefXGMeB50C/t6tCNMQc9qE9pKgf1AFZKh+BOcfvGNBtQ6U9w0QK7RlJlKCCpSVnvSkKHdgpOT+0jjGR40GU+1Uv2ZtrRdmOpWiR2ptb6fd3trt56Ml1f3duTUNsLspN6RI77wQ6UR5Ey244fyhaShSg4lSApKg981PmsVKBBqMZxLsafEjTY7qCFIcYlMofZWhSeFJU24kpUOCkg850F5oDQGgNAaA0BoDQGgNAaA0BoLeVGYmMOR5LLUhh1JQ6w+hLjLzauFNvNqSpLjSgSFtqSUOJJQsFKlAh8jf7ZToPk/Z59fe8OytMp8qPtRdE5nd3YSUYbEaCvabcGXV5tLoEINKWFI26r1MuXbRx594VCom0P08/ES3VmloDV4ySlffk9vggef2ePX30Ciir7lFfJHaQAfOe4D3x6H19dBmor6cKCQe4KA5AxyfxzoFXAcz2lRSDjA9P5e549TjQOZQZxbW0nOVpdYdbKAFBC2HUOJcySPnaILjIHAeS2slIRggm7vthyvWPc9sU5JbrNgyjuXt+o/PIkUGpSXl12iR1eRGo1UbqtOaaX2KbhIoa+/ueQlQO7tJeqLttak1hLilvSmW25gKk9zc0MIXKKgFfKHXS4+Ej9UudoASngHlqbKJlPz25KkFCcgE5UnycZ4+Q88+nHsEP9x6GUPKfCFYKHEkDJ+bnPGMefUYz9CdBEqqR3I0pxXbj/E+XGSUnPk8eAeTgnA9NAtbYqpQ4yglQKe3PgA5GeMHkAe4GNBI23pYLaFrUChWBx5CjgjIOPTOTnyRgZJ0DoU6R2hOCjAIIz5x3ZPocevGdAvKfJDjeCsAjGOfpnnHr+XPnQKHQGgNBauOJWkAA+Qecex9iffQUdBbPkpIVk4wBgH1ydBQ0FNShgjnP9DoLV3+Ix+ecfz0FsUlOM450Fm+sIODk93Ix9VY5yRoMfISQok+FdoH0yn1/YfGdBZlJTjOOdBU7x7H939dAFxJQpODkqBBwMADGfXI8emgpZI8HGgumngFHPcflP19R7nQXSH096cBWc+w9vx0Fz3p9j+wf10FZskE4OOP6aB/em3pz3G6p93KDs9tuzSYtSq0WRXLhum5FuxrY2/sqjVOiQq7fFyvNtS5cqnUyZcNBhQqHRKZUbguer3BTKNT47cN6o1ujA0dYhVGhVaq2/XIkin123arVber9Lk5MmkV6h1KVS61SJS1OOhcum1SLLiTC26ttMpp5tHwwj4LQWfoD7/7f10FVKhwOc4/gNBUyfc/tOguEvJCEpIUSM5OB64+v00FZC+9JUCoAHHJ+mfQnjQXLbiQEpIJJOM8YyTxznPtoLjJHgkaDIRZa0EJOAc5B9Ppz5z+738cgqIctRX+sn/KBk4PoOeDjn09fz0EwOnm4lQapEWHMFh9AUCc5IcGSkEnIxxzgHnPvoH1+05uZu5Oler0guoc+/0l35cEFA/xEFTndg/KF93anv7iMY7ckB75+l+oP1fpr6fKxJeEh+rbIbT1N58Z/wAV2dYNvSXXMHwVuOKVj68850D6aA0BoDQGgNAaA0BoDQGgNAaA0Hlz/tUHQi31E9E1M6qLNo0eRuh0bTandFbeQqaiZWNgbr+4xt0IXwYyfuMt2yqnS7U3JjTa2eyhW7bl+M0mRFk3HLi1YPm8JKecYA7j28nlOeDyecjkEcYx650GTjvEAlKx2BPnAIyVDHpn1Ogy0R0hRBUAVKBwcckfl+OgVEZ8BaQR3ZQkgg4GDnA4xznnJyefpoFxS5a2nG1NpKVZHcSO7g/RWQD6nxoFrIqhpX6IvBLbav7qSH5FXYwXf0nadWZZp90QHGgMKWxDajXHHK0lpuRQG45SlUsr0CMtJCtr93rgsYqCLfuhS7ptB0YEcRpXc89HaK+7JbStcNDfevtDSVDDh7tBMimyUyIyAog9oBSPdWDjwBnAV4IxzzoGnv6jIlNr/wAPKihRTju4UclQABAz3cEH15GNBBu8qUY0h7KSO1zk8gHjwBz6cHB5xn0zoEVSZXwJmHDhIKe3OE9uPqACeAPOfB0EhbVqbbrSElYUOCMfQgA5HsDxk+ugemmulxIWnJQO0EA+BkAgkcjPPrxnIxxoF1TZCUgDsUPGcqOPx5OcfT0+ugW7T4WSSsFODzx5yPYfjoK/xEf6hoD4iP8AUNBZaA0HRSEr4UM/mR/AjQUHA2Ensx3D2JJ9fQk6C1Kflzj5uD6+T540Fq6eODyDz9DkHQWxJPk6CwlDI8ZXkBA9cd3oPB/E6DHOKUrPeeU+OAMEA48AeNBbkk+ToONAaDjIHkgfnoOwJHjQd0rUFA5xj6D+mgvmVLWSScoSR3KwAlIIUeVAADxknPHrjIyDi2VtjuHf9ubn3jZ9t1CuWpstQqddG6Vwx0MCkWfSKpWIlCp8WpT1PIQqvy36i1W2LcjNOVZyz6Nct4uoh25QqhOQDu9GW/iOm/qV2o3VqUmOxZ8GtptLcx+oJcEVvbC+nFW1flXkR0KbQ43bMY07cpqIUtql1mwKDDey2622gJjfa67FDazqkk7iwAF271AUD++xDEZqNT6VuBbzkC2txIjMtoKRPeq+bU3IkzVhz73Udx6mk9iI7DbQasi8cAJUMD6D6e4+mguGXAUqKlDv/wAucA+eeOAeM/x0Fwk8fMRk+M4HH/M6DtkHwQdBUS4tIIScAnOMA8+PUHQV2FqUo5OcDI4HBGSDwNBdfFc/1fuT/TQVlODCcKGQRnH/AJT+7P5aDKR5nb2hJJIx3KBH4+MHHt9ToH/2mq64s5CsKSSUKSonA7/idyuCCCcc4IIA9McEO/2gG5yl7ISqaxLV98NMkraS4632GSmMVIQ535QlsvLxkpKS2pZIOBoPpqdOtAmWp0/7HWtPbWzNtrZ/bK35TK0di2pNGsihU6Q2pBSkpUh+O4lSSlJSQRgYwAeTQGgNAaA0BoDQGgNAaA0BoDQGgwdy21QrwoFdtW56XCrlt3NRKrblwUSpx2plMrNDrkF+m1al1GI+hbMqDUIEmRElxnkLafjvONOIUhSkkPj2/aVdGdwdAnWrvr0x1Rqsv25Zd2P1La2v1x9uTKuvaK50Jr23laM9tiM3VZyaDNZoNy1VmPHjqviiXTD+7R3ITjDYQhZPYkoHggcnzwQfoP3aDKsrIKF8Z/PHPHvn9+gUUN5Sik4AISPf0zj10CogSigjuUQOAMZxnzj1x50Do0CWgtdygl0fKlTLqEuMPIXhC2X21ApcZeQpTbyFfIppSwsdpOgQV+Ul9dgxpdHW85dOxlTYdpb0lS3ps7bCrtomW9IeUf8AEW6zE+LT5an1fEeqlFqSgAhSU6CSe3l1R7goVMqsdQW1UIrMtIwco+MD8VBBP67b6Xm1DPlGAOOQWddiNSmCrAJDSlDPg92eT5Pg8Y9dBDbcihhH3l1LQwUqWTwMHPao8DOB5znyOToIzzWSxIzgDBPb9fQ5GfT3GM/XQOBadTLRQkHIIA5zx8yM+3jAA9OffQSKoM8qZCArPf2/kc4488en055xoHCp7+e3vWoE8DGPH9f3HQL6HIStJCcZ8+D+B/edBkUnIB/550HOgNAaA0Fq62EJUsEk+xxj1P8APQW5JCc+uB+/GgsnQEgkf5s5z+Q40FtoMfIWQrvwMoVgD0ICj5+ugx6z3dx9wT+7QW+gpd59h+/+ugO8+w/f/XQdSSTk6Dt3n2H7/wCug5CzkA+CQOB4yQMkkhIAzlSlEJSMqUoJBICV/SZ0k7g9Xd//AN0rNfFt2fRXIz25m6VRgSKjRbEpNQbMiBAi0hbUZ+4twK9HYkItCzmg05UlqbuG53rXsymzqs6G3PoW3A6ctvupXqx6JrGuqHuH007n0Q1fb6o1yqvVSTeV3UrbijWLv9aUGp/c6fAueVclqGpGLc9MhRKTU7Y2TkXDR25FMqMGWQ0X7wbcVHZndDcXaOuyl3BIsS56pbb9XlRVRWrwpUZ1pdDuNuG6gFEO97YmUu447Kmu5cC4EoU2r4a2yGzTqh3mqu8P2Y/RTVrrqEeo3xS9zanai5veyajVbY2uo29W0k+rOulTjsh2741m7R3dcDgWFVKtVWBU1DsUyAGp4KKc4xz76Cukng+uP4jQXAfUpSQQkfqp9ffz50FyFFOcY599BUSok4OPH9NBWQstkkAHII5z/IjQd/jr9k/sP9dBXbUVo7jjOccePX8fbQXcVZ71pwMfL+/QOvbdTbpyo6nHwyCsKzz3cDGRg4/aP2+gYCmWinq+6velTpZfhy7ho28e++19gXTSKX8Zmc7ZVQuWkqv6cl9hmQuKzSrHZuGtzZxZLMKJTXpjqmWWXFgPrHxSn4XYhAbS0pTKUDI7Q0e3BylPIIIPaOzPKCpOFELnQGgNAaA0BoDQGgNAaA0BoDQGgNB49f7Wz0Jxdw+nPbzr0s6h05V59PFZpe3W79QZgyDUK3shf9fEK0plUkRCX5MfbLdGtRI9KjL7GIlK3XvasypTEelJiSg+fmj9b8P/AKfz0GciHvWlQ8JbCTnznB/HjnQZRpQS7g5/V/mrQKaE6pJT2cZKc59semM6Bf0mUtsJypOT2+D4HtyB49fQH8sgrnpUKm1Gl1+Wy2qDObTZF3hLYUqXa1ySEwafJmHIIZt65KhFeZ//AA0QqzW5jikogrBBE7UKlbf3reW1VVeUE0iYqp2ytwfLIoM4Kmshpau0uNsR1R0tdqFDPxAVABJUEx4zrciMrJ/8RvvwcZypPdg4JwecH88E6BidxqJ8dl9XYc/DUsHnGCkowOOSOPpjwfYIV3bTFRHXChBABX35BBVjGMcc4yfOMZGgwNCfEV5sqUEHu5z6AqSfB/3H7joJDW3UQv4aUrBx2nJIx59sn0OOcfs0DzwZS3A2UnI7B/D6D358/n50CzprygfnUFA+Ag5IOQQTnAxgEZGfT34BXNLDicjI7QM5x+HoToKmgNAaA0FF/wD8JX/PfQWR/U/JP8tBaPfq/wDPcaC3UQcY9EpH5gY0Fg4kgrVxjJP186DHLWFocIB+dSVDOPCUgHOCecg486Cxc9Pz/loKZ4V2+uM/TQGgpF5IOMK/YP66DuhQWgrGcD0Pn92R+/QXtFVb0it0BF2VOfRLSVcNCau6s0mBHqlXodnfpums3jXKZTZUuLBqVSpNrzqxU6bT6kJVPlVCBCbnRZkVb0RwNxXW7fl0bF7N7XdKnT/bkSydlrxcrVr3DSbOmVaubkbgXhKmUWmv2NX6giE1Va7N3MakRX6pWJlYqlwbzVl2tW7UY1Ls+2Kzb1aCDNY29urpFn7Fbrs3TbU/eNm4Z17v2BFW3LTbVNo1Qg02mwIlcaccFdpd6Upu+7Evu7n2YVAZqtQuS1LXbuKJbVaq8kJj7/2vsJ1I1u3t+KhuRUrZt5ylUel3XV40mkUH9PUGmJVDp8CbKrLUtVnXfQqdJdtd1hEKtXEzEp9Otam0GnzaRBkAIP8AUFvHTN0a5bdAs2jt0Dabay3f7mbX2+iLPpyhSENQmJlel0+fJkrhu1hml0KnRoyexxNu2pbEqqmXdEm4arOBhEvJUQAFZPuB/XQXQUMhPORx9ONBUHBB9iNBcsuJSsKIOB5xjP8AH6aC6+MhazgK+ZRxkD1OecE6Cr+qrn0I8ft0FTvHsf3f10HfQXMdYbJUVDJx2gHnIJxnPAz6c6CzrV3ooECQ6txAAQXE5eKSHB8vICSCkAcnJOcYHroN0/8AZX+myvb9faF7ldYFYjRzYXSltzV6FQpchyS7Lf3i3ug1a0KWzRVfc1wXYVE2xh7os3I5+kWJUB+4bVajQp8WrzJNND6ImgNAaA0BoDQGgNAaA0BoDQGgNAaA0De7s7Y2bvVtfuJs9uJSf09YO6lj3Ztze1G+O7FVVLTvWhT7cuGAmUwtt+KuXSqjKZbksLS/GdU3IYUl9ptSQ+N/1j9MN79FnVLvb0t7gqD9y7NXxUbYRVUuRXG7mtl9iFXbGvJoQnH4zIvKyaxb9zO04vB+jOVP9EymWZ8WewyEeIjy0E9yiM92OM/5VdvgH1xjQZVsvFKVgkq7cE5Tnyf28HQKCHIz8PCz654P0x6fjoFfT5CwUqKc8jKsjJ4JBxnIzx6A/hoHFi/d6rBk02YgvQZ0Z+DMYSrscdiy4zkaR8N5IKmnPhOrDSh3FLvapIHzEg3O4y57FItXc6O4p+6Nrau3Yt7ZT2pq1GQ2g0qsFKR3CPVKU/TpbXcMNCpSIgUVwnC0EsrPrcOr02FNZeL8aZFYkRXlBRUtp1tSm1LwkEKIQruyEgKHHJSCF/dEBEyEpSAFANrDnGO1IBUMlWCcfrADJPj6aCGW4tAKXnVJBDZClA4GCFdoJ9wePzI8c8hHV4LYnEOpylBygEjASkpHcMH8seeeBoHZtSpoSpsFWAO0kcnAKs88ZP09R+J0Eg6HPCg1jBSU5Oc88Z9fx8H9x0C8gOFvtV3YBUBkc8H04zxwP+Z0C3jSAptIQsklPOAeSOT5GPOguPiL/wBR0Fwh1HYO5Xz5OeFeOceBjQUXHFFY7FHtxz6fxGfOg6/EX/qOg7rWlTPbnK/Uc/xxj39dBZEnHaTwOMcemgoPcjH0z+WR/Q6C10FB3t7VY8558+/OgxUhKUJHaAnJxx9e7P8AD8vTQWRAPkaCgeSVHyByfpx/toLd10FKfhq5z82AR68+R7e38dBbk55OgV1Es+6a/QblrtHpC5tJtaoR6PUZLDrSpS6g/SIFceEClMuO1CYzTqbXKFKqkhbKG0IqLbVObeVAqKgCWSFowMfFQUlRStJWy4h1LaloCVfK8ntCEntBCu0K+Xu0EvbZ3NlX1sVSNu1yXk3XtVVbcNlvulU6st1fbaTHq22VRZcUWZTtTqFt/cbZXN7WYlSuh6t1OQUtQChgIx1+6Kzelcq1z3HVn69W63LTNnVSWG1PPFEVmHGjoShiOzGgU6IwxBo1PjRYkCl0qPCptNisQ4EdCAxQ7SvuUlKiQAtSkpUp1KUBtKXiQS8hKEhCUOlaUp+UAAnIXPxCoHBGCoqOEhPzKJUo8Ackkn8/bQd0LIOScEeOPx9hoLttbgUFqV8uCScg8EHHA59fGONBXD6SU/N+tjHynkHx6aC4DgHg/u/20FRLqkkKHze3gfn6aCt94WrkqIJ9P3fUfv0F8laFpT2nKgFFfB8cY9Me/jQUnpaWUklQyBnBzwPfIGf58++gTM642ozJWV4PcB3EKGQcgemB8w7c8e5OOdBHO7bjq94VCFa1uxJtUq9VqcKk06l0plUyqVqqVF1MGBRqbCDbrk6o1CbIYTDhRA1UJLiFfclSPgPQ3w+qt9jr0Dt/Z2dC202x9Up0eLupW2X91N+ZrE6BVPvW8F9waQ9cFHbqsFpqJUabt/R6ZQNsqHPgJREqtEsyn1ZwOzJzzpDaloDQGgNAaA0BoDQGgNAaA0BoDQGgNAaDxC/2uPoOcnUfaP7Qzb6hEyqE/TdhuoVVLojizIolVnzpOyd+1ydGbbbhs0e56nXdtKnVqo6+5VpV57a0OG60mDFjaDwyB0jlITjOBypQ7ScDkpbJIHklCCTyUJ/VAZ1h9fwk8J/Yfp9dBl4Z7UBQ8jxnxoFBDkpxypQIOMAgAEegz6Zxgc4/MnQOBQ5Sc5BWojwCQnKgP1cjwD7g/UcjQK0x6Y5VfutTxJt/cWB/cK4m0pCi1UQuZMsysup7PhNqbWZdvOlRBZlzrZQCptxaSCR2Lq0+2JVf2vrbq361Y9RfpweKu5iZTA8kRpTGFH/CAUFjCiOybFAV8iy6EtVBMqIv1Cu0AD1ykA5z6Zz6j8fXQR/3Fo/ew4pDaSUJUgDt9BjBxjOeTzwB4wOMhC66oHwXyo5SSvtPbgY/WJAHbxkj1Jzj30HS35xZdSkq570A5J8ZA4Axg4/Lnjk40Ei7bnhSGfmPgD1PoOSSfHp5H56B2qZJQpCVKUonuHHBHufrkfjzz+IBc06ShRQgeuQnPrnz48/8zoM3oDQGg6KUQcDHj+ug6959h+/+ugpqUEgqV49cfU4+vqdBauOhR+T9XGOeT659vfQW6lFOMY5z5/LQUlfNnPr7fjnQY2YMYH1H8FaCx0Fv6Ee4xoLR1tLYT2kkqPIOD5V9APTQUtA41h3bOt219wVU5TTkqDuNRJRjSZDsdh5qftrtqxM+dpt51LyURWPupDD6Qsq+JHlBSGwCRrtfodckuT4jKqbVO5ArLC2mWX25q0JfQ7U2oz62lzJEVxuV9/ZLzc1MxmSKlVO/728GJpEmdT6zHqFGlJgpmxE0isSwuU260iCFybdqgmMqemJao0iTXYrqafHk1Jn+9DlRbjyxBZjoC9qMqO5VKg7CYLMZ+W+8ylbaG1/DWGlhTrTLrrMb4xc+8Mw0OvfdWnvu/wAR1LKJMoKbSy4CSAMEjjPufcnQVwogYGNB3SoqznHGP56CqFqHqSMYwScYxjxn09NB2DqgUnA+XGOD/l8Z5/boLxh1Tvd3BI7e3GAfXPnJPtoLsLIAHHH4/wBdBUSTgH1/odByuYmOlSlLUgqBACCB3D1zkKPHGCMeT+QI2pV4MhZcUntOUjKinJwSMkkgnCTwRzzgjGgj3el5vupdgxFkLeUUJJUpbSEp7vmT2rQVHuz3DuGT3AFOdB6q/wCzA/ZU1HdrdGP9ofvpbLrO2W01akR+nGmVFLrkXcPd2j1B6FVdy2orkYIqNr7Qy4cmlURclhyOd5UGoUufDrW06F1MPoHMkltOfQAfkABoKugNAaA0BoDQGgNAaA0BoDQGgNAaA0BoGB6qenawerbpy3o6atz4bsyx96NvrgsStKjfCTUKWurxFJpNx0Z19p5iPX7VrTdOuW35bzLrUOt0mBKcbcSyUkPjd76bLX302b17o9P26MKLT9xNm75unbu72IDr0ilv1i0as7R5VTocyRGiPVGgVpKY1bt6ouRmHKjQqlT6g420qSlCgbeK+lLmO0nI+g8/t9tBnEPAuIODwrPp/wA9NBn46j8q08FPHP4EH92gVFOmKKkkrAIUn5T54I54wPwz49saBx/gMV2izqLKkqjtVGIWhJa5ehyW3EyIFQYxhSX6ZUGodRaUhbalOxktlXw3HEkG8vqoSqbV7F3q+7fcZMyU9YW5sCIe5FOr9IedhSnnxnPwwtMlLUhWUusGKpBIktEhLa3Kg1KYjuBxK0vNNKQ6kgpU2tCA2sEeQUdqvTGe3yDoLS66aZMR7uQXAtKwgjgDOCT4PnKfHPB8caCFO4FD+A8sdhBBPOOOEqyPXn8fYg840DIIcXDfT6IBKQPUZWSSfTGSToHltaqYSynPkDBz4x+eefwII9dA/FFlpWhIUsYBz+J4GfyB/H9mgcCA8SU4WO0Y+X1IGDx7En6/t0CxacBTnBGeR48EDQVQoE4GdB20FJfkfh/M6Cmo9oJ9hnQUFPAgjtPII8j1GgsCkpwD7DQcaDqv9U/l/EaCykK+QJx54z+PcRoMeUlOM450FulJVlI8q7UgAKUola0p+VCApa+3PesJSSlpDjmCEHQIxD6rnmOUmjSwimo+MiqVyPKMFx5EV8t1CLR5IaalxoCHEssVK5AtD6VLao9tNGvTvvtIBVVKREVKfXCbLcNCY7bKExW4SCtEZlEt1qKjKo7L85Mp1iNIcelQ2VNwXnnRFQ6sENCnywN3aZS1oaqH32kzKepwMqSiqJsCyDAeKXkONn4MhtLhKwEj5VLPw0uJUF8xQIUO326JFW+zLOJVQrBK3J0qtLKnpb5XMckqep334rdMWSp4VVa3qjMc+9O0tVFDLRW0w4MSAw2htqKlC1r/AF3ZMxSEtypTyykdvxEtNJixmQ3EhR0NRG2FqZXLlBdd49j+7+ug7jkA++g7trCFBRGcemgrpeClBPaQTnnj/nroLgfKrn0z4/ZoO/ePY/u/roDvHsf3f10F008lBScE/Lj09vx0HL9QbbQcZCyk9uSBhWD2k/QHk/T66BH1KsKaQ6tx9CUpBUcjzjH/ADg86Bi7qvJTyiwh0KWUqQkA5Kic8JHqccgY55AOTwGyH7If7L7cn7S3qRpVgtrrdtbQ2e/Srp393IgOCI5ZVhPS5AZoNuSX/vLaN0Nxmo0qmWU0qBIYpMSDW7rqSH4lDNPqAfVa2k2osjZHb+1NrNtbcpFoWBYtv0a1rQtehxUw6bQ6DQadGpdOp8dpAAc+DFitBcpaRJlrKpE9yVUHJU+WDk6A0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNBwQFDCgCPYgEceOD7aDwJf2tzoI/uXuztP9oNYNDfVQN3Y8bZffRNMpMdqNS9yrRpMibtne9Wmw8z58q9rBh1ey5b1SYEGksbY2pGamF+rxYqQ8bTfHI4PHPhQBSlSfYgKSoKT7pUFDIUCQzsZxvsyo5UMckEn9uNBloj2SR3qxkkDKv8Aq/20CliuhKkgICuBg4H6xzjzj6cnj66BfUSSoKHeooThIAC8gkknGEn0wCMjz66DLVCiQ62a/ZM/4Rpe59Jeagp+IECm7g2/Gacp0nvWAtCrioMKCW0tgKXJtSYELWJKtBabB3TKlUZVvVkluu2nNXRKm0473Lw2exp4gqV3hZCy2tKl8IbVkBbfcEoX0CVCWhK+4ltRbHoeBnGcBOMeuPp9QjNuHQwsOkjKh3KOUpyMIXkZIx64yPPn1zoIhVqEqM88fhhSEElKiEnJABPB59xyMY+mgvbcnqD6EpJATgYyQB9B6Y9yOB+egkTbs1am2/8ANlSee792SeefTx+zQO3THwpKEhKUqI/WBSCD54Pn94OOPpoFxBdSO1LiyeAcHKhjH0yPAP7NBfZI8HGg5yfc/tOg4yT5OdBScWntUnPOPGD7/hjQWmgoFSVnKTkePBHIJz5A0HGg6r/VP5fxGgsJKVdoIHAIOcj07vz0FgST5JP46BGX4qSi1qrIiLeH3RDEyYzCSlL0ykxJcObWYzji1NOxmk09mXI+JT3W50puIukB1mJVZLgBF02/qRQLAqElMIoTRqlHgzKdFUln70/JkMxbbcqUv4C2otIbKPuDZYiSWKOmnTZNOp0yoVCO04Gftl6436M5MuwBFRqM0zI7KWltusUpcCC3Eiuw+5IpaGPgPOwYnxJM92mFuq1d5U2e84sExaspTu5G60bDjjCHLcUFlDhaQ4qiW4mH3qIKGnpEaDIU224UOqZhfq9iEaBxniUqSlBKUgqSkJOAEJKg2kAYwlKAkJHoABgY0HZ1xJbAQo93aAcZBzjnnA/bnQdfiDKfmOM8+fGDoLkL7+4oUSkH6jGfHBxoKiVADk85+p9tB2C0g5BwR4Izn9uNBU71nnvVzz+sf66C6+M2AMq8J54V55+nOg7gggKHg+DoOqpCWvKucEAHOOAfXBAxj+nvoEvVKwyy26pxwJ7Ae4nPntyB4J8Hgc44zj0BhrvvFbq3I8dYUFZSlKHCn4hOAQQCB7frcZPHPOgkz0H9D2+PXVv7Z2ymzFtJrV5XQ4uqSalV2Zps6xLJpUqA3cm5N81GE1I/R9nW4qdDirX2qVX7mn0SyaZ31+vwWgH1ZOgToY2i+z46bbL6eNpopmt0VtyrX1flShRYt07pbg1REb+81/XSqO7KAm1V2MxFpFITMlQrStin0Oz6M4KPQ4KUhNfQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGghn9oF0fWh139IW+3S5eCYCE7nWTMYtGsVT74mFZ25lBUm4NsL4UumFuoqRad+0y3a7NhsOuNVSnU+XR5cWVTqnUIcwPjs3naFz7b31e+3F701yhXpt9eFz2PetBlSUSZdvXhZ9am25dNBmPNhLJk0eu0ydAfDZcSFsklxSyrAYth0g9p7QCR58+D9f5aDNtKDQBSQSceSD5Iz4x7nQKCK9nBJTxjx7Y/HzzoFTTZQCmwCs8gn6YzjnHHB9skDII0C/fYmVilOs09xuNVmHYdRoEo4Q3FuGlvomUaVIdX3KajKltoiVJ5PLdKkz0thsrUrQN9XKrEtncq190qep2JaW6sFuDWIy0BIpN1Rkx2Z0KWlKUhM6E7FdRMBJ7ZDMppGMJ7QmBRpaX0FskZSCk8+AVuN8ZPu2TnkcjQJi86SH2yQhPzIVk444SrH07jx/TGghHetHdZel/KAjLgPHPb8Pkp4848cEE4J0DWwHBFl4BUMH18ce5wACDzg+3HI0D4WvVApDYKhnI4B5wSPrnGfB9zoHqo83vwT3DtAPHrx5wc559iPHHOgcmmPlxKT9SPmznhP5e/7ToM+26pZ5Ce3B5GcftyRoK5KQThQI/EaDjI9x+3QWjv65/P+J0FJRwCf+edBbpSEjA9yf26DqpRTjGOc+fy0HQrJGDgD10FpIXlISMEEgHHJAyrPg+n7tBZKSE4xnnPn8tBaEA4yj4gBSS0oBTboCh3NOpVwppxOULScBeQhR7VHQRIpLkDbfc2Xa1XWE2q85GgxkSFH4LVHU6muWTUHy8VhD1HqDMSny3XlvJblRquUqc7e5sFBPuK4t1a6KDZkiTSbRpMiPIrt0SGlg1FyPLblgpintU7FkzkmTTKQrtmVR8LqtbU3Qfhw1g/SIsWJ96cistMKlyHJskNJCfjylsssKfdI+ZahHixo7YUooZjsNMsJbbT2kLYrLnapQAIz4z9R6k6DjQGgqIdUgEAAhWM5B9PwI0Hb46/ZP7D/AF0FwlQKEkkZOcjP4emc++gqBZxxggcZ8/t50HcK7gckDPH/ADOgqLlhlsglJKf1R/Hu5z7aBL1OutICgrtASSSeRwM5wSeR545/doGGuu7RJdVHZKlFboSEIJ7lYwkA8nhXvjHPnQPT0k9Jm7nVfvLYu0209oSbv3E3BqZiW3QkLSxAahMNrerFx3DVHULYt+0rYg4rNyXBLS5Gp9NjrQ23JqMqnQZYfUy+y0+zA2e+zR2TYtC0jGuzee8odOl77byPQlMVK/6/CDz1OotIjzFSZFsbcWX+kKhAsm0YDkKK2iXUrlrTVVu246/XagG0XQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaD5zv9qz6C07F9WNq9Z9kUeVH296q6f8Ao3cOVFhtR6Bbu+9kQYMCUuTIilpinOblWQ3AuaDDkRXnqrX7R3PuSTOdW/M+7h5T23P8RIx658+2Pp9dBmmfnWlHjCELz58gHGOP25/LQZuM92q7e3PAOe7HoR4x9PfQKWG/2FB7uzI/HP8ADx/P20Dh0OcFFDZVkd7YPOCpKVJKknnOHEgoV6lKlAHPIClcluN3XQrwsBAy9WoDm4VmupShtES7KOGhdFNjOEYbdqbz0GvKabwt52vVBKe5tpSkAo9k71euW06ZIlqSKlBKqVV0rPZJRUoCwy/8ZkgKaQtlUd9JJV3PLkoBPYVKB+5yEzGVtqR3ApI8+TjHd4/dn186CLW4lvpw86lskH4mPlPBSgjg55AKT7Y59gdBFOrQ1Q5K+4EfEXgAjHHPPk+3jH1zoFBbM/tdbPf64/apJ+v+/pnQSJt+b8QI/wAQDuyPQ4/eM49fbz76Bz6dLKAE/FznnPj0x4BPBx+HJI8aBZx3P8IceRjz+B9vpoO2g7IV2K7sZ4IxnHn8joKik96S5nHGcYz9fOR7+2gtFKzkY9cZz7H8NB00FNz0/P8AloKRGQR7jGgslt/CCRnuyQPGPOfqfbQUXPT8/wCWgs9A02422bV9z6JLRPTTHYSJcCpu/cRNcnUl4JktMMtraUwqRCd/SAjqmfFjRm6vOmFtZjmO+C0pVJpVApkWi0aC3ApsJBQ2w2oqU8tR7nJU19YL06fIOFy5slxx99zJ7kNJaZaC7X+or/yq/gdBj0fqj8/4nQdtAaA0BoDQV2ne1PZ25yc5zjxz4x/PQUpE1Mccjkjj5sYPp6fn50CUqFYbbQ644sISnBPOffPp49Bx5PPGgY+6rsW9Jcjw3luZykIQcdyiDjBweMjHjxj10DtdNXTduZ1Dbq7d7ZbcWbV7+3P3Nr7Vu2TY1KMZmpVyoiLNq01z7zMksRqfRqJQadOr1yV+eqPSret2nVau1aRGptKlPpD6g32RH2UG3f2bW0HbUnLevbqW3CpVHk7y7o02nyWokVxlCX2ttNuhUkR5dL2ztaeX0Q3lUqiVm9quiReN2U6HU3aVQ7YDca0gtoSgq7iAMqAIBOBkgFSiMnnlSj7knnQVNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoNa/2tnQ3A+0J6FN5+nhiBRnNwpFKRfWydbrEZLiLZ3mshuRVLInMzEhUqlR686qdY9y1CC29L/uTdl0Qmo8lUwR3Q+Q3LiTKZNl02qQJtKqtOfdhVGm1GLIh1CmTojzsWZTp8WS23IiVCFLZkRZsWQ23JZeYIfaQSjIV4juSo96iQMZyrICfTPsMeP2aDKsO9qgpS1YUBg5Ucg5/MfnoFLHeH+FgBYIP6wzjBHA7h6+v4DQK+ny+zsCQhBCk5KcJwfUen1GfqfOSSC1luzP0fArVNaek1e16jGuClQmVIQ7UHacHhPpbaioOBNZoMut0hsNqCDNlxXHQosMhII1lyHY+8LUykutKsjeGmxK/QpSCPuSanIbRILUZxOG3C85IQtJASQiakk/MrQS1pksuoSThSSkJUTgkAgckHJz7j1/foG9viimQw8tsqIUVLAGAAns+btHgc5JA/WJORkkkIXXlTA06+FBZWlZIUpJJT5/VVyR+R86BBwluRX21AFCe8DCSAM5B8JzzgYzjQPna9SKkAhZJKRg5ORz9eQfbkeD+QPLTJRWhBwknAyokH0HuefQ/T6jjQONBkKeRwR2gZB7seo4xn6/u0GSCgAMnnHPk86DsCD40HbuVjGTj2ycfs0FNQGCcDPvj66CifB/A6CgST5JP46C0eUoOJAUoDB4BIHj2B0FMkq8knHjJz/HQUnPT8/5aCz0FvJACUEAAkjJ9ThXGT649Pb00Fkvz+X9dBSX+or/yq/gdBj0fqj8/4nQdtAaDoXEAkFWCPPB/poOPit/6v3K/poOfiIIUoHISMng/0+mgtJU0NpBSUpHaOQQlXjzxzk+vrz586BHVKrKHcouglI7h3LwD28gfMcY9MnjHnAGgZe5bsfeLkSOoKUoqSpLeV85SlIHbkEEq8jgjPtoHv6ZumPdHqI3HsvbfbWxbg3D3Nv2rNUmzLJoUdh2dV57a3JEh+dImuNU2gW/TILEip3Dc9wyINvW/b8aXXavOj0qI/ISH0+fsjvsittfs19snqpWP0HuF1Pbg0mJB3W3UjREinUmkNyok5va7bBmbGbm0nbmjz4ceXLkSg1Xb9r0dd13ImChq2LQs8NyoQhPhKR+CQPr6D350HbQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0HBAPn8dB8yP8AtN3QjJ6Vev6sb7WlQ5EXZvrIZqu68GpJkMOU2m70RpkWPvbbsSEwPvMJ+dUqlbG5T86qqLdam7iz4FIV8C2ZDDIec1lYbxhSR3A554yQc4z+79+gybKiUo5BPhA9wPYeToM/DeV/hhagkjOAcA+nodAoobg7yokqHd3YSckk88D258eMcaByaFPKEjHdgAkAZ7kqHaQpBP6q0lKVIOflVk+vIJe87aerVnXFa8FpTdVseSdw9v1sIKIyKHIkGVXrfpDyRgroVSVIQ1FaKvgQHaG46lpqawFA8G1V5M3ZbNLq7TrYclREIktFaCpiZHKWpbBGe7IcAcyoBSe4oIGgc6qsmTE7QnuPaR3AZ7QoHKlY47RnkngD20ET7/oKkF5YSASASe0Edx8jngfh+3QRuktKjyAlYUUpGQkA5CwRgnjJGCePAzzzjQLC2Kl2vdij2gJzg4TjBwPOD7fx8nkH8oc1Cw2CrI48K88D64B4/A8e2NA5tOewlKG+9PvnJ+XPuc+wznkYOgVLZ+RPPOPfnQVAojwf4aDulWc5I9MZwPfQDih2KwRnj1B9RoLXuUfX9w/poKLqihBUnyPz99BZlRWQpXJwPp6aDgkAHkZxoKJJPk6C20FCT+o3+I//ADtBZLBJ4BPHt9ToKK/1Ff8AlV/A6DHo/VH5/wAToO2gpOrKAMY5ProLUkkknydBxkDk4Az6nA/DOgx0yohgLS2QARg5wcgZ9/z8e/4aBF1KqpSlSlrIyCcdwHr5AHoOPHGM+nOgaCv3AuS6mHEWpbi1FIQhXcVLWCEI+XJJJAGACcfQ6CQnTL0v7l777m2Ntxt1Y9Xv3cbcuuCiWLZtFbQqfWZzEeXPnynZEpxiBSaFQ6fTqjV7kuOpvsUa3aPTajU6zKh0+FKlxg+nf9kT9kjtv9m/timt1/8AQl/dUu4VCprO7e6cNEyRRqHFCo9WO1u0RqESA/TNtaPVkMOza2qkUC490arSaRc17RG26PZtrWOG5dCA2hKElRSkYBUpS1YHjuWolaz7qWVLUeVKUokkO2gNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGg02/brdBKuvn7PLduyLXpSajvRtOk79bIGNRnazWqhfO31Omv1KyqNEiuMS36huZYr1y7e0tht0xm7jrlu1uTEmrojMdwPk7MYU01jIBbQQC0WSB2AgFkhJaIHBaKUls/KUgjGgzcQ96mh4+ET9e7P7Mfv0GXCu1xBxnhR848Y+h0GejOHt+Xg5TznPt6caBY0iYW3G+5WclIKfHBI9c+oHjx68nQLeZM+4JpV2xmS67arzsmppJ72n7SmtFm6mXGQkLeMGC21czTaFhx1y3Ex0NrW+koBC2m2dtt1rhshKwq3LkZFz2a+l7vjuszB8Z9hlwBaVYIKCpKyMtlfae7ACW0B5Epj4alAEtkZB7we4HA9PQgeugaq96Gl5iQlKQ4AContxj17cEqHOScjB+mghvdNMehyFLDZIHk8DAwSffngcev5cAlKdM+HLKu7tykjs54IUEkk8ZzjPj6eRoH6tub3ttH4mMADBGf8qTnOfT9ugeOlzO9KVfExn0xk/nz7c+MEe+gXMOQh3tSDlQGPPnAOeMcePw4IHjkMjoDQHb3fLnGfXz45+ntoLVKu5RTjGATn8M+n5aC2dc7u9vGMEDuznyPbH89Bbd+OMZxx59uPbQdCckn30HRSu3HGc6CjoKEn9Rv8R/8AnaC20FsRkEe4I/aMaCyW38LtTnuznnGPc+50HXQWbjneAMYwc+c/yGgpBTee0rwec8eCBn30GNnzm2Glcd2Cf83b7fRXt6Z0Dd1KtpSFqVwkA5Pf7+P8vOfbn38ZyDUVu4nJjqokUKdWvtSn4aiVZKhhIShClHIHaTz8uTjAxoJJdMvS5uVvxuNZm2m3NhV3cnc3cGrt0iy7IoUVa59TqCkJckyZs6SGqZQrbokRxdXui7KzKh0G1bfh1S4bimU6j02VMSH06vsjfsk9svs3ts3qrVn6PuH1Rbi0lhndjd6LTkMQ6VB+LDmI2q2ublxGKpRNtaBOhsyJLtRCbkva4213LcaqfHg2haFjBuYQClKUkgkJSCUp7EkgAEpTlXaCfCe44HGTjOg7aA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0FN1BWjtTjPcgnuT3ApCh3gp7kglSO4JJJCFEOdqigJIfKu/tBfQajoX+0R3FTadHNL2Y6k1zuoHaVDL65MSlruioPJ3Vs1n4jcVEJu0NyXKjLo9Kp7ciHQrGvCxaYtSnVhbQaRY6ylYUVHHcAcE/89dBnYpKkqUSSCrKckkgHPHPjjA49tBk4jvzYJUcLI8/U/XxoFXBf7SP1CRggq/WwCD5wSPXH00Dj0eoIV2tq7FdyQktrSlSHclOWlpIPch5KVMOJ47m3FjkFQINtftJqBtNMyE6v+82yFTYeguoSRJnbd1ItSKX8ZSSVPoiRCqnTHldylVGnVZSiUlKVBJCw7lj12j0mrRVhxipQmZaVIwQngJebyCcLZc7m1J85SPGgWVchJlwVFIQCvHPAyDwe7AOfqDnPGeBoIi3/AEYfEeW2lWO3kYOPCieMYPIHPA0Edn2jGfJACcKwM/KcZ9fYZ5A8eNA4ds1QpcQkrOB5weP1UjxnHPvjHj30D9UabnBHb29vAPvkfs+h9P3aBx6bLSCknAGOe3HdntP4c5848jJ/EFElzvAUCrB9yf66Dtk+5/adBUSvwOc48/l+OgF9qElRAGcjIAz4/wB9BiVqHepXOFEY9+B6/wDDoKJ5JPuToOp8H8DoKBJPkk/joDQUJP6jf4j/APO0FmoKJ4OOPcj+GgoL/VV/5T/A6CwSSUjJJ8+Tn1PvoOdBjzgAkkAAZ50GBqNSba+UEA4OFAAevqff66BC1WrAtL/xPByT3H1OOMfx/HnGNA0NcrciW6YEUOK+IQ2S0juUSCAcEHOPmHjn399BK/pQ6VNyN+N0bF2u2xsuq39uvuBVV0yyLQp7LCpFSkRWF1Kp1Ooy5ZTCotsW7RkOVu6Ljqr0ak0SiIXJlyUKU004H04PsmPsldsPs3tr2581VF3C6oL8oUeJu/u4mO49FpUcyWaoNrNrHKnEarFK20oNQjx/iSJggV6+qzT4123XFjuMW/a9ohuMSgAAkDvwAVYGcAkgZ84BJI9iSR50HfQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaDz7f2kDoLPWb9n1eV82hQpVV3r6TFVHffb1FLpiJ1ZuC0KTSXmN4LAiFkLqclquWU09dlOotLbkTa1e1hWbAZgvreSh8Pl3pcyCptxDgPaQWgFNf+GjtUy5lYebeHbIStK1pPxilKu1ISAzEd9wNYC/myjjCScfN3cYz4AzxxoMk2640vuwe0qJ/VGCSfOcfX30CjhupWe9XAwD25IOAAMYyDzjj8ePOgWlIktJcRkAZxz3nOR4IJOR9CPmHGgV0t9mJKpNffCHac4hVn3ay4lIZVa9xOIYbmONo7XHl0WtuxXi46ewQKvV5LiiYjziARW1z0yw7vu7aWorWsUSoKqVvuvFCFOUKWtuU2G8JSVpWwtleAVkfAc7ldxfUoJZRnG5UIpOFYT8qe7kkY8dpySOcj9o0DLX1SluiSUJJTlPYoI7klByFYOMHg8nJ9SSMaCIVy00syFkpOC4vvI7sKAJ7cEcAYAx2+ff1IYuiyAy4nGc4zkEn6Yx4Hj8f5g/NBn9wb5JBPkH3I449fzP19gDs02QkJSoJ+bA9VH0IPBJ9O70/DQLiC98Vs54wBgHgk5GT4B8Z9xwfyC90ACQcjQcqJWO1XIPp+P4c6DFvApcUnBAB4B/AZ88nQUFEgEj/AJzoKfco+v7h/TQddAaC3kKSpKO1QVg84IOPm9caC30FqrlKsf6T/A6CyCe1odwKV95GDkHtwT4Ppn1xoLd1a0n5SQnAycAjOT6kaBOVCeGwUj5fofP7T/HQNrWqn8xyrvQkK7gCOMeMkYxhXI55xzkZ0DTVOqyZklMKCVqLpGUtJ+KSFKUE8BKlA5TjIwOD40Ez+kDo93Y6i92rH2n2msWo39urflRdh0C2Y5diR40aEUO1i4rsqr7L8S1LKtyNmVc9zz2Ux6WwtploSKnKp9Omh9OH7K77KPa37NrbVamJMTcPqLvmmQmd395vuBhiQwyTKRt1t/DkOPy7d2wotSDU2LSytE64qy2u57iefmKg0+jhtvaYaZGG0BGQnIGfKUJQOCeMJSB+XvoK2gNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoKMhtp5h5p9tp1l1pxp1p5tLrLjbiChbbza8IcaWklLiFkIUgqCiEknQfI4+2a6G432e/wBoFvBsnblPZpm090Os7y7DQ4gnvsQdoNwqhUl0agNuzA7Jcj2HdNNu/bht+VLlSpEOzYdUkuNpqrTTAavGXilxOEg5z5P0x7fXQZsPFYKSkDtCFZz5yfH00GWhSU4KSMKx4zxkeP240Csp76UFtSuMHj2Pj8Pp+OgcSmmHUokqnT2RLg1SO9T5cdRASuNMaVFfQCSB/itPKaC+Cjv7wQpIIBr7+VVIlOtPcBDhlXRtpVW7Pvd3swuqUcPtyaPWVNoyURZ1McjVRpTncENTjDUoqhvYCVVr1mLPgwn47iXWJUdElpxB7k/CkZeQAeM9oX8Mq/1IUD40FzctORIiOhPBSgj9XOQQrk8j1wNBDy96MtlTgSkFJP6+MHx5wPXnjzkeToGUQhcaWE5PyjGPGR3Hn1/D8tA6tsVAKbb+fAB59SfGPc4+v++geuky+5CT8UjATgceo+p+vj6DGgX9NkjA/wAVXHpgc8D68+APxHjQKBMkqz8oGPqdB3D5JA7RyR6nQXQGCn64P7ToMfL/APF/boLNf6p/L+I0FHQdVHtST5wNBQ+OcEdo5GPJ9x/TQUBx+/8Aec6DopXacYzxnz/toKWgtZBAUgqOAM5/YdAl59QV/iBsfK2n0V5PcfYccY9/TQN1WKukd61q7eMAZySccenr6D1+g50DQVapSapM+5wQ44pauxYBxlXdyARkkjznycY40E4OjPos3g6m93LP2d2esOXf26V5SUO0uj9r0ej2/brEiDErF/X7Xm2ZLFo7d2s9UoX6fuOa0vMmdTaDRY1Xu6vW3btbD6eP2YX2W2zn2b+08ug0GUzf++V7xqa/vRvZPpf3SqXVU4aVvR7etiDJk1Bdn7c0JchwW/asSY68884/cdfqFXuKoyKggNpLTfw04zn3wCBn6AqUce2VKPuSedBU0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0Hmf/ALUT0IS+qXoSjdQVkUU1bdPouqFd3IEZtuK4upbI3IxSIW90VLcotoEi16ZQrd3RjTG3TPhxtvanHpEabUKk3Ckh80dDmHVsqQpK0qCTyhSTxnKVIWtKk5JTkEjuSoeU6DMwn0DKSFZB84GOE4PrnyNBkG3Uh3uwfmIA4GfAAzz76BSxnlJLfZ6jBz+7GD+ProFvSJSkBKSpJPdkYzxzwOQMc/T0zwcaBRyGKaqqMmqlKLfvemiwbneWsBqPNkpqT1n1BHOUuply6pSXn1dqHH6pQ4vqFpBJbLVabRH69YFZURVLInyY6PifKp6kLf8Aixn0BRSpbYXIKkntA7XU8DnASlBalpKQrzkju4ycEemff9vB0DDbh0hagoJRkJJzwecgZ4xg/iT+GgidX4bkd8/KcBXcRznBJGB6enjOPONBzb89TTrQUcAqxxjH6w9yPqdA/wDQKgleASe1Q9hx8pIx83uMeNA5cB5s4IVjjHJHnz7/AF/d+GQVsdSQjOc5x458D9n7PY6C6HIB99AZPv48aDgoLhABGcKPOfTGfQ86CxV5P4n+Ogt5P6rf4/8A6WgttAaA0FJfkfh/M6CktYQkqOSB7ef3kaDCTp2UkJPanHAUcK9zgDI+p5OAfy0DZVao/DLilLAGTwDzgE8+fH5gk544I0DOVGozapKFNgNKfDziWsoGQcgkqyMnHByQM8n5fYJ2dF3RRvD1ObyWNsrs5ZrV57qX06uXRIEqa5BoluUGkuwVXJf971NmDUJNu2DZsWfFnV2vJps6RJlSKda1rwK/flbt+16oH07/ALMr7MbZ37N7Z82pZv3e8d3b0jUmTvfvPUYRjV2/65S2JBi0akQzImJs/bS1J1QqrNkWJClzG6dEmS6pXqncN51y6ror4bOtAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0GJr1Cotz0Wq25cdJp9doFdp0yj1ui1aIxUKXV6RUmFw6lTKlBkodjTafPiOuxpsOS25Hkx3HGXm1trUkh8gX7UzoYqf2d/XJvX03iLUFWLTKsze+y9ZkxZjbFwbM30uXVrFkwZMguGqu28y3P2/uCptOLRNvSzLmUgD5QQgCy52KSQoJ7sd2fPPnIPIP0wMaDOILRSkpILhSVJwTkkeCBnB5/L9+gy8V4goC1gEEYBAB8c+nudApKfIIUnCSfm55zkep84weOBnGgcJuPFrVLm0qW4WmqiyqMp9LSX3YTyS0/DqTLa+FP06czGnsJyMyYbCjktoKQbS9J0ml1ext2/hlqQ8V2TuHDZTlpNZgOGNMdHygmOt9gyae4sNl6F90dAKHCpwJQ0GoolJQtt1Ksdq0rBHaQtIKSPAV3JOc8gj8wA6XZAEtlSlAEdmScAdpxgE4xjPHp6+2BoIgXrSHGXnypJwOEq7RgJ7lEDjg+Se4jODycDQNFFWpl5AKThKs9uPBJ8n1xzjk4B0DxW5PV/h8n93gpPj34+voPGgeakvJcbSonHB47ickAEHz+P0yNAt6e8tQCSkp8Zz4Oc/jz/wA99Bme5Q4z448D00HdKsjkjOfoPbQdwoA5CgDgjyPB86CxcBC/lHy85PkeTjn+mgtpP6jf4j/87QW2gNBweAfwOgokkjuPjxngaDHz5CWkcEFJBOBj285PsePOORnjQNtW6v8ABUSlQAI8DHOBj184+h88e+gaWdLl1mcmJDS4pSykFTaQvlSlAJ8H5iRjj3xkjQTo6LuibeDqh3gsjZvZKyZF8brXeXKjChF+RAtm1bdiuRGKvuBuRXUwp7dsbc2ymownK3XSyqbImTaRQLbh1+667QLbrIfTm+zP+zL2V+zf2Xcsiz0tXzuxeUmHWt6d76vRI9KuPca4IUNUOnU+DCMuqSbY2ytSM9Kjbe7dJrNWh2y1UKtVZ02r3ncV3XNXA2UoQlsEJGMnuUSSpSlYAypSiVKOABlRJwAPAA0HfQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaDyk/2qP7P7/t+6TKB1kWFTUP7odIb1RcvdxKnVzK709XbLZF3LDCGVmY/tlcyKRfkZcqZCptAsdzdKQgl6XGQgPnPJQtCg26lSHUfK4leO9LiOFpVhbg7goEKw44Mg4Wr9YhmIZKlN5/yAgY9QVE8/t9MaDLBRS63jHPd5/wDydAoIr3YhBUcDOOPX6c54xk/loFpSJiQSnvJHHkBXkeCP830B84A0GUqVJh1p6sW1Uu0Ubc2lGAy8l1KBDvyhw2jRpaXcEIk1K3oslqIvtIkC3Puau51wEhg9krjkrpb9t1ZSkV61JjtIqDTncXAhl5aGFKyTlOW1oQrg9oGTkZ0ElXW0zYYKir50cYIGfmx6g+3n89BHvcCiFSnyhJI4HOB6qzwAB4I4x5HGgi5WYxiPEJHaElOD6kngA+hGM+xz50Cgt2d2uobKjxwfxCSf5cHjnQPfRpoV2IKz+rkkeeQAfp9eeM8+2gceHJQjsIcX8x9TkcePA+vn9mNAp25SFhAHKikHk/TJ/noLhJJGT7/00HbQdV/qn8v4jQWUn9Rv8R/+doLbQGgpqUckcY/qNBjprobQAVFPrgY55+o+mgQNZrTbSSArISgpyrJyCCecED09B7/TANHPkS65NTEiBRKlJSTntGVKAByAfAVj3PjIzwE/+iToj3g6ot4bR2U2csxV37jXMpNSdMxa6dadnWrCkIRXb93CuBmJVTbFm0BhYVKmGHNq1XqTlPtm16LXLmrdIpUgPpp/ZufZp7J/ZxbR/wB0bCa/vTuneMWlzt6d4qpFbauDcO5IbbziI8Rol3+7di28/NnRrMs2C6YlKiPyalU36zdtZuW5a0Gx3QGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoE1eVpW9flq3FZd3Uin3Bat20KsWxc9Bq0ZE2l123Lhpsmj12i1OE6fgTKfVKZNlQpkWQhxl5h5aVIz2qSHx+PtLuiG4Ps8utXe3pkrBq0y3bauD9O7T3TXlxP0he2z10l6r7dXA4qE3Ehzql+jnahbdxTYNPixP742tdkSIxFYiKiRwg3FUELCzyCoeOTxgH2HofXQZiK8lKVghWe7PAHg5x6/TQZiE8Rgo4JWfPjB8j19tArYUlYUMrSCMZGfr+H1/PjQLItOVmmOw40lESc0Y8ylzlr+GIFZp8qPKpExKgFYSielliUvBLVPkzHD3FCULBtLkqKaDeFr7rQmnafQr/hKptzU51HY5SLrjBUSpx6gwCoRpEaclMWSj4i1Ik09aQlSQhSwlNQagA02C58QJKitSSD3lS1EqTyMhROQcgEc+ONBj7wgmXHdwBlZWpJOcBKEhRCsA88nGMjnk48BDe8Ka61JcWEY9DnPPB+mM/s9+M6BBQH3I7pSSAFLyPpjJGcjk+w59AMaB7LaqYU2jnOBjHGf1Ung58H08cjQOtTZQWlJUcjIwABkfjyB7ePb9oLaFIKvk7gUjwP82MZAx444zz6aDKoWMHg+fp7D66Dv3j2P7v66DgrBBHPIPt/XQWDqCjCiQQo4GPPtz/8AU6C2c9Pz/loOqSE5JOAB/McD66DHTpzSGyUk9yQoj9XHcMEep9R7fy0CAq1cUhtYUsDnPHt9fHn9h+mgbF5cyvym4kVK1hxYC1AYSgDIIWrCgnjkn6AA5IyGxroT6Dt4erneO3dktjbVjXBuDcEZVZqlVrhnR7M2+sqNIRFqe4F/1iDTqhIpFqwpC2qfGS0w5Mr1fkwrepESbUpoYSH0yvs7vs6tk/s59m1bb7aNIue97leh1jdreasUmJBvTdK5mIobEqoFt6c5Q7TpD71QFm2HCqcqiWrFnz30O1K461c1x14NgGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNB5Rf7VL9no71A9LVB6zturaVP3T6TWpqL+FGpsddauzp2uSdFdudNRmMfd58iBtHX0tbhNfe5DtNt206juhU24siRPcS2Hzo+9JVlCwpIIz2dwCFADvZWlQC0Ox19zD7TqUPNPtuNPoQ8haEhex3khYClntJGeFHPB9hnQZoPJTgNr7VJI7sAjGUk+2DyR4/hoM3CfKvn7u48HnjJHGDnHtjn6Y8jQLWlyVFaEdo7SCSkkckgpV685ScKB8g4PpoCsW4Llh3LZLrgbi3nFk3Jbr7hClw75t9ht2qNPSHCA23WYSKZVUZKQ/LfuBxaypI0HGzl2yqvREwJiSipUJYpU1Cjh5t5hRDaXQo8KDTamlnOErR8Jwh0pSQkTJb+/Q8ggqDOCnu9VfrKB91DAJ9QnGgjjf9G7O9wtAJPcUkYPKQoE9mSeD4yB+Y0Ea6ggR3ie3/M4fXk5wD6YOeRnHPnQKq2p60KQlWQnHIKh+sSPYcntAGQcYHodA+FJnD4bYRjJI4HB/Mk8/t+mgcCnyFFQBSEqxlSsgkZSfUHnJIHHPPgYOAUqHAk/Mr5cA+/pz4zzn89BcgggKHg+DoOfGgtnlJWEJSckEZ8j/N7nA/foLJ5aUfrKAxnP08e2dBhJ1QQAUoIAH4jgZzzjk/v9hjOAQ9UrDTSFhSwFdqgB8x5wceAfp+OOfoDeLE+vS240VCloeX8PKR3doOfnwM/hyPTQbJ+hPoJ3s6v946FslsZa4rl6VVMWrXTclVYkNWRtPZ36TFOmbgbiVNpIRT6XHWiWaNQEuCv3tU4TlFtiBPkNzFxA+mP9n79n/sn9ntsfB2m2rhO1i4KnIZrm6G6tdajqvXdO8ksLZdr1dfYy1TKbAQ8/TrWtKmOGi2lRCKZBVMkvVKrVUJ3aA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoMHc1vUS7bdrtr3LRqbcduXJR6nQLht6swYlUo9eoVahPU2sUaq0ye0/BqNOqdOkyYcyDMadiS47zkeS24w44gh8iD7WHoJrX2cHW5ub08hmqy9r5bqb+2DuaotOKXcmzd0vzXbXaTMelSnqrMseTFqO21yVSS6idNr1nVCsSYzbFWgrfDXM35z6jGP36DKMrK1EkD5khRxnyMDjk8aDKxCoK4URyBwfz0Ctp7wbUgqWvOMJGeP35/iBoFY4mVMghyKspqsOfEqtFBPa0qswXkOQ4ry/wBZuJUmi7Q5aySlEGoOrWFKQlYBs6vOZti+qHfFJxHtbcymoclxgSDBuCKlKZzLzaQnDxkAyZKSStmWHmVOOdhUsJS29PS+20tTilBbfacH5TgqGUg5PJz5J8e40GGvGliRHcK0D5WlqSBwO5Ryc5Cs4ycfv9dBEC6acGXV/L2p7lE4AGPm4xxjBOPTkaBOU2X8F0gnBSopGPHbkYJBPnOeR9OOOQeSgzwtKSVH5SCOfU+QeSfT3/PQOhTJKFqQorWCtICuRgYTkH19QPJP488guY6kraBBURyPmIJH04AH/M6C9bdVlDeE9vPODn0+uP3aC6VwFD8dBiJD6GUE5Pdg8en0x4+nr59fYEhUKmR3YOc59z+zn68/loEPV6wW0dxVgFQAIJB/VUfVRGMeBxn28aBHssVG4ZgYhoLgJSB3dxSpRwMK7T+qSCDjnGce+g2o/Z4/Z3bv9bO81N2g2cpDS50ZmBWNx9wa0z8aytnrPlvrQbhu2RGSHZNUqSItSZsyzYEhNfu+qxFx4qIFAhXPdFrh9LHoS6Ctifs/9l6ZtFsrTJT0p9UerbibkV1qGq+917yTHDE26rxnRokdgAhT0eg2zTGYdq2bSHG6JalIpdPjoCwm5oDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaDz+f2iD7MUfaC9HT17bcW6Kn1N9MKK3uBtKimwozlw31bUuPFG4+0ceQ+9HLguaj0+PcNvQ0qU/Kva1bepbDsOHWqut8PlvpV8FwpUO5SSrJQe5lXa443lp3gODubX3DtSpGAFJBOAGQbkdoS4Plye3nnyM49P/poFBHkpdSAFDvxwck8k/L9ePHJ8jQZiLKU2pKVLAIH4Z8c4z+3x+GgV1On4wPiEBQKO5BwoZwQUk5AIIz4/joKFwW8i5afXLMj/DaXXUu3XaTiVpCYlxUqOf0/SgtYwwueHKfVm2QQqQiVOdT3GM7oO2015yKrRmW5ZU1UIDy4U5p5JbdQ+w3hR+EcLAUttaASM9/cfHkJDKInwh3rSVhCsZBPcQDjj8CPrkZ99BG2/qJ2FTnwySolXdj/AKueP3ZAxoI9Skfd5C0duPmKv3kZxj6aBZ29P7fh/PnJH/Mn/nvyNA8NHqOUY7x5Hr7enHv6aBeQan2KSO4eUnOcZ+h885H8ONAp25za09y1pGfHn65zk/hoKDk1pPeQsDGec5Hn1AI8+2dAlp9UbHcPjJ9ec/T/AG/D29Mg3lVriEpdQlQWrJxgjJ9PX08eeT7caBOU+mzbgnCKyh4oK0j4hClIBOFZPw0LX2pST3FKVlKcrVhtK1JDbp9nL9mdvr117qo2r2cgQqRBo6oD27G81yUiTW7B2Ut6e4pDsisRocuC1eV31VgKfs7ayFWIU67vhrm1aqWrZhrl00wPpZdFnRLsX0G7J0bY/Ye3v0ZSI7prF23bU0QZV87m3tKjxI9Zv7cSvx4MN64bpq6IUdpT7iGabRqbHp9t2xS6DalGoVBpYS80BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaDqpKVfrJSrBBHcAcFJ7knkeUq5B9DyOdB853+0tfZC1Lpk3bq/XpsJaqmunbfW6Vyt5KDTY7DkLZXey56g0l+qmE2p1mDZO8FWmLm09+Mw5CoW4jtVoLkhtu57EpLgeTtpaVpbOSprCFgEqWkBQISSSVZPBAJJUeTk5zoMvGkhK1dqR2JwQoDHgA5wRkYPHj8M6DMNPKeIIPPphQyR+7GgUcKQlBACgVZzg+nCeckY4Ofryfx0CoW/Mlwk/cvhIqdKlRq3RXnQEo/SNML7rcVbnBS1PbekwJClqQlcWbIadJQhpKgbe4pbdvXdSb8pIWxbO4bKZchsIUyabXUfBbqTMlKAkodZlN/ELJRltSanGT/AIzrzSgkvb1bblRkI+MPmCShSSpXd3+BkA8EZOScehxoLW76eiXEHyhZSD8Q9oKkgngDI+YdxH6vdjgnAGgiVc9LLT7ykJJIJ54Sf1lnt5xxj0GePz0CbgS1srb4+GARkAgDH4J4z+Gc+2dA51CrnIQMEDIGc84B8k4GOMk4Bz5yfIOJDqySQCgZx+sFJAA8eAQSU+eBk445GNBk/wBLHBPxl4T/ANa+M+wz/AaC1kV/5cJWVJCcHk84GPXyT5JzoEbPra193ZgkZ47gfTjOfTxx6gD8gKDbNTuWehsIIQ8pICu8tJBUFKHzBQABCFcqKRxwedBvG+y0+yd3g+0C3AdoVkqcsfZizJqabvTv/KhNz6bbMhmMzPkWJt/AkoFOvfdupwqnSJMelzHDQbLpMtm6b0qCkLt+yr0D6RHTL0xbIdI2z1q7F7F2PTrN2/tFk/dY47qjWq9V3TGVUrvvC4JaXKrdV6XBIhxqhcFz1mRJqlSmtNLdf+HGitshIf4rf+r9yv6aA+K3/q/cr+mgPit/6v3K/poD4rf+r9yv6aA+K3/q/cr+mgPit/6v3K/poD4rf+r9yv6aA+K3/q/cr+mgPit/6v3K/poOyVpUcJOfyI/iNB20BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgQW5u3FibvWDd22G5lsUi99vr9oFXtO87Qr0dMyi3JbdfhPU2r0epxspLsSZDkOtr7FtutqKXWnG3EIWkPmZ/bU/YL7v/Z0XJc2+WxtJujd/otq9RemQ7oiMzLhvLYb9IOrkItrd9qKy5KctGnKZmM0Tdp1DNEksu02jXbIotzLprl4B55WnAkFtSVBS1OtKyO3BQXA4BhTiSW0trK1IccRhtbiVFA7tBfsL+HylzOOMFQPGPXGPc6DKRpiQUryoKJCcE+PXOD+HH5jGdAqYdSVkICu4FSO1KlEIKgoEDu8D5sZzhOcZIAJ0FWoU2JXIFRtKS9GagXg9+kqPN7lJVRLzjMw3yiT3p+G1Cr8eOZbQZAcXUY1wMrwX4qgGB21uqTBC6JWAY9Woz64MphxR7yY/aFL5OflOVKUflLTrDg4UrASTbmM1OMFIKclCT2kg5Bxk4PJ4yRjxxk6BjL1pQQp9aU/NkpxjjGVHPA88nx/voGAnMrjPdozhJyM+R6/N6cY9hoL2nVEtEAq7Tkk5OPQ5xyOOPzz55OgWMWupTwXO75fRRIHn65Hv4/HzoL4VtS0kIXhJx3FRP5YOQPf935h1RKffPahRX38AJUc8njJyfXg5/cdA6Vjba1KvyEuPNliOtIcU6+FEBJWpCSpIHd2qKFhOAS52EIzzoPSV9kn9iluL1wyqFutuBGuLaLo6gu/Fcvosope4G+0iCpLiKRtAzUIqV0+wzM+E5W94JlNXS5ERh2kbbPXFWDW7hsgPoA7L7ObU9Pm2Vn7P7JWNQNtdsLGpQpVp2ZbkNyDTKVDcdXMkLWiQpc6bVKhOfk1Ks1irvS65WarMm1OtTZlRlSJCwdL4v1T+3/fQdTISng8+vH/DoOPvSPY/8/LQdg8FDIwAffz7e40HPxfqn9v++gq5HuP2jQGR7j9o0Bke4/aNBzoDQdkr7DkYz9fz+o0FT46j47D+3/8AW0B8dXsn9h/roD46vZP7D/XQHx1+yf2H+ugPjryOE4J54PjB+ugucj3H7RoDI9x+0aA7k+4/aNBzoDQGgNAaA0BoDQGgNAaA0BoDQGgNAaA0BoDQGgNBTcc+H28Z7iR5xjAz7HQU/j/9H/u/+XQHx/8Ao/8Ad/8ALoD4/wD0f+7/AOXQUM//AJyj/wCo5x+WgsajToFXgTKXVYUOp0yoxnoVRptQisTafUIMltTMqFOhym3WJUSSytbT8d5CmnkKLbyHGVONLDx5/aif2VXa/eGZcu8v2eVZtvY3cWqKdqdV6eLpXNg7IXPNVPFRnObe3BBFTrO0cxwqU9Htb9F17bNx2JDplOgbb01+o1Z8PDf1G9MXUR0h38/td1J7RXns7fLDbkhmjXdTfgxKzTm3iw3WrWuWE5MtS8aG6UjtrdqVys0cLKmEz1vpDagYxEwlSsL5Qoenn1zyePwPP8gzcOoEggqwfxBxj8Pw4/fn1DOplsTYsiE+8tsOmOplxsf40WWw78aFPjuD/wAOREloakI4wtTSW3O5lx5CwR92uT3HG72hxkMV2kGPBvWGyr/u8lJdUmHcDSAhTi402IWkuOICknlCyDHJIOPad6tPstLTJHyhHcypwFaSrjtUcEApyeADjGOQAdAra7Kj1BkupIJ/VKgrPIGccAehHOc86BhbghKLqlJT25JB4Jxj68cfw9fOdAjVIU3kgdyknHb4yc9p558efHpoMjEZdUsYKk93b8vYSOTjlQPGTx+qeMkZIxoHGt61qpVH22GIy3UqTnKEKVkEpSAQQnGSr6+DoJXbebE1CoVq26IxSa7cNy3RVIFDtazrao0+uXbdVdqT6m6bQbdtykMTKxWapUpKVRYECnRpDshxKiv4LLEp6OHsr+y//s8CxJtPfn7QqiwIsOFJptx2D0hwZyahTfvUVdLmQan1J1WBJcpV0Tm5EZ+O/svRHq3YTkZiINwLiu1Mh6yKMHr7gxI1LiR6fTY0an0+G03GhQIbCY8SFFZQltmLFjtkNRosdtIajRWEtRYsdDceKwyy2lAC7UrIxjQddAaA0BoDQdviO/6/3f76A+Kr1d/cP/19AfFV/wDF/cP/ANfQVPvCv/ifuH/62gPvCv8A4n7h/wDraDkSCfPzfXOPyxz/AB9dB3DxVnCg3j3+bP8ADGPz86DsHP8AU6FD2wR/M6Col4cADIzjOfc+2PTQVPifT9/+2gPifT9/+2g7g5APvoOdByDgg+xzoK/x/wDo/wDd/wDLoLjQGgNAaA0BoDQGgNAaA0BoDQGgNB1UoJxn1OBoOnxkfX9mgPjI+v7NBTcdB7O0kYVlXkcYP7efTQUu9f8AqV/6j/XQHev/AFK/9R/roOCScZJOPGSTj8M6DjQGg4KgDgn9x0HHen3/AHH+mgO9Pv8AuP8ATQUVpSorylJC+3uBAIV2HKe4EfN2q5TnODyMHQMX1BdNewPVPYMja/qO2hsPebbyQ+3PFs33b0CtxKfWIza24Fdokl9CKlb1ep7bshuBXaBOplXhCQv7rNZUoONB5J+t7+yHbX3dKqV4dAO+EraKa4mbLGze+yqvelhrlhIVDi2zufRmJ24Nr0sqT8KQxddubu1CQXA5DlUgNLbkh5Lur/7Kf7QfoQkvP9QnTffVGs1DTr6d1LLj/wDaTtKWWXPhLenX7Za61R7NEhY+LApN/SLbuBcZ1hDsF2QVqIa+olc4juNEuIktrdaUlDqlLSytSFq7QkqCkLScIwHVAhaEKQttSgyJq6lLE6GpCpiGDHdZe5j1SAoOiTS5XIUttYccXGccKjHdecIwlx3IIGV/9wTFVCiLcFJfUkGGQgyKS93DviTCgdxjpUUiHKQkKPatDzhQpsAFnTtwUvMBoupKkL7HErKhhYQgkkLx3EpKSFDIVng5BACnULhZknl1JJyAfmOSffPsOcnGf3ALGBHZnPpDjpSpx49qUHIPconnGeB5UfQZ/MHjtqk21G+A/VqgzHQXUNIS4nueVIc7THZLISXUvPL+WO0pKXH1EBlC8gkPQT0I/YlddPV63Q7ko+2aOmvZ6oPOod3l6gqTVLdqUmmtPoUqbYuzb6Yu4t5KmQyh2iVSqMWHZdWQ+JsG9JTMb7vJD2zfZ+fZRdLP2fMJdwWRR39yt96vTn4F1dQe4rUOoX3LjzRC/SVBsyO2TStuLIlSaazJFs2vGjy6hHaov98a/eFWpLdUbDZv8ZaR8vwwlJUoAKSMZKlEgDjJK1k45JWonlR0HUylK8uFOPZRGfxxoD74v/UP/V/XQdVTlDI7hnHv9NBS+/O/6/8A3aDp+kV/6j/6v99BwaksDJWQB/1f76Dr+lf/APJ/7v8AfQH6V/8A8n/u/wB9B0NUTk5OT78HP550HH6UR/wD+ug7CppVnBHHvjQdhUATgEfu0Fw3OV24CgMngZ/D240FUzFnyUn8SNB3S8pWO5SACM8KGfz0F806kIT/AInv4J/1H1GgrB7Phw/+o/10FUPKJwoBIHhQJyfx5PnzoKrbwT3dylEEfL5OOB49udB2+On/AFK/foLlK0qT3A8Zx4PnGf4aDuCDyNBkNAaA0BoDQGgNAaA0BoAkDknA9zoOvej/AFJ/9Q/roOjjmEgoUknI8EHjnQUfjL+n7NAfGX9P2aDqpxSsZxwcjj10HTQGg4yB5IH56AyPcftGgMj3H7RoOilEHg8Y+h99B171e/7h/TQcF3BwVpBPgEpBP5HQdStJOStP7RoKbjgCFFKklQHABB9fb10FAPOYGcZwM8aDn4y/p+zQdVOKWO1WMfhoKZAIIPggg/UEFJBHgggkEHIIOCDoKam2Vh1DgC0PIcbfZWtSmnm3lOOOoeYKvhPJWp53IcQr5FlsYaAQA1LdWH2HP2XnWLNeru6HS3Ztq3w6iSVbibJuzdk7rlSZq1uPVCvjbp+iW5elRQ6EPx5l92zdy2FthIb+G6ULDzt9Q/8AY4aC5Hqk/pP6zK1TXm35KqPZvUfYcKvMvNjuLAm7n7XKtpyKlRDaEfA2hnvBK1qeSrtC9Bps3z/su32ue1bLs+0ts9qeoBr7sfvKtjd5baEoNIUBh+lbyRdpatLQtIymLR4Vbl/CUofCZV/iNhrtrv2Ln2qFBkqRN+z+6si8lK0rZt7Z27btiNrbOHGo8u2afWoK0d2VMuCctK+5Rbbca7FaC9tH7Fv7U275yafA6FeqqmTVKS2yi69lL3sqGt11RCe6u3pAty3mktj/AMR16psxRwp6QwnClBuq6P8A+yX9Z+5M+gV7qovi1OmqyJAccrVvMVS3d0d4GgmM8tEdi27Mrknb2K1OV8FhNSk7rmoUt15Uh+2JBimC+HsY6Ffseeg/7PujQF7ObOUu6NzY7URdS3y3cjU3cLdh+eyy4l1+hXBVKamnWDEdVIdU7S9tqTalLeWQqazPltqmuhs/Kx3uLLiit1ZWsrdWvKicntC1qCEjPCUBKQMADAGgpGSASPm4JGecHnGc+MHQU1TEYPJ8H1+mgtlTQBkFWB5Ocge2Tjj10FByopQAS5284yVADwTjn8NBYuVZAUo/F7sDOA4jnAHAAIOT44GSdBQ/TaB5Cx/+V/voLNdaQ2ApShgnHC0nnBPv9NBZu3A2QpPf/wC5P0I8En89BZmtA8h3tHsVgn8fTQc/phX/AMX/ANw0FdNabAAUpRIHJCk4J99B3FYQr9UOEZxkYIB+uNBXFRWnwfP1H9dBdtVAFSe4kAjk9wA/VP8AP66C/bqIBHatWO4eFAjOfx/aNBfN1DuJHconGQBjOB5OAPA4z7aC8bmg4yVH5R6/h9NBetyO4JPfgE+CoA+cevOguQ7jOFj6/MDoMg1IWUfMpPcDjHAOOfT9nOgqpeUSMkYJGTx4zzzoLkEHwQfwIP8ADQV23FDCCQE5yc49sefwGguy4ASEqTgeMEH9/Ogy+gNAaA0BoDQGgNB0WvsxxnIUfOPAz7HzoKXx/wDo/wDd/wDLoOFPdySntxkYzn/bQUSc/sA/YMaDjQGgNAaCn8T6fv8A9tAfE+n7/wDbQdVHuOcY4xoOugpOO/DKR257vrjHn6H20HT4/wD0f+7/AOXQHx/+j/3f/LoKLiviKSrGO0Yx5z59ePfQddAaA0HBOAT7An9gzoKHx/8Ao/8Ad/8ALoD4/wD0f+7/AOXQWT757yAnBVjnPj5fw58aCmh5IBC1c54/Dj+edBSXJ709vZjkHPdnx/8AkjQUO/jGAeAOc44+gIP79BRW4EnBWlBxnAKx7847/wDmNBScfTgdzoxn/wDDKk8/XKnM/Tx+egoqmN4KQoAjACiSTwfJ+UZJx7+ugtnJvbkfEz8pOcfj9dBYuTRx/iH19T9P+rQWy6gnCgpzAGeSTjj3yeM/x0GKdqzPcsfEIwCPI9vzP8dBiJFeQhKwl3twOTnIOfHgfjjn9nqGGeuNBQe5ecHOO8g5AP8A0jQYpdyNKCiMg4OD8QnwMew9uRx7fXQYSRdqEKCSrGM//iEZ+vKToMY7d7Skgd+PmB/8T6H/AKNBZqukEkhfB8fNn0/AaDlNy9wz8QDnHJJ/gNBd/wB5E/8AxP8A3H/9XQXrdeQtKcKBUQDjv5PGTx2/n+GgukVpWOCRz47s88fTQZWLWwcHv7wvH+YgJx4OQD3ZyR6YxoMyiqZ7Rk8gf5z7aDKNShhJ+MOSD4Ufb1zoMjHmdiyv4oOEkY/V/W9cnPjH/ONBl48j4gyleTjHb6fkeDxoMkw44rA7iMEnyr059x76DJsPKSrtVlfd4JJGMfQ92c59x40GWS7g/q+ePPuR9NBkUjCR+Gf286Cs252AjGcnPnH8joLvQd0q7RjGec+f9tApdAaA0BoA8An20FH46MA4VyMjgf1+mg6LdCk4T3A5HsP4HQUiokk5PJPqdBwST5JP46DjQGgDwCfbQdO8ex/d/XQcKXkcZHP4fwOg6ZPuf2nQdVudiSolWB7H/fQUvjo9lfsH9dAfHR7K/YP66C2ycnk4JyOTwONAZPuf2nQcHnzz+OgNAaCkXkgkEK4JHgen56Dj46PZX7B/XQU3HArHb3DGc5484x4J9tBaqfCVFJK8j2/+o0AXk9pPcRweCeeM/XHPpzoLH4vJ5VgnI58Dj66DkPlPIUR6fN4//S5/L89BSUvvUVFacn6nj9309NBSWtAPJCjjzwffjnB0Ft94V/0/+of/AKugtnZTnzYIHPuT6j1CdBbGQonntJ8c5/iU6CyelKRnJR8vnB9/y+h0Fiuoo7Scpz+WfPPj9+gxsmstpSCFDuB+nOOcefHvn6+mgT0m4wlSldw7R7Y+ueMjQJ+XdCO4nvwCDxkZyRnkZ8g+fbzoEvLutsHPxMc5OCPTGf8ANn0Pn09dAl5t3sjuy8R54JAyP/Vzj6+M/hoEnNvUAqCX0gAcDvx/+lj/AH/LQJSXfnYMfGV68pXxz7HvGfOD6ccHQJiVe7hcyHzgjjKiSBk4zhZP8vb10Foq9lAf+IVc+AM/nyoaDu3eLrg+VZGPQ8Y9fRR/5wfbQZVi61PADvIUOOCQOADnz9ccZ0CiZuBThBSsY/6if5fxzwdAoYdZc5V3JIHgZyeeOBjj9vj30GdjVV4q8pIIz59Pfx/D20CihTins8H04wce2fH1x/voFC1KdUQoHjPPJB844wPr76BSRZLisA8ggDz4yPIGPI98/s0ChjOIKVAgkgjyB4Ocev00GYjkgpwSAQOBx5x7aDOIJCRgkfgSPU6DOw+fPP6vnn20GVT5H4j+OgyyfA/Afw0HOgyGgNAqNAaDr3o/1J/9Q/roLYur7lAK4CiE8J8emDjn8dBx8Vw/5v3D+mgp+w9hgfhoDQGg4yPcft0Bke4/aNBTKlZODxk48aDjuUfX9w/poKfejJHcnI8juGR+IzxoOFLT2nCk5wccg8440FqHXPVXqfRPucentoBS1KHao5B9MAfwA0HTQGgNBwSB5IH4kD+Og470f6k/+of10FBxxQVhKhjA8YP78HQUvvB8fETkeRlHGgpuLwlS+4ZPOeMEn93Ogsw+oclQOCTjCeQCeOBnke3Og4VKWrHZlOM5ykc+MfrA+OfHvoKBWokqUrk8Z4H8saCmpaRlRUCQM47vOB4wD6+wHOgpfGCvHy49/X/1aC0edUVBPeOzGeMY7vxHPgnjP5caC2W/2gjCiR/mBURz9AMfQ86Cj8bu5Ku0+MFRH584ProLByWEDkdp+qiOPzVoMdIqTSMEqT2nlQ+IDn9/vz6fj7hhpdfjtY+Gtv0z86Fc5PHJPOPTQJ+bdCUd/wDiJVkeAUHH9PpwM6BIS7waQVf4iU5znLifJ9CCfQ+cYxjxoEfPvZKcpTIQAT472vJ4/wCe+PpoEjOvsI7u5xKs5A+ZsEEAZPGPf+HjQIWo3+gd+HBxn/Ok+pHvz749PTxoEVO3CSEqPxQMdx/8Rv2yVHPt9eBzxxyCFqW4iFZ/x05BOAHG8+RyADn29/BH4gkJd+FxWA6U+ue9BHjBGff9+B+0MI/eRKikuEpHj5kY5AJ5yCeSfOgoG5S8QUlXsB3Ak/UY7s6CsK2tZT8Jav1hkj5h285HIPrjxzx+OgzEWqyO4pClY9sA+R7Yzk+vnP0OgVMGc9xgOc8nCTyceDx7Y44/joFvTpS14GVDAJBPv6Dn1/bn9ugWtPdc7h859Pr6c/xP79AuYBUsgqJPGBjj0GPGPUnQLCAhzCO1RRyM5SOfb9YHGMnOPfk+NAsIiHlDtwrzwrs4P6pz4AwSDg+Pb20Crhx3R25X7f5U+cfgP2+PoToFPGiqCCe/lWMnA5xn8fGfp+GgzsRj5QpSu/AAAHkY98EeCPb250GdjNBQHegkfNye4Dz7jHrnQZqM2Un9VQTxgkHHn3OgySACfwGfzyNBkGFFff3HPakY8DHn2x+/QVdBkNAaBTLV2oUrGe0E4/DQUC+SCO0c/U6Ch7fT+pP89AaA0BoDQdCvBIx4OPP+2gpk5JPvoONBweAT7A6C3D5P+UeSPJ9DjQUDypSvVRydAaA0BoDQdVq7UlWM4x+8gaCh8c/6R+06DotwrABAGNBSUcAnQW33g4J7RwSPJ9NBad/zKOP1sev+2g6LdIBK1fJnxjxzxzn0/LQUw6CMgZHoc6Ck6tfy9qijznwc+Mefbn9ugtRKAJCnCoDIwQBz76Ci7IyFqTwntPzeownk/iD40Fj96H/xl/sOgtFyE9p/xVcc+MeProMTIqzbQ7Ssk+o9vUftx440GBk3Oy0TlQyCRgn09D6fXOMj2J0CPn3mhOSHDz9fzz+Gfy5GRoENUb5bAUDIUOcEZPoR6/T34PHHnQIOpbgNN5AfJ47hk+xP9PXnj1zoEHO3La+f/vahx6E/v4H7OPw9gbypbnNlbgMlWO5Y7g6n0UeQn9YE+3pk58aBA1Tc0JUrtkkjHB7jkH39MfhgenjPIIOo7muOd2ZSvlzjCj7j8cY/f/EELUNyFqKgZbp8n5Sc4/DgfkPyOgR83cF5xJDT7yyc5STge2M+x5/b+OAwYu2W8pSll3PGMEHznPvjxx40FVitzn+cleVEdoOSBxznj3/foFDHelOt/Mhzwc+o9fTn/nPOgU1OjyncFKXcJGDwMH/nkev00C8p1CmOEDsUnHzZIGDyBj9/4cfUHQLqn23JHaoo7j558+cflx4859CdAv6fbEjtQewcgHx48AenAPH1P7tA4VOtVZKe5hJ/DjnPk+CfXjPHgaBdU62u0pHwhx6ecYBzj14P4nzkaBcQLeKe3/CT7+P2+4GcDn8fXOgWcKiEBH+Cn0+nGPT6fvJ/DkFPEo60kktpCQT7DAHAxn8h54/PQKGJT+5YBQPQHwfH7cDn+Ogz7cH5e34f6vr75/L6fv0GWjR0NpA7ee0E59+Mj9ugybDKVgjPaE+gH7f46DIpHaAPONBXQjBHPnjx9RoMghHwu7Bz3AZyPcZ/noO2gyGgNBmNAaA0BoDQcHkEe4Ogp9h9x+/+mg4KCBnj/n5aDroOjiStCkggEjgnx5B9M6C3+AsDkp4HPJ9Py0FIc/v/AHHGgNAaA0BoDQWTn66vx0HTQdVrCElRyQPbz+8jQWbig4tKxkDHr55H0z/HQdFeD+B/hoKGgoK8n8T/AB0FNaw2ASCcnHGP5kaCxWod6lc4UePfyfPPsRoKLzraAMqB9eCD6Hj05HroMO/UUI7lA/J6ZxkcYPcO/GMg/l55zoE3LrYbCwlxOCRkEj08D6Y9/wBnrkEjOuIDuJWDgHwRk4+ncDn955xoG7qt2paUV96hyME9ntg/5+PX0PpnydA3tWvYJysu+gT/AJOTk+68ev5/TQNlUr+cKVgOjkYzlIx58fNx9f386BsKpfjvzp+KkkH6eQefXPpz6edA31Uvl9Tak94ySTnjGDnAHzDngg+ugb6oXetXcAo8Dn9Uf/pfuHn6aBCz7rdJUA4UnJ5wMj5vHnGeMeo8kZ0CWk12Y4FAOKWCDkhahx5x2hByfoSM8DPggErKqkxay22l0FX+hGQMY/WzjHk4wD654xkKaYNQloAKXylXaSUo5yeeOfH78fnoMtCtSou4UEu9qvRSVd2PB9CD48An0z9AXdMsGc4lJUhZHy4HIIyDzyB6YxjOPcaBxqLtu6gfPHWSU5yDnJ7gT45xzwcefx0DkUzbhRLf+AoZKcghfGVYGR2H8vy+ugcil7c9qQCyc8ZACvPr/kzx6eugcqmbfpSoEtnxxjv90+flGfA98cA+ugX1Psj4YADfyjHGFZ5+gT9fx/PQLinWanCf8PHk4+bnIHPCTx4x6emgV0G1ktdpS35OPB8Z/An29PPGgVcO2lEkhHrnwePpjtz+Hn6Y9AUca3wCFFBGAE+CDkc8fLjt59SDwfA0GeaozYT29pyPPtz7fs9hoMg3A7exICsJAA/JOPfQXzUMjGEnhQ8gc+Dz50F78B3/AE6C5ZjJSoKWhRynnASeSPTx6+50F0lpvuGG3M5GPlT5zx4UT59hoLtLS1Z47cf6gRn8OP26C6Qx8Q9pIAAzxn0wPb66C5RFQnGSeDn9+fXQXASlP6vr9AP4aDskFRAHk++grGOsHGU/tP8A+roMp8Nf+k6A+Gv/AEnQHw1/6ToOChQGSkgD10HXQGgNBTIWcj0z9PGeNB0IIODoONAedBbONY7fhpPk55J9R7n8dBT+Gv8A0nQBbWASUnA5Og6aA0BoOhbQSSU5J88n+ugoONkEdiTjH485Pufw0FNTKlDtUgkH08fwI0FBTKACAnBHGMn0/PQWhSpOQsYySBn2OAPGgpLAGMD3/loLdXZz7/n78/TQWEiQ0lKcjuwrk5V7+fI4HjjyR+OQwz87CiQMJGcHjHp+f/Px0GAm1EknBPKePXjj38/njP56BJTqkvsIyQCD7ev1AB98Y/poELPqQHcFKxk+pPj+p5HufPjQIGr1kIKwgEApPhRIPHPk/Tn+nkGjrtZeKVgIVgDn6Dzz7Z/HzzxoGbrVdfCVgBYAUQPGACfHPnyPQjQNvMqsl7uCEnx5Jxn0/M859vOdAk5jVQeJU2nC1EnPdnBJ5yDxyMj1+mgwb1HqjygVHjGCAcepJ8fw8aCyNrSF5yFDPB5Uc/8AqJ8fTHnQUHLQ7h/iAkDA5z74HgcnPr5OgrR7GccVhCD2cEDszznnkjJzxx/LQKGHtqCpKlNpSpWCVFBUVfkc4x9PcaBd0ra/Pwz2AggHwoDkZHr45wPY8aBw6XtiAQFNgIHg5AA5yeMEnkHgnkjjHA0Di0jbZaUJJaS4M8ZbGABxkZB4PqfPGTxoHGpu3qU9v+EhPABwgAnkeoH0zg8ev10C5gWC2MKKUlQwcfMM4PGMEe3oPQ86Bb0+yUgJy2OR9efbnPofr+/QKyHZzaEpUloEhWOCr9X1PB8Agc/iNApIlspCv/DAzjHB5wOfX05/f6HQKBu3UgJKQkEAD14PnjKuPPtz+7QZpFDZRjCAceB83H15OgyDNO+HjtTgY5+XPp9QfX10F2mEkjJwDn2x/AD9uguW4fbnkc4/n7aCsiKO4cgef9XsfbQXrcNw4KSkp7uT2k+2fIzoLhUdTeM9qs5xgAYxj+ugqojOHBKkgEAgdqeM8j6njjQXCWEJSO4BShklWCPUkcD2GgqBpC/CQcecEjz+Y0HdDGB3IQceM5J/Lk/T/mdB3DaycYIzxn2+v5aCuhkAHu+Y548jA/LGgqhgAghOCPHzH+ugqFKickfvGgyugNAaC0W6olaMDAVj1zxg++PP00FLQGgNAaCiv9Y/l/AaDroDQGgNB1X+or/yq/gdBYDx+av4nQc6A0BoDQGgsV/rq/8AMr+J0FlJ4wfYf/pDQWhUVYzjjQWDiyCvgeSPX3x76DEyR8hHv/Mn+ugT7qyorQcYSlRGPPHb55x+7QJ+ce3GPYDn8tAjpqyU4wPb19fz+ugQ1SSFKJOfP89AhatHQodxK84I4IxyDn/LoG4qkRpRcyV/N55T6DHHy6BuKhRoRWpSkrXkFRCinHk+gQPXnQJRyiwkLKQlZA9/h/8A8PQU/wBDw/8ASr//AF//AMPQH6Hh/wClX/8Ar/8A4eg4/REPuSO1WCSD+pn08fJ/I6DKMW9TVqbCm1nuAJ5Rzxn/AOH76BX0+2qWFIHwl4Kkp8o8HHs2OfT/AH50DhwrVpA7P8JZ9cktk8AnHDQ840C6ptr0n5QGlgYAwC3xj2/wv9vz0C1h27TEqCQ0SMAc9hPIB/0fXjj0GgWkOh09AZCWiOSMjsyeAefk8/1OgV0KhU8Jz2KyCfVPJGOT8n10Cij0qGlIw2cq4J+XI5IyPl8/tH0xxoFFDpMMKSAlXDfd5T5CgP8AR/w/noM43TozQwlJ/E9uf3JGgu0RGAkYQAffjPk/TH7tBWSw2kYA9c+E/wAhoKmB7D9g0F0ylKkqykfLjGM8+PPP8MaCp8NH+kaC4abQvuykDGPH1z759tBWDDYOe3QVAAkYAwNBzx6gH8f/AK6A/doK7LaVkk5+UEgcYOMcHIPHPOgrlCfQAfgAM/jxoOUgIT2jxnPPnP7v4aDsOSB7kaCp2D3P7v6aDvoDQf/Z
/9j/4AAQSkZJRgABAQAAAQABAAD/4QCORXhpZgAATU0AKgAAAAgABAESAAMAAAABAAEAAAExAAIAAAAWAAAAPgEyAAIAAAAUAAAAVIdpAAMAAAABAGgAAAAAAABDaHJvbWUgT1MgR2FsbGVyeSBBcHAAMjAyMDowOToyNCAyMDoyNjo1MAAAAqACAAMAAAABAfQAAKADAAMAAAABAgAAAAAAAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAIAAfQDASIAAhEBAxEB/8QAHgAAAQQDAQEBAAAAAAAAAAAAAAECBQYDBAcICQr/xABPEAABAwMCAwQHBQMKBQIGAQUBAgMEAAUREiEGMUETFCJRBxUjMkJhcQgkJVKBFpGhCSYzQ1NicnPB8DRjgrHRkuE1RIOTovGywhc2VKP/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAQIDBAUGB//EADERAAICAQQBAwMDAwMFAAAAAAABAhEDBBIhMUEFE1EiMmEUcYGRseEGI9FCcqHw8f/aAAwDAQACEQMRAD8A+qdFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFNccQ0kqWoISBklRwAKAdRXBvSr9tn0UeiiM/3viJm8TmlaDCtJDytXUFeQgf+rPyrxx6Uf5UDjLipcqHwBYkWWMw2XnJi09u8lGQNRKhpSMkfD+tWUWyD6W37ia0cLQVTLxc4dqipBJemvpaRt81EV5Z9LX8pR6NOAW349iD/ABZckEpCWAWWM8slagVEfRJHzr5l8d8c8ZekhmLeuKOK5M2fcn1Msxn3VLUG84DgOrZGrUMA42O3MCsvcUWHhm/KuFoZ7Zm1ISiO84snvEoDAd6YGcqwPLbGdrKPyRZ6s43/AJTn0t8WNTDwrBt9hhRgFuyYkTvDjSVHCdRWFp5/IGuU3L7an2gRJiK//uVcGXZLfbtttR4ygE5I3TpwNxjBH6VwKbxc/KjptrjmEvL73OcO6iMZSjPkBk45ZOaiJHEMmct+TrWJU09g0nOezZAwR8vDgf8AirpJEHq7hX+VA9PHCjrDk2+WPi6FyLd4tIYW4OuFx9O+3Mj9K9Wehn+Vp4N4iUxb/SZw/K4EnLUEi5RFGbbVA4wVKSNbf0KSBjJVXykTegysPNhDjEAdlFQU6kuPKxlWPi5DcjcJAPQVtQlsM4ZV4O7MLdmPA5UpSvdSo8ufIeasHltDiibP0b2HiK1cVWmNdLNcot2tslOtiZCeS806nzStJII+lSNfB37PX2huPvsxXxm48LS+9WSQluVceHXda4bqFEJJKc+xcycBQxnw7KGx+yf2fftBcL/aL4Ej8R8OPFDgw3NtzxHbwnsbtrA/XCuRH6gY3GibOn0UUVUkKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKiOJeLrJwbbXbhfbtDtEJsEqemPpaT+mTufkN68p+lv+Uy9HHBCXIvDTUniy44OFIBYjpPzJGs/+nHzqasHsInHOqD6R/TzwH6J4r7vE3EsGA60nJiBwOSFeWGk5V+uMeZFfJb01fym/pD44ekRol4Tw3b1p0CDZspXj5rBK8n5rx8hXnuDafST6VUmXEtr7MNxWs3O8OdmhRz7w1YCvqkKqVH5IPpL6YP5Vyz2tDsbgaxmQoD/4ldVgNgfJtJx+9f8A014V9LP23/SL6Zrm7Fl324XQPHDdrtoKWB8ghICTt10k/M1CsehLhSwlqZxpxO9f5SN1QoKuyYz+XWfER9Ak0+V6b+G+AmH4vCVph2hKxpUqK3hxY8lLOVK/U1el4IKe/wAL8XMG3XPidAsFskPhPZPr1S3EAFSjpzrA2wc6eY862b5xhFBdh2mO3AZllOtWnK0sJzpClHJyclRySeQJwKqHEXHtw43uipMxxRYYTjc8hzI/WojW/IWDnD8o7f3Uefy/8CrkE3cOK5Et1yV2ilYSI0VJPuJAxt+n8TUY5MKVIbJJZijWv+8s9P8ASsaU+EvIHgR7JhP5ldVf78xWyi3pay0tPsoo7SQc++von9+36GgMAS6/4FnDsj2ryj8KOdZErWrLrafaO+xjIx7qeWf48/PettuA4+W21KU2/L9o6sj+iZAyD+7f/wBI61nS0VNiS0ghTqu7QmuuORV/HGfMq8qA00BDCirAXHh7Jz/WuH5/72+tbCGdCkx3VHY96lrzk+YH13/U48q2e6txlqVlDkWAPeI2eeP+mxP0SPOk9XqTiO8MKI7zNX1A5hH13H6q+VAWDhK+LbkIYkJLzV0dbMhtRJQmMgg48zyGDnbB+o9D+hr0k3L7NHpKsPpBsDyE8GcRy5DQtYkHUuKh0Atug9RqGlW+6c9CK8tNrddXrCSiTPOlHXs2Rsd/mBj6Cu+ehW4R+LoVy4VfitzFXtpqxWNLqNfd3S8lXbJB5HIxsdu0UelQ+QfcLhXiaBxlw7br3a3g/AnMpfZWDnYjOD5EciOhBqVrxL/Jv+lJ120cR+jK5TWpsvh2W6iO+yfA4hKyheM74JAUPPKzXtqsL4LhRRRUAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKSud+k37Qno+9EERx7ifiaFCdQcdzbc7WST/lIyrHzIA+dAdFpjrzbDa3HFpbbQCpSlHAAHMk188fS//KyW62rfjcBWAPJQD+I3lWEH6ISQP3rz8q8Kelf7Z3pF9Ncx2HOvlzvanl5RbLekhkfJKEgA48wnPz61bayD69elj7c/on9FMdQev6L9PBKREs5S9g/NzIQP3k/KvE3po/lYeJ57rsfhKJE4UgYKUvvkPyF/MFScD6BH6mvIFp9B/pA4qDU29yI3B9vcwpS5rmqVo/ywSoH5KKasMXgP0WejZZkze14suSf625Lw0D5hpOx+iiqrJIgqt69K3pG9Ol2ecji98WzSrxSX3HFIR9VE7D5FQFSUL7PFxeQzI454rj2mP77lttmHHcdUlXuA/Px0vFf2m+7xTb7O23CiIBCGIqA2hP0A2FcY4i9KN6v7iiuQpCT0Cjmp6JO+Iv3o09E+V2GysPzkDAnXAiQ8D5gq2Sf8IFUDjL7SN1vZcQw6sJOw3wBXFX5LslRU4tS1Hqo5rHVd3wEiZu3FtzvCyX5KyD0BrXtcJctS3VA6EdfM1ossrkOpbQkqWo4SANya6LbrO3aIYWtJUmMApR6LeIylPzx7x+g86lWwyPYtqWkoik6UoHbyVY5f3c+fIfU/KttmK48pKk6ESJvhbB5Ntjr8ht+5PzqXYtBJER5xSSU97nrI3SByR9dwP8S/lW5HgPSihTaWkz7orsmEK2SywDjUT0B0kZ/KgnrWQqRDLKUgykN6mGPYREY3W5jdWOuM5+qhUi3ZkMKMWQgmPCHbTilXvucg2D9fD+izUohpmMlU1lAVFg/dYCcbvPcy5jqRnX9VIFbSbO1EX6vkoX3e3jvN0WhWQ49nAZCht5IH/wBQ0BEsW56RoaW4Wpty9s+4pPhYjDxAn5EDVjyCB1xWZIJBmxUqBcPcbZHxlWPdKvLO+nPVS1H4alRFkTQG1ulm53r20hxacIjxB4gT5Aga8flQgdaeHhpNwiAgqPq20RlIyvlpU55avFjPVbiiPdoCKVEYhg+Jp6DaRlSxuiTKV/3GU5/wIHnWNdqUSIklOl5ae+3F0K3QjGUoz54I/wCpwDpU2Y8eAVJX3d+32bxOkHKJcxXQfmTlJ/8AptfOmKta1YhSstyJA9Y3WQFeJtr3kozyCsKBx+dwA+7QFadjvSAHUtBqVcCUMITyaYGxPyGx/RJ86tHAPEDtlu7U63h3vDH3W2pbOF9qoaSseStzg9CR5VHS470pCX0R+ymXM9jEbSfCxHT4SfkPDjP5UKPI1rW+WLdNTJidoW457vDx7ynDzX9d8/UjyoD21wFxMx6JPTTwdxxZWwmxKDFlvUttWESbgUrU6rHxBY7QJxyGgnnX1cYebkMtutOJdbWkKStJyFAjYg18buCG4nGnonvNjKXnIvDcNc6M42vSt68uJUUFJ6gaDkflYSPjGfpB9jL0np9JvoMsrrrZj3C2JECSwsnUgoHh2O4wPDv1QaxSRZHdaKKKoSFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFY5EhqKwt55xDTLaSpbi1AJSBzJJ5CgMlFed/S39vH0R+iZCmnr+niC4YOItl0vgHyU5kIB+WSflXh/0z/ys3F94EmPwjCh8IwVJKEPPYflHzUFKGB+iNvPrU02D6m8Wca2HgS0uXTiG7w7Nb29jImvJbTnoBk7k9ANzXk/0v/ynno64Hedg8LRpXF1wSnPaoHYRgf8AEQVn9E4+dfKC6ekX0j+ni8KcjpvnF04qwqU+txaEf4lE7D6qAqy237Mk5WiRx9xZHtMbAK7baiHXT5pK/cSfn46skQdO9NP8pl6SOP1S4zN7HDlucyBAsmULA8isEq+uV4+XSuE2vhP0lelUtzIdpfjQXzqF1u6+zaUOqxqwFfVIUa6NHvnow9ELajYLLGfmj/5+4feH8jqCrZH/AEgVz/jb7TtyvTq0RnVkHYYO1XogtkH0B8IcNOiZxtxO9xFJbGTChKLLGfIqPiI+mmtid6dOGfR5DdgcJWqFZ2jsoxWwHF/4lnxK/UmvOV04uvV/cUXX16TzAJqHVbXlZUrUo+ZNbENPlnzGLKOcV2zonFnp6vV9cXodWlKupJrnVwvk25rKpD615OcZrA5GUjORjFa5GDWtNSg6kqLpp9BqNFFFYiwUUVvWO0PX26R4MdJU46rGR0HUn6CgLX6POHHZBVcewU+vUGYjQ2Lrp2GP9+flV3THjsrckqJdgWs4SvmmRKVvn6ZBVj8qEjrUixbk26BHj26Op51ZMC2tIV4lqPhddHzJOhJ8+0PSsiURYSi4CXbbZtkKUMplTFb5/wAOUlWPyISPirOlRU1E2zC/V8l5bbqx367OqHjQkcm/8XiA/wAbmOm2w2l+cUutpZFxu57vEbOwjRk+Eqz8KTpKc/kbWetbKLcpX4bLkrbcdHrG8vrT40JG6W/Mq8eMf2jgB92s2mTPKXmGmE3O9kRYbGQExog8JOfhBCdOfyIcJzqqSDXbU1GBuLDfaQbYe6W1B5vST4i7jqQT2n1U2npWdFrbh4tkpDndbbiZeClee0e5JYBB6Z7MeRLqvnWfto8IKuEdsOW+0/c7YCN5Eo+JT2OZwSXPkS0nkKcLY1D/AAqYh7uluzNvakuZLjx8KWAoHYgkN/Il1Q23oDCluTOIQ5JLF1vo7aQ6tHgjQh4gTjcJITrI28LbYHvbr3whPrKGlQIPquyRinK/yqc/xePGeq3SR7uKykS5/s1SCxeL+e1kOrRhEWEnxA+YBCCsgfAhsDZW4J+kesoaVAj8KscUpCl/lU5/j8eAerjpI9zFAYgxEhK7Nfd5dpsnjeUk+zmzV8k5+JPh/wDtsn81ILW4fuUsrblSx6zvElKvE2z76EHyUQoKx+d1A+GtnsIsHDS+7S7TYfavqB1Nz5q+Sc/EjKceXZtH81NMBx/7hLUtEqaPWl6lBQK2WB4ko+SvFqI6rcQPhoCOeZelASWYqmZ13+7QGEHwsRE+BSvPGE6M/lbcJ2VvCylNRXDIi61Roh7tCJG7zvNS8ee+r6qSOlWZ8Pzk95YjLZuF4Pc7bHSrwx4icIKuhwQnRq/Kh0nnkwlzUwwlUiMXVwYP3SBlO7zx3U5j9SrHQqQOlAdf9AXGsfhi7w3p8g+q7Coz3G/hkzTjQlXmkKSkkflbUPi39lfY14qk+in7QvEPAtzlrDPEbKLshiUCHWnnh2vZknmpJUpCsfEsjmK+c3Bd3b4cvUZT57Ri2OCU+lQyl2R8KD5gEAEeQV516luF/uEC2cF8bRX1TuJbHI9bX6a6MORWX1tJaRq66SULxz1uuD4TVGSfXmioPgnimJxtwnar5CcDkedHQ8COhI8ST8wcg/MVOViLBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBTXHEtpKlHAFI44lptS1EBKRkk18kvt+/yidy46v1y9F/omuxhWBjWxeOJIq8KlYxqbYcB8LQ3ClDdfIHT70pWD1B9qT+Ur4M9CkuTw1wg2zxxxq2otusMO/coSuvbOp94jkUJO2+SnFfMn0yfbI9JXpmuDrF/wCJJlwDzupuy2z2cZvfZAQnY45ZIUr51ybhTheRxg+5Et8gWyzNqPe7rIGSs+Q5Ek9EjHzIrsFo454L9C8JbfDcNtVwKdLt0kgOSFnrhXwj5Jx+tXSoqQXDv2fvSDxiWp95cj8GWx0alOz1EySn5N+/n5K01c7f6NPRT6MS5IuJd4vuQ/rLkvSyk+YaTz/6yquR8YfaJvF+cWlp5eFdSa5rOv1xvbxL8latXTO1XSbaSD+T0pxd9qFFvhC3WdtqFCZGhqLEQG20DyCU7CuJcTelq+cQuKIfWhJ+dQVv4dXJIJBOfOuhcC+gTiv0jvux+F+G7lf3mk6nEwIqndA/vEDA/WvT6b/T+sz4/daqPyzQnrMcHt7ZyWTIkzHNTzi3VeajUlaLMqWpPhyc1arv6O7hYLo/AuMB+BOjq0OxpLRbcbUOikkAg/WvV38n/wDZon+k30kJ4icsrF3sPC6kTH40qR2Dcp/m0yFaVZORqII0kJwogKrsaf8A09LRqWq1qrHFX+/wk+uXwjXya1ZKx4u2c69C/wBiX0n+mNtp+w8JykW5R/8AidwHdo2PMLXjX/0BVeor1/JKSOG/RnOvFy47ht8QxmS93RqEpcUqxs0HMhZUo4AIRzIGk5rrHp2/lNHuAZN04d4a4HdgX2A4uK+viBxOiM6g6VANMqOsAg4IcAOx5V5IX9t30h8aekDh+9cTcSSJkC13Fib6rjYZins3Erx2acBR22Kskedez0npfrOqcKhj00O0nUpSVWl5XP8ABy8mo02O+XN/0SOLfaC+yrxx6AJsRji+zdwbmBZiyWnUOsvacatKknmNScg4O9efZkdTLhBHKvvN/KL8DQ/Sp9lV+/29KJqrOti8xJLQ1amFDSsg/lKHNR/wA9K+GfE8LsZKttsmvAa6EfUvTl6goKM1Jxkl1a/wzsYpPDm9m7XaK7RQdqK8KdUK7F6K+ElxLcJjhTHm3BCuzeWf+GipGXXvrjl5nSOtUDgPhg8UX5tl3wwWR20pwnAS2Of7+Vd2WwZwZgtdlGVObS++vGDCgIGtsHOwyB2pHMktJ51eK8kM1kqU7ibEhqRImfhtmhIVu237ilj576Ar8y3FcxWT7nAV2gKnrRYvd1DwS5qt8nPwkpyR/ZtJHNVKHXH0mfEhOJkTPwyyQ0q8SGx4FK+ZwSjO2VrcV0p2qHbTrClO2iw8lKAKJk5XM+WnKc4/s2kjmrfKVBERawLVKluIXI/E74+tPtG0p3S3k81AL/Vx0D4aeFybh7aOzHFzvf3OBGOyYsNPgOCfdSQnswfyIcPxUCGtafVcyYtD0n8Uvj60+0bQN0tZ6r8f6uPAH3aXtZdyV3hhqOm6Xv7nAjZ0piwx4CR0SkhOgHohtw/FQDRIjxfxKO2HbdafulsSecmUfEXtPMkE9qR0UWk8uTxb24pFqmJd7rbvv97UF6i6/wAksA+Yz2f1LquQzSd6jxMz46A5brQO62wKzmVKOVKf08zgntCOhUynkKX1YiL+EzEPpjW/79fCF5K3+SWAeWRq7PruXVchQCFUmedDkgsXbiH2khxacpiwU+MHHPBCdeNvA22B724LhoKrnDQcJ/CrFFWnK+WlTvTxePY9XHSfhxTx3q4ANuSO73fiI9q+4tBDcSCnxg46JIRrwPgbQPioNw0JF0hIISn8KsMRSRr38KncctXiIz/aOkj3KAb2ESEoNOJjS7RYvayN8tzpy9tPmpBKAn/LZJ5qp4t70jNumOLZmziLpepiV5UzH99KMcgrCtZHVbjYPu0oZi23LDojSrVYfayDn2c6crknJ95OU4/y2VH4qE2910C3zC4zLn/id7lhXjYjjxoR5BRCteOq3Wwd00AhW/M+9R4q49yvR7ja4yFeCNDHgUR1xhOgK/Kl0nnmoqe6zFQuXHdcVbrX91tytOO3kHdTuMc99ZHQqaHIVM9pIl5kxorrFyvX3C1Rkq8EeGnCFH6EJ0BW2Ah5R5g1pypMaCgzo7jqrbZ/uluVo3kST4lPY+We0xzGplNAVcNi1TEsuq1twj20onkp4nZH6EafnpUa9P8AoKnReM7NJ4PvEhXdL2k3S/PgYWhpvdhpJ6EqVgeS5APw7eZ7jBTCUYbrmpMId4nK/M+eTeeuCNPz0rNXv0O30ovEeDLmqixZzqZl0fRstMZG+gfM5OB+ZSPKoYPp3/J0ek5/iD0azeELoHEXWwvEBLoIV2Rxgb/orPI9oCK9eV8yPRT6TF8BfaY4Z40kz+62jj1kgwQlSUx2m8MoBztownUnHwtoJ5gn6bCsTVFkLRRRVSQooooAooooAooooAooooAooooAooooAooooAooooAooooAooooAooooAooooAooooAoopq1BKCTyAzQHgf+Vb+1k/6H/R0x6PeGp/d+KuJ2liS6yfaRIHurIPwqcOUA+QXyIBr443BaLLBagDZ98B2UocwOaUfu3rsX2pvS1I+0D9qXi3iaS5m2szXI0NvOQ3DjkobA6eIJ1H5rNcPuCXZ4fuKxjtXTWRKkQbz3Gc4w0Q4yu6RUDCW2z/H61EYdlr1LUpxR6k5rA2MrFX30b8DT+POJrTYrVHMm53OS3EjtD4nFqCUj95rp+n6N63JsswZsixRspxgKHT99TfDlnMuUhATqUTgADnXsv7en2QLZ9nA+jz1KkuxplmEadJ04EicyrLruOmoOIwOmmuU/ZFXZbP9ongGRxBHbkWlN3Y7VDpwgEqwhSvklZSr/pr2npfpOP6dZBb4U2vzV8f1VHL1GpfON8P/AJPfv2X/ALEfoY4N9GVl419JNwt11uzrAflM3C5NogQlnxBtSQQFLSnAUFkjIO1XXjP+UT9EHomtrlj9H1o9fOR8oZZtscQoCTyPjKckbc0oOfPrVe/lTfRbFVwNZOP4EVpqXDkmBPW02AXm3BltSyOelSCkZ/tK+TFw4jcYnHcgZruaPSem6/SYvVPU808kZSa9u6jGn1x3xXK28M1MmTPiyS0+CKTS+7ts+1fCXo/4S+199maRxHcrREuPFV6amOd/lNJL8OcFKQlDbgwUto0tpSPyBJOSSTwf+TC47c4X9I/E/AMxtTCLnH722hzYtyGDpWjHmUKOf8utD+TE+1NwzwfwtxJwdxnxBBsMUSG59ukXB4NIWpadLqNR2GNCFDP5lVSvSPxZbvQn9tMcacL3WDebA9c27s3Jtclt9t2O/wD8S3qSSAcqeTgnyPWu56ZoZ61eq+gxi3jyR34bulXKin15inXwzUz5faen1d8p1L/n+5Efyqfo+d4L9ORvrLWiBxLCRLStI27dHs3U/XAbV/114Ptt2dZnYKute/Pt5Wz02elyfJ4u4j4KuVl4ItCCIDWUONRmllI7RakKOVLOnJ5DYDYV8+JMdTFw5Eb1wdVl1en02jnLIpSglF7ZKSVdJtWrSpM3cccc55ElSdvlUfTj7OX25r7xZ6O7L6GXPRqrjNUm3GxpciXAtuusKQW/GhTakgJQcFRUAAMnFfPX0t8GzeDuK71Y7iyWJ9smPQ321blK21lKhnruOde9f5Ifiy3W70l8S2GXDY9Y3S2h6HNUgdqnsl+NpKuYCgsKI/5dUT+VQ9GB4Q+0HLvLUfs4XEkJqelYThJeT7N0fXKEqP8AjFWzR08tTn9Ox4fb3wWS7b3S7bSfC4b6+CIOWyOZyunX7I+ejidKyPnSISVKAAySeVbE9stvEdM1c/RVw0mdcHLzKYU/CgFOlpKdSn3ycNtpHUk42+nnXx7JDZkcPg9InaTOhcE8NR+FLAWpyUFSUIm3NCs+ME+wjZ81qBz5JS4amTGlXA92fdaTc7x9+uEpWB3WIPaAHoMgdoU9fYissnsnJTsWa81KgWsmXc+iZUpeyWQRuU+Hsx/dbcUOZpgjybj93fcbF0vQ79cJRwO6xB7QZ8sgdqU9cNAb1KVECGStxJuEOE4HpebXZIaV5U22PApY81b6M9VLcVzTTgYdvOQtT9osO/iHgmT1b/Qp1Jz/AJbSQd1bomQtzFyhwXUPScWuxxEKypCB4VLHUq30Z2ypxxXNNLqiW9JIWXrRw/4io40TJyuvlpyjP+W0Ad1VIFEdbgFrlTFoelYul8fWnC20DxJaz1VhWcf2joSfdp3ayrgO8Msx03S+fcrfHzpRFiDwEjolJ06M9EIcPxUnd1ufhsqYUPzAbnfJK0+NpsbpazzKvGDj+0eSPhpUrk3LVIjsx03S9nuVujckxYg8BUDySkhJbyfgQ4TzzQCd6jwQbjHb7W2WfMW2DfMmWdy8R1IPtCP8pPKlFsbiH1PND3dYH36+OIWMrf8AdSwFcsjIQN+anVchmnJkxoX4jHb126z/AHS2bn7zLPiLxHUgntcf5SeVCbW3CSLTLQ+mLbx36+FKt1PckxwociM9mPJSnVchQDdUuedKpHY3biI9o+pxOG4kEeIb9EkI142whtsDZW7xcUoPrSEkgI/CrDFUgFf5Vu45avHz6uOkj3KQKmXH3pHYXjiIa3nHEYRFgJ8WduSSEayOiGmwNlUouOjN1hJOG/wmxRVIyvJ2U7ttrGv9XHiR7tAKliLAPYuJjSLVw/7SSpKstzpquSM/EnUnH+U0o/FSqt7z5TbpilszLh+KXqYFAqZj41oR5BWFa8dVutpO6aUR4luJjupjSrTYvaSlBXs585ewQCPeTlGB/wAtlR+Kk9Xvvfh80rZm3D8UvUwKGpiPnWhGOQUQoLwea3G0800A7tpE1IlxWHGLhevw+1Rkq8MeID2alZ8iB2erbwpeUeeaxrmR7cDcIr7q7fZB3a1lTf8AxMs+JTxHLIz2mMZ3ZSayh5+WkTYsdxi43r8PtMZKjpYiD2alZ54wns87eFLyjzzQZ0e3pNxivuLtth+72wlH/EzD4i9jfcE9rv5MpoCv3K3Ii5gPOa24H3u5rx/SPnADOeuD4P8A7prRs0hYnIbee0LnESZS07FDI3Ax5kb/AKpqem25uOFW2Q4lyPBHfburGe0fOyWM8zg4b+R7U8qrUwPvONl15Perge9PrSMFpkeJO3TI8WPIooD1O9cpHHvosau7Rjv8RsSkzbNb8YVFt8RpfaAHbAUhB+WmMeqq+oX2bfSQz6UvQ5w7eW1FT3d0sPhSsq1pAGT9RpV+tfJL7PHFrzs1y2x+6984kQLHHTL/AKOPCyO1UrySdCcn8rbnnXsv+T944jcKcf8AG3oxaefXamZbj1qXMPtVtJUrQfI6kaicctArHJEo940UUVjLBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBXN/tJ8Yu+j37PvpH4kjuFmXbeH5siO4DgpeDKuzI/69NdIrg327o7kn7H3pZS1kqFieWQPypwpX8AaA/Pfw+vSi7vbkiMoZ+pq03Hh7s+A7S4EYLjPak/NSif9aqth/oro2RgrjkcuoruS7Mmf6IuG5KUghcMDPzSSk/xBrMVPOQyhzB88V170C8cPej30hcOcTRVKEi0z2ZiNJwVaFhRT+oBH61y28RO6TnEHbc1IcO3Ax3074r0foGox6fWpZftfD/ZmlrIOeL6ez7tfb24Ngemr7JMu/wBpCbgLc2zxDBkNDdTGjxqH93snFKI/ujyr4wR3lQpwUglJSrIUDgj5171+y99uTjG5cFcO+iGH6PY/HCjFVa2kJmKZcdYIUMLJSpISlCsEnAAG9eK/SpwNcvRv6QL9w3dY/dLha5rkZ1pKtSRpVsUqwNSSMEHAyCDivqPoel1HpWGelzVSe6HKbcXxdJ2uUu0uWcHUzhqGskfin+59MPtAfaj4N4w+wnZ2724m8cR8W2ptlqAy4EutymVhK5CtjpSh1onf3jsOZI+QXEcctylK3FfTP+TF4c9HfpYsPFfCfGPC9ovl3gOInxHZ0dK3VR1+BxIUd9KVhJ/+rXmT7dHoKY9E3p+4ns9thCFZn3EzreygeBDDo1BKfklWtI/w1yv0enfv+j6WMvci3k5qmnVbf2TS/hmx7k1s1E2tr4/P8nK/QFY4PGvpD4YsF0nLttvuVxYiPy20hSmkrWEkgHbO/WvpB/KAfZusXo39FPA914SgNwLdY3FWuShCcrdS6NaHXFc1KCkKBJ59oPKvmVwdbHrbMbdQVIWhQUlSTgpI3BFfaP0gcYcP+nD7CN0v1/ukeOHrCmS+/qHspzQBSnA3yp5ATjmQrA5124Z/UPRcnpeunKXtKe2Uf+7i68va3X7cdmo44dUs+FJbqtP9v80SXoAmRvtJ/Y2i2W7vdq5LtT1gmuZypK20ltKz/e09mv6mvjDxb6Pn7JxDOt8lnRLiSFx3UY5LSopI/eK9XfY8+3LB+ziLrYr7a5V04cuUhMkqhugOxXQnSpSUKwF6gEAjUn3Rzr096OPTz9l/hCwK9IdwuVmmcZXKU7OmrMFbs5uU4ouKQ00UZQhOrQlYABCQSSSaw5MUfQdbroPTSzYck1LHs+Xbp90l0+L4XBaMnqsWJ71GUVUrPMn2J/QN6WrF6S+GuNbLwdNTbbc8HX3p5ERD7CklLiEFzGoqQo4wCM4yQN6l/wCVV9Otp48unDXCMe0S7debCHXriLggJdYW6EYYGklKvChKypJKTqTg86vHph/lc3G3JUT0dcLNtNYKW7nfValn+8GUHA+WVn5jpXzO9I/pAufHXElzvd3muT7pcH1yJMhw+Jxajkn5c+Q2HSuZr9Xny5V6h6jhjieODjCMXcub+7lp1b8J34NjDijGLw4ZOSbttrj+CophPXi6sxIyC4884EISOpJrvtshtcGWVluJrU5BWY0Ts0byJyh43QOvZhWE/wB9Sfy1TPRHww82365CPv0tSo0DWPC2MEuvn+6lIUfoD51efWLccqucVUgxYObfZGnU5ccd5qfI6rysrOM+0cSPhxXyPJLfNz+T0SVJIURo8Um3yHGpNss/3u5HpKlq8IaB5kZAb/wodV1pTGlTz3d1xr1peszZ8g4zEiJ9oM/l2HaFPUBkDehcePExbZC2pFttBMu5n/8A2ZSsJDOeoyns9vhQ6sc6VUaTcPu7ymhdb398myesSGn2gGOmQO0x5JZAqhIhkqWPWUGE8l6QPVdihoWVOIQBpUsHmVeLSFbZWtxXNNOCoUE41F+0cP8AiOoZRNnq/hoyjP8AltAc1bgluOKFxhRHUvP4tVhiIWStCR4VLHUnxFIV1W44eac0JESB4Csv2fh8ala0jRNnL3x80ZR5/wBGyORVuA4RXHMWqZLUiRL/ABW+Slp9o02Nw2epV4wcf2jqR8NJ2sm4femWI4ud7+426NnAixE+AkflBCdGo/Ah0n3s07urj34ZMmqbkzPxS+SXEntGmgNSWz1KgFZx1cdSkjw0JdlXL7xGjsC6Xv7jbIudIixB4CQfhBCezCj8CXSedAL3iNC/EI7Yftlm+6W3P/zMxXiLxHM4US7j/JTypE21qPi0TA+IsEesL6rXut7kmOD5jIb8wtTquQzQJEaH+IMIDtrsv3W24/8AmpZ3L2OZ6ukdD2KeVONtbjq9UzQ93eFm435WvKlvA4SwDnmNQb5+8t1XIZoBFKl3ElKpHYXjiI9o64tGG4kEeIHbcJIRqKR/VtoA2Xu83AIxdIKfCz+E2GMUAuE5wp3H5xr58y47ke5ikSZc84VJ7C88RHW8paMIiQE+LPmAQjXgf1bSANlbqm4JQTc4aMpaxarFEWjKyeSngPzgryD/AGjxPw4oA7rFg5jOpjTLRYfaylIV7KdNX7qAeakEox/ltKPxUpgvSPuEtbjcy4/il6lAgqYj++lJHRWFaiDzW42OaaO6xII7B1uNKtNh9tMIVlufNXsEA/EnKdO23ZtKPxUvq96Rm3TFuMzbj+KXqUlWpceOPaJTjorCtZB5rcaTzTUAO3flEzIsZ1i43j8PtUZCspjxE+zUrPPcJ7PV+VLyjzzThcI9tV3+K+py3WH7tbFFrIlTT4i9g+Ry7jphlJoEiTKAmxYrse53j8OtENC/DHiDwKOTvjbswr8oeJ5g0G4RbdmfHfU5a7CO72zW1kSpivEXikjkDl0jphlPI4qQaz9vajpNplupcjwfxG8ujJLrx2Qxq5kjIb/xF5W4FQFxbfnaVPus9/u2ZUhQGO7xh4k7dMgFeB8PZjrVocgtMfhU1wOR4P4jfF7lTr58KI+eZIJDf1W8rkNoq5MP3H+lWwm4Xs97fWnbukNPiSMfCCBrx+VLQ60A3gG+SoN1CoAbalTvuERKzgNtE4USegI2Jxy116yb4z/ZXjPgD0nWeSlNltclnhhpoghyToBdW8SNtysFeer2ByNeL+2WmSmRGaS3257pCazulseEq/0J89denfRvIY4+9HF4sZajyWI0QWuwRHR4n7iolXbDfZQKlYP5nm+eMGGSfY61XOLe7ZEuEF9MmHKaS8y8jktChlJH1Brbrzf9g/0pu+kP0KxoU4pF2srhivIHPTk4JHTxBYx5JHnXpCsBYKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKrnpH4NiekX0fcS8Kz89yvdtkW54jmEOtqQSPmArNWOigPy/ybfI4f4nmQJjRYkMuuR321DBStJKVg/Qg13/0OqPEXoZk253Bes012OB1Da/aJ/wDyUv8AdVh/lLfQ236I/tWX6RDaUi1cSAX6ONOAFOqIfSD1w6lZ+QUK5z9nviH1TxxKs7zgEHiCNoGrbEhvJR+pGoY66hWbxZQ5f6RLX3K5KUE4woiqvb3ND4Pka7R6aOHSxKf8JG5riCD2bnkQavCXtzjMNXFo+kn8kr6Qodh9Nc7h+UwwVX+3KbjyVIBcQ60e00pVzCVI7TIHMpT5VLfyrvoqc4b9MFs4zZbAgcRQghxaR/8AMsAJVn6tlr9xrxL6B/SrL9FXpD4c4pgqPeLTOalBA2DiUqGpB+Sk5SfrX0m+2H6d/RV9rn7MNym8LcRsNcUcNvN3VqzXECPLUgeB5CUq2WNCyrwFW6BmvqcNT7Wv0/qWNXCcNk/w+lfwvt/ozgPHuwzwvtO1/wC/1PI32GfTbC9Cf2h+HrtdpIi2SWV22e+o4S206MBav7qVhtR+STX0L+0v6AbL9svjjhh/hbiW3oZgWxTk68xgJTSmHHPYITpUApRIfOMjABzzFfFB+7qaf1JUQM1fPR39oPjH0Yuuu8K8T3OwrdSUudxkqbSvbHiSDg7dSNqzy10J61a7TZvbzwi4ptXFp2uV+zfz4+Cnsy9p4px3Rbs+vFl+yF9nb7Mlsi3fjabDnSU+IS+KJSOzcWOfZxxhKh/dIWfma8efygX2sOAvSX6u4b9GsFlm1xcmfdmIfde+acBppI2UppO5wsDfGBtk+MeKfSlduLLg5PvN0l3Wc578mY+p1xX/AFKJNUi43lUknf8AjWhm12LSZFq8+qlnzLq3UVfwv/i/BmhilkXtxxqMf/L/AJN2Vf1h44Vn50n7TOBONR/fVdWsqNNzXjZeu6ze5Rm+TprSYqpol5V7deyNRI+tbHCPD8jjDiCPARqCFHU64PgQOZ/31IqAGScV3f0b8JN2OwHvraguY13q5KC9K2oYICWx5LcUQgf4ifhrlZtVm1MryyszxxxxqoosnYFcaJBt7RZfuTQjQ8nwx7endTqvIOaSon8jX97dPWLUTVdIinu6QPw+ysup9ot3mp4jkVDUVHHxuoHJOKTVLmjWlBZvF/8AC2BlKIsEHBPyQQj9G2vJe7/WTMQqu0JT/dLcfV9lbWj2i3uaniBtqGrWdvfcQOScViLAIceL+GSFtP220ffLp07zKVsGAfiAI7MfJDyhzoSxJuSTHdU0m7Xz77NkK8IiQ0+0GRuACEh3A6JaHWl7rGi5tklbT9utH3u6qTt3mUrwhgHmoAjsx8g8oc6UsSbkoR3lNC7X098mSTsIkNPtAD0AIT2hHkloczioAhkqczcYUJ5Dsj8LsMNC/GlPuKWPNXiKQfzuLVzTmnBUS3jGov2bh/xrUQOzmT1dPIoynl/Zs+at0EonNzhRH0LdHquwRUnK0pHgU581YUU56uOLUN004dztqg2XO3s/D/tHNQBRNnq6eRTlOP8AKZ81bgAiOuJ9WTJikyJo9a3yStHtGWk7pbyeavHnA5reQk7ppQ7JuP3iNHYFzvZ9XWyHnAjRB7MkE7JBCezCvyodJ501Md18erJkwtyp59aXuUtOFtNAakt56qwvOOrjqE8008Oybl95jxo6ble/uFriA4EWKPZqUOiQdPZ5PwpdPWpA0PxIIM9hAdtdk+627fPepisqU9jrg+0I6exTuKyG2NxtNon94SxB/Eb8vVlanuSWAdxqBV2XP3luq5DNNEiLABuDSO0tVkHdrfufvUw+IvafiwfaEfJlPKnG2Iiq9TzjIQxEzcL8sKypTvJLAVy1DUGxv7y3VchmgEK5dxASt/sLxxF43FrSQ3DgJ8QPmEkI14HJtpAGy93G5BpPrOEkdmz+E2GI4nxkk4U9j83jO/8AavZHuYoS5LnnHbpYvHEfiWVpw1EgA6gc9EnRqwMYbaR0XuvrFLI9bQUgNs/hVhirR4yo7Kexy1DXz/tXs/BigBTEW3/dnkR5NqsHtphCvZzpy9ggfmTlATt/VsrPxU4W55/Nvml1mdcvxS9StWVMRh7RKccgohQXjqp1pPNNJ3eNb/urzceTauH/AGszSr2c6crYN5+JOUaNv6tpZ+KlEB+QRb5inGptx/FL1K1ZUxGHtEI8gog68dVuNJO6agDe8Pyj3uNGdZuN5/DrRFQrwx4g9mo5O+CPZhW2yX1HGc043GLZwbgxILlrsGWLYtTXhlTT4lPFJHIf0pHMexSeeKXt5Er77EjusXK8/h1niBXgYiD2alZ6A47PVtsH1HnmgXGLbPxCM8tdqsP3e2lbX/FTVeIvFJ22PtCCNgGUnnQALa3GHqma8lcaF+I31e+px/kmNq5lQz2f+JbqtwNtWS1Ju6B2rkZF1v8AmVIdT4UQ4SfHy3CUkJ7QAfAhofFW4Le3HItMx1K40L8SvruSFOvHZMbV1UNXZj+8t474pjjUu7jDqozd24i+8vPJGEQoCfENuSEkI16fyNtD4qkFQuiO2Blx4wbS8e5WxgnxJQnwqV9d9JPUqcNdH9BXG6eD+JYtxQyJpteWbczz1zF7B0DqpOSpP94N+VUu6JTJSZkKIQl8+rbPHKvGEJ8KnD899JPVTjh6VpWC5Dh28Myo+HEWxWlhSdw5IO+sfQ+IfRNAfQf7J3ELfoP+1FP4LXLQm2X9ttRDZBY70tKe0Q2eoQ9ltP8AdBPWvpCDnlXx2kzXzwBYb5bHUxpPAzqJl3lqUSqTIlOIQW0Kz76EoCR0wws8zX1e9FfG8b0i+j6x8QxV60TYyVL+Tg8Kx+igfrsawyLItlFFJVSRaKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKA8L/AMrb6GFceegW38ZQ45euHCMwuulCcq7m/pbd/QKS0o+QSTXx8t4ebS07HWUT4bgdYdTsUrScgj9wP6V+k/jjhKDx7wbe+G7mkqt92hPQnwnnocQUkj54NfnX9IPA1y9GXpCv3Ct1b0y7VLdt7ywMa1oUpOofJSQCPkRWSPVFWXvjW7wuPeG411jlKH32dbrGN0rGywPMBWRkV5su0YxJ7qCOtdKtMtUazyYa23mEsO6g8AVMrSokAlHQ5GNSSOWMGqXxHCU48HMA8/Gk6kn9f/NWa4CIiJMLCgQa3l3lakkav41ELbU0rChg03Jrcxa7Nhjsi+DHLFGTto2HpJWo5NYg6ociaZRWlLLOTtsyJJDi6o8zmm0UVjbb7LBRRWWLGcmSWmGUFx1xQQhI5knkKgFt9GfDDV5uy584YtVuT2z5I2UfhR88npXbZUUypCoM1oBtg+sb24yvCkYGluMFdCkKDY8nHVnkKjOHrXG4IsCUHsHRbSlx4Hxd4nqTqQnHVLY8ZHybHxVvJtqc+q5oVpZ/Er7IQ54x0Szn8w16P8x1Z5JzWZKiouZk49qhHZXniAFDSQcIiwRsT5hBSj9G2vJVAujMXN0hreVDtf3CytrRlxx7mp4jlqGvtOXvuIHIYoUuVPTrQgtXi/8As2EJ2RFgpOCehCSEf/bbPRVOFyajEXSIpbkK1juFmQtvxuvk6lPafzAqK+p1uNjkmrEC9yjxSbXJU09b7T98uxSSO8yT4QwDzIBw2PIB5Q50d3l3LDLqmk3a/fe5ko4AiQge03A2SCE9oU/lQ0OuKBDYjj1XKcakW21Dvt1Uk47xJV4QwFczyDQ8sPL5Gl7vMuR7JxTSLxf/AL3MkbAQ4Y8eSPhBCe0KfyoaA54oBUylK/FIMSQlTp9VWCGhWXEpHhU4Mc1eIpz1W6tXNNAEO3Dsu17xZ+H/AGrur3Jk9fTyKcox/lM+aqQS9jdLfEkJWv8AC7BFQrLiQPCpzI3KwF4z1cdUeaaeBDt6i0XO2s/D/tXyRlE2cvknP5CpG3/LaPVWaARuM7ICbdLmluVcB60vcpacOMsjxJRnqohYVj+0dbTtpp5dkXEGVFisC5XoG3WqKDgRYo9kVA8gCAWtR+FLp60nYOysW2XMCJdxPrS9y1owthkeJLZPPPi1FPIrdbTzTSqekTyZceKyLjefw21Q8/8ACxR7NSgemQOzCj8KXiedAHeIsE+sGEdtarJ93gHO0qafEXiOuD7QjySyg7UqbYmKk2eb3gMQ/wARv6wrxKd5JjhXLI1aBn43HVck0ofi29QnNI7a12P7vAOciXOJ1F0jqArLmPINIO1J6sQwfU8/vCGYn4jf1hWVKc5Jj6h8Q1dmM8luOq5CoAuuZcSD3kM3jiPda1pw3Et6fECT0QQgKwOTbKOit19ZJZzdIKSG2M2mwxVIy4VclvY5axrzn+0eyPdxQXZlxBzIEe9cSblbiMNxICdwc8wkhGoj+zaT0XupuIQBdYSdTUf8KsMVSMuKWdlPY/ONec9XHgR7mKABFiW490fRHkWmw+1m6F5bnTl7BsEe8nKNI/5bKz8WKEwX3wYE1TjM66fit6mggliL/SJSRyCiCHMHmtxpPNOyiJFtxEV9EaVaLB7abpX7OfNVsGgRzTlOkbf0bSz8WKcYD8jEKUpxm4XP8UvUsEZYjDxpSRyBIVrKTzW4ynmmgE7xJmEz4kd5m4XkerrPEBymPEHs1Kzz5Ds9W2weUeeaBPi2r8Rivlds4eJYtylNZEqafEp4jlscOnPRLKTzoU+/K1TYUV+PcLv+G2eIFZEeGB2alZ58h2eryD6jzzT250a1r7/He7W2cPfd7cotgplTj4i8R5A5dweQDKDzowAgMsgWia6FRof4jfnPide5JjBQ3JBV2fyWt5W4GyqRLu2C6uO3duIz27z6dkQrenx5wPdSdGsj8jTWPeoRb22M2ec6lyND/E786CdTjvJMbVzJGoNfJa3VchTiiXdk6XFRm7xxIe3eeT4UwbenxZI+FJCNZSP6ttvHvUBGTgJCDcIUBRS+fVNiihXjCRstz5q8eMnYrecPw1V5rSLbI1sgORbaezDiTlL8k81DzGxI8glPnVzkKC2lXGBb14c/CLBFSv2gA8K3PMq8ZGeRcdWfgqu3eHHghwIw9AtHg7YKymTMVuVDzTlJOPytp/NUg7l9ni8Q58eRw7e2m3bEyyuZd25C/DKkKAQy0SPJWgH+6HSNzXuL+Tl44ubHDV79Hd/bdYu1ld7ZDT2y0tqCdiPLSpsg9cnrXy/9Gl1asV+iNXRtb0GK4JtxYK8dsse6yo/P3T9V17A9HnHq/Rd9obgrjm4OOx3OMmO9XNoEBtClHA1Y6qaUlzSeRcHMg4o0SfUW43GNaYT0yY8iPFZQXHHXFYSlI5kmvOt0+0PAuPFby7ZLmNRwrQ07q9moDkdB6H5jO9VP7Z/pbX6wt3Bdvkp7EtpmTezO6yf6NB+WPFjrlJ6VwC2vrQnVk525VwNXrJ457Ma67PR6P02OTH7mV99H0J4S9JEW+Nttyilh9WAFg+BZPL6VdAc14V9HvHjkZ9uLIcyg7J1Z5eVem+AePj2CI8hzt44A0r5qQOmfMf8AatzTamOeN+TnanSS08qOoUU1txLqErQoKSoZBByCKdW8c8KKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAK+XH8p96AYEHjV3jG1M9nPv8cSXW1Z0vPsdm2soPRfZFrw9RrUOSiPqPXnH7f8A6HnvTH9mjiKLBjd5vNkKb1ASk4WVshXaBJG+otKdAHUkVaPDIZ8ReF7jc4PEEWPa3WUN3PEOTFl6Sy+MkpSsKGOe3MEdCOdQfF1qVbrpJYciOWichZDkN7OjPyzuP1z9aeYinY8iGpa3lK3SrOFHJyDnqc7f+KnLxDVdeGIEmHcGr7HSzh6I4CmVCUNlDB3056pJG+4FZipzwJjuktSGw0T+g/8Aasc3hWQ0hTsYGQ0Bkge8B546j5isrmAr2Z7Vv+zVzFb9nlusqAhrDis7xXDz/wAPz+mDUNWSVBSSk4OxpK6W5Z7VxdlCwqBcyrSNvEVeWNgv6bK+Rqn8Q8IXDhxwmQ1rjFWlMlvdBPl8j8jvWJxaJISiiiqkhXU/Q9ws5q9eKYS8+pwRbayvk5IVtk+QHU9Nz0qg8L8Pv8T3uLbo+y3l4K8bIT1UfoK9CMJTbrdFj2hOXZAVbLWyBjwZ0Pv5P51BTYPQBw1eK8kNjly48dZnJdanWuyeCKtxGBOmrOouqT13BcI6JS0nrR6rA/CJmsBkes79JSsdoOiWcn4hrCfPtHVdE5pBJiQCqU0uPJtVh9nEXpwJsw+LtSPiAI1kfkS0nrmnC1pbHqualxIb/E79JbWO0QAPCzk7ahr0/wCY8eic1lKgDLuB7VttTN5v/sY7SThuLBGxPmEkIxn+zbPRdKLgzEHrSI645BtI7jZkLbGt587l8p8wVF088LW2OQxQFy52FobLN44g9hFaBwiNCTsT8kEIx8m2ldFU43RiF+JxHVKgWn7jZkOo8Tr58Snynlkau0PktbQ5DFQBe5MR8WySpp+Bavv14WknL8k+FLGrmcEhrb/nLFCY8u5ktLLSLtfvvMl/P/BQU+MbfCCE9oR+RDQHvYo9XsRvwmYtt2BbPv15XkgvyTsmOD1xs0Mf85YpxZl3U9k4GkXm/nvMl4HAhQU+PdPwghAdx+RDYHvYqQOblnV60gxX0KV+FWCIhWpxPRTg6lXjwCObjqjzTSBEOAewW4JFn4f9q9qAKJs5fw/4Moxn+zaJ5q3FSwgetYMWS2SPVXD8ZKvaD4VODG5V4yAR/WOqI92gNxYAEdbgk2awe1k6kDs5k5fwfNOUY5/0bKjsVVAAMOStNvmTdM24/il7luJ9owwnxJQepVhQWU43W42nYpp3ayZ/3uNDY9ZXk+rbRDCv+FjD2ZUPIEANBR5pDxNIlh6WvuEuclM26Zud5lOJ8ceOPElBPMq8Wsgc1utJ5ppxfkTz3qHDZFyvP4baIKVYMeMPZkp8sgdkFHoHifOpAhkRoX35hvvFpsQ7vAydpc1XiL2OZGcu48kMoOxpwt6GUi0TlSUsxh6zv6yrxFzkmPnPvDUG99wtx1XJOaC/EgATmUdvabF7CCrJxMnK8ReweYyO0I6BLSeRoFuSyBZ55kpajD1nxA4TlZcGyWAfzDWG9yfG44eSc1HYES9LuR1KfEe8cRHxa0YbiW9O+c7EJIbzgf1TSei93m4pb/FYaApqMPVVgjKR7Qr+J/G3jBc1A/2jwx7mKO0mXE57dDN54k28aMIhwE+IHzCClGrA/qmR0XS+skMgXWEkKZjfhVhirR41LPvPgfmBcKs9HXk492pAdzi29JhvNxpdqsHt52hzLc6cvYNhXNSMpCNv6tpavioEB+Ue4S1us3C6/il6mDBVGij2iUkdFYV2hSealsp5ijuUWArub7bEm02H7xPwvLc6crYNA9U+DRt/VsuK+KndwkTFG3y1OsXG6H1peZedSo0UeNKdPRWD2hB5qcaTzTQCCRImff4kd6Pcrv8AhlnhIVlMeL/RrVqO/IdkFciO3UfOnidEtqu/sSC5auHvYW5SmsiVOUdReKTyAOXPkEsoPOkMp+UDOiRXmLhePwuywgrwsRB7NRyd9/6MK5bPk74NL3+JagZzMkOWnh0dhby41lMqcRqU8UnoD7Ug8gGUnnUWBTBbjq9VTngtiH+JX91Jypx73UR9XPIKg18lOPK3CacETLsogmK1eOIz2zjqThEG3pGrlyQkhBXjn2bTQHv4pvq9DH4PPdC2In4nfnMnW49yTGzzKhq7Pn7y3VchSpRKuqQFKis3jiMh11xPhRAt6fHunklBDYcx/ZtNgZ10AF/tCq52+Avx4s/D0RK/aDot3HMq8eM5/pHlnmioi5xI8ALSEhy3WIaVOhWUypy98/NIKTsPgZTn3qmVP6kG5QYKyVj1Pw7ESrDh+Fbunqo9oRnl2jyiPcrVmMRbYDqSXrRw+DrcB8Eu4L/gUgpzjq2yOqqApqWVW6ehmUhwqQe93ALPi1dGj89wD81K8q9GWubK449D06PFWpziptauJ5Mh5Xs4sSOhehI/Lq1rOANytkcht56ultXGV3SYHu3A7/c1ObKBO6Gj8/EBv8TivKumegriJTly9VSZDkRq+EG5SEjPYwEZUQB9BqA6lLdGDoHC3pIkekmezcprq3ZgbbZWVnJwhISn9yQkfpXYbe2S0M4IPmcCvKfCsk8Hemi42lME2yz3B5yRbWHFZHYa1FvQTzTgKGepFetbKntmElJHKvMZ8WzNJfPJ7jTZ1l02Nrxx/Q2Ibnd5DZwAARnB5fSuxcP8TSOHlQ5KnQ7HdAcSpJ2WnOCD9D0+dcoEbC8K2B2qzcOuqdt79vUUlhRDjSynJbXnBII6Ecx1x8hWLF9EnXZbPFZEmz2BwTxO1IgNPxlF2A57yeZZUf8ASr2lQWAQQQeoryJ6IuPpPCF4VbriCGVYStCjnY8iK9T2mWgpQhtfaMODU0sHO3PFd/FkWSN+TymqwPBOvBK0UUVmNMKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKxyGESWHGXUBxtxJQpChkKBGCDWSigPz8/aq9Eq/QX6feKeFkp0wYs1TkE8/ujvtGNzzKUqCSfNJrndmds+Z1vuDD8SQ6kSIlxhHIbUAApK29sgnfIII8jnFfSD+WD9Dzb1u4R9JUOKEuoWqyXKQgeIpILkdSvkkh4Z81pHlXzUtt6mWhyJOhlpUhpZC2pCUracQRhaVpVscjbz323rNF2ipXL/CWy8VPFDyScplMHIV9eufrvWky4CB2yO1bH9a376fr/7/AL6uXHttRDur4EBfD8peFqhL1FkgjIKSrJAOdskjyNUkZYePiMZ3zHumrEFohPB2MkykesYaf/mWTpfZHLxZzt8lbHoRVot819mCXVFN8tIGl11KcutJ2GHUHO3kFZHkoVSLZIEeQ252irbLAy3Iaz2as+eOQPmMj5VaoDohSor7ijYrgEEx7jEz3d35kIzpBGxKMjzTQGjevRnAvrCpvD76G1ndcZaiEA+W+7Z+SvCeijXNblaplolrjTY7kZ9HNDicGu4FCGJMdczHD9xW2SzdIQ1RJIPVQRkAEbEt5G+6K27gIryIcXia2sKb7MLjSk+Jh0fmQpGdIOwOjKfNKaq42TZF+izhL1TZe3kKcjS7o0pbkhCcqiQk4Ljg/vHICfNSkCrSZj0r79FQEzrn+G2iIB/w8YezUoHkMj2ef81Xzp09YklTC3VQYM95BfnNKDhbiITlCUJTzSDrOQSlS9G4wBQZj8sC4Rmwmfcvw2zxR/URx7NSgem2Wgrrl0nfepXAE7WNBV3lvu8m02D2cdWMJmzVeLtCPiGQXN/gQ0k880vqopxapodRp/E79KbWO0SPhZzy1DWAP+Y6eic0qXosM94a7CXZ7B7OOsDCZs1fi7QjmRlJX/gbbSeeaUWwoHqqb2iTtdb/ACml+0QnmlnP5vGBj+1ePROakgFOSpqe3ZbUzd+ID3aI0DpbiwQdJPyQdGnO2G2lHkrd4uUeHm6RHFrt1o+5WdDreFPST4i8U8sjPaEY95bSeQxTQ7LnDvLLZZu9/wDu0NpJIbjQh4Cc8wghGnPRtpZOyt3IuUeCk3GI8tVvs33O0a28Kfk+8Xyn8wKg6cjmppPIYqACYLMci0ylNOwrZ9/vK0qwXpB8KY+rqQSGx8y8oU5LMu5gNqS0i78QjvD7wOlMOCnx8uSUkJ7TH5G2wPepPVzEf8Jk9m7Dt33+9uIUQp58+FMbV1IJ7MeRU8rltSlmZc8JWhpN44i+8PPjZMSCk69xySkhGsjohpsfFUgd3vTqusJiSkJzarBGSfaZxpW781ePmObrpPNNKURIAEZaxIs1g9tK1J8EycrbT5FOUBP+W0ojdW4LgGfxeCxJQlH4XYI/NzUDhTu3NY1HlzceJG6dgMw7d90dc7ez2D20sEeCZOV/VjoU5Tpz/ZsqPNW8ARLD8xIgTJoTNun4pepS0+OPHT40oyfiwrXpHNbjSeaaeh6RPxMiRGRcLufVlnhJVju0YENqUM7AEDswo/8AOJpAy9OxBlTgifdfxO8zXE4VHjj2iUn5kKC8DGVuNJ2KaO0fuI71EgMifdx6sssFKsd3jj2SlDoMjLWo/wDONSAD8OATNaR21psPsYRUdpc5XiLuOoBHaEdEpZSedL6tEdQs9wXJQ3G/E+IHc5X2nJLAO/iGoI3PvuOHknNKX4luHf2EdtaLB7KEvPhmT1YUXfmAR2hH5UNJPOlTbExcWacuShpges+IXCfHrGyGAfzDXoGT/SOuHknNQgKHZtxSVdsli88S+HC04bh29JznPwoIRnA5NsjoulNxQ0fWsFCTHij1VYYy0eNTnxP6eWoayrP9q6nHu4pA7NuJ1okNsXniT2Y1p0tRLenfn0QQ3nbk2wOi93IuDbGbrBQCxF/C7DHUj2i3CPG/p5axr1Z/tHk/lxTsAYEa3nuUhuPItVh+8XA6/ZzZytg1n4k5To2/q2nFD3qUwX5AEGYp5i4Xf8UvEvOTHiAdohOOQJB7THVTjKeaaEwYtuHcpDLEi02H7xccOeznTlbBnV1SCnQMf1bTih71L3CTJzBmKcYuF4/FLzLG5jxM9qkEcgTkO4PNS2U8xQAJT8n79EYeZuN3/C7LFSrwsRR7Nas/MezCths+o+dKidFtR9YMSO1tPDwDNuWtnwzJxOovFB2wDlwg/CllB50okvyUd+hsPsz7t+FWWGFZDEQZaWrV892s7D+mUfOgTotrzOjStdq4d9lb1KbymXPV4i8UnbAI7Tf4UMoI3oBBAS1i0zHUrjRPxO/vZIU47yRG1cyoauzG/vuOnkNnhuZdxuIrV44k9qtxB0twrenxcuSEEN6scw202PjoFuaj/hM91K2Yv4pf3UnxuOckRtX5gVdn8luunfGwluZeBlaYrV44k9s48jwtwbcnxZwNkIIb1Y5htlv89QBUyed0gQXcEm0cPRkKw4TjSt7HxLwvGf7V9Sh7lY3molsBSQp60cOYU4tCvBNuKumeRSFJ/VpjzVWQSNxdbdBeVys/DsdCva5Gy3sDmv2hHkXJClDdFCm4lqy2Ul+z8N+J1SVDs5txXyGeRQCjy3aYwd14M0Cu3O2qwIU1cgvuJ9ZXp1YwtOd0NE/mwsA53C3Vfl2j+HZriLm2FPLiKuSgp1YGOyjA52/9OR5gJ86sM23rdSYFwekCQ/m7359Q9olPNDR66/GM55OPb+5tU5ynpLyHlLU1JuZ1BOnZmMnOMfLw7f3UJ/NvILp6dpq5C+GeP4ra4jfaiFEi9G48fSGlfQkFPzLaz1yfWHoxvbHEvDlunx3AtiSyhxJHkQDivMdvZb9IPA0+14ckXKelFts0XGUsNoIUpw+WSAM9AXjV6+xhxj6w4Xl2F5YMi1PFKPm2okg/v1fwrmazHaWT4Ox6fm2uWJ+eT0xMjjQCM4rBb765bXAE7ZPOpFaA43sdJqCnM6c5G2evSuNkx3yj0mKSfEjrFmiROO7Uhhlbce+MHMV7kHQTktqP/Y9D8jXVfQ3xy+245w5dkLjzGjpSl3ZSSOn+ory3YeIHbRKQtKygpIOU/Wu88NXyF6QDFW+sRby1gszUe8SN9KvME1t6fLbp8P8Auc7V4XCLi+Y/2/weoIkjtm8K/pE7KrYqo8L3dxyE2qUQmUyNDyR8Q8xVsbcS62laFBSFDII5EV2ezzMlTodRRRQqFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAc4+0V6J0enD0J8X8FFTTUi6wFtxXXxlDUhOFsrPXAcSgnG+K/PL2L1vuEy3TGSxIQVtPMODdC0kpWk/MH+Nfphr4a/ylHodT6HvtQ3ebCbKLVxMkX2ONOAhayRIQP/AKiVK+QWKvF80QzhrEK43jgsMia3fmre6pldufV98ioHJSEklWnH5CUg5yOp5tIQlLig1l1sHdtz3k1euH1WZu86bq9KhtTWihudFGtTLoA0FSCRqScgEgg9ehzXeK7c7Hkdo+tuW2onROjn3v8AEMAg/IgGspU0bY6oZQyUuBXOK9vq+nz+mDVpszqldszAUkFXhctM/dLiuR0HbKv/AErHQmqWwvIy8jtms47RHvp/386s0N5D8TVIbN0hDYvNHEhkfP5fJWR5EUBcLUs4kxbWQy64Ql7h+6+JLiuvZqOPF5e44OQKqkIIA73DtPsnVkIkcM3clSVr69mo6fEDjAyh3oCqohlzvlvUZAPENqQQnvLXhmREj82cnTjbxakdAoVKKPfLcXJA/aezNqCO+NHs58NHksHJ0/4tSDyStJOwGSGyrvEhqwrXDmhQC7Bcidevr2SvCVKB6DQ508VZ4Etp+a8IWbZdQhyL3eQnU4jXkLCOQ1brGUgKAUfAedMkI79b1OSz+1NlbKU9/ZGmfDRyAWDkhPkF6kHklYpZJ79by9N/nPZUKDYuTB0T4aRsA4k5OMckryg8krFQDZjTGoCIbsuMy3FtDAdYjOEEzJi9ypQBOpIWkkjolpCDzrOq1qJFrmFxLih60v8AJQvLiEgZS0Tn3hrxj+1d390GtErfagOvqe/aKxF3S7LZBElgDkHkE5HIYKiR0Q5WxGaYu8ZSWpSnIM2cl6e60ol8pHwlS1bHJUoBYGVKyFL0g0Bn7WXN+8Mtqau99+6wmR7saCnwk55hJCNOf7NtwnZWS4XCPCPrKK92tusv3O0pcb8T8o+IvFPmCounPVTSaY1OeuSnX447O93dw26JGQdoUZOEKB6pGE6Mnk2hwn3s1lFyjQz6xiu9rbLGO6WrW1gyJR8ZfKccwSXTnkS0nlUgBbG2T6qllp2FbvxC9uoVgvPE6RHCuZxkNDyUXlU4NzLlhLiG0XniL27rwOEwoCfFkge6khOsjohpA31YpBb0MJNqllp6Jb/xG9uoX4nHT4Uxgrnkag1tyUt5XSndjMuZxobbvPEZLq3AdKYcFO+SPhSQgqI/s2kAZ1YoAE4NA3aDHlIQ2PVfD0YHU7q5Ld25rGvpzceyPdoS1EgkRVuiRZ7B7eZkeCZOXsGwRzRqRpB/s2lnYqoM9LObtAYlJRH/AAvh+OkanSobKd23Kxrztzdd29zZxahwMw3lpk2mwDt5u2UTJytg3kc0ZToB/s2ln4s0A3sH5x7lJmoRcLt+J3mWtGFRo48aUH5kK1lIGCpxlOxTWRLj889+iQm+/wB1PquywkKx3eOPZKWPqMtajz9sqmoYkTgIUyagXK7/AIleZy0+ONFHjCTy3IPaFON1KZTtjde1fnETokBvv11xarJBCsmPHHs1KHkcYaCjjOp5R5UAoei28ia0nt7Pw/hmGoHwzJ6vEXDzyAodpjHuNtIPOgWxLQTZ5q5SW2cXPiF3VlzUPdj6s+8NWjc/0jqzuE5pynIltAlsp7xaOHx2MRWcpmT1eIuHzSFAuYx7rbSDzFCbelsep57kptKB604hdVuvO2hgHPvDWEb8nHXCdk5EAA/MuTetLzbV44k8Ce0bw3DgJ+LPwoIbztybZHRdONxQ0VXWCgLYhfhVhjrRlxx343tPLWNerf8ArHkY93FKH5V0y52zbF64ky032idLcK3pI8WdtKSGz9Gmc8l0ouLTQN2htpXFhD1XYIyke0W7jKn9P5wV69/6x5OPcxTwBFQYsBQgyW2JNosP3i5aHPBOmq2DQUOafDoG3uNOq+LFC4UmV9ylqcYuN4/FLzM593if0iUlPQkEOFJ5qWynmnZe5RrdiFIaYk2qwfebnpc9nMmq2DIUNynKez2HuNuK+LFKmE/LxClOuxbleM3O8S+fdoY9okY6Eg9oUnmpTKeYoBUyX5H36HHfZnXUeq7JEByGIqR2S15+YHZ6tv69R33oROi2tffo8gLtfDvsYClt6kzJx8RdKfIHLu/woZQee6GW/JV6xhR348+6kWmxw0nIYjDDalajvy9nq5bvqO4zTu/RLb99YkdtaeHfYwFqZ8MyerxF0pPQEFzfklDKD71QBBbkNn1ROeQqPF/FL+8DhbjnJMbVz1DUGvk446rcDY0zLt73dmb1xJ7V15Jw3Bt6fFnA9xJCNZH9m0jGddOEBDWLRNdQ4xFHrXiB0E61uckRtXMkFYb+S3HTvp2ENzbsNxGau/Eh7RS0nSiBbkb8vgSQ2VY39ky3jOupAhk6Qbvb4L2B+EcOxm1+11clvbblftDv/avkg5RWQtwrZhKgZFn4b8b6goFubcV7AfNGUcv7Jg8ivdqJAQv1tb4ToP8A8H4cjtq9rqGynuhKvaEgj+teJHuU4Ih2wdm4C/Z+G/avLBy3NuKx7uTsUZRj/KZPIr3AwSYC3Ei2XCRKTJkH1vxA+se0Qgboa331+MZz/WPAH3NqteA9cT25V2My8HDLWkhEaGjkd/hwjb+40Pzb24xVSEi2XKVKTIl/i/EEpSSXW2wAUNb/AB4WDg/1jwB9zaGuapF1R26VoYuF8PZR2SnSiJBRkZyeSDowPJDOc4XQD/RxxC9b7opUBSkyZI9W28K20IUdLij5ZBKSf7y/Lad9HsqL6NftImLbFLVw/d8xG5CxhMh0JSorHkSvfHQLxXPY00wpwkwSoJB7lAChhRGMKWfI4O/zUryq2+kx3t+D7RxDbZHZp4TeZjxXEpGZDyldo4v6asknoFNiqTjvi4/Jkxy2TUvg96Q1JcYSeYwMVrXGOkoUoDw/Oo/gO+tcS8M225R/E1LjtvpIPRSQR/3qelt+zKcZzXCo9Xjl00UuXlte3TepbhfiaRa5SCFFspOxzvWC4wlAnHvGoN3KHBtgjORWtOL+6PZ001kjtZ7L4C42Txba9QeLVxQPEpJxqHXbrVv4butytszLk1clpasqadIxjzHlXjbgfi+Rw/cWn2nCNJ64wflXqG0X0cT22LOgvJDraCl1nYK1JJGNuWcbfrXV0+b3I0+0eY1emeGXHTO4xpKJTSVoOQenlWaud8K8VlThT0Ts4gjGMc6v8eS3KaS42oKSoZrdOQ1RlooooQFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFFFFAFeI/5WH0OHj77Psfi2JFU/c+EJYkqLaMq7o7hD/6A9ms+QQTXtyoni3hqFxnwtd7BcUFy33SI7CkIHVtxBQr+BNSuGD82tukOtRu0j6TJjEKb1gEHBCgCDtg4/wC1S3GRg3UNT48I8PS5LCXVw9SlR3M8yjV4kAnOASobc9q2vSHwHcPRF6UeIuDrodcyzTnre47p0h3QohDgH5VpwofJQrb4favl74aulmbDd6t8E95atrygX2G1ZypjPix1OgkdSKzlTlpBjvjnHdHIj3TUvanw1IZWpardJHiRKZzoP1A6fTP0qPuDCGnnEskqQD/QujxJ+XzrJa31IJSwUrB2VFf3Cvp8/wBxoQXmE8GJcR+QpVkmklTF1hjLDvzIR+4lHnuipxt0xpkKVMUqw3Fwqci3u3bxpHQqIR89ipvYZwpHOqrYXyla2oS0trUPa2m4YLbx6hJON99vdUOhNWWyr0OuxrYoRn1DEjh+7eJp5Q56CrAKvIK0rHwqVmgJIp7vOgSZP83bo7qciXy3HVDkjlqIbzgZOCpsHnhTe5pylCFOhSZRHDV1cBXGvVv3hyk8sqDecA8iWwRvhSBvWO2jS4/DtR7nIWCmTw5ePE06rkezUrGVdRnQ4OSVKNZLektuvw7UO7PKGJPDF5BLbqsYPZKVpyrHL3HR8JVUAVWYE+E9II4Wuy0KXHu8DeDLT5lLeQEnkS3lO+Cgb016OhqXEXMSnhm6PNqWxc4o1wJafMhGQATsS3qR0KE06BhKpEK0gsPKBErhi9Z0rX17JR0+LcY3Q70BVT7enxyIloThSvDJ4WvPi1r69irw5X5adDvlqqQO9YvW1xhi8M+q334y0sTWFjsX2ljSShadWEqBIJSVI6YQK2mpS7SIUpwB1i0wA/AQ03rQp5Ss9uvmnGoqdCgSCUpAOBWpbjr7xCs47QHaRwvedzr5KLKjp1LHPw6HRyAVTIMbt3HmrEtxLySQ9w7cl+1Sv4uxWNOs/wCEIX00qFASTdubRi1Syh2LC/Eb48lfjcd91MfV5gqDW3JS3VdKcWpl1IHZIReuIfGVpOEwrenxe7nwpKW9eP7NpAGdWKj470O6pdhobWwsyGnZNqUEsqWUZSpOQnKvCpQ8I1AknQNzW60ZN3fmNJaCb1d5CmHXkBSI8WI2ApQTnYowgE4J0oZCfiKaiwZhOShabtAZkhpgi18Pxhu4V/E7gblYK87f1rwxnTQI8SGRCddTJtFhHeZwUMomTV7Boeaco0Z/IytQ55pFXBDIVdoTUpDEYerOH2APaKXyU9jqsayrb+tdGPd2cpmJAzb33BJtNh+83DKfDMnK2DfzTqSEc/cacUPeoBEMSZ+IMuWkXK8/id3mOJ8cWKnxpSfng9oUjmVMp2Ip3avzgZsO3oM+6fhVjgIV4mGB7NSxnqR7IKPPLxPKk7GTcPucmW2LjesXK7S1J8cWKn2iU/I4PaFI5lTKeYp6ZL0z7/DgpTOuZFpscBC8FhgezUsZ5Zz2YWeZLytsUAF2HBHe20iVZuHvZRlZyibPXuXPMpyntMfkbaSeeKd3ANr9TXB2U2EfivETyzlwEHCWQeeoawjf+tdWTnTs1K4VuPeW09vaOHgER15ymbPV4i5g806klZH5G2knninJtwbT6muDstBT+K8QvKOXAR7jIJ+Mawnc/wBI8rOdGwB3mXciHA+1HvHEg7JtK06W4VvSM6s8wkhsnb+qZPMLpfWDcf8AE4SUrj2/8MsMdSfG49zW+E/mHaa/k48jGycUd5mXU60OtMXniQ9gyhacIhwE9QT7qCG9scmmT0XR6yajYu0FKVxYH4ZYoy2/G68d1P6fzDWV56Out/logKIMWARAktMy7XYR3m56HMomTV+EM6uqcpDe3wNOq5qxS9ykziIEtx1m6Xn8TvEvn3WGPaJBHQkHtSnqVMJ5jABAi2/MCS0y9bLCe9XTx5RMnK8IYB6pykN7fA26oe9igw5EsphTFOxrleR6zu8vIV3aEPaIGnfBI9rjqVMp5jFAJ3x+Se/wo77E+6/hNjhA57CKPZrVqPn/AEQV5l9R33pxnxbSnvzMlLlp4a9nBWtvKJk8+JTpSfhBHaEHklDKT71AlvSdU6FGfZm3M+qLDDCshmL/AEa1ZPmD2YV59uo7jNOFwiWlQmMyEPWjh32cEut+CbPV4lOlJ+EEdoQeSUMpPOgENvQzm0T3QWYpN04gdB8anAdKY2T8YKw18luuH4aC1Lu2xEVq9cSHWpSDpRAt6fF7vwIIbC8ZJDbKMZ14p/cEMJFonvAsx8XTiB/JC1uckRtXMrGvsxv77rh+GkLc2751pisXniXxlaDpbhW5G/LkhJDerHMNsoAzrqAKZSQRdbfCeAAFo4cioX7Uq5LextlftDv/AGr5IOUZoCIdq9k6ku2jhv2j5JHZzbiv4fIoBRgj+yYPIr3TvCUoN1gQn9CM2jhyOheHFKxpW8RndeFnfl2rxI3Rs4NQ7SezdSqRZeHfayFJUAibcV8k55FAKMf5TCuq9wBUVxz8LuMuUiRNBvPEMlafattDdDW49/x535uSEpO6MDTmvybukyUONM3PiA92isqBS3DgN7E56Iw3j5IYUT7+a3O6OSAm23CZKQ/O/GOIZKk4dbZA1Ia3+PC84O3avJSRlGzHX5V2b7wy4yxdeIfukNop0twoCPCVauiT2enbkhlZOQvNSCk3VTYKpUNSu7sq9X21pacLWdtayOivECf7zvyqxWSXHncMz4ct8OQoUdbEdpCch6U7sVY643V/0oHWtG8rZ0KmQzriRvwy0NFHjdWffdI/N49X+J4Y93FavC91/Zm8tuJW28m1nKFY1IclHkrB5gEZH+FPnUg9KfY44jfd4Bf4duDn4jw/NdgOoKsqSkKJT+gyUj/DXoxSNSQcZrxb6Ibwx6OfTizCXILrXEMRDcxz4ETvEtKP0GpvPVQJr2jGUFoQoHbFcXNHZNnotLk3418rgj5sYBJBG/POOVVGdHPaHw7551fJAChjH64qFuFvCwTp/dWq+jrYnRVEyDHG5IA/3510P0aceu2achsvKbjr2XgZx5HHyO9UWZD0pOR+laCJaoLgUklJBrVUnikpRNnJjjng4s9cWjixq33VuQpZTGmbYyMpUfiONsDIyB+brXYLPdypDb0YjUvGpAVkYwABXiThfjUKbTHfkKwW8I1DICwTjO/UKUP+qu5cJ8bIQWmS6pMTR4CSNQCtKQcD3sDP7s9K7OHURyLg8xqNK4eD0pDntzE+E4WNlIJ3FbVcba4vW9c7QqO6ptQUorWQQF4GNGcbnxbj5CupWa9M3ZnwqSHU+8gH+NbalfBzJQcVZJUUUVYxhRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQHyO/ldfQujhf0rWL0hW6MtuNxLG7tNcT7nfGAAg/Iqa0DHXsifOvD9qVCF3tVwnSX4UJC0oelRU6lsA58enYnCiDsc+W5r7m/bx9DS/TZ9mjim1Q4ol3q2ti721HxF9gFRSn+8psuIH+OvhLbtL7T8MkJC0kjUnOAfkfI1li+CrMnH1odiTXH3H2brHWrKLpEJPaDprBAIPyWAfrVSaUN+2T2zfVaPeT/v510O5yLVfeH4MiLGdsF3bQWZLa1lcWSU7ak5GpBIIyDqTnqnYVzx5Co8nxAxngc6h7p/dVyCzQHe8xFF9v1pDQkArb8MhgdOedvrlPzFWyM4ZVtc7ZKeIrQyhKA4g9nMhp6c8kJ57HWjyINUS2vJaeaW4tUCQVZRKZzoPzIHL5kfuq2xH0tvMPSiu0TVOamLxAz2K/MqCf4qRuOqCaAsiiJ9sdU4k8VWZhtKA6B2c+Aj4c8zpAyMK1t+RSa2H/vtseW6DxXZWkJQJCfZ3CAjoFA5OkcsK1t/lUk1pqUlqTHlXAmyzluZjX+1ZMd3HMqS318y3gjPiQTmtyVliXHl3AiyXB50mNxBaQFRHwPeKkt7Z5ZLeCMnU2TmgFlETrY65IH7WWRlKUCYj2dwgI6BYOcJ6eLW30StJNPmJRcLa+5KzxbZGkobE9oBFwgo6BYOTp5jDmpBxhK0ncEk93nRpVxPqG6vOFUXiC1EmJIA94qS3tz5qbxjJCm85NEjMWfFkTMcOXZ1xSo1+tfihSQNiohvYbnxKbzzwpvnUAWYO/wBtcem54rsjWhoXNjwT4KOQS4lWTjmAlepJ5JcTTp+m4wHpNwzxVZklCPW8YaZ8JI5JdSrcjG2HCU9EuCh3ES4RpMxf7M3V5ZXGv1syYMlPLKkt5wCeamwRuQpsbmlczBuMSXMI4UuzqiuPebcnVb5SOWSlvIAJ2JbCk74UgbmpAs8esID0q5k8U2lKkoTe4RxPiAckvBW5GNgHcjbCHBTHFyI0JyU6tHE1jDwCrkyn2rWRpAfQrcEg/Hgnklwisqx3K4RZEnTwnen1KWxd4WF26Wn5pb1BIJ2JRqRvhSE70uDbbjFdkfzQvjpU4zcofit0xB8wjUAknYlGpvfBQkZqOgOt0p6Ili4W6Sq4iDFdYhKQ4EqjPFWQoJ0jx4U4oBQCivCgVYrNFEBEZmKpwSbJZ0pnTwpBAmTFjwtYPMbBG/wNuK6mtR+K03cIvekI4SvL4K25rIC7ZLbPI4TqCEk7ZTrbOfdSKSU8ph1mHfoibdKWEvNv+9GkJSSUKBBIKMEp5qQcnBQKgEkWZNzxElS2/Wd6/ErrMWPFFiJ9oAem4w7pGMksp6U4PPS/v0GAnvly/CbDBQvxMMj2algcsnJbCjzK3lbECsTve5rsxiY62y9eJYem3hzSkIjgBwJABOAVBatvCpSGkg4AzmDzs4GfCt4Mu4fhNghNqwWmh7Jax0yQS3qOMqU6rYipAuuHbFd5QO3s3DvgZUo+CbcF7leDzSCnWR+RppJ96g24oPqe4SZTQP4rxC+rdxJHuM5OcrGvSMn+kfVn3dk7aJbh26EmRZOHvAy5nwTbgrxaz5pynXj+zabSfeFOTbuyQLRPdltn/wCK8RPHZxIG6GMn48LCdz/SvKz7mwB3iZdEBxDrLV34k9gw0tOlqHASfP4UEN425NsHmF0puDMUG6Qkpch2/wDDbCytGFuv81yNP5wVlz5OOt492hL8y6EOtusNXjiT7uw2pOluHATsTq+FBDeNvdbYUdwunKubccetoSELh27FssTCkeN587rkaeq06+0Of6x1oD3aAQ2+LbQLdJjtO2uw/ebqEu+CZMPhDGeoBHZbfA26oc6O4yZgEGWt2Ncr1+JXaXz7tCHtEgjcDI9rg8yWU8xij1dEgKFulMtPWmx/ert2TvhmTFeEMBY5gY7MYHutvKHvU9MOVKPc5SnY91vf4ldpJA+7Qh7RAx01D2uDzywnntRgRc16SPWMJiQxNuf4RYoY5Mxv6NatW+53ayNsqfVzGQ5EyJZvvseSl608N+zgrU14JtwUdRdIO2AR2m/wNspPvUglvSEm5QWX2plyzabDC97sowHZLXq33I9lkYyVPq5jNKJ0S1HvjElDto4Z9nDKmwUTrgoai7jlgKHa7/A20g86gCi2obItE90KZjj1rxC/nC1r5NxtXVQ16B5LecO4TR2Uy7q3bisXjibx60+FqDbk78uSEEN6scw2wj8+KT1els+qJ7ySyxi68QPpUQtSuSI2rnqGsN/Jx1w7hNKUzLuNSkxWbzxL4itHhRAtyTkqIHuIIb1Ecw0ynHv0AomBB9a26C+EJPqjh2O2cuFfJx7A5r8f6uyMjdFAYh2lPYuZfs/DmHZC0EFudcVckZ5FAKMf5TB6r3USUoQbvb4MgpR+EcORkKy6V8lvYG5WO0P/ANV/I9zZSzCtiuycBkWXhz2slQUC3NuK9gjP5NSAOvsmFdV7gImM7JSq3z5kpuTPHrjiGWUe1aZGFIb6eM6wcH+teQkjwUd5l3dJksrZau/EB7nCYUMJgwEeAq1fCnDZRn+zZcJzrzSmO9LV6suM2QzLnn1xxBMcR7RpoeJLZGxK/GCQf6x5Ax4KVUqZdT3hhTLN24hxCgMKGBBgI8BOdtKSEaMj+rZdJzrzUgiLm+z2a58Ih2HA/CrKypHtHnTut7HRWVlfyW8gD3aqcpsWadhLjTjdsOpx1O6XpR548wCP3N/Or1Llsx0ruEFTb0K2j1VZGVt+N987uSAk/EO0K99wt5ofDiqre4CbUVxitlTNn8clzOUvTFfCPMApx5FLJPWpA7iFUt7hdpyG/wBlOsyxd3pIGVd4JAQjPXGB+5Zr3Z6IeO2fSHwLZ76zpSJjCVrQk50L5LT+igR+leI+Ciw84mBclIENvM+4JPN048DR+ZyE/LUo9K6R9kjjF3g3jS9cBXNZQmSfWdvB2GlaQpSQOmUlKsf4q0tVDdHcvBv6PJtntfk9nLQCQTyxWjLYJSSBnbn5VtpX2jQIGelOQgrCkkfvrlUeki6SZTbjHU0gqIzgb4FVqeFKSrAxkc/Oukz7al2OSRkZztVYudrQhBQU75O1YXFG5DKilR5q4j4O6gOR6Cr/AML8XKiOZ1aQgDAJ6A8iOuxx+gqjzIIYWTk01l5bKtzkVr24O0XyxjkR6r9HXFrc+ckvqU4fEA2VYCgTnVnzBAOc/wDauywnOxdbmQ5BZcQ6Eua0+IDmUrHQnln51414Cvndn2iCSTkEA7AeeM/X/Yr0rwfxBMbYTGPZoSUakPqClHzCTvjz/jiuvp8u+PJ5nU4tsjvkOUmZHQ6jOD0PMGs9UPga/TV3B2HNh9zZLYUhWcpKsgYB+YNXyt9O1ZyJR2ugoooqxUKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAKKKKAatCXEKSoBSVDBB6ivgH9rz0Qq9A/2juK+HWkJRazLM63gchDfOtCf+jJR/0Gvv9Xzm/lgPQ23c+EuFfSVDhp7zbnjZ7nIQnxKju+JgrP5UOBaR83/nVovkhnzo4Vfu89+48PRIDV8t85lUr1c62FOhxCQFOMkeNKsb4ScEZyCBXOLzGQzJWlgr0A4VHke+g9Rnr9dvpU+2svw47xcdZdiOJc7ZkeJGk+I888t9vKpX0pWl5x03RyZH4hgv4U3eoasqXkZAdBwoK35LAPzIrMVKLanlJcCI5SdR8UZ/3VH/AM/uNW7h98pdDUBxDD7h9rbJ+Cy8R0BVtnH5tKh0UTVGQdyHAH2wMak+8n/fzqzW18vxyHUetYbTe+Dpfjp887nA+eU/SgLzY1hMgxLcRb5bij3iw3U/dnyBsEqXgZxsNZSsfCsmpG1pKJLkS2kWyYtR7zw5eN475A2CFLx4sbBKtKx8K1GoKA6ZVv8AGn9orSwySvSezmwkdd9yEj562/oam2VCdbMY/aqyxmDlOeyuFuR5/EQgHz1t/wCHNAZ7adEhyJak+rZriyZXDN6z2D6hyCFOY8W+yVlLg5JUo0ttTokrhWkdxlrWoyuGL2MsvqG2ELXjxY5BWhwckqVvTQO92nCh+1VgiMdPZXC2t+XxaUA5/O380mn57/aVFZPFtijRgC4PZXG2ozgaveIQN9jra8ik1AHWpJDy4NnHdZDilKl8L3w+ydUP7Na8ZVjlkodHJJVvS2vHbOQ7QnsHValS+FL57ji+vZKVpJXjGASh0cgV70qk+sLWVuj9rrFHYA7dsdncbajoFZyQhPLB1teSkmh898ta3H88V2GMykd5R7G425HQLByQkHbxa2+iVJoBbakhTkK0jQslSpXCt8GUrWOYZUdJK+WANDu2BrpbR4i5Bs6dZOtUrhS+b6ljn2KvDqX5AaHegC96bJAuFsdckkcXWOMwhJnM+zuNvRySFhWToB2wvU2eSVpp0sGda3HpmeLLDHaQ2Lix7Kfb08kJdBz4RuAlepJ5JcTUAW1JDqHINnBkJOpcrhS9bkr5KLC/CVLx+TQ700q3pLXh5pcOygzGQlTknhS8E9oF/EWFDTqV80aHf7qhSz0puVrdkTz+1tkZbQg3aMNE+Ak7JS8FbkDlpcJQeSXBTrhm425yRciriyztIQkXiGdM+EPhS8FbnoMOZTyCHBQGO1RlqWpHDjzrzrSFLd4duBxIbV8XYLGO033wjSs9W1CslrlRpLr7luBj3RqI5HTHkhRdaUs4V2aQQM7uDKBsHFHs0nenXP7/AG92XdD+1VoaCEJ4ggeGdE/Il8K3Plh3njCHKddUi4wXZF3J4otSChpHEVvGJkY4whMhCsE/4XcEkeFzFTYMrUuJa1Ry6gpg2NhMhhhxxJM2Y5vrOkkFAWkk4yNDKEHBVWw3AykWmfIlNlYF34ikKHtUj4Gc89fjAwf61459ytB9+ZAhuTJLyeILGXm83eHkuNr2KA8hWCF7DGrSrI2WoVtMoRc2nEJnLkWq43NL059glx93CchvJwSclZAWArLmrCgkGjYMxky7th1tbDd64j+7xm1p0twoCfDnV8KCGyn5NMqJ2XmhVwZjj1pCQh2Dbfw2xMKR7R2RzVI0jmtOvtN/6x1sfDTUzJN3Up1p2O3er+tUJllQwm3wm/CrJ+AYbKT1DbK8+/T0TmoyjdIbaHodrIttjZWnxvSPeVI08ypJX2u/JbrQ5JogKLZGtyfVktlqRbLH97u5Q9lMuYrwpYChzTkBsY5JS8oc6BEkzcRZTj0a6X38RussjIiQQO0TlI5ZHtCk/wDISN9qEWyNCAtklhuRarF97vGh3KZUxXhDGodMgNbckpeUOdOEKXPBhSXH4t2vv4jdJJGREhA9onw9Mj2pT19gkbjFAHfnZCPWUFmQzNuP4RYYWc9jHHs1qCvMg9nq6lT6uYzS99h2jEpiSh+0cNYRDUtrKJtwV4i6R+UFJc3+BtlJ96j1i6/i5wWZEebcPwewQQc9hHB7Nags7537IKHMrfJ3GaDNhWtPempLL9m4ZGiKpbWW5s9fiLhB+HKS5vyQ20k+9UARNvS2n1ROdSW2fxbiB8KOpSvgj6ueoawjHRx5w/DTw1NuyyoIjM3riUlSVpOluDb0DOcfAkpbJx/ZMpx79At6Uq9UTn0rba/FuIpAJ7QrGyI5Ud9aSvs/k484eSaAiXePcbis3niY5HZnCIFuRvy+FJS3q/ymU/noBe9BCTeIEJ8IaPqbhyM2rLil8lvY5lftM5H9a9sfBShiHbD2L2ZNn4a9tJIILc24r5I+aMo0/wCWyTsV0CUhhSbtbob4Q3+D8OR0K9opz438bEry6Tt/Wvgj3KRTEK1qEd0F+z8N+1lKGC3NuK9gjfYo1ICf8thR5q3AEx3JKRbZ86S3KuA9ccQy3Ee1ZZHiQ3vuV4WFEHm46hJ9ynd7mXUGTGLLV34h+4W6MrwogwEeAnUfdSQjQFD+radJ97NAYdmH1bcZ8hEm4fjHEMxacussjxIbOea/Fqwdi4+hJ9zYEyVdAJMYsN3biE9wtsQjSmFAR4Cc8koIRoyNwhl0n3s0AxyczHSq6QND1vtg9V2NpaNK35ChlUjQd9Q1lzf3XHWRyTUHd7c3bQYjgYciWQdrOIVlEmao4DYPxBJTp25oZWr4qsKrjGhJNygKadg2n8NsbS2yFyZJ8S5On8wLgc35LdZHSo+fbGLaFW+Q2w5DsQ7e4+PKJU9WwYyPeAKdG3wMuq+KpBTrc4YFyaROCVZImzgTuQd0tn5kEZHQrPlWb0l3a42C/cN8dxn831TpmOhnYNNagG0KA6KGrP8AdWgVgukF5pxLcsJ7y/8AiE9WfElB8SEnyJCgcebmOlSzjDnFnCs22EtIl3FJlOvK/qI7IKkp+hwTjrhAo0mqZKdO0e7PRzxzD4y4ZttziL7RmYyh5Ok8gU5x9elXpkJUMpwc868E/ZA9Ka4luf4bkvaVQ3CpnO3gUc4/Q5/fXtbh6/ImNJVrBO1cCS2zcH4PUxluxxmvJYJDRcTp6Hnmq5dISkujVsc1bGnm1N6ioJHmetRd9QksKW2CeoJFGlReM3dHPLrFSh4pJAPPlUG7DUkeIaVZyauFztR0odUCUkgnNaF5gpCdSBtjY1qSV9G4snSI+yT1RX0aVbg8677wJxKTDDaldmVKBU6okJ35J25Zwc8/03rzcXOweyM5G23OuicF8SvQeyBWopKgknphJBH6/wDmmKTxy5NfUQ3xPXXDs9bzWpguIQQCgSFYSRv7vny/9hXULNcBcYKHDsseFY+YrgHBV3DzSgmMhTajvgFxCTnZJTtjbkQPP6Dp/Dl3bgq7ZtSy04dCmyokAjyJ8hXdg7PN5YUX+impUFpCgcg7g06sxqhRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRUZe+JrVw3FVJulwjwWUjJU+4E5+g5n9K5NxJ9q7hG06kW5Mi7PDYFI7Js/qd//AMapKcYfczJDHOf2qztlFeULp9sG5yipMG3Q4aTyUsqcUP4gfwquL+0ZxLcV4cvTrWTybShsfwFYP1OP5NlaTN5R7RJxXO/TxwTa/S36JOLOCZ06LF9cwHIyHH1DDTpGWnCM/CsJV+leW7j6X7hPlOB+5ypLSikaXXCegztnqd8VGXD0oYkPqQsdl2hSjQRgJGAD+6oepglZkjoZydHygTGk2O/T7RPb7KUw65Gfbz7riCUrT/Aip2IizS+HFQWXZFnvsJ1SC4s64ktknKc/E2Ry31JPXG9W77Wlias3pll3mENMW+JE/SBsl4eF0DzyQFf9dVrhC6SmLtGYYtMa/Qri33N63Sd9WSShTRBC0KBUcFB5nfINdCE1OKkvJz8mN4pOEu0cxnR1RZakrR3Z7oUboPzGP9KkID6WnkuOlcN4n2ctj3T9QP8A+n9RWfim3NxJrrcUOJSlR1xJXvtKzuM4GceeAfMVFWx0oXpaWkFR8Ud73F/Lf/8AdXMZfY76G3mpE4rtstSgY94tuezWRz1JRjfHMowR1STVkfcDbzMu4Zt0xRHdeILPuw6oDcqSjHi81IwodUKNUuxSVNulqEtMWQ6sB22TsFh4dBlXXoArBHRWatNod7KQ9HgKFqnuuAP2S5gKiycHISFL2znkF4I2wsnFAS9wPZSWpdzPqyasjunEtl3jvnHvLSjG/mpGFjqhRrJPPYyGpd0V6mnuEdz4ksf/AAzxxglSW+RxuS3hQ+JBNYoOWpUiJbVCx3B54CVw9djmHII91KVObZzyDmFDPhcJxWaCeymPw7YBZLg+8BK4bu+8SRjcBKl8jtsHClQz4XCcVAHXEdhLblXPFluDigYvEdk8UWRjmVpb2BwMkt4V+ZsnNLP1RZ7Uq6K9Q3RxWYvEVl3iSscypLewztktAY+JsnNEEGPMkQ7cRZZ7r471wzeSDEkEcghTmN+gC8LGfC4TilgAsy5EO0tiz3B5/wC98LXoExnyN0pSpeN+gSspWPhWo0ATgqLPal3Ejh66OK1ReIbR4oUroolLewznJU39FN5zTpxMO4tS55/Zy7uqzGv9o/4GWORJS3sAeqmttyFN8zSWxIbkvwrSPVs11773wte/FHfUPdCFL0+LmAFaHB8K1GltySmS7CtCDAlOPEy+FL2csPKGwDal4yrGR4tDg5JUo1AHTAYdybkziOFrs6rMe92rxQJSepKW8gA437MFO+FNjc06SFQ7k1JmFPCd6eVqj3e3YVbZadtWUt5SATzKMo5hTY3NMtifbuQLQjur7j5VL4Tvv9C4odGlq0nVjbcodHIKXT7VntHYNoBQ6t5SpXB993bcX5NKOkle4AHgdGMAr3zPYFfzb7o09LI4Rvzyipi6QPFbZieRyEakhJPMt5b6FCdzTnEqt93aedxwdfXSVNXCJhVsmIPXCdSUoJ5lOts5wUJGaS0DC1wLMMrU6pczhC++6twZHsVHSVLxsMdm6MY8e5JZhrPq+zp7wFPLXK4QveTqcAwexX4SpeM+72boxjC98gOKRbbs248RwXf3iVIlsEqtc1snqE6glB66dbRzulArHIittXNHeWUcG31060uIAXa5qSflqShJPlraP9wcn2YF5vuFlR3trWtyTwjeve1/EWF+HUrHVOh3bGlQzRZz27QhWdJucZJW5I4SvW7oXjxGOsaSo/NvQ4cboUM1AGKlO26V3O6x1WS4PsuNiQnT2L7a8bodOfCrGM6igjOFpBxW2J71odjyFxEqVa4CEW2O00txAfWfE+o4Hi1FbiSTutTenKU1gtAEhlMGzJN3io1rkcJ3f+nQv4jHUNJUrrlrSvbxIIrDa4in2ijh51y5IQ2vtuHbjjvbWff7EgAO9SdAB/M2RQEsbZGt6zbZjKH7bZPvl4IdyJMxXhTH1eWQGtuiXljnSJiyrhiJKcej3a/H1hc5RGe6QU+0T4emR7XT1HYJG+wirY5Buimm46e1YTJbmSbK8Q0lZSNKx4EFRTp2yjOyleBvUTW+y49eu0huPPsXO9POSLnMUg9nHiNEqwjOyk5SXNjg6WUjfagMvrB14quMFmQ1Ln/g9ghHctR8dkpQUepCuzChzUp9R3GayCZEtQEluSzIs/DQ0xS41ludcFeJThSeacp1kE7IaaSfe3Qz3nU+sYDchqTOHqbh6Fz7Jj+jWvPQnJb1Dmpx9XNOaO+Q7Oe9NyWpFl4aGI5db9nOuCskuFJ5pBTrOT7jLST728gd6tDYFouDo0tfi/EL4V7Qn4I+o/GO00bf1jy8+5sgRNu6NYZitXvib3Sg6GoVvTuTp+BBDeR1DTA5hdKbeEkWmc6NKPxbiGRqwske5H1fnHaaBj+sfXn3aA3NuoKksRY954o3bLZ0NQrcj5fAghv6huOnnrqAHe0pBu1uiSA01+EcOR0KPaLcxpW/j4l+0J/zXwR7lO7GHaldg6FPWbhz20ogjs5txXsEeRQCgJ/ymFnmvcM1Ecet7fEkhln8H4cabPtVuD33yB7y/aFW39a+CPc2BHh2pPdntT1n4c9tMKCOzm3FedKM8igFOn/KZWea9wDu7r+m2z5khqVccXjiGStJDjLA8aG9xuvC9WDzcebSd0bL3uVdQZjBYauvEObfboyhpRDgI8ClZ5JSQjRnmENPE+9mkSw7LT6vnz5Dcu5j1xxDNWjDjMf30IPmshYVpO3aPNpO6MUCVKugMuP2LN34g+4W2MdkQoCT2ZVq+FJCC3nGQ206o51ZoDJ6wahn1pD7N6BZ/wAMsbSkYXIlEalSdA5qSV9pv8bjI5CsEm2x7ao2+U2xJt9gHe7qO08EyarZMfUOaQUhv/C28r4sVnFwYhficJLUiBZR6usjejxyJZ8SpOn8ySou78lrZT0pF2uPbkqtstiPKttgHfLsA5lEuarwpj6hzSCA3sNkoeV8WKAp15tz7hLM1OmbNHrS5ulW7bR8SE7clELyR+Z1I+GtfhyQuQ+WDoYVciCtzozGQcnHy8II/wAKfOp66W5+Snu83Um4XHN2u7+RqZje+hPyUQrXjqp1sfDtUHO0VJS6GURVXA+yQk+FmMnbb5eEgfJHzqwIP1g5wJ6Um7jFb7nbZyyplGf6oq0j9yk4z8jXsP0Z+kKTdGG1JcCRgczmvJ3pZtwvHDsS9tpDQQ4I0RhHMR0JwVH9cfqFmujehHiYyI8EoWezcbAVr5hY2UP3iuPrcaTWRHoPTsm6EsT/AHPcPDtwM9tLqllSSQM/P5CrCWTMdc1Dw8gBXP8Ag24gR20Z8ShtXRYY0tgcsDNa0fqRmmqZHXSMFMlJTnSMVWno/aMrQobjkPnV0mNBxSgNsjGarsyOUunTzOx+RqrjyZIv6aKFdIfZOqUkbncmslnmFC0lWSgkHfO3zPnUjeIxAVkEYqDZc0ugnf8A0rBJKzaUridk4Q4i7HQ1ktcl4UrJ0/Cnpkjn+p2r0PwnehJiJR2qgvWNLyGsJUN8jlt58968eWK5qZcbIOlxshSHQQNGCT+prvfo64nehoQGXFJaUlKnNOwAxnURuDz35e7W7gyVwcvU419yPS/DtzKkiI6rK0p1JJ8vL9Knq5paLghxuNIYUoSRjUlR1YAG+FHpuNvnXQ4EtM2K28kjChuAc4PlXTRxZKuTYoooqxQKKKKAKKKKAKKKKAKKKKAY88iO0t1xQQhA1KUo4AHUmvLHpf8AtbuRpb9t4QCEttkpVc1p1Fw/8tJ2A57nn5Crl9rT0gOcMcEMWSG8pqdeVltRQcEMJHj/AHkpH0Jrxe1alyl5UConlmubqs04vZA6+h0scn+5k6Mt942ut/luSZs1+W+vcuPuFSqrz9wfX8ZzU87ZCkEYwfmNvKo6RaS2pSc5HnXIcG+ZHpoKEVUURBuToOyzTfXTyVYCjjzzyp0mCoHwDPn0rVTEORkdeWKJV0ZGkzMq6SHQCFHny8hTHLgvbc/6UjTSG07jY1hkIwDgHHmazrlcmOlZyL7RtoXfeC++JbLsi2uh9BA37M7OfpjCj/hrz1aNcuEuO26ph1CkqQ8nOpvBBChg5yPlXrzia2ibbJLLniQ4koUMcwRg/wDc15AEV3hviB+3ukhUd0slXmM5Sr/sa62hn9Lgee9WxVKOVeeC18fxblf+HoHEFwea4gjrYQhd3iuBT7TgGOzkfFqGCPaDJ5hRFctB0K8Y7w0Oak7KH+/nXUrAxZno1zgG5O2S8LCX4rmC5FfTgJWhw+8g6gTnCk7nISBXOb3Cct9xWl5Aju5yFsnLavmCNsfMbV1DgEvaXu0YSl1r1pBbGpSR4X2U/I74A/6k/SrdanFSre0jSOJbW0hSls50TIaeuDuQnrtrb8wDiufQZCW3G3HSuI6P6OWxnGfMgf8Acb/I1coj6GnGX5xXCexqYvNuGUlXTUlON/MpwodUmgLXb3DNtrLbaf2ssrTalqjK9ncIKB+U7kJHPw62vMJOK22Pv9sZS2P2ssLDanFx1js7lbm+uCMnSMg59o15hJIqLUvQ5GlXImG+RqjcRWjdC19O0SjHixnJTpcHxJVUlLUGnIsy75hvkZicUWQZbcXjI7RKMAqxsdOlwZ8SVGoBnjkTrW0lKTxfYY7a3FsH2VxtyOuDhRCBkHI1tf4Sdhn77aWwR+19gjNKUtr+huVtR/8AlpSMg/1jX+E02eOyeizbsoQZRGqLxTYvG06v/mJRjKuYJTpcHxIVWS4ao78ebdler5enVD4osO7L6x1cSjHi56lI0uD4kKNAI2E3G1N6v53WCOySoAdlc7ajlv7xCBzA9o1/hNCSJ1qa7T+eNiYZKlKR7K521HLBzqIQnng9o15FJouGIsmPMun4ZMKNUPiixZUw+rHNxLePFjOSgBwfEhRp8890ksTboRZ5y0aonE9i8UeQSP6xDeMHHMt4WPibUagAcT7Q2qRni/h+OyVLfZ9jc7ajyVnUQlO3vdo10SpNPcIn2tK5RPGNhisby2T2VytqegXnJ0pPRWtvGyVppJ+LdKZmXQ+pLiUhUTiexeOLJUOZUlrbOOZaAUPibNOnBUCazLuRHD9yKcxOJLH4ocs45qS3sCfiU3uPibJoBr33y0Jdmj9r7BFYGZ0cdlcbcknCUuA58IOcBetB5JWmnSCLhae2n54usjDCR6zjezuNvB2Sl4KySAcgJWVI6IcFE09xntS7iocPXVSdUTiKy+KFL23KktZAz8SmuXJTec06d+HT0y7gf2Zuqk5iX6zjVAmDqVJbyACOZaB6hTY3oAmDv9t7a4Z4tsrDIAu0LwXGBn3UvBW5AIAw5lPRDgouAE22mTdFHiqzR2UhN8g+CfDJPhS+FbnBGMO5B5IdFE0G23FL84p4YvKkju97tXjt8wbZKkt5ABGMlvKeimxvSys225Jfm/zUvjgHd7xbRrt05J5khGUhJ2yWtTfMKbG5oAuKUzYC5V0I4ptDDKEI4hto0zoh5ITISvBIByAHcZ+B3nTrqBLt5m3dR4jtbaUNM8S23wzIqz/RpkJVjUemlzCj8LpFLJSbZdi7JUODr6sexudvIXbZyTsSdOUpSeqka2+YKE4JpZOLVdi68RwZfXAAzPh5XbJ6DsThOoJQrbJTraOTlKBmpAl5SJsJcy8H9obanQhrii0j70ysjKUyEqKSpWBjDulW3hcIrFN7xBhOSZhY4jsailtF5gp1aFkcnUqCVJcI28QQvIzqWMVmePqu8KVICeCr88AEyGMOWqc2SM5A1JSgnHLW0eoQAaV0erLs4SBwTxA8QnWBrtU9BO/5khBJH52T/cAqAPalyI7T9xtslVwLUJNtgupWkBgFOlekBI8SmyvYhC/aOK0k4VWyJcWzkyG5Lblo4XJSyXGiEzLircuKSfhCk6yFf1bLaTurNR8uI0xc1Mutp4Mv7qhhCiFWuYnPMKOoISSdidbRzkKQMVlZmi132I1eYKLXdGJKJDZlHXGcIxpWFKOlSTpGCoqSoAYWBgUBuG3hJ9UT3U6Ufi3EUgKwske5H1fnGvRjo68r8lOSiZdvaBqKxeeJyA2pB0tQbcnmrHwIIbz5hpgc9eK1W2U92YhXRfYxJEl2fdpritLskI1FDSRnUCpOdPmt5ShkJBrZ7ObdTrSxGj3nifZrQrDcG3o2JwMaEENnnyaZHMLoATLS0o3i3w5Iaj4tPDjCDl1TvxvYHNY7TP8AmSAQfBsCNCtau6u6n7Nw2O3mqQQW5txXsEZG2jKMD/lsrPNe698Q0lV3t8SSWIxNn4cYQSXVu/G/gblftCrb+tfTg+A4d3eHbT3V7U/Z+HPbzcYLc24r2DfzRlvT/lsrIwV7gCozs0m2z5z7U255vHEExTftGGAdSG8YB1eMKKf7R5pOMowATJN1xKilhu63/NutsVQ2hQEeBStXwpIR2eeehp4nOrNNSw7LIt9xnvtzbofW9/mLb9owwBrS2RsSohWopwMuOtJxlNPEuXdT3mOlhu7X8+rbZFV4UwoSPZk5+FJCOzCvyNPE51ZqAKiczBJucMMyYFlHq6yNLR45Es+JckJ80lZd35LcYTuBSm2xrd+GzGmZVssI77eB2uUy5qvCmOFdU5Ab25JQ+vrik9YR4SjdYfYyLdZh6usbS04XJlHxKk6OZIKi78lrYTuBTxbY9tzbJjLMm3WLM28BTnhlzVeFMfPxAEBrb4UPrHOpBHyrdInpEOd2jVwuubveJIV4o8QeNtOD7pIVrx1LjKeadqXd2Fyld5TF7q7cSURGtXhYiI8OR/d8BGT0aUfi3vz8CTPSmHNLke43n8VvErUMxoQHaNpxyBKT2gB5lbCeYwKvfGHJ4EpqEYsi7q7tbmdXgjw0HQVf4fBp1Ho04fi3mwO4ZZHEEKRbWI6HpNyQLVAbcONCTgKXnodwM+Sl1i9CdkfP7XWmK6JUqwK9YJ0IJLjAcDTqh8gVNK+hUelRtilri3DMJsrU59whBRwdxhSvkSDz/vnyq5WniWP6JvTfwpxixHA4TW76ouKk8pzKkdnN1DrqbeKuWxUnqKx5cayQcWZ8OV4cimj0p6N7sH4sdzXqVgV2m1u9s0lWa4VN4QkeiH0lXfhR14yI8R7XDk9JEdQ1NOAjYhSSDt1zXX+GZetpBznIxXDgnFtM9DNqX1LyWhTYW2QNvpULcIwUFnryP1qXQvT1znnWvKbBChzB3I86tLkorKjeIoeZ1fGBvVQdilDiiBkdD1+X+/lXQH2daVg4yOYqs3CP3d089j/+qxSo2IdURMfwOp8/ynl+tdM4JvC2ux7N5QKACsKGx0b426YCefz8650pg9oFY3xUnaZZjPDCilJIyR/GscZbHYnDeqPXXB3EDWUaktBZy2p9Q8J8KCCofM+Wd66RwzcxDCGlr1NOqIzkEA+YI5jkP3V5s4A4oIQl7UC22pC+yAJBA2xzyB4j+7NdtsUtMiIntSlThRsQcqJ8WxB+QFdjHPcrODlhtdHVaKiOH7mZzBQ4fbI2IOQSOhqXrYNRqgooooQFFFFAFFFFAFFFFAeS/tb28zvSDY1qJw1bz2YPIZWrV/2FcjbtwbZGE16m+0hwIu+W+336OhS3LcFNPpSM+yVg6j/hI/ia4I1bgtHLA5Vx9Qn7jZ6LRZF7SXwU2RCSUjbcVETbWrUrCdj1roTtmGo+HNaku0hSfd5edazs6kZI5i5bVKcwR9KwyLQS1kJ3xgDz86v6rNvnR86wLs5wfDkDYVjcb6LbzmztrUnp4gMcq1H4KyDt+pro0ixr56Ph61GyLLnm3z68ql3RO9HL7tFPZY015Y9OvDardxGxcm2yhMsdm4ocu0T7v7x//Gva93sgUhRKTmuKemvgR2+8LTmGmgZCE9swMYOtO4A+Z3H61lwZXjyJsx6nEtRglBd9o882G/8AqyTbpyrWzemUrKX4EhKtDjZSQvBSQpKhjIUDzAO+MVGcd2yI3cXzbEPsNFZJt04hTjfyCgBq+uEn5GtWyPh5l+Ork4gkDpnr/HertxE1fOKuAIl1vDKL7FtpVBXdo4HemMHCEvq94jHu9qDtsFDGK9OeHOTwnltOFLaglSjhTL2NKvlvt+/H1q12SUW3HW4jiYMheEOwZmCw8PLKtufIKxjOyqqTidLh1feGgc6hspI/39RU3anu1ZCFIFyipOS2TpeaHyPPH70/KgL7bXhGkymYjibDPXhEi0XA6okjl4cubDzAc89l7gVMwVGFNnR4Z/Zm6PBLcuy3QZhSxsQkKc2G+CEuefhc3qt2h1UuAhppA4itaFazCcOiZFT10K3IGOqdSOpSKn7epUy2BuOgcVWZtRWq3Peznw0jcltQyQnGN060HGVIB5QwbjCu53C4RYX82bs4Uty7DdPFCl9QkFew3OUpc5ZylzOKe0k2+fPiQCOGrstSW5nD118UKUQdkhTm2c7hLu4z4XCcCmQyLhaw1DB4tsTKio26QOzuUFA5ltQ1EJ+aNbZxlSEk0+Hifa0sRP54WFpRWbe+ezuMBGMezIyQnG/g1t9VISeUAdGBiTp8SABw5c3VJbl8O3jKocsg7BKl7Z6gOYIz4HCSKWP92mzoVv8A5v3NxxKJfDF6wYkk7bJU5gA+QXhYz4HCcUkdAuVrS1GB4vsDKitUJ0dlcoCAOaCMnTjy1tdSlJOysBNxtSUMfzwsDJUsw3Fdnc7ejn4CNR0AdU62s80pJ2AyRNUWZOh21HqC5OuIRM4XvIJiyVdEoUvGDkjCVlKxnwuEkU2F7CXNgWpPqW4uvJRL4WvQ1RpKwfCEKXjxAnZK9KxnwrUTSMYuFqQlB/bHh9gqcVHWOxuVvR1wfEQjGNx2jR8kk7OaT6xtKEJzxjYWMqUyr2V0t6AMbHxEIHPHjaOM4QTsA6EnsZE232keqJjr6US+E74dUd9Y2AbUvA1DkAvQ4PhWo06FhMiVb7SgW2U6+BK4SvmTHeWOXZLVjxjkNWhwckqVTGiLhaG0f/5lw8zlRH9FdLcjljfUQgA5x42f8JNLhNxtLZeJ4x4djhS1rT7K6W5GN8nxHQAR73aM+RSeUgdb8oekwLQO5yHJA73wjfd2nXB0bUrTlY5AHQ6OQUs0625S9Jt9lQWH3ZOJXB19BKHHB0aUdJKxyA9m6MYBXzLf/iNpaL4PGXD8ZKlKebPZXS3I8lE6joG3vdo1thKkmnKxOtDapR/bHh+Mk5ks+xuVtTyAWDqISOgV2je2ErTUAda/Gpy22UlRcknvPBt8OQ46BpPYLOnLmxG3ZujAHjwclpQXg7brEnt0LkFUng695JLgGCWFeHUvAIyNDoxjCxuR0esLO2ub/PGwx0HNwj+yuduTyAdCsnQOiVlbfRK00j+J9qaduBPGFjYQfxOIezucAE7B0KySlPRLmpGNkOJoB9mxJbNvsiTOaU+pT3B163c7TG5jrGkleNso0O7YKVDOUtI7w13Cxj1rH7ZaneD7ycvJc31GOoaSpfP+j0uEjxIUM0Sfv1rZkXMniyxx0Y9cwhouUDyD4VuQCBs7qTjZDgp8tQn21qTdFftVZo7ehF+t40XCFv4Q+lXiUAdgHdjyQ7igEsye8xRb7IDeoYcWt7hK8f8AENLA8So6k6SpWM7t6VfmbIzS2YifBagWXVxFb0rccXwrc1feo6viXGUnGo4z4mgD+Zsii4p77bmpV2P7TWhpsJb4itvhnQyThCZAVgkg8ku+I/A7jNFw++QWpd3zxFbW0BDPE1sGJsZecpElKsFZGPddKVfldIFAYbNHW+2g8LyHbqwhtxTlilgImMJ5r7IjZxPXKOfNTQrDEktTYVwVaHAmY/BTHcadBL6G0aQUpyrASUoQnKQRpSAezBIrfuJ77Fbm3lRvsBpKUMcVWcYlML5pEhJ0lahjHtNK/wArihTrqkSojcy+fjEBKEoY4tsn/EIX8IkpOkqV0Pa6HTjZahSwPFyaj3B2VCjOtSYLbdtsVvbeSp/tF5PeFBJJJ8alApyO1eTpJ0HGYx4dr+6v6n7Pw394nFOC3MuC9ktb7aMp0f5bC1DBVk6Ml+Zao7U2Y6LradbZj321LUNLid09oE6VNuY550OE7nXWS3sttM28KPrOyRpD8xLMQAmQ9o1NpcKjhQwltKgAFBCVeAFZJA2izImAW2fPfRNu34xxBLWj2jDCfElBB5rwvXjbK3mk800omSrpiTFDLd2v59WWuEfCmFAT7MnUdkpIR2YVz0NPE51VjiOi8x24si6Kceu59cX24IGtTMZOVJbzyK/FrxyK3WkkZTWVMyVdSqVG7u3dL8PVlsiKGlMOCn2alZ5JSQjs9XMJbeJ97NQAE+PAzc4XYv26zfh9kQpJC5Ms+JUrQeaklXa78lrYTyFOFsjW9Itc2O0/bbH99vQDuBLmK8KY2rrgjsvD8KX1jnSGfHhE3SH2T9ushFvsrakYXKlnxLk6BzKSrtTnkpbCdwKUWyNAX6qnMNv22y/fr2Eu/wDFzFeFMYLHQbNjHIJfUOdSBvcZM9JhzC4xcb3+K3iWk7xYI9ogY5AqGHcHmVsJ5jAibow7ckd9jQlxZl4+5WqMV5THhN+BSs+Xg0FW2zbpPOplUKVPPdJpWxdL5+K3iWnH3WCPaoTpGycg9ppPMqjp2IxWpLS7cQqXChPR5t5Pq2zRCvUI8JHs1Lzz5J7PV1CH1HnkkDn8kJjylPQ0rUw2e4wVE+JxXxL+p1Z+Rc+VW3iC1N8VejOWhGS3ZUobgoR70iSpQU6oD/Dq/wD+YqvXpthsuPw0vORIp9X288i+6ffcx5nUVY6FxA+Haxeju9NWeZrcb703b0Kajs8w5KXtqx1KfeHzQirA9WcDzU+nL7IHB3G0Qqc4l9H2OG7whW61xEkFheeZCUrQP1X+WrBwPdO8R0nV/wDuuZfydnFSPRd9pHir0O39xmZZOLoa4bjRVlCZTaCtKQTzGhTzZPVWnyrpV24Ul+in0hXfheaT9zePYuZ/pGVbtrH1SR9DkdK5WphtkpLydfS5HKGx+DpEdfaN88dayOJ1JI2z86jbPI7RsEnIPI5qUUnKSB73StQ30/kg5SdLw6JVsTUPcYuVKOnwnbIHQ1YZrSRpOef/AHqPljtU+EZTj+FU7Mq45Ko9GKSoZKlHbc9RWI+zHQA7/Spd5nAWAd/zfPoajXkHfHX/AL1ikuDNGRY+Er8q3S28nCSRkZxyIOf4fxru3A1/Eh5stLB0t4CEgnxkHURjrjHzyr5V5kYWuO4lXUV0TgbiURXmEuLOpCioFKiMZA3+vkayYMrg9rNXUYVJbketLTd1BxuS29qHROkgqOd8/LmP0q/RpCJTKXEe6oda4PwJeOzdQhBXMw2fClaiQMnffY8vLpXTrBdUxVIwF93dzqB30Hbf5DeuzGVo4M40y30UgIIyNxS1cwhRRRQBRRRQBRRRQGKTGbmR3GHUhbTiShaFDIUkjBB/SvOPHnoykcETFvMJU/ZnVZbdO5aP5Vf6HrXpOsUmKzMYWy+2h5paSlTbg1JUDzBB51injU1yZ8WWWJ2jyWmAhwgcwd81gk2UKTsnfHQV2Lir0LutuuyuH3khB37i+cDP9xX+h/fXO7lDuFleS1c4T0RZzjtU4BPyPI/pWhPE49o7GPPGf2sqDlrxgYJP0rC5aRgHG3+tWdZZIz5+VYe7JKeY5ViSo2tzKlLtI0FQGfrUFJtvtD4cYq/OxiQc+IfKomVCCk5IxqOeX+/nVWkSpFEnWkOtbj5VTOJeHEvMK2BSRXWZEJIGADpx1/d/v/8AVVniCEEtrUBnbP8AD/f76pKCfJljkafB80/ShwqeAvSRcYbYxFW53pgHb2bm5H6K1D9K2OFGYSL9JS7fHLDInxVJYlLSpTLjqdPs3NCSpIUn4sKGcZHMjtf2ueDUv2aDxAy0C7Cd7u+Ujfsl4GT8grTj/Ea87297XFZkGKia7DcSsMuAkOAKBKNtxqA5jeu9gnvxp+TzGqx+1laXRCcWWp60XVbcppEZ/OQ7GUFMu/3klJ0kH+7t8q0oDyWnW1ulcZYOUS2Oh8yB/pg/I1duO2LTdsz+He8RIknDhtFwWHFNkjOEOAALG+BkJV9edc/irUy6pLag2o7KZcHhPy3/ANa2DUL1DfQp2K/cNcZROtq824avEORUkYyQeoKVDmQqrUHQTBmXYltZWVscS2jxHWNwXEjTqUD1Ghwczq5VQ7HL7B1xMV5NvlFGlyLKwWHh+XxbfQL2/vCrjZ3+5S30RnP2fuZaw9bp2FQ5f93K8gA5yEueHqF8qAn38Ewp16BbJWVxeK7GNWpzp2qRpyoK5nwOjmQqskvdUKdeT2SlqK43FthJOtfTtUDTlQOcn2boByoKrDCUbbcJDUZQ4UvPY4kW24+KBNHRIK8hII3AcyjqHBtWw1+FXCUzGA4QvRZAk2m4nVb5oPQFzISCNwHSU75DgqLATEALgzr0THWpRXF4usQ1BS+Y7VKdIKx1xodGcqCiafMTodgTrye6OklcXi2w+JDrnMdqhOnKxyJHZuAHKkrNNYJtlxlR44HCV6LITKs9z8UCaD8ILmQkEbgOkp3ylwZpzQNquUyPFB4SvXZJRLst0GqBNzvpBcyE6gRpS7kb5DgoAlZbfgTryowpJJci8W2Ea23XOYLqU6cqBJypOhwfElRp8n7u9Bn3VXq+WoKch8W2HxNPOf8AMSjHiGSFFIS6PiQommsj1ZcJsaJ/NS8dkEy7FdfHAm/3QXMgZzlKXSQOaXKe1qts+bGhJHCt3U2lEqwXYaoM08sJLmwz7yQ7yzlLmcVACWewfgTbqr1VLKVLicV2HxMyF747RCMeLmCUBDgz4m1E0spXcpUCbdfwicUlyHxVYt476uY7RLWAFDkS2ErGfE2ommsJFsuE+LCxwxdtCUTOHbwdUKWdtklzZO2CA6Qd/A4SRT2B3CdPiQB+zN1WlLcvhu9AmHLJwcIU57vMEJcIUM+FwkigCX90lQpl1Isc/QVw+KLH440pfmtLe2eilN4UPibJNOkE2+bDmXI/s/dOzUuFxNY/FElK81pb2BOSFKawRyU0c0kYGDOnwrcP2fuZCWpnDN78USUv8qCvGDuClLmFDPhcJNPjhUObcoFs/ArmVJbmcK3zxxpLn5UKXgahkEJc0rGRocUTQCSx3CfElXDHDl1U0VQuJLL4oUsnqsN7JyMhRaGRnCmt6WVm23CPKnq/Za7qZJiX+znVAm55laW8hII2UWhjoprnSQ09hLuMC1J9STlqS1L4Vv8A4o0heeTal48Q5gL0LGfAtRNOhkR5FwgWj8LmLcS3K4Rv3iYecOAezUvSNQJGAoodGfApRoAkH1VcGZE3+at57D7rfbSNdvn55lSW8pAUNlFoFG2FNjenyUqtVzbflH9j72pj7reLUe0t08EYJIRlKQoHxKb1N52LacGkham5Fwt1nT6vlLdSiXwdf8qbec6hpatJKgSAEktujkFLp1vHtJ1tsYMd5b4blcHX7xpdcBwexWdOVg7AezdGwBX1ASWDabmJEjHBl+WwBHulu8dsnoVsokI1BKVDGSjW0dwUIwaH82q6rckFPBd+WwEtTImHLXPbJ8RIGpKUKGPd7RpR2KUAGiAApU232MdmVyAiRwZfvEVOcj2Czp1LGCNuzeGwAXzLrYnthJt9iQXEqkYe4NvmVLLnJRjr8OVjcZT2b3TSvG4CupNournaY4H4gcaCEvsntLVcG1c841JSlW3LWyeoQBWR8m13h/Vp4H4heQlA0+O03Bs8zk60pSSc762T5oxWK1gvNvW+xDvjSpHt+Dr7u6FjmY6/DlWcp9mUO7YKFAZOW1pMlh632FBuUZUkh3g29jMlCwN1R1jSVK2Iy3ocyPE2oDJARRNru8pKSOBL+8hLamFkLtVwaJ33VqCUHGRq7Ro9FIFYJtvYauj7RaTwTxCtSAqG+Sq2TE7HKVqKtCSdxqK2znIWgYxntGiex6vsIVfIHeFKc4Ru5+9sqGdSoywBqVsoEtaV7eJsgUtmT6xgCDZB+0VrDy1ucKXTImx8ZKlR1p3O2cqbwSR42iM0BqT3nEvz7Tdm3uHLtJ0tOpK8NupHiQdZOFDURjWSMYIcOwqSkypzsmcsIjtXS4ON2aANJbYhRilKcaj7mUgN7j3A4cq1A1htOm5QURLNq4rtKVrUrhi4nE+IkZKlR1pGSOpLPM7raFa1qiKfZbPDjy77DQVqcsUtITcYyRzKAMhxPxeAKHMqbT0ngEl36PAHrOEGpFssv4fZUFBC5ExXiVJCRuVJKu135KUwnkKE2yNbUi1zWGpVssf369gOYTLmKGlEbWNyAfZbDYB9Q51p2K5RpLsCXbi287bmZD0eI+AgR3SStLuhIOdKlawoFSchGSjTprNAjRFQokeXFU5Z7cwm73Yu6mzNfcwG2QSAdJ8LQIHIPrB3qAbKYUmcDCmLcj3S+/il4lbfdIA9onw9Mj2uk8yY6edYnlP3FszYcN+NcLzi12SHrymPDT7NasnfkOy17AgSCfOsvdJVxHcpanY91vubneJWx7pBT7VI09Mj2unrmOnmMAXIdnAzbfCkR596/CbFC7TIjw0+zWcnof6PVy8MhR55MAqd8TGYbXKhh963238OtZAwZMg7uPY8/EV4G4U40OQ2h7NL/Zy7oUnKzbjz5hUo8seekjb5IHnVturkeGhyXCXIet1n/DrSpCDmVLVu4/p/6ivA3BWwnpiqVOjizyeyOXEW3xPr6LlK+H5hJTgeYbJ61cFm43kz+B71wnxrw+ypi78NyGJM24heSZnado2CeukI0Y69mo9a+mv2kYtv9Kfoz4F9MnDyA7GmQ2O9KZOcMupCkavIoWpSD1yrB5V827dEZ4n4IuVnmF1MeNHcny3NeC5MIwyjPyOkH5dp57+kvsG+lwcTehDiD0W3VRQ7bVuIbDhOUsPEkYSeqHdf/qT5VrahJ43Zs6e1kTR07hif20VB1ZJAq0Nuacbk56nnXN+Dn1R1uRHgQ8ystrT5KBwav8dZUkEnnvXHXR2h04eAnbPlUWrxJI5Z3BAqTlEnbBOOorQXlJwdlcx86hmaLtEPLQQtJGw5b1HvAFZCgT1AqZnMlY+XzG1RykKc2IOsbECqNmSKvkj1t4HPAHka2LZNVCkBQUUgnGRzpr6VJ8iee5/81oPEtryRjfNa81TszxV8M71wBxQoNpLb7saUrxFwboOMAZHnjO/02rtNruqnZrZK0FsJSpRRqCc4xvt8gPPfevJvB3EK4S1NlxSUOeFQ14B225117hvid63W9LLdxZUt3GEOHKGuX6g/uHy3rp4M1xpnG1GGpcHpHh67amW2XVAg5CF5yCAcDf59Kn+dcc4d4qjzHG1PS0pcda1KCsIAWnHIb5PTY9DyrptovLb4THWsKcA8Kwchf0PX/wB66CaaOXOLTJeikpasYwooooAooooAooooArDJiMzGi2+0h5s80OJCgf0NZqKApd49EnDt1WXERTAdO5VFVpB/6d0/wqo3X0FyWzqt1zbdHRuSgpP/AKhn/tXYqTGaxvHB9ozxzZI9M843f0YcT29JPq3vTY5rirC//wAef8Kpd2gTISj3qBJjADGHmVI/7ivYWBRpB6VhenXhmxHWTXaPDFxuLLecnGBnnVA4i4iQhKsHUB0Br6MSrDbZxJk2+LIJ3JdZSrP7xUc76PuF31Eu8N2hzP5oLR//AKaxS00n0zYjrku4nyc44S3xdaLja5P9FLZWySR7uoYB/Q4P6V4uhsO2i5uw5KdLrayy6kctaTjH64/dX6NGvR9wwx/R8OWhvP5YLQ//AKa+Rn8qV6FmPRn6eIfE9pimLa+LYglFttAS0iWxpbdSkAYGUdkojzWo/TZ02KWK03dmrq9THUU1GmjzSyLnf+CJsCfaEXa2WNepq4xWx3uGwvOkLWnmjOcdoCN8AjNcmmtdk6oJV3ljOyvdWB8/9kV0rhmUqHxXaLizejw8V5iqnjUENhYV75Rk6SfCdiMcx0qt+kSwSLHdymZHZjur8bcqEpK48hJ+NBT4SD5p/cK3jnkVa3yprSEC4RhzZUcOtj+6eY/TI8xV2sr65EFbMVCb9bmwMwJB0yo482yMkD5o1D8ya5zEeSh1tTxU0oHKJDPQ+eB/7GrfBfQsMPXDU2S5lu7wPeCumoDGSDvnwr260BfLaTMtzjFvT+01paAzaZngnRR1LRT4sDqW9Seq0DcVuwfxC2OR7UP2nszYB9SzPBcIQ6lkjJwN8lvUjqtsVC60vtMS7uC8hTwLXEtpGVhY39qkY1KGx30ObZyrGDLz1d5QzOvmZTS5ALHFlmOXO0G47ZHh1LGAcHQ6MZyrG8AzRR321utW3+dVka3Nnmns7hCHMlkjJwOqkak9VtjcUsQCfa3GLeDxVZWRk2iYOzuEFI3JZKcnSOqkakH40Cm3D2ojz77l9pyTlji+ybuFwbjtk+HUsYB30OjnleMF1wIdRHn3wGQHJOqPxfZBqX2gOfap8OpYODlWh0Yz4sYKgOiD1hbHWLb/ADtsbGB6qmHsrhBT5tEZOnnkt60dVoFLHT6wtrjMDPF1iZx+GSx2dygJ82ynJ0jfdGtvqpCeVLcVF3u0+9qLgXI1R+MLHkqLg3BeSNJUsHck6HuZ8XItuA7URp95woLklUfjCxbkucx2yU6crHPfQ9zJ11CA+MoXG1Lag54usDOPw2T7K5QE45tkAnQBzKNbXVSUnkrBE60uIiY4wsLP/wAjI9lc7ejnlBGohA5FSdbfmlJNJcDrMS5XzZa5BXH4wsXi1ODf2yRpysYB/q3RzIXTpyj20O5XtXYurkFcTjCwnIW6DnLqRp1LB3JHZujcqCzQDmcT7QtDB/bHh6P/APKPDsrpb0f3MaiEDrp1tHqEE7IjFwtCkMn9tOHmMAMOnsrpbkcvD7xCOfu9o15hJJws8BDkG4Xn7s8t9TkTjGweJDjgPN1KdOVgnJI0OjfUlRpZhLb8G4XlfcJTjynInGFgOUOuZO7qU6TqBO5SEOjmpCjQAlIuVoWB/PPh1ghOhY7K629vH1KtAB/5jP8AgJ2cPxSzqJJ404fjnGVK7K625vGf7x0AY/tGdtigmklHu79vuF2xbZJdUuFxhYBllxwdXEt4GodSgIcGfGhRp8kdhJt1xux9TzFOKdhcX2A6o76wc5cS3jxg7Eo0rGfG2o0ALCbhaCt0fttw6wd3R7G6W5AHxDxEI3+LtGjjAUk8leSLnaAqR/PWwMHT3lv2V1tyBsAsHUdGOQVraOMJUkmh9SoUu2T7oRZLgpanYXFti8UaQrqpxLfxAkhSm9KhnxNqJokZhTLdcLjnh+5qKnIHFdi3iSVctSw3sDuQpTeFDVhTZJoBXiLlZw7L/nlw8yrSZ7IDV0t6cYAcCsnSByCtbfIJcTtSSiLlbUvXE/thYWlHNzi4RdICfJ0HJ0jbAc1N9EODanP/AIfPtsyeocM3RaVLhcT2Mkw5ecjK0NjbyUWsYzhbRzkDp9V3G3TJxHCt2W2pcPiSzDVAljqVJa2A6KLQI3wpregFkj1la25VyJ4ssbRwL1B8FzgAcg8FeIgbYDuU9EODanTR3+2syrsf2rsrZwm/2/wXGB0AfSd8A7hLuc/A6BTXD6quUGXLUOEL0ppSod/s/jt80cipQbyBnOFKbyjfCmxvhzhVaLlClSP5nXwsFUS+Wzx26ck7aiG8hKVA4UprUjoW070ATwJ9uZl3g/tNZ0KwniW2jE+H0SmQhW5xgEJdxn4HSBT7ge/QmJ16J4gtqD7Lii0bTYqgfCJKDgqUMDZ3CvyOEUi1ep7rHdfKeCr85HKo90geO2T2ldVJRqCUKAwSgLbPVCd6cr8HuzbzpHAt/cjeynRfHari0rnkJ1JShQwCE62jjdKMGgEuH3uJGnXxRvcFJwxxdZP+LYX8IkpVpKlA42d0OH4VqA3W4Dt40Wfez6ziD/huL7FtIaX8IkoOklQP9podO5C14ocJs92yojgbiByNpTIZAXabk2eecakpQvPTWycckYpF/g93cORwHf3ooB04Xabk0r66kpQrnklbJx8GKAbdkpmRo86/4mx1gdhxhY06nAs+6mSjw6l+YVoe65X1IlqkXOQIc9233O2rjdt64iupwWwdyUlOUuDO4UlCtjrBzmkkOjh64S1pbVwPxA5GCVxyntbXcmTzCc6gEKxkA62lHkpFZLstuzWlENqLFhzrgEyZiIqFJS2kgYbAUokDIOxPIEY3oDI7ouSZ/Zy3ZDV1nNGfcACuS3GBB0hhKOQXlWU5B0tjACDWwX5E377BiPsTrv8Ag1hhlfhjxB7NxWT0P9Fq2H/EKOOdVaO+uO8lxtRQtJylSTgg/KpmLOQ86HO1NtnFl5kzIracOJdBCw4nHUKUCpOFYUrzoB02RGt6Vz4Tshdssg7laFBveVNVlS39PmMlzGMgmOk+VU+921u2LchrKlN2odtNVzC5auTeeoBTpz1Daz1q6vTjYkRJLhdZas0NHqtLGXW5E1wnU9rCcakrC14IzlDKcEDeBvNtat4MF9wvMWkd8uZxlLsxeyWfmARoyeiHSOdSganA1ybhXBlueHHIzJ7/ADW1HHarx7NtX7wD/iXWzwvxTcfQ76f4V0kPJZZv6Q9Kb6JRIVrTq8iFaFEdOVVqIoxZ7QmLWtaz32aFDB80oPzOR+qz5VI+lS0ucRcIMXJEdUi9JK7lPkf2UZRAbA8vErJH/MT5VizQWSDg/JmxZHiyRmvDPY1i4gbn8QPSEu6lvnW4P73U/rz/AFrq8JztG0KJzkZ/XrXiT0M+kkzE2aW87u4kR3yfzjbJ+p3/AFr2XYJgeitq56hkV5vTuSi4T7R6vVwjGSnj+2StE44PDvzx0rQeQVI1A4I3Fbg55+W9ask6TqwAR5dK2jUj0aziQ60Unwg5xiot1sIUkkBRGxGOlSi1aU489wa03kaXCk81DBz59Kq0ZU6I2S2RkBOg+QO9R0lsDOP3neph3IQQRunII6VFS8LbIQNx5dKxSRlg+TBHl93WFA7Dyq98M8SAqDZWGzjUDy3GMb/p1rnDoUhRyT+opIt1XFcChkK+uK14twZlnjWRHpuycZtyLosTEuO6WAlAZSDnbUCByGcnIHmB511C3cTs3FwNwWJKCEBKgUlLaDzGPI/L5H615J4b4xcZU3qSXG0ZwgAHY88n937hXX+F+O5SoUJpiKHyh46lh4BC9QyU+WrIJCueTXVw51I4+fA4np+y3oTEJadStDw28aSnPy5VMVxrgvjCTeFGO6tCloXhKtYCs4zjbfO5P7966vbbimUC0T7VAB+o8/4V0E7OTOO10b1FFFWMYUUUUAUUUUAUUUUAUUUUAUUUUAUUUUAV5d/lHfRA76WfsyXpyBE71eeG3UXyIlA8ZS2FJfSOp9itw6epSnrivQ3FHGln4OidvdJiGM+40N3HD5JTzNcC499Ntx4xZk22AhNqtLyVNrJUC+8gjBCuiQQTsMn51SWSOPlsyRxyn9qPiTEYE2HJhaUK1J8AXnG/u8vJVSfECLPxDw7Gm2CQ/Hc7NLcuzXEhQLqRhSmnRssEjICglQzgFXOpf0n8FOejH0lXmxKUosw5KkMr5lUdfiaUfnpKc/PNY7VMM2Fd7LMsaLxAfBmtzWBpmRFJ0hwhQzlG4ylYKfIjc1tJpq0YWqdM5EMx5Skoyy4nZTLo2PyOf9asNhlGNIHd3vV8sjCmZGCw6OgOrIwfJWR8xUXfIqWZLhac77Gz4VKGlxI+Y/8ABIp1rfUprShImsgbsK2Wj5pPP92R5ipIOjWOSIM1AjOfs3dCg9pGleOHJSeQOrISkjOy9SeXiTirBbnPVt0QhlY4Pvqm/bRZfit0xJ3A8eoJSocgvWg8wpOBVNsL634xYiJTe4SEEqtko6X2s+8pojfbnlGR+ZNWqyOGVBMe1pHEFtabK1WGf4ZUcn3iwU7nHm3z+JvGKAko34VdA2zjg2/Kb9tCmeO2zkncDxaglKuiV62zsQtOBWWMo2u6hLA/Y2/LbPawpoC7ZOBzgDVqSlKsnAXqb6hacCsFsKpcByLaAOI7Sy2VucP3I6JcU81KYUnc4PVo5Pxt4xWW3AS4a41pH7TWtloqXw9c/DNjE+8WFJ3IBGctc/jbxiqgdGBtNy7KPjg++lol2BO8dtng+6AV6khKhnAcKm+oWnanRc2m6dkwE8H35TR7e3T/ABWyck7pA7TUEpUM4DmpBOCladqS3AS7euJZx+01oZbKl8P3HwTYpJ8RjlO5xjOWsjqtvFEBXe7cuLaM8TWlloqVYbj4Z0Mn3iwU8wD8TeR1W0KAdEItl07GMP2QvhaPebZcfHbZwPIAuZCUqGcJc1JPMOJ2p0X8Juq2Yv8ANG+lv7zZ7p4rdP22Tl3KUhXRLupHUODYU2Fpm25ca054os0dklVguHgmws7qLCk7kA4ypvIPNbYpYWJNrcj2gDimyxmStViuB7KfBz7xZKcnAPNTWoHmtoCpA6N+HXRyPEI4SvamsSbPdPHbp/kAXMgBQPhDuUjmlwbUsT8JuTseCP2VvSm9Mmx3bx2+d5BJdyEgjcB4kdUuZxTYn3+2rj2zVxdZIzX/AMFuHs7hBHUslOSUggnLepHVbYp0X7/bHY9qB4tsTDeBZpvs7jAB5lkpydKd929aOq0CoAsL8OuL0WFp4WvBa0zLBePFb5ueiS5snI3AdO3wu5xT4QNuucmHbx+zF4U1omcPXoa4MxRGcJLmwJBGlLu45pdzTIx7/a32bcDxfYY7IJtUw9jcrcnqWiNR0pOxUjW3vlTadqeyO/Wp1mDnjCxR2hi2SvZXO3J5ktkaiEA8yjW3jdSE1IFhAW6fKh20fs5di3pmcNXvxwpi/JBc2ycgpS7hQ+F0k06CDBmyodrT+z9zUjRL4Zvo1w5av7inMeLGCkOaVDPgcUTTWwJtpeag/wA8uHorQSIEr2Fztqf+XjUQkH8naNdVJSTSjTcLY+mL/Pbh+M0lPdZIDN0tqP7uNR0J3HhLjPUpQSRUASGnuUuXBtJ9SXFSAiZwrfiVRZKuvZqcwNWMY7QpcGfA4onZ0MqYkzYNnT6omuICJnCV+GY8hfXslr04VywFFDo+FxRJo2uVlfTH/nrw9HQlIYe9jdbY2OqfeIQASNu0Z8wg5wPn1hZny0P234ejoCQHPY3W2o55+MhA5ZPaNbfAScALBIZfnW+yp9XSlAImcIcQeNl934g0pWnx5IwDodHJK15pYSVNvXC32NPdX1kIlcHX/K0OODY9itWnUsYyP6N0ckldI6Bc7S6cnjfh6MlKQvHY3W2t/MeIhvmN+0a22KCThzw9aWd1bn89uHGCloSh7K621sDACgdR0Yzse0a2wFoJ2Afbkk9+ttjT2KlqCJPBnEHi1r21GOs6cuAjYjs3gNhr6kA6u+2+xIC0qUEyeDOIDlWv4jHX4crB5aS29yGF9SWE3S0uvSkq434caKWxOaT2d2treNu0BydONsOa2s4CVpJ2WYRdbUuRNP7Z2BpaUi6xz2V2t6ByDoVklOMDDmtBxhDicjACwEqdam22wpMllTgEjg3iDd5Kx73d1jSVKByPZ9m7yBQoDJLbiWxKt3D6VXOKXtLvB18OZDShsVRljTleQoZa0ObAKQoDcnhNxtZkXInjOwtuJSL3DHZ3O3pGAA8kknHkHdSTyQ6NqbdEO3yAz3nsuL4Lz6Y0W+MOdjcYp5JRISrJx1AcBz8DuAKgD7G7GQZTkd64s8NQV94FsuTaFGLKSRhtDh5kkkEpCCdgpI2JgJk164y3ZT5BddVrVjkPkPkBgfpUxxNNW0lm1iQ5IUzhyY864XFOvlIBJUdzgf8Af5VBAUA9B3zWyk4FZrnY3LrLkXHht3tlKT2jtlfwHEEdG8e+AMbp8WMko2JMbb56ZvaIKFsvtbOMuDCkn/UfP5VNAlGZrkZtaBhbS8a2nBlCsHIyPr151hfLEpuOw3tDTKXNegLwe3c0AJSFk7pykDSrkFqwaQ5UK0ZachQoCvzyZLmZEhT0iSpU6erGFISD4W1f3t8/VwD4atXDam+Ira/a5S3EIueX7g4j+riNgkAfxIHn2fkKqd3W6WnGytRStISVBRBIByAfMZ6H9MU7h/iBn1i5GlyDCROfCHn0jCG46fEAMnOdjseehO5zVgVrga7O2G6TrW4S2NZcbCj1H/kYNfQf0McSL4g4SgTF7OLaGpOc4PWvAfpbjLh8RwuJGmhFjXLKmWB0bbw2P0wCB/hz1r2F9ly4Kl8AwnMENgEKV9FGuNqMOzL7i8nodPqPd0ywvuP9mehkv7YzqPlWNYJJJIyD51oCSopAa8RxsaUdqQCVBJO/lmtezYo21N4QcnfoetYHGjzTnly65pqXSMjQSr8x5U5K3Maik6vrSy1URz4IV4gAOeBz51HykAK28Q+f/g1Izit1KiE6R89zUFNdeaUQdO3nmofJmirNZ/xkpGM551oPthLmdjnyredewnOknbmN6j5D6MkjYfOsMkibo2Y1yMdARknByk6uVWyx35JWyXVcgUhKdlA9CT9T8q56t5GCQrfO9Zos/snElCj89qx249E0pdno/hDiFTM5t1u5vlbjhUX9lagDsSk7gDBPPPKu/cMXqXKQhbj6JDyFKH3cYJIJAGD0wPPrXiHhviB1h1I7VaWxk6Uqx5bj938K9I+ijjhDb7YdWtbQRpTrKdWTgbbjyG1dHTZU3RytXha+pHpWDMTNYSseFePEjO6TWzVItt1REccejurWCdRacRp1jrpzj9MZq5RpCJTKXEHKVV0kcVqjLRRRUkBRRRQBRRRQBRRRQBScqWql6UPSJbvRhwdNvtwUFBoaGWNWFPun3UD69fIAnpUN0rZKTbpDfST6U+H/AEWWQ3C9yw2V5DEVvxPSFDohP6jJ5DO5ryHx99tDiy8yFosTbNhhHZOhIdePzKlDH7gK47x3x7d/SNxFIvN5kqkSXT4UAns2U9EIHRI/9zzqALJcASRg1xcuqlJ1DhHewaKEFuycs3716UeILvNdlzrjJlSFnK3XnCpR+X/tWlH9JsmOoIW+ttRPx7GsT1rbWjxDOah7hYWlIUC2VI+Z5VqfW+WzoqMFwkcp+1LEbvL9o4lA8b6Tb5LgPMjK2ifnjtBn5D5Vx21XaZbZUC72+5u2e4QXQpMtkqSUAkJWFFO+kp57HO4xgmu5+kWxOy+E7jbm1Fxt9v2Yd5tuJOUHPlkDfnvXma0XZDinY72UpcSQpGcfJQNd7RTcse19o8/r8Kx5dy6kWL0r2CXAuLcq4RY7JmkvR7nbShUSakk5UgtnQd+ejBHIpzmueNrCHcu5Tv4X2uYP+/oa6jEiwLlwh3S1XQtXOIpbUuz3DHZPgHwrac90nGBhQSrbwk1zCS2qJMUjSYzoOFMu8vpv/r++ugcwtMN9DjSXZyVKRrCUXOH76VdNQ21H66VfM1clSEyoxlXZBuMftEpb4gtZBdQvbHajbUrlsvQvbIURiudWWUY8hIad7hJJ3S7uy6PI5yMfI5HzFXaySTFmjs3v2buqzgpcAVCkpPQ5yEpJPJWpHzSKAtlxUJMVU69fi0MOIbZ4os59uhwY0h9KtOpXLZzQ5tstQxWe7feo6pt5/GIKXEts8WWg5ebX8IfSdOpXXDmhw42UoYrQhOC23MFCzwhflndKsqt0xJ5ZzqASSTz1tHzSKkG/w+6hIP7FX5w7pV4rXNQc4znUEoJzz1tHPNAqGB14AlxVTr0Dd4XaobY4ss49shzHhEhJ06lY3w5oc2yFKGKfdyZDHrC+E3aKXkNR+LbOfbIcAykPpOnUvTjZehwYyFKAFNbPq27pAxwPf3DuFeO2TGyeudSUoOOvaNHPNIpyFerLvsDwTxA577bmVWucgnODnUEoPkdbR6FAxTkBdgJDKp96PrSL26EMcXWQZdDmxAfSdJUvGPf0ODGQVjGcl2BkN9/vSvWDHbIRH4xsh9ohwAY7dPhKl/4+zd2yFLGKa0DbrwUpA4K4gdOFtOgLtc1J3A31JSkk7A62jzCkDFOQk2y7YbH7E8QunKmHzrtU5Bzj3tSUpJJwFa2uRCkjGIoCXdJebE+9ff4/bJbjcYWIeMOADHbp8JK8b4UEPbZyoYpbrh9v1heiJrKn0oj8Y2LdfaYyA+gacrxg4V2bwxnxjFDKvVl3CGwOCuIHPfiyfHa5yCTj3tQSg74162jkEKSMU5lHqu79k1jgm/uHDsOWQu1TkE5AyvISg74C9bZzkLSMCgHXfxBq5X49u2uQEReMbAPEXQM4eT4dSwMHB7N0YJOvakupKg1cb2C8VyQmJxlw/wCLU6MH2yBpyvkSTodGCcL5Ei4tt4U0wP2L4gd/prfM8VrntncDK8hKCc4Dmps7ELTsKfFPq27Ftg/sXf3NnrdOAXa56TnAyvKUpOTgOam+ocTtQBdhkMXG9L0qXIxE404fzhbg3JdSNJKupOG3hgkhdJcQAuPcL1hhbsnEPjLh/dC3Bue1QjTlYHiONDw3KkrPMipNruxjwyODr+5s9a7ie0tk0blIBc1JAO+A7qRyKXBsKfDULfdVx4gHB99e2kWi5+K2Tkn3QC5kJBwcdrlPIpcG1AJc0kuxblesxHnJP3TjKwDUy6sbkuoTp8YAydOh0blSFnNPmktyYVwvKzbpb0gmFxjw/uy8scy4hGMqB3JRocHxIUaIX4ddHI8MDhC9uDEqx3fC7bNHQBTmQkEckuZG/hdBwKSDm3XVcSADwre15Evh+8+K3TtspSC5sM/Cl3YbFLucUATB2UmFPup9VTH5ClQuMLD4oz6h7xWlGPEDkqUjCxvqbUc1klHu82Fcbqv1FcX3VKg8XWAnukgg4KlobAwfzKbCVAHxNEkmmwB3G4uxbdjhm8O7SuHb3hdvmbbBKnNgT8KXMY20uk4pbZmBcHIdrA4duzmRM4Zvu8GYcYwhTu2SBsHSFDPgcJxQCyCYs+BOuY/Zy4uurVD4rsSdUKSRzK0NbA7YJaGoasLayTSvZhXK3zrir9lru+ta4fE9k8UCWPiKktZA32UWthqwtrckFsHdJj0C1gWG5uAiZwrxASqHKOOTa3MYURyDhSsfC4omltYMSVIg2lIstxcBEzhHiHxRZKscm1OY8W40pXpcHwrVmgFdUqBcrdMuCv2Svb5W5C4ktXjt84cipSW8gAk4UprKd8KaGThkRxmI1I4hkQrW1cUlUaOqBgsyHM5DqUpJSNsk6MAgHCU8qbDbSicq02vvljdfVoufDd2YVIZR0LiCocxtjWErT0Wrc1p8Q3JE2W3HjKPcISewYAGAcbKV+uNvkPnQEWpSlqUpSipSiVKUeZJOSTW29BjzW3LT3lVqvcdXbh57+hdCkJ0tKV8CgdXvDGSMlOM1nskVbzr7rLKZUqO0XWIpWEl5wEBIGfexnVpG6gkgbmoKxymJLN7amuFm+9k4UMzVFtT7hOFYWfjSNRCSQSoAbk7kBzj86xT0wrxDdhSwlLiXEpJQ4kjKVJxnYjcEZBB2JqUuNwTxBxOq5oKlBMRuO46vOp9wJQFLOeuUnfmc5O5NLb5ctm1Mwnn+9tIGNEhCXAD1IChgH5jenIQEJAACR5AUApGa03+aq3a1JAwpWetQCBnIylQI2qsy21Rng4jmOflVrnczVfnoBSrNXBH8QINx4bPYuauwQlCYzgKwgBW5Qonw7Y25c8Yr1P8AYonquno0eZJUVRJi2SlXLGAof/yryYmQY7i0HdKhjFepPsJEI4e4niatm7glzHyU2Mf/AMa1NSrgbemdZD1XHYxyO3Xas6oyQU1liIGknkcbVmczgf8Af51yTuRs1G28qAO2RtWQt6Vak5A605SFAk45cqyJbUvxDbI2NSXfBGzoocGSAnP76gZ8ROrQvJHwnPMVZpKFoR4R4uhxnP8A5qvzWlKJJBIOxwOVSuS0HZAq0tqKRsk7g1qSWwrPLJrckR3CSScY5bc6j3lqQdI3walwT7EnT4I2WCk7Y577Vr6Vo3CsY5gVtLZ1O5HLlvSYAI32NUcCfco2ba+pDiQV75+ldb4CuamXEdmpgeYfJGc56jlXGy92Y1AZIP0qd4fvi4z7a0uBJSQRg789qxRhtlZWbc40z25w1xuuRGRGkwlkOJOFRXUvjY4O2dRH7+ddAs18jtrWphaltawhaN/B88HcGvLXBHEDwabV3llaPDqQn31eLz1Dpn+Fdq4avjdyB7442p0JADy8oJGAdKegIyeuDXXxytHDnDadnS6haQpKgUkZBoqrJnPw0huKoqZxkZGr+NFZ+DWpFsooooUCiiigCiiigENeGvtncdyOI/SGzwyy59xs7SSptJ5vuJClE/RJSB5b+de5ScAk7CvmhxhNc4h454ku7uVqkz33kk9ElZ0j9BgVo6uTUKXk6GigpZNz8FIEfsyE45c6zoTkbbYrdlMYWMAnPPFaam1pJxy864nR6SrQ9SkpAHWmlpLmx605KAcLWMDkBzzWRxeEYS3hY5JznH1rYhGyri/BGTOGI85taVjc86436R/svRb8py42V5NuuYys+HDbp/vAcj8x+ua7vHkO6/GlC0/lGx/fUm0+yvCXWygE4yDmtrG/bdp0c/UwlKNNWjwMmPM4EvUmzcV8OqkNyWOxDiFFt1lQUVJcZdAIUDk5CgoH5EDFO4iitoeJjPd/hoGEFadDrY8iN8foSPpXvj0i8CW3ieKYsto4GHI8ls6XGldFIUNwRXin0r8MzeFOIXY91aS266dTFwjt9mh8dSpA21eeMfrXVxZ1k4fZwcmJw58FNtzytkISmU2NywvZQ/w43/d+6rnw8+t9ttmKlN4jJBWq0y/6VPmWyMHPXLe/mnFUIeFepwddnm/9/wDg1ZIEhLqAuahT6E4SmdFxrQemobZ+hwfnW0YDpXDj5kxWoVrCb3BRrcXw3cjh9Cj7xYKcEq65aIUceJBGalLGVS4jcGyH19BBW49wtdf+IaV8SmFJxqVgE5a0q/M2RVYbfEqIH7m2bpCbQlDd6tuz7Kvh7UHGrHkvSo9F1YJK0yoAlXkG/W5CEoa4itm0qOs+4HwrGo9NLmFH4XMCoYNyykTYaINm/H4ALi3eFbqcyWlH31R1JwVHrqa0qPxNkU+zgSoiIVjSL5b2+0dd4VuwxIZV/WKjqTgk/wB5rSs48TZFY7iRLgiXdweI7Y2lKGuJLXtLjqO6Q+lWCojGNLuk/lcIrJdT3yEJV4J4jtrSEoa4ltW0thfwiQlWCog7Yd0q/K4RRAWz5lQm4VmA4htzetbnCt3/AOKZVvqVGUnBPnlnSon3myKWzhMyI3Bsv84rejWtzha6/wDFMKPvqjqTgqV1yzgn428UlzBlwhMvJ/aK2NIShnia07S46/gEhKsFRzth3Ss48LhFOuuJcLvV4zxFbW0JbZ4otO0phZ9wSEqwVEbjDulZ+FwiiA60ZmQm4VlB4itbYW47wvdNpcdXxqjqTjURudTWD1W3ii0/f4DUGy/zmtjaHHF8MXQ4lxSd1qjKTgqPXU1jPxtUl0V3mH3y9H9oLahCG2OKLRtKjrPuCQlWNShy0u6Vno4RTrqRMgmdefx6CkIbY4rtH/Esr5pElKtJWvGBh3QvycIqALagJtvbh2f+c9oYQt1fDN1OiZFJ3cVHUnmM4Opo5PNbQFOtf36A3DtAPFNpjtLcXw3c/DNh599UdSd8bZy1sea2qLt95i99vJN9gNpQiNxXZv8AiWXOae8JVpK1chhzQ5t4XFDFLdz3iOJt7/G4CAhuPxZZdpDLm2jvCTpKldMOBDpxstQxQBayZluRDtRPFdnYaWpXDtxOifD/ADKjlO5xjOWsp6rbG1LbR6wtyYtpH7W2ZhlalWGeNFwgA+8phSeYGPeb1J6raG1JdwJUUzrzm7wkBDUXi6xn2zbnw95QdJUrHRzs3TjOtQxTrxl5jv8AfFes4o0NxeL7F/Soc5pEhJ06l6cDSrs3eute1AFt0z7YiNbD+11jjMLWbFOw3cbeknK1MKTvpBwSpvUg5ytsbUsNImWnu9tQni+xRY6ibNM9lcbcnOVKZKcnSDjdvWg81tp2ovHtme/3om4MBSEReMbCMrS5zHeEeEqcxj3+zdGM5WMUt4PaI9YXtRmI1JRE4ysJysOD+3R4CteD8XZu7ZyvagFjJFwtXZQs8ZWKLGIFrmeyudtR1LRTk6Enfwa28brQmiKRcrUWYY/bWwxYxSLdI9ldLWjqWyNRCEnfKO0a6qQk0l5AcSJ97Jfb1pRD4z4f59oOXbpGkleDk5Db22Tr2p91w5puN7OrtHEoh8acPjYrx/Xtp0kr07/1bwxkhygBA9Y2dbcUftpw7Fjf8K8ewulqbzklB8R0J23Aca80pPJxWi42VwNn9t+HocYJDLp7G62pvn4feIbB/wAxr5IJNF3OHEXK+q7Jxx1KYHGnDwIQtwbntUJ05Xp3OkNupwSpK+r1wzfr4FXRqDJdYxJPENokhpuSynAVrQhO6yTucNrG+oEnNAI5NesnDzZE2e+/JaEaAZqQl2PDGCAAFK04ycDUcZGAN6rkWK5JdQxHaU64rZDbYyo7cgOv0rbu10N5uDkrSW2iAhlpQx2bY91OOnn9TWCM87FkNPsuKZeaUFocbOFIUDkEEciKAhEcVWtW3eSn/E0sf6VJyuJeH+Joxj3yRHlKKUpRMDqUyWgkYAyffGMDSrJAACSmt2f3S08TQ7m4xGNhv7o7dLkNtYiykkdq2kKBGFZ1pAxjUEj3SajU8Ow0yZ5lxoUlbshxQVGSptlI1HHZpGnCcbgEeVSDNbLeu3KeQLj6zilQMd0pIOjpnO+flk46E1IVjQENoSkYSlIwBS9qmoA7OK1ZCsE09UjPT+Nacl3CfM+dARs5Qwd6gZque9S010YVk1AznRg86sCv3FfZuZHnXp77CEwOy+LowVviO7j/AO4M15auru5xXcPsMXzunpbn29asJnW5wJGea0LQofw11gzr/bZnwcZEfQKJjVjmMGtogDI6eVa8VsjT9a23EacZ5fKuKehSGpQC2dgaYT2QOxwOW9ZGEkIGTz8zWN0doOXntUk0abyklOCTjntUdLZQtJ5nJ6mpRaC2Tv4PlWi8S6CM42xV0kKorE1gZO+BUU9HCeW9WGUyNZBIBFRb8QJWMEjPlViWQUmOofIdDyqPWnY4JVv0NTktBSggKwoHIzvUY6nSfCRpPQCpsxNM0XWzpSooHmRissJfZODG4B5fKs+oFIzk9KwKSlBKkqIydwapLomLOlcGcS91QptTjgBA0oaVjP1zvjfkPOu28L8VPsSNcSY+6lBc1F1KHEaRjGfET8GSARyBFeU7fOUy4kkk43/3tXSuHeI1uSC54l9qsqLQWU5BByPd/wB5qcc64Zgy475PUCu8TwjQ9b1hpIRqU6tonI1Dw79FAc+lFc+tF+emxS93QPJKvCS5kgYGB7vlRW4aG1nriiiitg0gooooAooooDBNX2cN9X5W1H+FfNhuMXEOuH41En5719IrwFG0zQnmWF4/9Jr5+x7ae6gEYrnat8I6uhX3fwVV6EAknGT5VH92LjoTozk8uVWyXB2xy3qMEbQ/kjA351yfNHoI9ES9AIaSU5Cl9eoH/vWnIhrjp0pR+6rqLWpwN4RvitWTaz4lFJA+ddFRpEwkU6O2or8XhNb6Ws5SVbEc6234JQs+HFagZWHsDescuqMkse9GxcoObMV4BU2nIP8ACuG+m/ghPGPCclDbaVTGUl2OSMgqA5fQ8q9GXGEW+GHXlJwA3/rXMbmgOxlIVgDcfStXNkeKcZI5+HAssJJo+c6gpl9SdJjOg4LS+X03/wBalrVJLD+UO9xkEafF/RLHkc8h9cj6VOelzh1dj47ukdKQ6w4vvDbY95AVucdcZzy2qpw3DlKEJEhsndhfP9Pn9K9RjmpwUl5PKzg8cnB+DoVolIjTStLquHLmoBIcAJivpOxBznCT/wBSD/dFWyM+LfclOFZ4PvqkhKH2sqt8pB2UDjVpSduWts9QgVz/AIdlLdbQxDSm4MlZKrXK9/PUtkdee6cHzBq6cNPrksiDaCLlGW7rc4cuX9JqxuplQxk4yNSClfmkjNZChPurFrujinj+xV+WkJRIj+O2TUHnkDUEoO3LW0eRCRmsz4NruzhdxwTxA4lKUSI512uchWM5xqCUqyOWto9QgZrWsTplsGDYyLiwt8qd4Tu5y4FjOSwrbUrmMtlDu26VDNbFmPbtKgWIiey4+e24PvO7gWM5LChpyrmPZ6Hdt0qANR0B8gm1XVxTh/YniBxAS3JjjXa56Dso7akpQrPMa2T1CADSv5tl4c7VX7D8QOpCUSGDrtc5BOCfiSlB559o0eoQM060pL6F26wJM5lcgqe4OvYJeCxkEsKGnUoYUMo0ObYKFAHKWXExr1dYB6yjuSVF7g+9YLocAIUY6xp1LwFDLehwYwUKANRYB38Luzi144H4gdSEpeZyu1zm1HCuWoJQduWtpXUIFZZGbVeHS5/MXiJwBIca8drnIJ8XLWEoPPbtGT10AVisoEttUCwEXKOqQou8H3jd5K/iMdQxqVjIyjQ5tuhQBy+y4lsdwsI9ZxlPqW9wfeR7ZKxnUY6xjUrplvQ5tuhQByA51Btd2dC/5j8QuAI1I9pap6Cd8+8lKFE5/rGT/cApXD6ru7oUP2H4idwj89qnNnbfZQSgk5HvsnzQOTbQe8sdwsOLxGVIUXOD7zu+hYzkx1DTqVzHstLhx4kKANPsyVTI3q+wJ9cRFPqU7wheB94QoA5VHUnSVKwFbtlK9vE2oZoBFk2+8vHbgW/uAI0/0lqntk77nUlKDz37RpXmgcnn8Ku7yU/zF4iew2plY1Wqe2fMnUEIVz8Wto5zqQOSWfE2OiBY83yCX1rc4QvBBktqwdSoy06dSsBXia0r28TZGaWyjv8AETAsY9ewC8txzhG77SmlAZWqOpOCo4z4mtK9vE2RmgGk+rLq82j+Y/ELxShcZ3x2me2TyydSUoJOwVraPPWgU8hVtu77TJHA3ETykociSMLtM5HTdepKUkk4C9bXULSOS2ZQuENEGxp/aC3hxa1cJXfIlsHcqMZacE7dWsKOPG0Rmks/32K1Bso/aW2h1al8J3TaYwQDrMdScFR2JJZwdvG3jNAK0BbLw+yxjgjiB5QQ7b5mV2qejp4l6glJOSO01Nb5StAxWRnNuu77EfHA1+fUEPWqeQu1TWycganMhKSRsHNaDnKXE7Csdl1XCG3AsiTxNbQtbi+FbnkTo2PeVHUndR05OWvqtrFFm0XO3sQ7IP2rtA7RxXDNw2nxNsrVHWnc7b6mtjzW1QDFy02CbN7BC+Db4tQEmyzkKcts9HPA1BWATyS5qRuClwHSKW7Bmy21MCOwzFlTyJUxMZJSlCTuloZJVpznYnkMdazWF1hcJEtmdPk8NWwqkRoU5lBcjyCd20L3GDkboKQo4KkpIxUDJkuzZLsl86nnVFaznO/kPkBgD5AUAjao7CXJExamoUdBdfWhOVBA8h1J2AB2yRuKhLfMcdt934mmrSyl0BxEfXhCU+602gdSRgcs4BJ5E1PNvN93fjSIzMyG+AHY76cpXg5G4wUkeaSD86gzwpcLU3ITwg+qfDlKAe4emhLi175SW8jDigeRSErzjAO5qUCdiyIlzsD1vurjkG13Utth1zYR5QClMrPMZHiBHPQpYG5rTt6pLcFhMspMkIAcKeROKgIVxe4vuEZ9+KYkK2pKUR1kqKnzgrWduYwBjppT1yanlvhIqAZ1OEimF0Dma03JgB8q1VyScnNTQN52SAPCd60H5GoHJ2+dazsoJ571ovyirmf3VIFmPg5wahZr2xrYkySMjr8qiJkjKTQERcnMlQz/ABq//ZWuJgenvhheSEKdW0o/JSFD/WuczXNZJ2zVz+z6hxr0tcJuoGVO3JCR/hGdRrHk5gzJB1NH1baR4QcZHyra0FSR/qK1rbqfjNnfOnB/SpJDZSjcfwrhno4vg0y0VpIG29NUxoQdjW2lGT5EUjyAE+e2KE3yRbyMBXhyKj1MjxZ36+dS6kDceda7rYCD4vlUrsmyuS4wzqAIqGktEE7nI8qtcpvQnGM9QaiJLSC5vlJPmKyC6Ku/Fc1k8wa0HoZTzzgHfbpVpfjJbGo8hUTJTjJPKpMbdkGpvSNOc/TzFYnWD4VAA7YPzqTdikq1AY3/AHVqrSAg7HKevkf9ijK3Rohzs1Hblt9KmLLeyw6n2xQUnocEdKgVpUXFZOARn60gJLgUPCT/AArHtroyOmuTt9m4ltgh+3dmOKKsgh7HMDPTzzRXIWLw/Hb0IdOM9DRV97+DV9tfJ9ZKKKK6ZxQooooAooooBriA62pB5KBBrxjf+E3uH73OtslsocYdI3HvJzkEfIjB/WvaFUL0m+jlvi6OJkVKUXRlOEk7B5P5Sf34Na2fH7kePBtafL7UufJ5Kn2oIcJKSQd+VQ0i1p7QHTjfB2rpV1tK477keS0pmQ2rSttacFJqJctAOSU5Hzriyg7PRY8qor1paS4OwWN0DHzrNKtJIIKcisr0VcSQHG9nE9DyI8qmIMti4NjcIexu2a3sTUo0+xJuD3JcFLk2PCVKqC9U/etk5/TlXUptvQWyoYG1RVus3aTRltJBJUc1ElzRsRz/AEtsgOJWEscKLihOHFKQkGuVTrUpxLmASd9q7nxTbVPrQ3jAQnXgeZ5VSXLKtanMpwAdj51ztTFynwTpJqGNv55PAH2mrO3F44iuOtOM9pEAEhGSArUrYjr+m/1ri7zZaUC5hW+zzR/7/wCwa9MfaeiOuemVi0x5saM6u1tnu8tQSy+e0WdJKvCFYG2rH1Fee7/AXAnvNOR122Uk4XHcB0j6Z3A+uR869JpE1ggn8HktW1LPNr5MkB9K0pMpBkMJ5SmMdog/3s8/orHyNXWI8mXFadujZu8BsYF0hbSWPLtAeeMDZz/pWN651BfMd8KQ6YT/AC1D+jUPI/L94q4WiSmJKQ4l5VhuPZ6UyGsmO8DzCgM4B+QUnzA3rbNQvxWZluZkXZP7SWhpO15t50TYu+wdCtzggYDo/wAC+dSD5E23NSLof2qs7I0i+QfBPh+QeCtyAeQd+iHMVBQnxbp7bzizwpeuy9hPieKDKB56gnOlKupRqRtugVMa/VtzZefJ4OvnYfd7pbjqt80HqQjISlXVSNTZxgoTUA2Jg79bGZF3/nVZWhhN8t/s58LokPg77Hkl3OfgcAp877/bWpF1P7V2ZsYF9geG4Qvyh9KtzjbCXduiHcUjifVF0YkSD+xl9Mf7rdrcM26alWxUQjISlQ2Jb1NnqhO9LJ/CLsy/KH7GX0sZjXa3HVbpqTsVEN6glKgNy3qQeRQmoA6UO/W5qRdgeKrMyClF+t50XGH+UPhW5xgYS7kdEOYpZo77b2Jd3I4psjSfDf7aNNwh77B9Kjk4IGA9/wBDmKR9JtN0ZekY4Lvhj4j3S3eK2z0nmVBGoJSobHs9TZ5FCd6V0+qbow9JzwbflxsMXa3eO3XBJ5qIRqSlKuRLWprbBbTg0A6apM23NSrvniizsp0o4gtx0XCGcgJD6VeI4I2DvP4HcUs775b2pV4A4ns7YCW+IbZ4Z0M5wkSEq54PJLu5+BzANI+fVd3afkH9ir6Yw7tc7cddtnA7FR06glKgd1I1tbY7NG9PkYtF3bee/mTfjGwxc7f47bPQdiSEaglKhjJRrbOMFCcGoAk49+t7Mu8H9prQ2MI4jtmEzohJ8IkJVuojAwl3B/I7jm6cO+QGJl5P7S2psYRxNatp8U5ykSEqwVEYGzuD+RzApHwLPdUvSD+xF/XH9hcII12yc2rmTo1BKFADJQFtkjBQjBpXSbPdQt4jgjiBcYJanQjrtlwQeZITqCUq2zp1tHG6EY3kC3HEuEzOvSjxFaWk6GuJ7R4ZsZWfCJCVYJIIxh7Cz8DhApLgnv0FmXeSeILchISzxTaNpkZWfAJCFYKiD0d0rPwuEUPYtN2C3R+w/EKo2hqfEGu13FB5k6dSUoXtnQFsnG6UYpz6VWm6qWtQ4Fv7kfS3KjELtVwbVsTtqSlCuZI7Rk491AFAFyT3qGxOvhN8tqQEscV2YYlR158AkIOnUoH4XNLh6OEUtzZkXdEJU1LfERew1B4mtLmiSh3mlMoKAKlDA/pNLgHJahQ8fVN3W4vHAfELkcIQ9GGu1T2lbKJ98JQsb7doyo9EAU5lLVoTM4hftMCBPKe6R2oL2thx0Hd1CQSEpOM4SojYlOkEUBh4okhrsrUh52SiMrtJEh50rW8+RuVE7nGefmT5VBFe/OtYv4JJUSokqJJySTuSfmTWJcrfmKUDdKxjnWFUgJBOa0nJSt961nJGBuamgSEi4KdcK3HFLWrcqUSSa1HJOx32rRcmb4HOtR2WTnJqQbzssAc61XZZI5gitJclIyc1qOzCN9qA3XZWATmtN2aANj++tJ2WM+9Wqp9SjtvQGeTJ28iajH3So/KsxQtw75pjcJ6dIEaK0p59XRPT5k9BQEciG7cZaIzIytz/APEdSfkK9A/ZX4E9c+kCLeQgm327UzEUR/SKwdSx+prnvBfAj3Edz9TW1YcKyBcLkkeFCeraD1r216GuE41gkRYMRhLceG0EIAGNj5/M4z+taGqyJLYvJvabE2976R3axnsgG1ciBgfPrU/2OUbjbeoVbCmUJcTjIwcZqfYUHkAg5GM/wrmnVT8mkpooVnFCslO45mtst5OkHOT1FNUgFIBG+9WotZEPt7HqSOVaACzqB3weRqdfigHI8IrQfbQk489t6ukWshZjZ3+laCm+054CsbVPPt6050/pUS5HWgZ222qSrZDy0AAKGcnFRT8cLQdRBwc1NyEHVuCADUXJb8ZOM5q1FSJltqGSDlKtzitV1oOJ25/TFb8gEDBGw2rVPhBHXGakq+UQsuOOWB57jNapby3hGEnngGpeQgk4zj51pKjlKsg4zSittLk0VN5OckfpRWZwJSogk0UK7j65UUUV0DihRRRQBRRRQBSEZpaKAgOJuCbTxY1pnRh2oGEyG/C4n9f9DtXHeKvRHdbGFORB60i7nU0n2iR80/8Aj+FegaKwzxRn2ZoZZY+jx3MtYUcFOD1+VQkqw6TqQCFcxivXnEPANm4jClSIoakH+vZ8K8/Pz/XNczvvoRuMZxS7Y83OZ5hDhDbg+XkfrkVpS08o9HYw66PUuDhzL0xsdm6e1RyGrYj9asNlbQhpTi8ajyB5gVLXLhS4W1akzLdIZI+JTZ0/oeRrVaaaaASpOCPOtaO+L+o28ko5Y/SaF0gCU48skAqAH0AFVyZEj2qM+/JcbZZaSXHXHCEpQkDJUonkBgnNdFtvDty4jeSzBguvFXxhOED6qOw/U1auJPswW7jj0Y8TcO3t/M29W56El5vdEVS0EJWn8xBwcny2rNHC8kro08meOKO0+Hvpf9IUL0i+mW+cUdkqZaETEtx2m1FClxm8IGhWNioDVuDuo7Vo8a22JKYbfs01d3tawVtxpaNEqOnnggEgjfmgkHqlPKoE2KbwTxXcLLckKi3C3ynIkhvO6HW1lKv4irimUOIOCWEXez90ftZEZF8tyMEgjUhL6c6FK3xnKV46qxXcilFJI4LduzlbKilRDWHUZ3aX/p/7VZbJJUptbEUokoKhqtsvmo/3Dtv/AISFfI1A3SOpp3U6pLqSch9rr9c7/vwa2ILyVISqQ33hgH+maOHEfXz/AF/Q1YqdJ4fkrcbfjWhSXkuLAd4duvi1K6lsjTlQP5ShzpvVjs7hWiXBsTgV2jgS/wAKXvxa3AcEsqOkFYOeXZujkNVUiC+JUJK5zZvNuQcd9jnTKjjl4vl8l5HkoVbULFxtSXJ6P2qsqFaDcY/hnw0jYBwKyQkDkleUHklY2NAS9s9oqbBsPgLjoQ/wffvHrXyPYqOnUsYO47N0bAaudZLcO1VMgWEBJccSl/g6/eIKWdj2CzpysHbbs3ug11gfPrS09vOH7YWJtWj1iwezuUBI5BwKySnHIL1IPJLiedZpR9Z2rtp/88+HmlaDco40XOAjHJ0KydOMbOa2+iFjNVoDoBBE6BYlBKnHQiTwdf8AxanM79is6QVg7DBbe6DVWS3almfb7COzU48ESODb+NRU517Ffh1KB2wOze6ePG+OUTc7T3iaRxnYWVafWUdXZ3OCkdHArKtOMYDmpvbCFpp8sesbQXp2ONbA0rs/WUYdlc4CRjAdByQnyDmpBxhDg51P4A626Vmdb+H8grdCJHBt+PaFTgOFdgvw5WCD7vZujl48brbvGJtvsHJbwTI4Nv3iJXyUWFnTqWMHdPZujkAvG6SR6ztAenn9s+H2laPWUYdndICBsA6k5OnyS5qQcYS4OdOkZudo7acP2zsDawj1pF9nc4CRsA6FZOkDkHNTfRDg2NVA63Dt0zLfYBlDjwQ/wZfgVKK9slhfhysHbKeze5DC8ZKW8akzIHD+XUre0yODb/urX8RYUdOVg5HgLb3IYXjJWWkXG0mRcR+2fD7a9AusX2dzt6R0eSckjGNndSOiHBsadIIudoTIuOeMeH2l6fXEPwXSAkdHgrfAwMB3UjohwbVIC3pLqJlusCQ8hb4S/wAG38Zd1jmWFjSVKByPAW3eQKV43fak94RLtvDqTLacf0vcF37xOhfUx1jTqWCCMt9m6NgUqA3SWn1jaUSLoP2xsLa9IvcL2dzgJGwDyTk48ku5SfgdFFy7O42YSbr/ADwsCF6BfYY03OCkbAPoVk48ku5B5IdAoDBEDU9L1mss11i3yZBRJsF8ZL64KseJ1pYAGQQU6x2a+QUkjcw3Fl6ZnT0MRNKbfCT3eOEciBzV+pA/QCpO+36TY7E47LuEmfdrkkstvy0gPJipJ0lXNWSCPeUcZwPdrnK5WDscfKpBKKlAfFWBcvYnmajVSc81YrCuVjO+akG+5LJPnWu5IPmQKjnZn8a1XZmc770BIuy/EcbitR6ZsQTUe5KUomsOpSzQG05Kz1P0rApxTmwzTdKUjK1ACpKLZpspgupbTFjj+vlq7NB+mdz+lARyWyrc7Vmix3JbpbisOSXPytpzj6+VXfg30XXLjB9KbNaZnECgRqkODu8JP/Wfe+g3PlXeeFvsqO9gyvia76WySVWyzJ7FkDoFOe8onrgD61jlkjDtmSOOUukeYY3DynHm2ZT5W+rcW+3p7V9XyyNh/GrtZvRxdrglEQxTY7c6fEwg6pLw/vq+EfLnXqiJ6NbFwwwqNZLYxEOMYaTvj+8s5Kj9Sa27DwIpU4vupGRyrmZdXOX041/J1MOkxpbsj/grPox9GsbhqI01HjhhoIwAB+8k11/gG2hF0ecSkDknI5HH/wC6RNpMRtthAAK/lukVcuGrQmAkDA+VaaTcuTZbSjSJ9DetpQVtis1tWUqU0TsPdIFZGsBRABKcCmBAQQpPPVjP61la8lIvwb6mAlBUd8HnWu4Cd05A5862kOa0DHlzrXWjU5jnio6LpmLWNOCMitSUyCc469K3HUaMpzvz5ViUknB61kJ6It1sIBBT88g1oO6Fg6eX/epl9vWjaopcbScnPLlUiyFfjFLiwo/Pao91kZwATU7NT2Sk7HBGKjpDZIJG9SEQU2KktmopSQDvjONjVhkNlQ5HFREtkhWkZHnV4iiOdbDmdxyqOeBbSd+flUuWw2FAjPkTWjJQS1jAqfPJWiEdSC4oknNFbpi6tz/2opwOD60UUUVunCCiiigCiiigCiiigCiiigCkIzS0UAhSDTDHaJz2ac+eBWSigXAgSEjAGBS0UUB8UP5VP0Np9GP2lFcSwWFM2vjGN6yCgnwd7bwiQkfM+zWfm7XnT0f3e4Rb13e3Xtm1s3dhUSQxOcSiHJwnKEO68tnPIFYwD1G5r6//AMqB6FXPSz9mO5XO3xe83rhJ4XpgJ94spGmQkHy7MleOpbHXFfEyCtt2I6hxHadgC6gBZTggEg7eWTWaLtFWb/Hljdsl5kRpMByyT2/6SKsHsz5FOc+E8wclJ6GqzEWWH0KCzDfG4Wn3T9f9kV1LiyLCvdiYmWC4Lu9ucQM2ycjRLiKA3042UNj4mzy95ArlaPC6oN+NOd2XP9/9sVYguNlkpjS4zxdVZZwBLU1jPYuZ8wM4B5EpyPNNXWA+IM6DIkOL4YuygVxrxAyYr4ORlQRnAPIlvI3wUb1zuwvqBWzEKHNWy7dL3Cz/AHTtv8xpV5Zq6cPP/wBNGta0oUsaX7BdfEhxR59mTgFXl7jg6E0Bag4IE63ypueFbstJXEv9pyYUofmKW+QPIlrI3wpvc1tZEG426XPI4XuygpyHxHaBrgyvmpLWQB0JayN8Kb51G2WQWnJESzqTFfWnTK4YvniZeV17NSsDXuMZKHR8KlZrdtiih2VBs2IEpadEvhS++Jp5fUNKVpyrcYB0Oj4VKNAbLg9X3K3Tbh/NW8OBTsHiKzeKDL81EN5A3OFKa2GcKb505aRAuFtlTk/speVhTsHiOzjVBmDlqUG8gbnClM5G+FN86xW1XZSJcOyjuExSdEvhO/jWw+vkQ0penK9xpB0Oj4VKNZraRHlyoNlJt0tSdMzhLiE6mH3OR7JStIKxsRq0OD4VKzVQOeSLdcrbMnZ4TvDgU5B4ks4zBlpORqIayEjopTWR4sKb32yO/hlyt8uer9kb06lTkLiOz5MCankVKS3nAI2JayN8Kb3NYbYoNSJcGyD1fLcBRL4Rv/jYfX17JatOV+WezdTnCVKzS2xaWH5cGxfcJSxomcIX86mXln3uyUvSCrljUUOj4VKzQGZf4Xc7dMnj9kbwsKXD4js4C7fMHVRS1kAHYEtZTvhTY3IV0+rLnb5cz+aF7WhTkPiG0HXb5gPxEN5ABzpUprKd8KbG+Ne2vdk/Lg2MCDKWnTM4Pv8A4mnl9exUrTlW4xnQ6Oilb1hgy0srlwbEe5vODTM4Qv8A4mnV9exUdOV55e46Oilb1NA3XHfVd0gS5iv2Nvq21OQ79ajqt85JyNSg3kJBzhSm8o3wWxvWu7GR6xblXC3NWV2K0XpVxtUkJizGFJOFJS3kDV17M6Tv4UmoxF4Zt6ZzFpWISCnEvhS/ZcbKuRLSjjKhzB8Dg6FVU7jO+s2uEmxwkNs5V2srsznJJylBURlWM5yfl86IGvxJxM5xBdnpbmEpJ0toG2hA90f76k1EKlk+dRHez54oMlR5GpBJqmYHOtdcwmtLWpVA8G5NAZlPKJ500AqNbsOyzJaQ4loMMdX5B0IH7+f6VOWPhMXZ7soUeRfH8b9kOxjpPXKzuahtRVslJydJWVuPGclPdkwyuQ7+RtJUR+7lUqxw+UOobmyhHeUrSmJGHbPqPlgbA11y0eiGY81pukxESNgEQ7Wjsx/1Lxk/73q5WvhO28LoKLZCbjkbFWNS1H5qO5/fWhk1kI/bydLDoMmTmXCOW8Lei+5Tn0FuE3YmgMmZcEl6R8sIGyT9cV2v0cehzhZiWh26xv2gmgJPerirW2Dn4W/dA+RBqNcZU2M+LXzOepotl7lRbk2llxRVn3Fq1Jrny1k5unwdH9BCC45f5PTUPuyWkKCEIaThKQnlsMbUj0VyeMD2bXIeZqlcK8ULkFBl4GBgBGyU/SujQ5rL7SeyUlWRuobkCrpqSMNbeDBHs7JSltKQrbn51MRrO3HQpQGMbZxWRoIR4x4dIwD51tIUFNAr2JHIjrSqRG40GLcO2Lx5ck58qmoQ8aWwAQDvty+Vaa1LeQlDeyRtkHnW2wgxmeQAPLzNVXHJZ0yULgRrUnHQD61j1AoOd8Db/U1qsLKnPEdk9P8AvWwCMDG+SBn/AL1fsqlTNmI9owk8iazLPiPyNRoWdYVyA3GKkELC0pUDvWMuNdBO6d8b7VgUrCinTqz1+dZ/jKuWaFowcgZzV4l/BrBGQdt61XooVkHINSCkEK1YI+lYXQEKxjludulZCrRBS2A4nBG4xkGtIx06VbE4PQVPvMg6lEKOR5VGS2O0J0pKfOlAr81jsskAkfSouSyCdROB5VOyGCDgjn0rRkRgtION+RBHKp6JuiAkIb07pyKjnm+QSk/OrBOjaWtgMH6VD5wBtkUJrizVDWB1ooeW4lwhOMdM0UKbT6pUUUV0DhBRRRQBRRRQBRRRQBRRRQBRRRQBRRRQBRRTVLShJKlBIG5JPKgNe6W2NebbLgTWUyIkppbDzSxkLQoFKkn6gkV+dT07ei530EenPi3gd0rWzZ7gtmO457zkZXjYWfmW1IJ+ea+7/GX2meA+DluNLuvrSSglKmLantcfVWyf45r5a/ynV4sHpP4s4d9IfD1slQnVR/VV0W+hKdZSSphZ0k5OCtJJ6BAqI5Ybtt8mR4cm3ftdHma23CFLsci03a0rSrtFTIt7hqw8ApW6HUZ0LSFDIHgUM+8RgVzq7sqRKUtxYkoKv6dvmfrnfP1/fVr4Z4gnWct3i2S24cqM0UOIdTrRIbUQlTSkkFJBClEhQx+uKheLmAzcQ4qJ6qdeSHuzSCGilW4KRvhJ+RI8q2TAakN1LjJ7dvvkcEAuI2dbH+/Pb5irhDk96iLMpAvluThPbt+GXGT8874+StSfIiqJEWGH23CsxHc+F9Hu/rj/AEqxwJXZPMPOrVa5Wr2dwjDLS/qE/wD9P6poDoCZZn2t1UhA4qtDYSnvSFdncISR55ydPTCgtHQKSTUo4/321PF9P7ZWJlKWxIR7K5W9HTOdRCeY8ets9CkmqexNDEqNImLXZbgtepi8W/JYd8ypKf4lHnunnUuZ3ZS48qcFWS5LcK41/te8Z7zUpKOW/NSPPdHM0BY5DvrC0ul0/tnw+whDaZH9Fc7cjoCDqITzGFa2z0UknZ773rK0OF1X7acOsIS2mR/RXO3N7YBB1HSASNJ1teSkk7Qkm4djMiy55Njua3CuNxFaf+Gf/vKSjAGeqkb7+JGc0s65dlNjTrgr1JcnHSqNxHZ/+GkDfKlJRyzjcoAO/iRzqKBMypKbjbX1Pn9tuHm0JZS/js7pbkdAoHJ0gEgBRW1+UpJOMMyd6ytToeP7Z2FhKUJk57K525GCcHOTpHLCtbe3hUkk1BXC69jMYmTwLPcVOEx+ILOB3Z4+a0o2GcblGDv4kc6jrldSmWzMnYtU9SyWL9aT92ePmpKdsnrpxz8SedAWKfchOtjpkrHGNjZSlCZI9ncoCB0OcnT8la0eSk5NRtzuwuFuWmQv9rLM2lLaJaRouEJA5BQOTpG+ytSPIpzVcuF27OSiVMPq2ctfsbzbcdg9tvqSNsnIyRjnumtKZMeS+mXJYXCklRLV2teAzIIGcHGBk5BOMHfdNSCbuPFq4cISXLgbu2yAiC8+zpfQCCNClHfAydskeR6VzZ2U7LfcddUXHFqKlKPMk9a3bpMcukpTry/CM4z8+Z/WtmDw9LlthaWQxH6yJB7NAHnk7n9M0BoNt5TvWzFjuSHQ2y0t9w8koTqNT0CwxVqCUIfvLwOMMezYT8io7mrJG4fmCOEPvtwYwGDGgp0Z+quZrDPNDH9zNnHp8uX7IlUb4fEdeLhJREJGzLI7V4ny0jl+tWay8ISn1N9zgNwkkgiZcT2juPNKOQNTtotkS16u7x0IJHvgZUfqedTkaUAM535YrnZNa+oI62H02PeV2ZrF6ObYh1L9xLl5kjcGUfAn/CkbfvzV2iRo8aVHS2kNNjCQhI0gCoG3XAjGPD88ZqTdmKWztpUoHnvn+Fc+eSU3cmdGOKOLiCovUOOZDbikjUok4OTk9BTlWQEAaMkb775NanBNwD7DTZzq1Yzn/WuiM2wODUBknl1+lWik0Vc9rOfr4dcSkge8rfOM1XrnYOwltdmNKgcagcHPnmu3Lsw7PfUo/PkfnVXu3DQ7VDigCEKFYckKXBeGVN8kDw13mGyhK0lSU7ZHPFXq2XYtAKS4W1Y91PM0kKxFptAQnOoZz8s1ncsSgCoJyBjNXi2kYJKLfJaLHf1OkdsvJztkbAVPPzC8kBvDni6H+Fc9jRFx1jGUAeR2qx2ua4jswk60jnWwpWqZryhTtFyt0pDg8Y0K6pqRUCRke8dhnpVcjSUqBIVpPzqTj3DKVJWkahyx1qyfyYeTZQS2dI+pPnWdlZXhB2V1JNa7SyvBIGTvgUrr5SpI3JxircIyGySD9DnpWxGUQMefWtJAKgPmMAVstq05PzqrXkWbIJUdzTySACRnGKxNnTzOetZgjWDvsahX4Jsa4PAelajmXOu+K3UjI8j51ruN6XAQRpI8qyIm7NN5BCs9PKtR1nWgZ5g45VIuoA21ZBOOVY1xi4k6Rgk+WOVWshkDKY0nVk/MAVHOKABGMk1YJLAII25Hmai1xAkryQcciRUirIGQwp3V5A7Cox6EWjnGKs7qEnA2qOnRwo7DP6UCk+ivrbyokpGfnRW+Wgd+X60ULH0zoooroHnwooooAooooAooooAooooAooooAoopFHCSaArHpD9I9k9GVgcut6k9k0DpbZRu48r8qE9T/Ada8Q+lj7R/EnpPkuxW1qtNi1EJgR1nKx5uqGNR+XL5daxenLjuV6T/AEgz5fbF20xFqjwG0+6Gwcax81Eas/QdK58qEGVBOMfFk1x8+eU24R6O/pdNCEVOatmlgr3Vv9etQHHHB8XjbhW42OX4WpbRSHAN21DdKh8wQDVrMfR8vOsSU5JT1+VaCg4tST5R03NTjtfR835DM3gXiWdZbu0pl1hamH0KGxB+IeYOxB60txL8ZlqCZCpkbRrZQ8Nhnc6N9v0xz5V65+0H6CGfSXbfWVtS2xxJFQdCzsJKB/VqPQ+R/Q7HbxypT9tXIsN7ZciPx1lKS6MLYWOh+VelwZ1mj+TymfA8MvwarB0qKW8BXVh0eE/T/eak7dI0KLcchC1e/CkjwLPyz1/cfnWhLZXFeSy8O+oLYVqAwtHU4PXHnuKyNDtWT4e/xUJ3AGHWh1/T9436VtGqWS2TjHcW1EIjuqOXbXOGWnT/AHSds+WcK+ZqUt107s6tmArujqzl6zXHxMun+6VYGfrhQ8zVTakKkR8LHrOIhPLk8yOuPl+8fStlMoyYqkqAu0JtGCFeGQwPl1wMk9R9KAtMK6GM4ti3q9XvuHL9kuXijun+6pW2f8WFDoo1hi3RUZ5xiAfVz7n9PZrnksOn5Fe2fmrBHnUAJi5MQpI9dwW0EaVeGTHHyPPA59U+YHKsapnbwsF0Xm3pTjQ4rRJj/Q+XXbI8wKAl2riWpC2YJ9WSF/01ouO8dz/CpfL5asH+8a0WZpQ6tmITb5Cz7W1Tt2HOuxVy6Y1fvprMGTOjhpwGXbEo1NuSx2S4+eiVk/r1BzyrO1FZMdhLpdvCI+dKQCltvO+nWd8Z3wOtQ2lyyUnJ1HlmlHdcCnBb21xXNWH7ZI9o0vfoDv8ALB325+UrJ4chw220LkJhFzClxGSp9eQPh8t888/Wt+xNOXR/sVPmFGUrKmYvhKvqo7mug27h632hrMOMhtRGCvGVH6qO9aOTWQg6jydXD6dlycy4RSLLwk+7hyFCZhpPKVcVa3fqEdP3VY08IQ2nA9Medujw3y/7gPySNqkZCi0c42O+K1n5SyAdR/71z56nJk4ukdXHocWJ9W/yOK22cIQgJSnlgYFMLwWTjJFa6nCXMkEajy+dCFYJ25msNNm4+DIpRSoKG4P8K2WHdTicbYrSU4SCnzPM+VbMfX2nu7CqtBMnYrxSdjj6dKmGnNagkcqg4gUnB61O25BCAkjJ61Sg2TfDVxVbJaEqVqaKicGu38NykyY7Zb8WwJSrr9DXAlN6FIUjIwr3eldW4HufbRm1tqwdhg52q8HTo1MqtHUmC0tGCMK/Kof9qbKtoLBBSFDTy/8AesEKe1IA1gAJGMnkTW8t0dlhCtOenMGs7Vo1E6Zr2WBqZ0lZynAwroKlDawtHIkH5c6im7sYc5BcGG1dU/KrhEebltIKQNx7w3wKpBLotNtOyqPWsqUQEkgdKxxYa217AAZwM1cnIKAo45GtZy3AJGB03xVqJ3pqkRSM/EMDqKzlStIKFFJSOtZVRQCMchTuw1DCk586FTYt921KCXUhBA2PnUmhAfc17keYqFRAC1HI+makor64yktuHKfOifyGl4JNpvCtwOhpwBzvtvTmQlePECCRTuozyxWYwjuY5YI8qchXZkYwRjkaxLIKiOQznHnTyMkY35YNVqmX8GykgYA1YpjwSeWduopWvEBvjpTsYySBuedWKpmHs9aclRB+ZNNXhOd855YBNbCjvucfpWNberJzy5YFSiW+SOkpQ4sgpIH7sVoSmNIOE425GpVxsKG4Gedar2QgAEj5Z/8AerE3wQC43tPLfP8Avatdxg+JOAQamHkgqURy+o/81orRtlQyD1zQo3zZBO2/U4TkCipRTW/v4HlvRQyqR9D6KKK6BwQooooAooooAooooAooooAooooAqC46nKtnBV/loUUrYgPuJUOhDZIqdqoel9wt+i3isg4Pqx8D9UEVD6ZaPLR8+46UBBzjAG+KwrSlSxkA4OT9KzMtHsyNx/8AupCPbkLZUSnJOADXBX1Hp3KlRCmNrTq055kitcxVBR23O9WfuBQ2lITzOd6wPw8ZwAKu40YtxVJEfIUDyrlHpW9C1j9JMbtJkcx57aSG5sfAcHyV+YfI/oRmu4SLcpasAbVoO2opVunUDVItxdol1JbZco+enFvoe4q4Gd09h63gJPgdjZ1p+eOaT9MiqQ94pWS8qFKSd+3SUKB+ZA5/PAr6T3Tg9uaCFNA7E1Tr16H7RdcpmW1iUnoHmgrH7+VdCGsa4kjnz0cZcxdHhju8iQkOgIVKGNEqG4Mk/wB5O2fqMfPNbYttxkNCQ7EEeYnBRLadQ2Tj86c7/XAOdzmvWcn7MHBspepVkShXPLTzjf8AAKxWeL9mXgmKoK9ShxQP9a+6ofuKqz/rYfDNf9Dk+UeUUWtMiXFXImMqn5GDbgVOuYAwMJ2ztz69c1drD6LL3dCX2LWmAlw5Mm5+J0/RA/1516jtXo4s3DqCLdbY0M43LLQSSPmeZrcNn66fpiteeub4gjax6Bf9bPOKPQ7MbcDstfrN7zdPhB+SeVbNw9H9xcj9mlptCQMADYCvQvqcJGcDetSTbEkEFArnyyynK5M6mKCxR2w4PNNt9Hd4ts1Dqm0uIHPQatyWXW2SlTSgoDfIrrTtlQtGyQB1rTFiYKiopz9aq/qds2oyaRx2dHcSoYbV+6ot5DgVqAOM4xiu8N2OKtRHZpA5HasyLBb05BYQfqKuo/BZybOCFguBKhkHHOhEY6d/rXfE2K2vHAYaUR0x0pH+ALXObOI7aVYO+MZ/UUtrgq/ycNYh9oMnmSNvlUozDSk4AzgZq83T0cKiIUuIpWwB0rG2frVdXBdjuLQ4gpXnGDWLfzRKRqMs5WnIwKnYMYgDA3NYIsFSlgkDPSpyLCWgDGN6vZDQqImUjHPcnapThWe5AkLCU4UFAY6GnNQ1FHMCsUZtyFcUKUPArn9elV3U7MW21R1C23TtUpx4dt0npW2m4utLJChjyqCtSEuspcB3P8K3HA4jBB1VsJ8GpSuiTM3vCsqydts1YeGb+GcNOqKc+FJ+XlVJQ6sg4HXbflWRbjiQkpOCk5GPOse6nZZwvg7G1cUyN85zWwlSFDY5VVBsV77WMnUslQ51YmrgMBWfEayp2jW2UybXGBXnP6UiWPErp+lacabk7nV5561uIkA7gAZqSOV2ZUoApdAORjpSdrgDbP0NIXc48P8AGpBmZUpjGn64rabeS6gAkas5rQ7yG1J1hQ/SmOOpzqQrSedTdCiRUAkjyzn61kad8IJG/StOO8HANRwqtgqxgg5FSpfIaNsLwU52pxGkbeL6VrJUFJG+T0rNrwVA/uq5j6MqjqQDnfzrGEkbkHn0OKUY04TkgVlT4/IjyqUQ2arowtROdvnWs42FqOVYPzJqQU2AnGdQx51rrbSU5xhR/h/GrEWRT7aUAnKQfqa0HEApzsB03qWdTqVhQyB0/wBmo2UnAISNQ+Q6UIIl0qWsnYfuordUwkH+jz88GihNn0DoooroHICiiigCiiigCiiigCiiigCiiigCql6Woypfoz4naTuVW97b/pJq21rXGE3cbfJiPDUy+2ppY8wRg/8AeoatUWi6aZ89W7QdO4wKk4lsw2MDl1/dVuv3CT3Dt0l258DtozhTkD3h0UPkRg/rWkmGAnIriqLTpnflLekyBeg5WOewArWcgZCcDn0qzSYp7RJ2xtzrXEQOBOB881mcfgxN0VpNuJUMjrT1WdJ5JAqyJhDGcYpwjc+oqm0ncVlVjSB7oNaMmxIIJCB+gq4raOTgYrUfa8OCMfSoolNopj1nSkgBIGN/rWobVgnKeY51bH4u5OMVrmODnHPBArE4mZSKg/bAEbpHXpUVItZ0+HbP8avC4PaNIO2NOajn4wRkYzVGjIpUUpcFTKtzgY5c6jZkcheU7/6VcJsXoASc5IqFfhblWCM71ipo2I8lacUQpSTUbLOjwJ3Oasr1uWrWdIO1R/ql11ajoz86s76RsxSRAMsvSF4RsnO5qUTZkrALylKxvuasUPh5baUjGBz5VJrsp7Mbc/lW/jgorkltNlTi2qOglKGwn9KkkQezAKVFODthRqSbtJaO+ScVkUysJJKTirOKZDjfRHonLbWUSAJDR5hQGRUFxfwU1Ij97iI1BPi0jcgfL5VOTYayNaQQOtSNrSt6JoKfc235VqShbpmOcXjW9HGo8dCXM6d/nUzGjpCQdyela/FbSbNxNKYSkJRkLAzyyM06HNSrG4wOVYiLtWTDbJCf0pyYwW8AoYJB50xqYkIB5fKsjUxCZrKc7HNY5diuKLPZGFMoQgjORtUyqPkb4B60llYQ60jp4RUg+wE5T0xtvWdLg0/JC9mQvzpyo+ckD/zW4pO5GncHypy06UA4wetVoykfb3HYMsJOQhRq3xZBUkKHKq44wVozjB57VvWqQVICFjSpPPNIPa6ZSS8lkbknYZ28632ZZGOoqGZWSKzBR0kA/Otg1nyTonjAyM52rYL+lO2wx0qAaUSdRNbLL22nO/zqbK1RIB8lWST+u9IHyFAk/pitYOjakLuMjb9akvSZIpkY2x+oNZmbikEJUr6ZqIS+cAZO1OGlxXPKhVeidqLC3JIWCnYVtglePDVajvqaVpOCjzzUqzKCiMEGrJmKUSUSvA238yOlZkEKGN8461oiQSAE/wAazJdJwMkgbjNZUzE0bbatScA1iWOgBx9P/anIUB/3pqyMHGMnrVyhpvAJ0ns1b+Rx/pWk6ElXur/fnFbrx8Xu489v/atSQjVvv9N6E0ae/RtWPpRWbsvp/D/zRQUe8aKKK6ByAooooAooooAooooAooooAooooAooooDnfpY9HB4tionwEgXWOnGnYB5H5T8x0/d9PPy7Y5HfWw6hTTqSUrQoYKT5EfWvYhGaqnGHo5tnFyVOuDus4JwmS0Nz5ah8Q/j8618mLfyuzbxZ3D6X0eZFwfCknpsc1jVASNWBvnnV74o9HV44aWpx2MZMTG8mONSQPMjmn/e9VpLYUNtumf8AtWpt2vk3lJTVxZEiLo+HNAi8zp3qSS0FEpwQU+fWsgiiofPQ6IFUHGdqxPW7UoDAI+lWQRRnBHOmOxMDlkVSqLp2U56CEKwE+EitB6GFKUMbacbVb5UELAHXPSo/1aSv3dqo2ZVx2VjuSuzSAMeHGK0JNtKuYOfOrem2nBGDkE8qxrtuSEnYczVLb6MpQJMHKsEfwqNmW0k8th5V0KXZSSdts+dR7tp6EchWNozKSRQjbdQOBtTGLSS94ts1dvVBQs4SSDTJNnATqSkg/KqqNOzL7ngj7fYy4SSMk86kzw/hOopyPpUrZVN4w4Ckp97bkfP6VZO5NOIACgQRkEGuvGKmrRpyyuLpnP3OHw4ThG+Mcq05PDakkjOK6gmwhe6EFX0rWmWFxAOWVEDzFHD4Lx1ByKfYtCMAlRO2MU+0WYpirUQdKl/9quM6zuOvhISQc4FaHEUmPwvaHZD6g2xHaU4sqGOQJNatc2zLlzXFQR5U9NFyTD4/kstq8TbaEq+RxVchX4NgDVz51VeKOJ3OJ+Jbhc3CcyXlLT8hnYfurWakLBB3IOM1oyt8m2lSpnTo/ECeQP61utXYOTIqirYrxn61zJEtekEKKTmpOFeVtraKjuhYrGS0q4PR/Cd2C4yUnmDgH6VZFygT553rkfBV6EiO0tKjnJOP1xXRo9waebBQvOR4iOnyrbi+DntUzbLyFuHG2dsHrWRtYKVEkY5VFS1kgaDvmsTcxQSSFYAGMVV9l74sncYGMchihtvsj2g3xzrRZlayDkjy3rbS6FNHxHPKocfJj3eCbjOhxII326VtJWkoVkA7Gq1GeWy4pKVnSehqTalKSjGoD9KupGJx+CU15O52p2oIUAcneo5ElekK2PyrKt9YGoJG/QGrtkpeDeMgcgcHoaVEjIweXWowPqyNSf3UodKVb8+YzVdxaiXDwABBxmlDySf73kK0EOBSPe+oHU04OEEaRj61a7BJNPnJTk46VtsqwoEHAqLaUdzjf61nbkFJG+B1zQpJE41JOyVHf6VutulODkYxUI3ISoJHOttqRpxvz64q6ZjJNMzQFJ5A1sJkahgb+W9Rww4Qrn02rLqCSAAD0+lZEYnXgzvOIHv4R568Uw6CQQoJPTAI/wBKxLVyzjA6DAzSg5Rvg7dasRXFmFw4WcE4/wARFFPUFZ2Tt/v5UVJB/9k=
{{||LCP}}
{{Lighting#️⃣EnergySaving||tAsDc}} {{Heating#️⃣EnergySaving||tAsDc}} !! Resources * [[Google Search (energy saving tips)|https://www.google.com/search?q=energy+saving+tips&rlz=1CABRFU_enCA837&oq=energy+saving+tips&aqs=chrome..69i57j0l7.3856j0j7&sourceid=chrome&ie=UTF-8]]
{{||dPd}}
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
!! Educational Topics * [[About Electricity]] * [[About Solar]]
{{EAP}}
{{EAC}}
\define WhRate() 0.0001118 \define WHCv(W:0 H:1 D:7) <$calc>round(($W$ * $H$ * <<WhRate>>),$D$)</$calc> \end \define WHC(W:0 H:1 D:7) <!-- 🔴 WATTS x HOURS x RATE/WATTHOUR = ◾COST◾ --> <$vars cost=<<WHCv $W$ $H$ $D$>>> <div class="tooltip"> <<cost>> $ <span class="tooltiptext"> Cost (<<cost>> $) <br> = <br> Watts ($W$ W) <br> x Hours ($H$ h) <br> x Rate ($(WhRate)$ $/Wh) </span> </div> </$vars> \end \define A2Wv(A:0 V:0) <$calc>round(($A$ * $V$),4)</$calc> \end \define A2W(A:0 V:0) <!-- 🔴 AMPS x VOLTS = ◾WATTS◾ --> <$vars W=<<A2Wv $A$ $V$>>> <div class="tooltip"> <<W>> W <span class="tooltiptext"> Watts (<<W>> W) <br> = <br> Amps ($A$ A) <br> x Volts ($V$ V) </span> </div> </$vars> \end \define W2Av(W:0 V:1) <$calc>round(($W$ / $V$),4)</$calc> \end \define W2A(W:"0" V:"1") <!-- 🔴 ◾AMPS◾ x VOLTS = WATTS --> <$vars amps=<<W2Av $W$ $V$>>> <div class="tooltip"> $W$ W <span class="tooltiptext"> Watts ($W$ W) <br> = <br> Amps (<<amps>> A) <br> x Volts ( $V$ V ) </span> </div> </$vars> \end
!! Financial !!! 2020-09-23 UGH ! Egg all over my face ! About 4 months ago, when I was trying to figure out the break-even-point for any solar-project-related equipment (i.e. how long it takes for equipment to pay for itself), I made a brutally horrible math error. The cost per electricity here is 11.18 cents / kWh So I looked at that and divided 11.18 by 1,000 to figure out cost per Wh. 11.18 / 1000 = 0.01118 ''__My brutal mistake__: I took the result as `0.01118 $/Wh`, not `0.01118 cents/Wh` !!!'' Stupid stupid stupid. I forgot to divide 0.01118 by 100 to convert from cents to dollars. So __''cost of electricity here''__ is: 11.18 cents / kWh <br> {{Indent}} = 0.01118 cents / Wh <br> {{Indent}} = `0.0001118 $/Wh` Man, I'm going to lose sleep tonight over that dough-head mistake. !! Environmental [[TODO]]: How much energy is consumed in the production, delivery, installation, maintenance, and disposal (i.e. end of life) of a solar panel ? And what is the environmental impact from beginning to end? Does the environmental benefits of the clean energy produced by a solar panel outweigh the environmental costs of the solar panel?
{{!!title}}^^<$link to={{!!title}}>🐟</$link> <$button message=tm-open-window param={{!!title}} class=tc-btn-invisible tooltip="Open Related Tiddler in New Window" >{{$:/core/images/open-window}}</$button>^^
<!-- template Clean Link --> <$link><$text text={{{ [all[current]split[#️⃣]!is[blank]nth[]] }}}/></$link>
<$button message="tm-modal" param={{!!title}} class="tc-btn-invisible" style="color:#0a00ee; text-decoration:underline;text-decoration-color:#0a00ee;">{{!!title}}</$button>
<$text text={{{ [all[current]split[#️⃣]!is[blank]nth[]] }}}/>^^<$button message="tm-modal" param={{!!title}} class="tc-btn-invisible" style="color:#0a00ee;text-decoration-color:#0a00ee;" tooltip={{{ [[Details for "]] +[addsuffix<currentTiddler>] +[addsuffix["]] }}}><span style="background-color:white;">🛈</span></$button> <$list filter="[[$:/state/sidebar]get[text]]+[match[yes]] [<currentTiddler>] +[replace[yes]]"> <$link to={{!!title}} tooltip="Open Transcluded Source Tiddler"><span style="background-color:white;">🐟</span></$link></$list>^^
{{||dPd}}
{{AC Output#️⃣CF400||tAsDc}}
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
{{||dPd}}
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
{{||dPd}}
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
* HOBOTECH ** [[YouTube Channel|https://www.youtube.com/channel/UCVsNMiYQkqwIq_gd0rTJF9g]] *** //Tech Product Reviews, Mobile Tech How To's, DIY Solar Power, Off Grid Power Generation / Power Storage Solutions, Mobile Electronics / Internet, Solar Generators, Power Stations, Electric Bikes, Full Time Living Off Grid, RV / Van Life videos// * DIY Solar Power with Will Prowse ** [[YouTube Channel|https://www.youtube.com/user/errolprowse]] *** //Want to build an awesome off-grid solar power system? My videos will teach you everything you need, no experience necessary :)//
If you really want to measure hydro cost for any appliance/device (i.e. whatever needs electricity from your AC outlets), get yourself an "Electricity Usage Meter". !!! Buying If you can afford it and want the convenience of having this kind of gadget in reach at any time, then you won't regret adding one to your toolkit. For example, I purchased this one: {{KINCREA Electricity Usage Monitor||tPd}} !!! Borrowing If you cannot borrow such a gadget from family/friend/colleague/neighbour, check with your local hydro company and/or your local library. For example, [[NBPower supplied local libraries with these gadgets|https://www.nbpower.com/en/save-energy/tools/appliance-meters/]].
{{||dPd}}
''My lawn'': * total of 4,130 square feet * property is flat, except ** 50-ish degree incline between my property and the higher (by 4 feet) neighbouring property on the one side ** 50-ish degree incline between my property and the lower (by 4 feet) neighbouring property on the other side ''My approach to battery charging'' * I recharge the battery to 100% after every mowing session ** However, I wait 1-3 hours to let the battery cool down after mowing; the battery gets warm, even more so on a really hot and sunny day * I usually completely deplete the battery after every session, but usually still have a little bit of charge left when second session (of two to mow the entire lawn) is a little less than half the lawn and doesn't involve more than one of the inclined sides. --- !!! 2020-07-31: Results to date I've mowed my lawn 5 times (well, 5th not quite done yet), always using the self-propelled feature, mostly at slow speed (2.3 feet per second) with very short segments at middling speed (3-ish feet per second). First 4 times, with grass not too high and not too thick: required dividing the job into two parts: managed to do just a little bit more than half the lawn before depleting the battery; re-charged the battery and finished up in the second round. This 5th time, grass was a bit longer and thicker. I got about half the lawn done before depleting the battery. Three days later, the remaining uncut grass was damp and a bit longer still, so the battery got about 4/5ths of the last half mowed. I'll have to go out again tomorrow to finish up the last 1/5th, which is really long and really thick. So in ideal conditions (dry and not too long/thick), I mow my 4,130 sq. foot lawn in two sessions (first about 45 minutes, second about 30 minutes.)
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UVbwxkLXNywEnG0Nj2cHsS73Vqx1N88dmoozHHV2HoRbKlr90jXQ1OpJmOyCAcFsAIafQ/V3DJst3Vrovaq7xJ9VpOsl+o5KXS1pMlDpC21LBu25xJWOHoXEDGR6Dtsy7apg2sAUvbbZS2ehp6KigZS0dPE2GGCJoayNjRhrWgdgAAAPTCmlCBERQgREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBStzuVPaKCpraqVsFNTROmlld2YxoJc4/IAFTS188b+vaTRHQu9Csq5qOCsidHJJTu2ybGjcWj/jd5cf8A/l5UxG45ZeNPr1cvEL1ddHS1D22KKYxUdOAQA1vwl7mgnth2Pf43ADeukf2e/QRnSnpFS3+upzHetQRRzNbI0h1PSDJij5/myZD2yXjPIyueXgj6B1fiG65wVt5oHssFNivrWFrgwUzSPLhB9N+GtHIO0EjsV21ggjhiYyOMRtaAGsaMBox2GFM+y0vVERVVEREBEUOyCKKG4D17JkZxnn2QRREQERQKCz+rvUOg6VdONRasuMjYqa1Ub6j4v43gYYz/AJnbR+a4ieHTTLvEp4oW3bU9U1tnFXNfb7WVMgZFFTMJkkL3nhowMZ9MrdP7Xfrk2y6QsfTa3zkVNzf+0LgGHtC04jbn5uySPkFrp4C/Dtf+tM9yswfLatHVBjfqW4w/DLNGDvjoWOP87gHOGCBtyewBvCzdO3UV18d+qfPnbVWPoFZKjbS0se6KTUlRGcbnEYLYGkHtn8I43F2zca02qksltpqCgpoaKipo2xQ09NGI442NGA1rRwAAOwUvp3Ttu0rZKG02qhht1uoomwU9NAwNZGxowAAPkqmqIkRERAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAoEZUVA/JBFERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQfLzhpPyXMf7T3rxBqrWtj6R0FK+sgoKiK4XgxyBpeMZbC04O07Tk5zyWccc9E+puu7f0y6f6g1TdJBHRWmjkqn5/iLR8LR83OwB8yuTXhJ0hXeIfxRRXa/MfVXG5VLtUXp/l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
<$details summary="CJ's Planned Usage"> For my purposes, this is primarily an indoor solar kit. <$details summary="Nightly generator use"> Assume a low-ball of 3 hours using the generator to power the two included lights as "nightlights" for my kitchen, replacing use of an 8W LED bulb in the AC light socket over my sink. So using the GutReise generator and bulbs as a substitute for `8W x 3 hours = 24Wh`, the kit will pay for itself in about 261 days of use //(2020-07-29 to on or soon after 2021-04-15)// {{Cost of electricity}} * Cost of solar generator kit on purchase date = 70 $, so saving 0.26832 $ / day on electric utility bill, it will take about `70 $ / (0.26832 $ / day) 261 days` to recover the 70$ purchase price of the kit * So every day after 261 days, I'm getting free electricity, equal to 0.26832 $ / day. Not much, but that will be helping me pay for a future bit of solar tech! </$details> <$details summary="Daily generator charging via solar panel"> Despite this reducing the solar panel efficiency, I will keep the solar panel indoors on a table in front of a southward facing window which gets daylight for about 4 hours per day. The total number of Watt - Hours (Wh) I get out of the generator will depend on the amount of solar charging the generator gets. </$details> </$details> <$details summary="Generator Charging via Solar Panel"> Charge time from fully depleted: About 28 hours with 6 hours of direct sunlight. ''(Sanity check needed.)'' </$details>
* 2020-10-08: ARG! I went and plugged the generator to my AC outlet with the wrong AC adapter, and I think I just fried my generator; charge indicator lights have gone berzerk (middle charge indicator light permanently on, top indicator light blinking like crazy, bottom indicator light off), and generator is totally unresponsive. [[TODO]]: I suspect that when the solar panel is not getting enough, or any, sunlight, that the battery actually slowly discharges to the solar panel if left connected. OR, the the battery slowly discharges regardless. I have to do some testing to validate. --- {{||dPd}}
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
<<list-links "[tag[HB:/SC]sort[title]]">>
Since this clock uses less electricity than my old clock, I just could not help but wonder: how long will it take for me to break even on my investment //( i.e. how long for this new clock to pay for itself via electricity savings?)// Based on current utility rate of <<WhRate>>$/Wh and new clock's at-the-time purchase price of 27.99 $ : || !My old AC alarm clock | !My {{HOUSBAY Digital Alarm Clock||fLmg}} |<| |~| AC | AC //(via USB adapter)// | {{DIY Solar Alarm Clock Bundle||fLmg}} | |!Wattage | 1.4 W| 0.5 W| <<A2W 0.07 5.04>>| |!Hourly Electricity Cost | <<WHC 1.4>>| <<WHC 0.5>>| ''0.00 $''| |!Daily Electricity Cost | <<WHC 1.4 24>>| <<WHC 0.5 24>>| ''0.00 $''| |!How Many Days for new alarm clock to pay for itself? |<| <$macrocall $name="BEPDaysHere" I="27.99" OldCost="<<WHCv 1.4 24>>" NewCost="<<WHCv 0.5 24>>"/>| <$macrocall $name="BEPDaysHere" I="27.99" OldCost="<<WHCv 1.4 24>>" NewCost="0"/>| |!Yearly Savings on Electricity Bill |<| ''<$calc> round((<<WHCv 1.4 8760>> - <<WHCv 0.5 8760>>),2) </$calc> $''| ''<$calc> round((<<WHCv 1.4 8760>> - 0),2) </$calc> $''|
* 2020-09-18: By my calculations, and using this clock as a {{DIY Solar Digital Alarm Clock Kit||fLb}}, each clock's purchase cost is recovered in about 75 days via electricity savings * 2020-09-16: I like this clock so much, ''I just ordered a second one'' (first one for my bedroom, second one for my spare bedroom.)
{{p:/HYS}}
<<list-links "[all[current]tagging[]sort[title]]">> {{p:/HYS||tPdl}}
{{Heat Your Self Projects||tAsDc}}
{{Turn Down The Thermostat||tAsDc}} {{Heat yourself instead of the whole house||tAsDc}} !! Resources * [[Making the best of electric heat|https://permies.com/t/4906/making-electric-heat]] //(Thread of discussion at permies.com)//
.tc-subtitle .tc-tiddlylink {display:none;}
<span style="font-size:2.0em;line-height: 1.25;">{{TiddlyWiki Title}}</span> <div style="color:gray;border-bottom:solid lightgray;margin:-10px 0 0 0;"> //{{Subtitle PR||cPr}}{{Subtitle UOG4L||cOg}}{{Subtitle HBC4L||cHb}}{{Subtitle COS||cCb}}// </div> {{Navigation PR||cPr}}{{Navigation UOG4L||cOg}}{{Navigation HBC4L||cHb}}{{Navigation COS||cCb}}
* 2020-09-11 ** product received ** powered via PowerBank connected to USB port 1 (i.e. needs 5.04V) *** clock only: <<A2W "0.07" "5.04">> *** clock and night light: <<A2W "0.13" "5.04">> ** powered via USB AC wall adapter *** clock only: <<W2A 0.5 120>> **** //(extra watts because of adapter converting 120V to 5V)// {{||dPd}}
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
 
* ''Input Port'' ** Non-standard (proprietary?) as far as I can tell ([[TODO]]: need to check port type), made to work with the end plugs on both the solar panel's cable and the USB cable (the end that plugs into the generator); not quite sure how easy/hard replacements would be to get.
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
<$details summary="🕯Recommended with JOI Premium Tea Light Candles🕯"> <<ListCategoryProducts "JOI Candle-Powered LED Lamp">> </$details> {{||dPd}}
{{||dPd}}
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AIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP/Z
/9j/4AAQSkZJRgABAQAAAQABAAD/4QCORXhpZgAATU0AKgAAAAgABAESAAMAAAABAAEAAAExAAIAAAAWAAAAPgEyAAIAAAAUAAAAVIdpAAMAAAABAGgAAAAAAABDaHJvbWUgT1MgR2FsbGVyeSBBcHAAMjAyMDowOToyNCAyMjoxMTo1MwAAAqACAAMAAAABAfQAAKADAAMAAAABAfQAAAAAAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAH0AfQDASIAAhEBAxEB/8QAHQABAAAHAQEAAAAAAAAAAAAAAAIDBAUGBwgJAf/EAFgQAAEDAwIDBAYFBwgFCAkFAAEAAgMEBREGIQcSMQhBUWETInGBkaEUMkKxwRUjUqKy0fAJJGJyc4KS4RYzQ2ODGCVEZJOjwtIXJjZTVYSztPE0VHSkxP/EABoBAQADAQEBAAAAAAAAAAAAAAABAgMEBQb/xAAzEQEBAAIBAwIEAwYGAwAAAAAAAQIRAxIhMQRBEzJRcQVhsQYUIkKBoSMzYsHh8JHR8f/aAAwDAQACEQMRAD8A9U0REBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBEUqoqY6VodK9sbSQ0Oe7AyTgD2nKCaiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICKkul2orJRyVdwq4KKljGXz1MjY2NHm4kALSur+2NoLT87qO0SVWrbiNhBaIi6PPnIcDHm3mU62jem9VaNTats2jbY+43u50tqomdZ6uURtz4DPU+Q3XJeoO0VxH1fzMpPoei6B3QUzRVVmPAvcORvtDcrXN605SapeZb86ovtTnJqblUPmk9zidh5DAVumq3KRt3ib29rLbhLR6JtrrzUjIFwrg6KnB8Ws2e/38q5X15xm1lxNqxPfr7U1EbXc8dLEfRwRnuLWNwMjxOT5rK5+EWl5s8tDJAT3xTyN/HCoJuCtpIPoLjcoPAema4fNqjpp1xVaK4/cQNLwsFv1RWujjwDT1T/pEePACTOB7MLd2j+2xqGMMZftPUdfCCA6po5XU5Hnh3MCfZhaGt/CqSz1LqiG6mtAY8CmqoBhxIONwR0KxW4VdVNM+OocWOYS0xOGAPLA6KJhVuuPTDRXG7RmvKenNtv8AQ/S5WBxoZZ2snY4jdpYcEkdNshZ0DleQzsh2SNx3t6/5rMtJ8Ydb6JawWfUtwpoR9WAy+li9no35b8lfoV6nqQi4c0p259U28tjvtnt96iGAZKdzqaX2n6zT7gFujSvbR4fX/kjr5K2wTnYisgL2Z/rM5vmAq9NW3G+0Vj07rew6ug9NZLxQ3WPGf5pUNkI9oByPer4qpEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBEUEsrYWF73BrGjJc44ACCNfCcLQ/FPtiaH4felpLfOdUXhmW/Rre8eiY7wfN9UexvMfILmPWfGTipxvEkMlQdN2CXb6JSF0LHs/pO+vJt1+z5BWmNqvVHWnEvtVaB4ZySUtRcXXi6MyDQ2rEr2nwe7Ia32E58lzxqTtn6/wBdOkptF2GCyUx2+lyD6RK0eJc4CNvswStc2LhVabXyvq+a4Tjf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Ab0GFz277kmgANGAvqIoSIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiD5yhQmNru4KNEEp1Mx3UKU6gjf3BVSILZLZYZOrQqGo0rTTZzG0+0LIUQYNWcP6GoB5oGH3LHblwctlWCHUzDn+iFtrAXwsB7gg52u/ZwtFbzfzRm/9FYFfOyVbanmLKZoPiAuwzTsPcpTqCN3cPgp3Ua28xONH8nNJrunjqLHXiz3inDgyR8ZMUwP2X4369HDON9iufrL/ACfvaGobu2npWU9FAJOX6YLo30eM/WwPWx5cufJe2r7RCc+qEbaIgcho+CvjyZYzStwl7uJezl2Kr/pGvpbzr/U8mqLxTxGCnjZzehpmkjmwXbuO2ASAACdu9doWHTtPZqZkcTA0AY2CusdKyIeqAFNAwq5ZXK7qccZjNQAwNl9RFVYREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREH/9k=
* 2020-10-19 ** __''Audio quality issue resolved''__ *** the Foscomax HDMI cable seems defective; audio quality is A-1 with a different HDMI cable ** __''Video quality improvement''__ *** To focus chromebook resources on processing/saving video **** task manager: end any process related to Android **** turn off Wifi and Bluetooth //(maybe restart Chromebook?)// **** [[TODO]]: would a lower resolution (as long as still better than Hi8) still be okay quality while being less demanding on the Chromebook * 2020-10-16 ** Very short bouts of lost video frames (i.e. video freezing) *** Chromebook likely having a hard time processing and saving the amount of data **** Must try setting up two Chromebook "desks", and putting the camera app on a non-visible desk after pressing record; maybe not needing to update the display (with incoming video) will reduce the processing load on the Chromebook? **** btw: no audio loss ** Audio is not great, a lot of "noise"; is it issue with AV2HDMI converter or HDMI capture device? *** Must test the AV2HDMI device by connecting it, via HDMI port and cable, to my tv; and test audio quality of camcorder attached directly to tv. ** Although the Chromebook "Camera App" works perfectly, it will not allow changing destination of recording to a location other than Chromebook's "File/Downloads" folder; I would prefer that recordings went straight to SD card port because of limited space on Chromebook's internal SSD. This annoys me, but not a deal breaker.
{{||dPd}}
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
<$vars vWorkingTid={{!!title}}> !!!!! ''Thumbnail images'': click on a thumbnail to open an enlarged view of that image. <$list filter="[tag<vWorkingTid>sort[title]]"> {{||tPd}} </$list> </$vars>
Notes from [[Five ways to extend the life of your lead acid battery|https://www.victronenergy.com/live/drafts:battery_life]] //(By Justin Tyers, 2019-01-22, Victron Energy B.V.)//: * ''Avoid deeply discharging a battery (i.e. below 20%) greatly accelerates the battery's ageing process'' * ''Avoid charging a battery too quickly'' ** "A battery should be charged with a current no greater than 20% of it’s capacity. For example, if the battery has a 100 amp/hour rating, its maximum charge current should be no greater than 20amps." * ''Avoid repeated Failure to fully re-charge a battery'' * ''Avoid overcharging'' ** "Rather than leaving a battery on a continuous float charge during storage, it is better to leave it open-circuited, and recharge it every week or two in order to replace energy lost through self-discharge."
{{Measuring Solar Panel Output Voltage||tAsDc}}
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work , ''"{{TiddlyWiki Title}}"'', is licensed by <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">{{$:/status/UserName}}</span> under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. However, "{{TiddlyWiki Title}}" is constructed with (and includes) Open Source software, references external content and possibly includes content created by other parties, each of which appreciatively deserves (if not requires) attribution for its use. * The license text and, in some cases, links to web sites hosting the license text are provided below * Links to content from external sites are not under {{$:/status/UserName}}'s control, so accessibility or content of those sites cannot be guaranteed ** content created by other parties ** complimentary/supplementary externally hosted content created by {{$:/status/UserName}} * For any included non-original content, attribution is provided with that content where included in "{{TiddlyWiki Title}}" ** Such content is included as per that author's/owner's terms of use --- <<tabs "[[TiddlyWiki License]] [[Relink License]] [[Details Widget License]]" "TiddlyWiki License" "" "tc-vertical">>
{{LIT}}
{{Switch to LED||tAsDc}} {{Turn off unnecessary lights||tAsDc}}
\define ListCategoryProducts(Category) !!!!! ''Thumbnail images'': click on a thumbnail to open an enlarged view of that image. <!-- <$list filter="[tag[$Category$]sort[title]]"> --> <$list filter="[tag[<currentTiddler>]sort[title]]"> {{||tPd}} </$list> \end
\define ListCategoryProductsBackup(Category) !!!!! ''Thumbnail images'': click on a thumbnail to open an enlarged view of that image. <!-- <$list filter="[tag[$Category$]sort[title]]"> --> <$list filter="[tag[$(currentTiddler)$]sort[title]]"> <table style="width:100%;border:none;border-bottom: 1px solid lightblue;"> <tr style="border:none;"> <td style="border:none;width:140px;text-align: center; vertical-align: top;"> <$button message="tm-modal" param={{!!image}} class="tc-btn-invisible"><$image source={{!!image}} alt="no image" tooltip="Click to view larger image"></$image></$button> <!-- <$link to={{!!title}} tooltip="Another tooltip">{{!!title}}</$link> --> </td> <td style="border:none;vertical-align: top;"> {{||tAsDc}} </td> </tr> </table> </$list> \end
{{||LCP}}
Notes from [[How to extend the life of your lithium-ion batteries|https://newatlas.com/electronics/extend-life-lithium-ion-batteries/]] //(By Loz Blain, February 17, 2020, New Atlas)//: * ''avoid exposure to high and low temperatures, especially during charging'' ** stay within 50-95° F (10-35° C) * ''batteries hate being too full or too empty'' ** Ideally, never let them charge over 80 percent or discharge to less than 20 percent * ''avoid fast charging and discharging if you can'' ** high currents will heat and degrade a battery faster than a slow trickle charge
<<list-links "[tag[$:/tags/Macro]]">>
2020-09-07: I decided to check the output voltage on my [[X-DRAGON 70W Foldable Solar Panel Charger]], and was surprised to find the 18V solar panel yielding 22V (now 24V in brighter sun). A Google Search for "my 18v solar panel is putting out 22v" brought me to this post on caravanersforum.com: [[Solar panels put out 22V not 18V max ????|https://www.caravanersforum.com/viewtopic.php?t=50163]] and this info: <<< From "avro": Most nominally 12 volt panels will put out 21 to 22 volts with no load attached. This will very quickly drop with any load at all. It will not go higher. Voltage regulator not needed. Amps out can get a little higher than spec under certain circumstances, but not usually more than 10%. Not familiar with the Ctec (what model) but sounds as though will be OK. <<< <<< From "J.R.": 18V will be what you see when the panel is delivering its full power and 22V would be its open circuit voltage which is OK. Open circuit voltage is when there is no connection to the load or battery. “Volts open circuit” (VOC)=22 and “Volts max power” (VMP) =18 When the panel is delivering its maximum amount of power it will be running at 18V and you should not see any more than 22V no matter how sunny it is. VOC of 22V and VMP of 18V is about normal for a solar panel designed for a 12V battery. <<<
/* MULTI COLUMN MODE */ /* USAGE @@.multicol4 CONTENT @@ */ .multicolauto { display:block; -moz-column-count:4; -webkit-column-count: 4; -moz-column-width:3em; -webkit-column-width:3em; -moz-column-gap:1em; -webkit-column-gap:1em; }
{{Contents}} <div style="border:solid gray;border-width:thin"> <center> [[Licences]] <div style="border-top:solid gray;border-bottom:solid gray;border-width:thin"> This site created with [[TiddlyWiki]] //(<<version>>)//<br> enhanced with [[Relink|$:/plugins/flibbles/relink]], [[DetailsWidget|$:/plugins/telmiger/details]], [[LeftBar|$:/plugins/TWaddle/LeftBar]] and [[math.js|$:/plugins/mklauber/math.js]] </div> {{Tip Link and Message}} </center> </div>
* {{Digitizing Analog Video||fLc}}
<$details summary="General Info" > * [[A Reality Check About Hydro Costs]] * [[Get An Electricity Usage Monitor]] * [[Easy Energy Saving Tips]] </$details> {{Project Ideas#️⃣HB||tAsDc}}
{{ Choose a Product Category#️⃣PR || tAsDo }} !! {{Choose a Product Category#️⃣PR!!tiddler-to-show}} <$transclude tiddler={{Choose a Product Category#️⃣PR!!tiddler-to-show}} mode="block"/>
{{Resources#️⃣OG||tAsDc}} {{Project Ideas#️⃣OG||tAsDc}} !! {{Project Ideas#️⃣OG!!tiddler-to-show}} <$transclude tiddler={{Project Ideas#️⃣OG!!tiddler-to-show}} mode="block"/>
!!! Generator * ''Charging'' ** Charging via USB with an AC adapter, my adapter got uncomfortably hot; I suspect because the generator is wanting to draw more current than the adapter was meant to handle *** however: charging the generator via included (proprietary?) USB cable via the USB port on my {{BUTURE BR200 Car Jump Starter||fLb}} seemed fine
<$details summary="Comparative Ratings" > Note that these can only provide AC for low wattage applications, like powering a light or radio, or charging devices like phones/tablets/laptops. |!Comparative Ratings|<| | ⭐⭐⭐⭐⭐|''{{FLYLINKTECH CF400 Jump Starter||fLmg}}'' | |~|Because the jump starter has pass-through charging and can be charged via USB-C port, capacity (and AC output time) can be increased, without any limits, via power banks (inexpensive and quick to charge via solar panels) | |⭐⭐⭐⭐⭐|''{{AIMTOM PowerPal X Portable Power Station (SPS-155)||fLmg}}'' | |~| UPDATE: It took a month, but I eventually received a replacement end of September 2020. Replacement unit works A-1 and is quite fantastic. | |~| __Previous notes__: my generator was defective (would not charge), so my rating is based on limited use before returning it for a replacement //(Aimtom's CPC branch received the unit on Aug 17th; Aimtom picked it up on Aug 31st; have not hear from Aimtom since, so not sure what is going on)// | |⭐⭐|''{{DIY Solar AC 150W Generator Bundle||fLmg}}'' | </$details> --- {{ACP}}
{{pOGL}}
<$list filter="[tag[OG:/SC]sort[title]]"> </$list>
.p_nopad p { display: block; margin-top: 0; margin-bottom: 0; margin-left: 0; margin-right: 0; }
{{||LCP}}
Pass through charging is the ability for a device to both accept an input current //(to charge the device's internal battery)// while simultaneously providing an output current to power/charge other devices. Learn more about pass through charging in [[this article|https://www.powerbankexpert.com/what-is-pass-through-charging/]] at "Power Bank Expert".
{{||LCP}}
[[TODO]]: the math here is all wrong --- As my first solar generator, it will primarily serve as a learning tool, just to familiarize myself with solar generators, for example: * charge time * practical use cases It will also serve a I mostly plan on using this for winter power-outage emergencies, planning on experimenting with this for very light heat via lizard heating pads. Thinking of using this to power 3-bulb and whatever else. AC efficiency: I'm assuming I'll only get 80% efficiency running AC appliances, so let's assume out of max 155Wh per charge, I'll only be able to effectively get 124Wh per charge CJ's Planned Usage: Daily use to power lamp in my living room and whatever else, using the X-DRAGON 70W Foldable Solar Panel Charger to charge the generator. CJ's Goals: Although this is primarily a learning experience, I am hoping to recover the purchase cost of the solar generator kit in about 417 days: * Assuming 100 Wh of electricity per day from the solar generator kit instead of the electric utility * Recent electric utility bill, electricity costs <<WhRate>> $/Wh, so 100 Wh/day at <<WhRate>> $/Wh from the utility: that electricity costs <<WHC 100 24>>/day * Purchase price of generator = 247 $, so saving <<WHC 100 24>>/day in electricity charges from the electric utility, it will take about <<BEPDaysHere 247 >> days to recover the ???$ purchase price of the kit * If the kit can last beyond ??? days then I am technically (although really negligible) ahead of the game financially, helping to save up for the next solar generator kit. Planned Use: 4 hours to power living room light stand, three 4.5 watt bulbs, so 13.5 W x //(lowball)// 3.5 hours per night = 47.25 Wh per night starting 2020-07-29
{{||dPd}}
I charge this Power Bank with my [[X-DRAGON 70W Foldable Solar Panel Charger]], to then charge my cellphone at night with the power bank while I'm sleeping.
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
{{||LCP}}
!!! Generator * ''"Night light"'': Because of (1) the position of the unit's charge indicator lights and (2) the protruding lens of the generator's LED, the charge indicator lights create a reflective (and pleasant) glow in the lens. So turning on the generator just for the charging lights makes for a ''nice night light''.
From the [["Battery charger" Wikipedia article|https://en.wikipedia.org/wiki/Battery_charger#Power_bank]] <<< A power bank is a portable device that can supply power from its built-in battery through a USB port. Power banks are popular for charging USB charged devices and can be used as a power supply for various USB powered devices such as lights and small fans. They usually recharge with a USB power supply. The power bank includes a control circuit that both regulates charging of the battery and converts the battery voltage to 5.0 volts for the USB port. <<< You'll find these Power Banks also in [[Power Storage (Batteries)]]. {{Does the device support pass through charging?||tAsDetailsClosed}} --- {{PBK}}
{{🔋Battery Education||tAsDc}} {{Does the device support pass through charging?||tAsDc}} --- {{PSB}}
<<list-links "[tag[Product Categories]sort[title]]">>
{{HB:/SC}}
<$vars vWorkingTid={{!!title}}> <div style="overflow-y: auto;border:1px solid darkgray;min-width:16em;"> @@.multicolauto <$list filter="[tag[OG:/SC]sort[title]]"> <$button setTitle=<<vWorkingTid>> setField="tiddler-to-show" setTo=<<currentTiddler>> class="mng_btn"> {{!!title}} </$button> </$list> @@ </div> </$vars>
{{||LCP}}
BSD 3-Clause License Copyright (c) 2019-2020, Cameron Fischer All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
!!{{Relink License!!title}} Relink is published under a [[permissive BSD 3-Clause License|https://opensource.org/licenses/BSD-3-Clause]] stored in [[this external document hosted on github|https://github.com/flibbles/tw5-relink/blob/master/LICENSE]]. The 2020-01-20 version of the license included in "{{TiddlyWiki Title}}" for convenience: <div style="font-size: 0.7em;line-height:1.4;"> {{Relink Copyright.txt}} </div>
{{Educational Topics#️⃣OG||tAsDc}} {{General Resources#️⃣OG||tAsDc}}
!!! From [[Solar Mango|https://www.solarmango.com/dictionary/reverse-current-protection/]]: <<< Reverse Current Protection is any method of preventing unwanted current flow from the battery to the photovoltaic solar array (usually at night). It is usually done by a blocking diode. <<< !!! From [[The altE Solar Blog|https://www.altestore.com/blog/2016/09/bypass-diodes-blocking-diodes-solar-panels/#.X35gVY7Yr94]]: * current flows from high to low voltage * in the bright sun, the voltage of a solar panel is higher than the voltage of a battery and the current naturally flows from the panel to the battery * when not in a bright sun (especially at night), with a solar panel connected directly to a battery, the voltage of the solar panel will be lower than the voltage of the battery, so backwards flow is possible (pulling power out of the battery and into the solar panel) * blocking diodes prevent batteries from discharging backwards through a connected solar panel at night {{altE Diodes'n Solar||dYT}}
* 2020-09-21: First charge (top-up from 80%) via {{ECO-WORTHY Solar Generator and Lighting Kit||fLb}}
{{☢Warning#️⃣EWSGLK||tAsDc}} {{Input Ports#️⃣Review EWSGLK||tAsDc}} {{USB Output Port#️⃣EWSGLK Review||tAsDc}} {{Positives#️⃣EWSGLK||tAsDo}} {{Negatives#️⃣EWSGLK||tAsDo}}
{{Test Charging and Charge Indicator#️⃣EafuBEE3||tAsDc}} * 2020-10-08: Connected 100% charged power bank to my clock yesterday in late afternoon; power bank was quick to discharge to 1% by around 11am Thursday, but I've been since then (it is now Friday 🔴10:00pm🔴) waiting for it to completely discharge so I can do some planned testing * 2020-09-21: After charging to 100% and then plugging my clock into the powerbank, the powerbank lasted less than 24 hours, whereas first time used it lasted about 2.5 days; I attached my clock to the second BE-E3 I just received yesterday (after topping up charge from 80% to 100%); I'll be checking if it is just a flaw with the first unit, or if both units have the same problem * 2020-09-20: Although the digital battery charge indicator is really nice, I'm not sure that it is accurate. Charging the power bank this morning, it consistently took about 30 seconds per 1% increase in charge, until it reached 99%. It took a really long time to get from 99% to 100%. ** [[TODO]] Over the last few uses of the power bank in my {{DIY Solar Digital Alarm Clock Kit||fLb}}, I've found the power bank reaching 0% quicker than expected; I'm wondering if the power bank powers off because it thinks it has reached 0% when it actually has not? ** [[How to re-calibrate the digital display on your power bank|https://www.youtube.com/watch?v=qRIn62iRneQ]] ???
* 12V output is not regulated, so voltage slowly drops as battery discharges; voltage seems to start dropping when battery gets to somewhere between 66% and 75% * does not support {{Pass through charging||fLm}} ** I was thinking of extending stable 12V-ish output by simultaneously charging the Jump Starter with an inexpensive USB Power Bank, but that can't happen without pass through charging {{BUTURE Jump Starter Tests (Charging Devices)||tAsDc}} {{X-DRAGON 20W ⚭ BUTURE BR200||tAsDc}} {{X-DRAGON 70W ⚭ BUTURE BR200||tAsDc}}
* 2020-09-19: Although a very gray and cloudy day, the solar panel, because of its size, still does a good job charging small power banks. * 2020-09-12: It seems that, when using both ''USB ports'' to charge two devices, it seems like there is barely any current going to the smallest device (i.e. prioritization given to the heftier device); must try that again with two equal devices * 2020-08-29: Gray (cloudy) day; charging a small powerbank from the panel; my [[X-DRAGON USB Digital Multimeter]] is showing between <<A2W "0.05" "4">> and <<A2W "0.07" "4.1">> ** I would have thought a 70W panel could have given a little higher wattage even on a cloudy day and even despite inefficiency of light through window glass; must test again on a sunny day. * 2020-08-30: Sunny with partial clouds today; powerbank somewhere between 75% and 100% full ** at 5:45pm (about same brightness as yesterday, sun hidden by large dark cloud), multimeter is reading 4V-4.1V and 0.03-0.07 amps //(10 minutes earlier, had full late-day say on the panel; missed opportunity)// {{X-DRAGON 70W Unboxing + First Impressions||tAsDc}} {{X-DRAGON 70W ⚭ BUTURE BR200||tAsDc}}
{{||dPd}}
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
\import [[$:/macros/charlie/getstartupcontext.js]] <$action-setfield $tiddler="Alt TW Purposes" purpose=<<getstartupcontext>>/>
{{||LCP}}
\define ShowProductThumbnail() <$button message="tm-modal" param={{!!image}} class="tc-btn-invisible"><$image source={{!!image}} width=128 alt="no image" tooltip="Click to view larger image"></$image></$button> \end
{{||dPd}}
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
\define Mather(E) <$calc>$E$</$calc> \end
{{About Solar Generators||tAsDc}} {{Does the device support pass through charging?||tAsDc}} --- {{SGN}}
{{Learning About Solar Panels||tAsDc}} --- {{SPL}}
From X-Dragon: <<< SolarIQ Technology can automatically adjust the current and voltage to achieve maximum power, delivering its fastest possible current up to 2amps per port or 3 amps overall under direct sunlight. <<<
{{||LCP}}
<$action-setfield $tiddler="$:/state/sidebar" $field="text" $value="no"/> <$list filter="[title[$:/plugins/TWaddle/LeftBar/temp]!is[tiddler]]" > <$action-setfield $tiddler="$:/plugins/TWaddle/LeftBar/temp" $field="storyleft" $value={{$:/themes/tiddlywiki/vanilla/metrics/storyleft}}/> <$action-setfield $tiddler="$:/plugins/TWaddle/LeftBar/temp" $field="storyright" $value={{$:/themes/tiddlywiki/vanilla/metrics/storyright}}/> <$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/storyleft" text="/*LeftBar*/ calc({{$:/plugins/TWaddle/LeftBar/Stylesheet!!width}} + {{$:/plugins/TWaddle/LeftBar/temp!!storyleft}})" /> <$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/storyright" text="/*LeftBar*/ calc({{$:/plugins/TWaddle/LeftBar/temp!!storyright}} + {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}})"/> </$list> <$action-setfield $tiddler={{Choose a Product Category#️⃣PR!!title}} $field="tiddler-to-show" $value=""/> <$action-setfield $tiddler={{Project Ideas#️⃣OG!!title}} $field="tiddler-to-show" $value=""/> <$action-setfield $tiddler="Alt TW Purposes" purpose={{{ [[$:/info/url/search]get[text]regexp[context=OffGridding]then[OffGridding]] [[$:/info/url/search]get[text]regexp[context=HydroCutting]then[HydroCutting]] [[$:/info/url/search]get[text]regexp[context=Chromebook]then[Chromebook]] [[ProductReviews]] +[first[]] }}}/>
<<list-links "[tag[$:/tags/Stylesheet]]">>
Computing solutions for chromebook-only households.
Easy, practical, budget-friendly and (possibly) fun/interesting ways to reduce hydro costs.
Easy, practical, and budget-friendly experiments/solutions for "light" independence from the utility grid.
For example, my three-headed pedestal lamp in my living room, which I use for about 5 hours every night. Using 40W incandescent bulbs (total = 120W) versus equivalent 3W LED bulbs (total = 9W). ||! Incandescent Bulbs |! LED Bulbs | |!Daily Wh's | <<Mather 120*5>> Wh's | <<Mather 9*5>> Wh's | |!Daily Cost | <<WHC 120 5>> | <<WHC 9 5>> | |!Weekly Cost | <<WHC 120 5*7>> | <<WHC 9 5*7>> | |!Yearly Cost | <<WHC 120 5*365>> | <<WHC 9 5*365>> | |!Yearly Savings Switching to LED |<| ''<<WHCv 111 5*365 2>> $''|
<$details summary={{{ [all[current]split[#️⃣]!is[blank]nth[]] }}} > <div style="margin-left:5px;"> <$vars vTiddler={{!!title}}> <$list filter="[[$:/state/sidebar]get[text]]+[match[yes]]"> <div style="height:1px;margin:0 0 -9px 0;"> <div style="float:right;margin:-15px -6px 0 0;text-align:center;border-style:solid;border-width:1px;width: 40px;background-color:white;height:20px;border-color:gray;"> ^^<$link to=<<vTiddler>> tooltip="Open Transcluded Source Tiddler">🐟</$link> <$button message=tm-open-window param=<<vTiddler>> class=tc-btn-invisible tooltip="Open Related Tiddler in New Window" >{{$:/core/images/open-window}}</$button>^^ </div> </div> </$list> </$vars> <div style="margin:0 10px 0 10px;"> {{!!text}} </div> </div> </$details>
<$details summary={{{ [all[current]split[#️⃣]!is[blank]nth[]] }}} open="yes" > <$vars vTiddler={{!!title}}> <$list filter="[[$:/state/sidebar]get[text]]+[match[yes]]"> <div style="height:1px;margin:0 0 -9px 0;"> <div style="float:right;margin:-15px -6px 0 0;text-align:center;border-style:solid;border-width:1px;width: 40px;background-color:white;height:20px;border-color:gray;"> ^^<$link to=<<vTiddler>> tooltip="Open Transcluded Source Tiddler">🐟</$link> <$button message=tm-open-window param=<<vTiddler>> class=tc-btn-invisible tooltip="Open Related Tiddler in New Window" >{{$:/core/images/open-window}}</$button>^^ </div> </div> </$list> </$vars> <div style="margin:0 10px 0 10px;"> {{!!text}} </div> </$details>
{{||LCP}}
<table> <caption style="caption-side:top;font-size:1.25em;text-align:left;">''Tags Report''</caption> <tr> <th> tag </th> <th> tiddler count </th> </tr> <$list filter="[all[]!is[system]tags[]sort[]]"> <tr> <td style="border:none;border-bottom:1px solid gray;border-right:1px solid gray;"> {{!!title}} </td> <td style="border:none;border-bottom:1px solid gray;border-right:1px solid gray;text-align:right;"> <$text text={{{ [all[tiddlers]!is[system]tag<currentTiddler>] +[count[]] }}}/> </td> </tr> </$list> </table> <table> <caption style="caption-side:top;font-size:1.25em;text-align:left;">''Fields Report''</caption> <tr> <th> field </th> <th> tiddler count </th> <th> distinct values </th> </tr> <$list filter="[all[]!is[system]fields:exclude[caption created creator list-before modified modifier tags text title type]sort[]]"> <tr> <td style="border:none;border-bottom:1px solid gray;border-right:1px solid gray;"> {{!!title}} </td> <td style="border:none;border-bottom:1px solid gray;border-right:1px solid gray;text-align:right;"> <$text text={{{ [all[tiddlers]!is[system]has<currentTiddler>] +[count[]] }}}/> </td> <td style="border:none;border-bottom:1px solid gray;border-right:1px solid gray;"> <table> <tr> <th> value </th> <th> tiddler count </th> </tr> <$vars vfield=<<currentTiddler>>> <$list filter="[all[tiddlers]!is[system]has<vfield>each<vfield>get<vfield>sort[]]"> <tr> <td> {{!!title}} </td> <td> <$text text={{{ [all[tiddlers]!is[system]has<vfield>get<vfield>match<currentTiddler>] +[count[]] }}}/> </td> </tr> </$list> </$vars> </table> </td> </tr> </$list> </table>
{{||LCP}}
{{Charge Indicator Issue?#️⃣EafuBEE3||tAsDc}} {{Charge Indicator Test Plan#️⃣EafuBEE3||tAsDc}} * //btw: my {{HOUSBAY Digital Alarm Clock||fLb}} only draws 0.07 amps (<<A2W "0.07" "5.04">>) from powerbanks// | Power Bank<br>''"Green"'' | ! TEST 0: __Waiting for power bank to finally discharge__ |<| |~| !Date/Time | !Observation/Action | |~| 2020-10-07<br>Late afternoon|After charging with solar panel to 100% followed by AC charging until multimeter showed no current being drawn, I started powering my clock with the power bank | |~| 2020-10-08<br>11:00am|Power bank is showing 1% charge left, so clock she stop being powered soon | |~| 2020-10-10<br>2:10am|Power bank still showing 1% charge left, and clock still being powered. What the ...? | |~| 10:00am|Just waking up. Clock is off, so powerbank finally fully discharged sometime while I was sleeping. | |~| | | |~| ! TEST 1: __Charged via AC until 0 Amps being drawn__ |<| |~| !Time | !Observation/Action | |~| 2020-10-10<br>10:00am|Start charging completely discharged power bank | |~| 11:35am|Powerbank says 42% charge, drawing 1.05 Amps at 4.73 Volts| |~| 2:15pm<br>-3:00pm|Powerbank says 100% charge, drawing 1.0 Amps at 4.73 Volts | |~| 4:00pm|Powerbank says 100% charge, drawing 0.2 Amps at 5.06 Volts | |~| 4:25pm|End charging //(multimeter shows 0 Amps drawn)// | |~| 2020-10-10<br>4:30pm|Start powering clock | |~| 8:50pm|Powerbank says down to 93% charge | |~| 2020-10-12<br>10:30pm|Powerbank says down to 7% charge | |~| 2020-10-13<br>1:00am|End powering clock //(power bank fully discharged)// sometime between 10:30pm and 1:00am| |~| ! TEST 2: __Charged via Solar until charge indicator shows 100%, then via AC until 0 Amps drawn__ |<| |~| 2020-10-13<br>1:00am|Connect power bank to 20W solar panel| |~| 2:35pm|69% charged| |~|//Just to be sure solar charging isn't messing up the charge indicator, I'll be doing the next two tests with pure AC charging//|<| |~| ! TEST 3: __Charged via AC until charge indicator shows 100%__ |<| |~| !Time | !Observation/Action | |~| 2020-10-18<br>3:35pm|Start charging completely discharged power bank (via USB port on power bar: 4.75V, 1.02A) | |~| 3:45pm|Already 12% charged? 4.73V 1.00A | |~| 5:20pm|Already 99% charged? 4.72V 0.97A | |~| 7:40pm|100%, still charging 4.73V 0.97A | |~| 10:00pm| End charging sometime before 10:00pm //(multimeter shows 5.06V 0A drawn)// | |~| 10:10pm|Start powering clock | |~| 2020-10-19<br>11:40am|60%| |~| 11:50pm|21%| |~| 2020-10-20<br>9:00am|1%| |~| 2020-10-21<br>1:00am|1%| |~| 10:30am|End powering clock //(power bank fully discharged sometime while I was sleeping)// | |~| ! TEST 4: __Charged via AC until charge indicator shows 100%__ |<| |~| !Time | !Observation/Action | |~| 2020-10-25<br>10:35am|Start charging completely discharged power bank (via AC wall adapter) | |~| 11:15am|Already 17% charged 4.73V 1.05A | |~| 3:34pm|100%, still charging 5.04V 1.02A | |~| 6:00pm|Done charging | |~| 🔸🔸🔸Several charge and discharge as per above🔸🔸🔸 |<| |~| 2020-12-08<br>??:??am|Start powering clock | |~| 🔴...|... | | Power Bank<br>''"Red"'' | ! TEST 0: __Waiting for power bank to finally discharge__ |<| |~| !Date/Time | !Observation/Action | |~| 2020-10-09<br> Late morning|I was only going to consider testing this power bank later. After charging via solar panel to 100% and then until the power bank stopped drawing a charge, I setup my second clock to be powered by this power bank. | |~| 10:30pm|I just noticed the power bank's charge indicator showing 1%; it went from 100% to 1% very quickly; waiting to see how long it takes for it to finally fully discharge.| |~| 2020-10-10<br>4:30pm|Power bank still showing 1% charge left, and clock still being powered. | |~| 4:30pm|Although still not fully discharged, I disconnected the power bank from the clock |
``` Was making use of a javascript macro called <<getstartupcontext>> Replaced by native TW code to handle the "context" search parameter in the url ?context=value Where "value" can nothing or one of: * OffGridding * HydroCutting * Chromebook * ProductReviews if context is not specified, or has an unrecognized value, then "ProductReviews" is assumed by default. ``` * javascript function gives: <<getstartupcontext>> * TW native code: {{{ [[$:/info/url/search]get[text]regexp[context=OffGridding]then[OffGridding]] [[$:/info/url/search]get[text]regexp[context=HydroCutting]then[HydroCutting]] [[$:/info/url/search]get[text]regexp[context=Chromebook]then[Chromebook]] [[ProductReviews]] +[first[]] }}}
<center>{{Tip Link}}</center> --- !!! Any financial support goes towards ... * "[[intertwingularityslicendice.ca|https://www.intertwingularityslicendice.ca/]]" domain registration renewal * [[Neocities.org|https://neocities.org/]] [[support|https://neocities.org/supporter]] * my support for these projects: ** [[SpiderBasic|https://www.spiderbasic.com/]] //(license renewals)// ** [[Wikipedia|https://wikimediafoundation.org/support/]] !!! Any support energizes me in the pursuit of my projects * [[Intertwingularity Slice'n Dice Blog|https://www.intertwingularityslicendice.ca/]] * [[Le P'tit Aurèle|https://leptitaurele.neocities.org/LePtitAurele.html]] ** //(un lexique du français acadien / a lexicon of Acadian French)// * [[Charlie's ADHD Slice'n Dice|https://intertwingularityslicendice.neocities.org/CJ_AdhdSliceAndDice.html]] * [[Charlie's Product Reviews|https://intertwingularityslicendice.neocities.org/CJ_ProductReviews.html]] * [[Charlie's Configuring TiddlyWiki|https://intertwingularityslicendice.neocities.org/CJ_TiddlyWiki_Configuration.html]] * [[Charlie's RAD.sb|https://cjveniot.neocities.org/RAD.sb_TW.html]] ** //(a rapid application development framework for SpiderBasic©)//
* {{About TEGs||fLm}} --- {{TEG}}
{{TEP}}
* [[TiddlyWiki website home page|https://tiddlywiki.com/]] * [[About TiddlyWiki|https://tiddlywiki.com/#About]] --- {{TiddlyWiki License}}
!!{{TiddlyWiki License!!title}} <div style="background-color:lightYellow;text-align: center;"> //This Tiddler is based on one imported from [[https://tiddlywiki.com/|https://tiddlywiki.com/#License]]. // </div> TiddlyWiki is published under a [[permissive BSD 3-Clause License|https://opensource.org/licenses/BSD-3-Clause]] stored in the shadow tiddler [[$:/core/copyright.txt]]: <div style="font-size: 0.7em;line-height:1.4;"> {{$:/core/copyright.txt}} </div> In layman's terms, the license says that you can take TiddlyWiki and do anything you want with it without any license fee payment or other legal obligation to the creators of TiddlyWiki or anyone else. The quid pro quo is that there is no warranty or guarantee with open source projects like TiddlyWiki. You can't sue the contributors to TiddlyWiki for any loss or damage due to the use of TiddlyWiki: even if your data is lost due to a tragic chain of circumstances that involves TiddlyWiki. You are respectfully requested that to make an attribution to the project, but there's no obligation to do so. For the avoidance of doubt, any information that you choose to store within your own copy of TiddlyWiki remains yours; using TiddlyWiki to publish content doesn't change whatever rights you may have to that content.
@@.p_nopad {{TW Title PR||cPr}}{{TW Title UOG4L||cOg}}{{TW Title HBC4L||cHb}}{{TW Title COS||cCb}} @@
<a href="https://www.paypal.me/cjveniot" target="_blank" style="font-family:verdana; font-size: 12;"><img alt="Tips via PayPal" src="https://cjveniot.neocities.org/SB/TipMe.png"/></a>
<center> {{Tip Link}} <br> ^^''<small>{{Thank-you for your support !||fLm}}</small>''^^ </center>
''<big><$count filter="[[TODO]backlinks[]]"/></big>'' thing(s) needing to be done (click on tiddler links for details): <<list-links "[all[current]backlinks[]]">>
/* Tooltip container */ .tooltip { position: relative; display: inline-block; border: 2px solid LightSkyBlue } /* Tooltip text */ .tooltip .tooltiptext { visibility: hidden; width: 500px; text-align: left; background-color: LightCyan; border: 2px solid Black; color: Black; font-weight: bold; padding: 7px; border-radius: 6px; /* Position the tooltip text - see examples below! */ position: absolute; z-index: 1; } /* Show the tooltip text when you mouse over the tooltip container */ .tooltip:hover .tooltiptext { visibility: visible; }
<table style="width:100%;border:none;border-bottom: 1px solid lightblue;"> <tr style="border:none;"> <td style="border:none;width:140px;text-align: center; vertical-align: top;"> <$button message="tm-modal" param={{!!image}} class="tc-btn-invisible"><$image source={{!!image}} alt="no image" tooltip="Click to view larger image" class="img_btn"></$image></$button> <!-- <$link to={{!!title}} tooltip="Another tooltip">{{!!title}}</$link> --> </td> <td style="border:none;vertical-align: top;"> {{||tAsDc}} </td> </tr> </table>
<<list-links "[all[current]tagging[]sort[title]]">>
<table style="width:100%;border:none;border-bottom: 1px solid lightblue;"> <tr style="border:none;"> <td style="border:none;width:140px;text-align: center; vertical-align: top;"> <$button message="tm-modal" param={{!!image}} class="tc-btn-invisible"><$image source={{!!image}} alt="no image" tooltip="Click to view larger image"></$image></$button> <!-- <$link to={{!!title}} tooltip="Another tooltip">{{!!title}}</$link> --> </td> <td style="border:none;vertical-align: top;"> {{||tAsDc}} </td> </tr> </table>
//(i.e. Tiddlers with {{$:/C/Templates!!title}} tags)// <$details summary="As Pretty Table" > |!Conditional per Context |{{{ [tag[$:/C/Templates]prefix[c]sort[title]] ||tTi }}} | |!Tiddler Content Layout |{{{ [tag[$:/C/Templates]prefix[d]sort[title]] ||tTi }}} | |!Tiddler Link Display Layout |{{{ [tag[$:/C/Templates]prefix[f]sort[title]] ||tTi }}} | |!Transcluded Tiddler Appearance |{{{ [tag[$:/C/Templates]prefix[t]sort[title]] ||tTi }}} | </$details> <$details summary="As Simple List" open="yes"> {{$:/C/Templates}} </$details>
<$link/>: {{!!description}}<br>
As per {{bchydro tips}}: <<< If you have electric heat, lower your thermostat by two degrees to save 5% on your heating bill. Lowering it five degrees could save 10%. <<<
For example, leaving a 9W LED bulb on every night (for the convenience of not needing to flick on the lights when I enter the kitchen) for about 5 hours: |!Daily Wh's | <<Mather 9*5>> Wh's | |!Daily Cost | <<WHC 9 5>> | |!Weekly Cost | <<WHC 9 5*7>> | |!Yearly Cost | <<WHC 9 5*365>> | |!Yearly Savings Turning Off The Light | ''<<WHC 9 5*365 2>>''|
Chromebook: Beyond Web Browsing
Hydro Bill Cutting for Laypersons
Product Reviews
Urban Off Gridding for Laypersons
{{||LCP}}
{{UG}}
Whole-body warmth via Lens Warmer wrapped around wrist (or ankle). * ''Ultra-Portable Personal Heater !!!'' ** Wearing the heater: doesn't get more portable than that ** Possible when powered via USB power bank * ''Ultra-Flexible Power Source Options !!!'' ** power bank ** computer/laptop/tablet ** solar generator ** USB AC adapter ** etc. (anything that has a USB port) * ''Off-Grid !!!'' ** Solar panel to charge power banks (or whatever power source) {{Charlie's Choices#️⃣UCLW#️⃣HYS||tAsDc}}
* 2020-09-21 test: charging {{EAFU BE-E1 10000mAh Power Bank||fLb}}, 5V 0.3A draw //(not 5V 2A)//; [[TODO]] maybe the USB output is not regulated (i.e. amount of current goes down as the generator's charge goes down?), or is it the power bank that's slowing down the charge rate as it gets closer to fully charged? ** While writing these notes, power bank's charge went from 98% to 99%, and draw on generator is below 0.00A, and now power bank is showing 100% charged. Interesting: might explain slow from 99%-100% findings in {{Review EAFU BE-E3||fLb}}
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
Is it worth it? Research starts here: https://www.newlifeonahomestead.com/convert-chest-freezer-to-fridge-solar/ <<WhRate>> per Watt Hour Assume my fridge is same as author: 2250 Wh/day, i.e. * <<WHC 93.75 24 D:2>> per day * <<WHC 93.75 168 D:2>> per week * <<WHC 93.75 8760 D:2>> per year
* an inexpensive AV-to-HDMI converter * an HDMI video-capture device * HDMI cable to connect the two devices above * a microSDXC card * "safe-keeping" (or archiving) strategy: storage media, management, and maintenance ** storage media: external hard drive, online service, etc. ** maintenance:
.noborders {border:none;} .contextbutton { width: 100%; text-align:left; margin-top:-0.5em; margin-bottom:-0.5em;} .contexttb{ margin-top:0em; margin-bottom:0em; height:0.5em;} .mng_btn { width: 100%; min-height: 2em; } .img_btn { max-width:140px; }
{{Heat Your Self Projects||tAsDc}} {{Crock-Pot Supplemental Heating?||tAsDc}}
!!! 2020-09-27 The following does not seem to be an issue in indirect/partial/hidden sun. In full daylight, plugging the jump starter into one of the solar panel's USB ports: the jump starter would enter and endless cycle of turning on for accepting a charge and turning off because of no charge. To investigate, I attached my {{X-DRAGON USB Digital Multimeter||fLb}} in between the two. Attaching the multimeter first to the solar panel, the multimeter showed a little over 5V and 0A (because of no current). Upon next also attaching the jump starter to the multimeter's output port, the same endless cycle showed the following: # the jump starter's charge indicator lit up to show charging, and then the multimeter would show voltage dropping as AMPS rise and fluctuate # the jump starter's charge indicator went blank, and the multimeter would go back to 5V 0A If the jump starter has circuitry to improve charging performance, it could be that there is a conflict between that circuitry and the solar panel's {{SolarIQ Technology||fLm}} as each is adjusting itself in response to the other's adjustment, causing the jump starter to momentarily reset itself (hence its charge indicator going blank.) Things seem fine if a standard power bank is attached to one of the panel's USB ports before then attaching the jump starter to the panel's second USB port. The solar panel seems to adjust current and voltage to the first device, and does not adjust itself when a second device is connected?
{{||dPd}}
When checking the combination with my {{X-DRAGON USB Digital Multimeter||fLb}}, the V and A readings fluctuate at lightning speed, yet the jump starter does not misbehave as per {{X-DRAGON 20W ⚭ BUTURE BR200||fLb}}. I use the solar panel in a large window, however part of the panel is always in the shadow of the window's mid-section (i.e. the overlapping frames of the two parts of the window that slide sideways.) In this setup, the window never gets to 5V output, which might explain why the jump starter never resets like for {{X-DRAGON 20W ⚭ BUTURE BR200||fLb}}.
[[TODO]]: get some measurements of panel's efficiency charging devices via USB on very gray and cloudy days {{||dPd}}
* 5 carabiners (i.e. hooks) instead of 4! Cool! ** I can never have too many of those, so I always appreciate any extras. * The User Manual is adequate ** Awfully tiny fonts, like reading labels on medicine bottles for these old eyeballs; would have been nice for it to be printed in a font that is size 12 versus something that looks like font 6 ** Although the English translation from whatever language //(likely Chinese)// is not that bad, just a little extra attention to detail I think would be nice, but prefer any extra carbiner any day! * One of the hook-and-loop fasteners that keep the panel into a nicely folded carry-case detached itself from the case upon opening ** the fasteners, instead of being sown to the fabric, are glued to the fabric and the adhesive is not strong enough to keep the fasteners attached to the fabric //(the strength of the hold between the fasteners is too strong for the glue)//; no matter to me: I don't plan on carrying it around //(but if I do, I have loads of straps kicking around)//
{{||dPd}}
{{X-DRAGON 20W ⚭ BUTURE BR200||tAsDc}}
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EQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERBbvELWtt4daIvmpbvKIbda6OWqmcfENaTgepOAB5kL55+I2uLjxe4pX7VlzcZKi5VclQ4E5DQScNHoBgfJbOva3ca/1L8MrPoChqeWuv0v0mrjY73hTxn3QfRz//ACFap6KHuaXIwZHHBUn2ON3a41HJE4sIDnHkaAts3sq+z7+oXhlVa9uVMGXPUP63SFzfebSsd9r05ng/JoPitZfA3hlXcaOL+ndJW+N0klXVMje5oyGMzl7z6NYHOPwX0H6V07RaS03bLLb4RBRW+nZTQxgfZY0AD+JX4c677qoBhcoiOgiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICLgnBC5QEREBERAREQEREBERAREQEREBERAREQEREBcOcGNJJwB4rleHds/i0eDfZ21be4Ju4uU1MaGieDgtmlBaHD1aCXfIINQXbV4tO43dpTUtyhn7620k/0Ci3y0RREtBHoTl3zXjVXL3UbyMcrBgfFQrYHPlmq3jLnEkknxUSOkkudwo6KFpfJNIByjxOUjnLnaeIbGfZE8F3Gq1DxJrYByxD6tonuHV7sOlI+DeUZ/fFbOl5Z2YeF0fB7gdpTTIiEdRT0jZao43dPJ78hPzdj4AL1RRqIxGBERVoREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQFrA9sRxY5qzSPDuke48jHXStAOxLvciafgGvP98Fs+d0K0H9tjiE7il2pNYV7Xiampqs0UB8OSL3B/5SfmpI8ehjENIyM/acdyF772COFQ4t9pbT8NTEJbXbZfrCpDhkFkXvBp9HO5W/AleDVbu6he4AYY3b4rZr7IDhkaHSmqtcVMRD6uVlupnuHUNAkkI+bmD5FI4c+WxhvQLlEVdBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQWXxn1uOG/CnVmpstD7ZbJ6mPmOxkDDyD5u5R8188FPUyXa91lbK/vZJZXSOkO5JJJW6P2m+sDpTsp3yJsndyXSohoQAdyC7nP6GLS3ZIhFRvk6F3QqTKS714NTFHEBjvJQDjyyt83Y10HHw77Nuh7WIu6mkoRWTDGCZJSZCT/CA+QWjzhnpibXHFXS2nIWl77hXwUoxvu+Rrc4+a+iS10MVrttLR07QyCnibFG0dA1owB9wW5YrCaREWXQREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREGuX2yWrDTaK4f6dY4/susqayRgPhG2NrSf+8f9y1l0jTDRxtA69Vm77X++Or+Nuk7UHgsorO1xbno58shP6A37lhS4dzDENiBuR8lMbsWnZkJ7OXSzdWdrfTckkZey2ukrT5DkjcWn+EWreEAGjAGAtSXsjtOfSeN+o7mSJBSWpxa4eHPIwfittypTgRERsREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREGlv2o9yNf2sqmDqKegpox449zP8qxbq3EMycbNWRntKH57YV+z0ENP93dNWN1f7jMjO7ThSOWZbD/Y12/mr+IdeR9iClhH98+Q/+gLZ6Oi1sexqAdY+JDx17yhH/wDetlCpAiIjQiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIuOUZzjdcoCIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiINJvtOKU0fa/ujyMCWkppBj/owsZbj+1MA32O5CzG9rfZ323tHWO4FhDK60QuDsbEtfIz/wBKw6rmltNnI/BZjlJbE/Y0VzO74jUnN75bRSY9A6YH/wAw+9bOFqU9jzfm0nFTVdpe/BqrZztb5lkjT/EStta3PwkCIijQiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiINantldFufY9Aarjjz3EtRQTPHgDyPYP0SLXESJ7cH9fdDsLdJ7SXh+7XnZY1E6KMyVFokjuTABuA08rv/C4rStYpBNb+V3VmWkLn/wCwyB9m/rePRnaw03HPIIqe5ukt5J23kYQwfww0fNbywcgL5s9J6kn0Vryy3imc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Ch7Qegz8FzzZ8vuW38+y14L/APFXj/Lj+C7t9lxwWad4Lw4eRr3fgmfhJafe8x0A+GF277YYA+4Lb872XHBYkEU95bj/AO/cf5Ed7LfgycER3nP93H8Ez8G7UG2YZA2yfHC7tl2xkZ8cbLb3+S74LluDT3jP7r6efwXDfZccFx1hvB/w4j+RazHsNRIqN8EA+q7x1XK77LQFtz/JccF87RXkf4cfwXLfZc8F29Yby4/3efwUmYniFak2VLTn7ICnaWdhPRoW2Iey/wCCw/re8n/D3fgpqD2ZPBSHH7AuzvjcXpE+8DVrZZmd8wDBdno0bkrYN2FuAmo6bU0WuL3Qy223wROFHFVNLZJnOGOYNO4AHmsjeGXZA4UcKqllVZdK001dGcsq7gTUyNPm0vyGn1AXszWBgw0AD0W8wk7uR0RcosYUREVBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREEOWMSNLXZwfI4XZjQ1oAREHZERAREQEREBERAREQf/Z